payment-token-efi 1.1.3 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +266 -222
- package/distNode/payment-token-efi.js +1 -0
- package/package.json +14 -4
- package/assets/css/bootstrap.min.css +0 -6
- package/assets/css/bootstrap.min.css.map +0 -1
- package/assets/css/custom.css +0 -35
- package/assets/img/favicon.png +0 -0
- package/assets/img/logo-ef.svg +0 -1
- package/dist/payment-token-efi.min.js +0 -1
- package/index.html +0 -395
package/assets/css/custom.css
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
html,
|
|
2
|
-
body {
|
|
3
|
-
min-height: 100%;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
body {
|
|
7
|
-
background: transparent linear-gradient(176deg, #29303E 0%, #120F23 100%) 0% 0% no-repeat padding-box;
|
|
8
|
-
color: #ffffff
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
input,
|
|
12
|
-
select {
|
|
13
|
-
border-radius: 8px;
|
|
14
|
-
border: 1px solid white;
|
|
15
|
-
font-size: 20px;
|
|
16
|
-
float: left;
|
|
17
|
-
height: 48px;
|
|
18
|
-
font-weight: 100;
|
|
19
|
-
padding: 15px;
|
|
20
|
-
font-style: italic;
|
|
21
|
-
font-family: inherit;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
#gerarPaymentToken {
|
|
25
|
-
margin-top: 32px;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
code {
|
|
29
|
-
font-size: 13px;
|
|
30
|
-
padding: 15px;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
code a {
|
|
34
|
-
text-decoration: none;
|
|
35
|
-
}
|
package/assets/img/favicon.png
DELETED
|
Binary file
|
package/assets/img/logo-ef.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?><svg id="Camada_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 261.28"><defs><style>.cls-1{fill:#f37021;}</style></defs><rect class="cls-1" x="231.04" y="87.54" width="20.31" height="97.84"/><path class="cls-1" d="M234.92,65.02c-2.4,1.85-3.88,3.69-3.88,6.46,0,4.8,4.61,8.49,10.52,6.28l31.57-11.63v-31.01l-38.21,29.91Z"/><path class="cls-1" d="M75.61,85.69c-27.32,0-48.73,20.49-48.73,50.03s21.6,51.5,50.76,51.5c18.09,0,32.67-8.68,42.27-21.41l-14.21-11.63c-7.01,9.23-16.61,14.03-28.61,14.03-15.88,0-26.58-9.05-29.54-23.63H112.84c6.27,0,10.02-2.95,10.02-10.15,0-22.52-16.24-48.73-47.26-48.73Zm-28.06,40.43c2.95-13.29,13.48-21.41,28.06-21.41s24.55,8.12,26.4,21.41H47.55Z"/><path class="cls-1" d="M159.23,147.72h50.76v-18.46h-50.76c-.37-15.32,9.97-24.55,24.18-24.55,7.75,0,14.4,2.77,19.38,6.28l12.92-14.58c-9.41-7.01-19.57-10.71-31.75-10.71-26.77,0-45.04,17.72-45.04,43.57v56.12h20.31v-37.66Z"/><path class="cls-1" d="M156.98,212.81c1.88-1.33,3.07-3.41,3.07-5.84,0-4.03-3.17-6.62-7.96-6.62h-13.14v26.38h13.05c5.85,0,9.11-2.88,9.11-7.29,0-3.11-1.73-5.35-4.12-6.63Zm-5.47-8.62c2.4,0,4.03,1.34,4.03,3.55s-1.53,3.84-3.65,3.84h-8.63v-7.39h8.25Zm.1,18.7h-8.35v-7.48h9.21c2.4,0,4.03,1.25,4.03,3.45,0,2.49-2.01,4.03-4.89,4.03Z"/><rect class="cls-1" x="228.25" y="200.36" width="4.32" height="26.38"/><path class="cls-1" d="M251.27,200.36h-5.56l-9.98,11.03c-1.25,1.44-1.34,2.88,0,4.32l10.17,11.03h5.47l-12.18-13.24,12.09-13.14Z"/><path class="cls-1" d="M215.26,220.05l-12.92-17.87c-.86-1.15-1.63-1.82-2.97-1.82-1.44,0-2.59,1.25-2.59,2.88v23.5h4.32l-.16-19.69,12.92,17.87c.86,1.25,2.01,1.82,3.07,1.82,1.44,0,2.49-1.25,2.49-2.88v-23.5h-4.32l.16,19.69Z"/><path class="cls-1" d="M178.27,200.36c-1.63,0-2.78,.86-3.45,2.4l-10.26,23.98h4.6l2.17-5.28h13.69l2.17,5.28h4.7l-10.26-23.98c-.58-1.34-1.53-2.4-3.36-2.4Zm-5.36,17.27l5.27-12.8,5.27,12.8h-10.53Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{var t={182:t=>{t.exports={lib:{version:"1.1.3"},aF:{cS:{key:"a2fc7cc16f"}}}},370:t=>{var e;window,e=()=>(()=>{var t={155:t=>{var e,r,i=t.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:n}catch(t){e=n}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var a,h=[],u=!1,c=-1;function l(){u&&a&&(u=!1,a.length?h=a.concat(h):c=-1,h.length&&f())}function f(){if(!u){var t=o(l);u=!0;for(var e=h.length;e;){for(a=h,h=[];++c<e;)a&&a[c].run();c=-1,e=h.length}a=null,u=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function d(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];h.push(new p(t,e)),1!==h.length||u||o(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=d,i.addListener=d,i.once=d,i.off=d,i.removeListener=d,i.removeAllListeners=d,i.emit=d,i.prependListener=d,i.prependOnceListener=d,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var i={};return(()=>{"use strict";function t(t){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t)}function e(t,e){return t&e}function n(t,e){return t|e}function s(t,e){return t^e}function o(t,e){return t&~e}function a(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function h(t){for(var e=0;0!=t;)t&=t-1,++e;return e}r.d(i,{default:()=>ot});var u,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function l(t){var e,r,i="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),i+=c.charAt(r>>6)+c.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),i+=c.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),i+=c.charAt(r>>2)+c.charAt((3&r)<<4));(3&i.length)>0;)i+="=";return i}function f(e){var r,i="",n=0,s=0;for(r=0;r<e.length&&"="!=e.charAt(r);++r){var o=c.indexOf(e.charAt(r));o<0||(0==n?(i+=t(o>>2),s=3&o,n=1):1==n?(i+=t(s<<2|o>>4),s=15&o,n=2):2==n?(i+=t(s),i+=t(o>>2),s=3&o,n=3):(i+=t(s<<2|o>>4),i+=t(15&o),n=0))}return 1==n&&(i+=t(s<<2)),i}var p,d={decode:function(t){var e;if(void 0===p){for(p=Object.create(null),e=0;e<64;++e)p["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)]=e;for(p["-"]=62,p._=63,e=0;e<9;++e)p["= \f\n\r\t \u2028\u2029".charAt(e)]=-1}var r=[],i=0,n=0;for(e=0;e<t.length;++e){var s=t.charAt(e);if("="==s)break;if(-1!=(s=p[s])){if(void 0===s)throw new Error("Illegal character at offset "+e);i|=s,++n>=4?(r[r.length]=i>>16,r[r.length]=i>>8&255,r[r.length]=255&i,i=0,n=0):i<<=6}}switch(n){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:r[r.length]=i>>10;break;case 3:r[r.length]=i>>16,r[r.length]=i>>8&255}return r},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(t){var e=d.re.exec(t);if(e)if(e[1])t=e[1];else{if(!e[2])throw new Error("RegExp out of sync");t=e[2]}return d.decode(t)}},g=1e13,m=function(){function t(t){this.buf=[+t||0]}return t.prototype.mulAdd=function(t,e){var r,i,n=this.buf,s=n.length;for(r=0;r<s;++r)(i=n[r]*t+e)<g?e=0:i-=(e=0|i/g)*g,n[r]=i;e>0&&(n[r]=e)},t.prototype.sub=function(t){var e,r,i=this.buf,n=i.length;for(e=0;e<n;++e)(r=i[e]-t)<0?(r+=g,t=1):t=0,i[e]=r;for(;0===i[i.length-1];)i.pop()},t.prototype.toString=function(t){if(10!=(t||10))throw new Error("only base 10 is supported");for(var e=this.buf,r=e[e.length-1].toString(),i=e.length-2;i>=0;--i)r+=(g+e[i]).toString().substring(1);return r},t.prototype.valueOf=function(){for(var t=this.buf,e=0,r=t.length-1;r>=0;--r)e=e*g+t[r];return e},t.prototype.simplify=function(){var t=this.buf;return 1==t.length?t[0]:this},t}(),v=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,y=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function b(t,e){return t.length>e&&(t=t.substring(0,e)+"…"),t}var w,T=function(){function t(e,r){this.hexDigits="0123456789ABCDEF",e instanceof t?(this.enc=e.enc,this.pos=e.pos):(this.enc=e,this.pos=r)}return t.prototype.get=function(t){if(void 0===t&&(t=this.pos++),t>=this.enc.length)throw new Error("Requesting byte offset ".concat(t," on a stream of length ").concat(this.enc.length));return"string"==typeof this.enc?this.enc.charCodeAt(t):this.enc[t]},t.prototype.hexByte=function(t){return this.hexDigits.charAt(t>>4&15)+this.hexDigits.charAt(15&t)},t.prototype.hexDump=function(t,e,r){for(var i="",n=t;n<e;++n)if(i+=this.hexByte(this.get(n)),!0!==r)switch(15&n){case 7:i+=" ";break;case 15:i+="\n";break;default:i+=" "}return i},t.prototype.isASCII=function(t,e){for(var r=t;r<e;++r){var i=this.get(r);if(i<32||i>176)return!1}return!0},t.prototype.parseStringISO=function(t,e){for(var r="",i=t;i<e;++i)r+=String.fromCharCode(this.get(i));return r},t.prototype.parseStringUTF=function(t,e){for(var r="",i=t;i<e;){var n=this.get(i++);r+=n<128?String.fromCharCode(n):n>191&&n<224?String.fromCharCode((31&n)<<6|63&this.get(i++)):String.fromCharCode((15&n)<<12|(63&this.get(i++))<<6|63&this.get(i++))}return r},t.prototype.parseStringBMP=function(t,e){for(var r,i,n="",s=t;s<e;)r=this.get(s++),i=this.get(s++),n+=String.fromCharCode(r<<8|i);return n},t.prototype.parseTime=function(t,e,r){var i=this.parseStringISO(t,e),n=(r?v:y).exec(i);return n?(r&&(n[1]=+n[1],n[1]+=+n[1]<70?2e3:1900),i=n[1]+"-"+n[2]+"-"+n[3]+" "+n[4],n[5]&&(i+=":"+n[5],n[6]&&(i+=":"+n[6],n[7]&&(i+="."+n[7]))),n[8]&&(i+=" UTC","Z"!=n[8]&&(i+=n[8],n[9]&&(i+=":"+n[9]))),i):"Unrecognized time: "+i},t.prototype.parseInteger=function(t,e){for(var r,i=this.get(t),n=i>127,s=n?255:0,o="";i==s&&++t<e;)i=this.get(t);if(0==(r=e-t))return n?-1:0;if(r>4){for(o=i,r<<=3;0==(128&(+o^s));)o=+o<<1,--r;o="("+r+" bit)\n"}n&&(i-=256);for(var a=new m(i),h=t+1;h<e;++h)a.mulAdd(256,this.get(h));return o+a.toString()},t.prototype.parseBitString=function(t,e,r){for(var i=this.get(t),n="("+((e-t-1<<3)-i)+" bit)\n",s="",o=t+1;o<e;++o){for(var a=this.get(o),h=o==e-1?i:0,u=7;u>=h;--u)s+=a>>u&1?"1":"0";if(s.length>r)return n+b(s,r)}return n+s},t.prototype.parseOctetString=function(t,e,r){if(this.isASCII(t,e))return b(this.parseStringISO(t,e),r);var i=e-t,n="("+i+" byte)\n";i>(r/=2)&&(e=t+r);for(var s=t;s<e;++s)n+=this.hexByte(this.get(s));return i>r&&(n+="…"),n},t.prototype.parseOID=function(t,e,r){for(var i="",n=new m,s=0,o=t;o<e;++o){var a=this.get(o);if(n.mulAdd(128,127&a),s+=7,!(128&a)){if(""===i)if((n=n.simplify())instanceof m)n.sub(80),i="2."+n.toString();else{var h=n<80?n<40?0:1:2;i=h+"."+(n-40*h)}else i+="."+n.toString();if(i.length>r)return b(i,r);n=new m,s=0}}return s>0&&(i+=".incomplete"),i},t}(),S=function(){function t(t,e,r,i,n){if(!(i instanceof E))throw new Error("Invalid tag value.");this.stream=t,this.header=e,this.length=r,this.tag=i,this.sub=n}return t.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}},t.prototype.content=function(t){if(void 0===this.tag)return null;void 0===t&&(t=1/0);var e=this.posContent(),r=Math.abs(this.length);if(!this.tag.isUniversal())return null!==this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+r,t);switch(this.tag.tagNumber){case 1:return 0===this.stream.get(e)?"false":"true";case 2:return this.stream.parseInteger(e,e+r);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(e,e+r,t);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(e,e+r,t);case 6:return this.stream.parseOID(e,e+r,t);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return b(this.stream.parseStringUTF(e,e+r),t);case 18:case 19:case 20:case 21:case 22:case 26:return b(this.stream.parseStringISO(e,e+r),t);case 30:return b(this.stream.parseStringBMP(e,e+r),t);case 23:case 24:return this.stream.parseTime(e,e+r,23==this.tag.tagNumber)}return null},t.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},t.prototype.toPrettyString=function(t){void 0===t&&(t="");var e=t+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(e+="+"),e+=this.length,this.tag.tagConstructed?e+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(e+=" (encapsulates)"),e+="\n",null!==this.sub){t+=" ";for(var r=0,i=this.sub.length;r<i;++r)e+=this.sub[r].toPrettyString(t)}return e},t.prototype.posStart=function(){return this.stream.pos},t.prototype.posContent=function(){return this.stream.pos+this.header},t.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},t.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},t.decodeLength=function(t){var e=t.get(),r=127&e;if(r==e)return r;if(r>6)throw new Error("Length over 48 bits not supported at position "+(t.pos-1));if(0===r)return null;e=0;for(var i=0;i<r;++i)e=256*e+t.get();return e},t.prototype.getHexStringValue=function(){var t=this.toHexString(),e=2*this.header,r=2*this.length;return t.substr(e,r)},t.decode=function(e){var r;r=e instanceof T?e:new T(e,0);var i=new T(r),n=new E(r),s=t.decodeLength(r),o=r.pos,a=o-i.pos,h=null,u=function(){var e=[];if(null!==s){for(var i=o+s;r.pos<i;)e[e.length]=t.decode(r);if(r.pos!=i)throw new Error("Content size is not correct for container starting at offset "+o)}else try{for(;;){var n=t.decode(r);if(n.tag.isEOC())break;e[e.length]=n}s=o-r.pos}catch(t){throw new Error("Exception while decoding undefined length content: "+t)}return e};if(n.tagConstructed)h=u();else if(n.isUniversal()&&(3==n.tagNumber||4==n.tagNumber))try{if(3==n.tagNumber&&0!=r.get())throw new Error("BIT STRINGs with unused bits cannot encapsulate.");h=u();for(var c=0;c<h.length;++c)if(h[c].tag.isEOC())throw new Error("EOC is not supposed to be actual content.")}catch(t){h=null}if(null===h){if(null===s)throw new Error("We can't skip over an invalid tag with undefined length at offset "+o);r.pos=o+Math.abs(s)}return new t(i,a,s,n,h)},t}(),E=function(){function t(t){var e=t.get();if(this.tagClass=e>>6,this.tagConstructed=0!=(32&e),this.tagNumber=31&e,31==this.tagNumber){var r=new m;do{e=t.get(),r.mulAdd(128,127&e)}while(128&e);this.tagNumber=r.simplify()}}return t.prototype.isUniversal=function(){return 0===this.tagClass},t.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},t}(),D=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],x=(1<<26)/D[D.length-1],R=function(){function r(t,e,r){null!=t&&("number"==typeof t?this.fromNumber(t,e,r):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}return r.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var r;if(16==e)r=4;else if(8==e)r=3;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return this.toRadix(e);r=2}var i,n=(1<<r)-1,s=!1,o="",a=this.t,h=this.DB-a*this.DB%r;if(a-- >0)for(h<this.DB&&(i=this[a]>>h)>0&&(s=!0,o=t(i));a>=0;)h<r?(i=(this[a]&(1<<h)-1)<<r-h,i|=this[--a]>>(h+=this.DB-r)):(i=this[a]>>(h-=r)&n,h<=0&&(h+=this.DB,--a)),i>0&&(s=!0),s&&(o+=t(i));return s?o:"0"},r.prototype.negate=function(){var t=V();return r.ZERO.subTo(this,t),t},r.prototype.abs=function(){return this.s<0?this.negate():this},r.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},r.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+L(this[this.t-1]^this.s&this.DM)},r.prototype.mod=function(t){var e=V();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(r.ZERO)>0&&t.subTo(e,e),e},r.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new O(e):new A(e),this.exp(t,r)},r.prototype.clone=function(){var t=V();return this.copyTo(t),t},r.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},r.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},r.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},r.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},r.prototype.toByteArray=function(){var t=this.t,e=[];e[0]=this.s;var r,i=this.DB-t*this.DB%8,n=0;if(t-- >0)for(i<this.DB&&(r=this[t]>>i)!=(this.s&this.DM)>>i&&(e[n++]=r|this.s<<this.DB-i);t>=0;)i<8?(r=(this[t]&(1<<i)-1)<<8-i,r|=this[--t]>>(i+=this.DB-8)):(r=this[t]>>(i-=8)&255,i<=0&&(i+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==n&&(128&this.s)!=(128&r)&&++n,(n>0||r!=this.s)&&(e[n++]=r);return e},r.prototype.equals=function(t){return 0==this.compareTo(t)},r.prototype.min=function(t){return this.compareTo(t)<0?this:t},r.prototype.max=function(t){return this.compareTo(t)>0?this:t},r.prototype.and=function(t){var r=V();return this.bitwiseTo(t,e,r),r},r.prototype.or=function(t){var e=V();return this.bitwiseTo(t,n,e),e},r.prototype.xor=function(t){var e=V();return this.bitwiseTo(t,s,e),e},r.prototype.andNot=function(t){var e=V();return this.bitwiseTo(t,o,e),e},r.prototype.not=function(){for(var t=V(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t},r.prototype.shiftLeft=function(t){var e=V();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e},r.prototype.shiftRight=function(t){var e=V();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e},r.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+a(this[t]);return this.s<0?this.t*this.DB:-1},r.prototype.bitCount=function(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=h(this[r]^e);return t},r.prototype.testBit=function(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:0!=(this[e]&1<<t%this.DB)},r.prototype.setBit=function(t){return this.changeBit(t,n)},r.prototype.clearBit=function(t){return this.changeBit(t,o)},r.prototype.flipBit=function(t){return this.changeBit(t,s)},r.prototype.add=function(t){var e=V();return this.addTo(t,e),e},r.prototype.subtract=function(t){var e=V();return this.subTo(t,e),e},r.prototype.multiply=function(t){var e=V();return this.multiplyTo(t,e),e},r.prototype.divide=function(t){var e=V();return this.divRemTo(t,e,null),e},r.prototype.remainder=function(t){var e=V();return this.divRemTo(t,null,e),e},r.prototype.divideAndRemainder=function(t){var e=V(),r=V();return this.divRemTo(t,e,r),[e,r]},r.prototype.modPow=function(t,e){var r,i,n=t.bitLength(),s=q(1);if(n<=0)return s;r=n<18?1:n<48?3:n<144?4:n<768?5:6,i=n<8?new O(e):e.isEven()?new I(e):new A(e);var o=[],a=3,h=r-1,u=(1<<r)-1;if(o[1]=i.convert(this),r>1){var c=V();for(i.sqrTo(o[1],c);a<=u;)o[a]=V(),i.mulTo(c,o[a-2],o[a]),a+=2}var l,f,p=t.t-1,d=!0,g=V();for(n=L(t[p])-1;p>=0;){for(n>=h?l=t[p]>>n-h&u:(l=(t[p]&(1<<n+1)-1)<<h-n,p>0&&(l|=t[p-1]>>this.DB+n-h)),a=r;0==(1&l);)l>>=1,--a;if((n-=a)<0&&(n+=this.DB,--p),d)o[l].copyTo(s),d=!1;else{for(;a>1;)i.sqrTo(s,g),i.sqrTo(g,s),a-=2;a>0?i.sqrTo(s,g):(f=s,s=g,g=f),i.mulTo(g,o[l],s)}for(;p>=0&&0==(t[p]&1<<n);)i.sqrTo(s,g),f=s,s=g,g=f,--n<0&&(n=this.DB-1,--p)}return i.revert(s)},r.prototype.modInverse=function(t){var e=t.isEven();if(this.isEven()&&e||0==t.signum())return r.ZERO;for(var i=t.clone(),n=this.clone(),s=q(1),o=q(0),a=q(0),h=q(1);0!=i.signum();){for(;i.isEven();)i.rShiftTo(1,i),e?(s.isEven()&&o.isEven()||(s.addTo(this,s),o.subTo(t,o)),s.rShiftTo(1,s)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?(a.isEven()&&h.isEven()||(a.addTo(this,a),h.subTo(t,h)),a.rShiftTo(1,a)):h.isEven()||h.subTo(t,h),h.rShiftTo(1,h);i.compareTo(n)>=0?(i.subTo(n,i),e&&s.subTo(a,s),o.subTo(h,o)):(n.subTo(i,n),e&&a.subTo(s,a),h.subTo(o,h))}return 0!=n.compareTo(r.ONE)?r.ZERO:h.compareTo(t)>=0?h.subtract(t):h.signum()<0?(h.addTo(t,h),h.signum()<0?h.add(t):h):h},r.prototype.pow=function(t){return this.exp(t,new B)},r.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var i=e;e=r,r=i}var n=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(n<s&&(s=n),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(n=e.getLowestSetBit())>0&&e.rShiftTo(n,e),(n=r.getLowestSetBit())>0&&r.rShiftTo(n,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r},r.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=D[D.length-1]){for(e=0;e<D.length;++e)if(r[0]==D[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<D.length;){for(var i=D[e],n=e+1;n<D.length&&i<x;)i*=D[n++];for(i=r.modInt(i);e<n;)if(i%D[e++]==0)return!1}return r.millerRabin(t)},r.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},r.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},r.prototype.fromString=function(t,e){var i;if(16==e)i=4;else if(8==e)i=3;else if(256==e)i=8;else if(2==e)i=1;else if(32==e)i=5;else{if(4!=e)return void this.fromRadix(t,e);i=2}this.t=0,this.s=0;for(var n=t.length,s=!1,o=0;--n>=0;){var a=8==i?255&+t[n]:j(t,n);a<0?"-"==t.charAt(n)&&(s=!0):(s=!1,0==o?this[this.t++]=a:o+i>this.DB?(this[this.t-1]|=(a&(1<<this.DB-o)-1)<<o,this[this.t++]=a>>this.DB-o):this[this.t-1]|=a<<o,(o+=i)>=this.DB&&(o-=this.DB))}8==i&&0!=(128&+t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),s&&r.ZERO.subTo(this,this)},r.prototype.clamp=function(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t},r.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},r.prototype.drShiftTo=function(t,e){for(var r=t;r<this.t;++r)e[r-t]=this[r];e.t=Math.max(this.t-t,0),e.s=this.s},r.prototype.lShiftTo=function(t,e){for(var r=t%this.DB,i=this.DB-r,n=(1<<i)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a=this.t-1;a>=0;--a)e[a+s+1]=this[a]>>i|o,o=(this[a]&n)<<r;for(a=s-1;a>=0;--a)e[a]=0;e[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()},r.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var i=t%this.DB,n=this.DB-i,s=(1<<i)-1;e[0]=this[r]>>i;for(var o=r+1;o<this.t;++o)e[o-r-1]|=(this[o]&s)<<n,e[o-r]=this[o]>>i;i>0&&(e[this.t-r-1]|=(this.s&s)<<n),e.t=this.t-r,e.clamp()}},r.prototype.subTo=function(t,e){for(var r=0,i=0,n=Math.min(t.t,this.t);r<n;)i+=this[r]-t[r],e[r++]=i&this.DM,i>>=this.DB;if(t.t<this.t){for(i-=t.s;r<this.t;)i+=this[r],e[r++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;r<t.t;)i-=t[r],e[r++]=i&this.DM,i>>=this.DB;i-=t.s}e.s=i<0?-1:0,i<-1?e[r++]=this.DV+i:i>0&&(e[r++]=i),e.t=r,e.clamp()},r.prototype.multiplyTo=function(t,e){var i=this.abs(),n=t.abs(),s=i.t;for(e.t=s+n.t;--s>=0;)e[s]=0;for(s=0;s<n.t;++s)e[s+i.t]=i.am(0,n[s],e,s,0,i.t);e.s=0,e.clamp(),this.s!=t.s&&r.ZERO.subTo(e,e)},r.prototype.squareTo=function(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t[r]=0;for(r=0;r<e.t-1;++r){var i=e.am(r,e[r],t,2*r,0,1);(t[r+e.t]+=e.am(r+1,2*e[r],t,2*r+1,i,e.t-r-1))>=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},r.prototype.divRemTo=function(t,e,i){var n=t.abs();if(!(n.t<=0)){var s=this.abs();if(s.t<n.t)return null!=e&&e.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=V());var o=V(),a=this.s,h=t.s,u=this.DB-L(n[n.t-1]);u>0?(n.lShiftTo(u,o),s.lShiftTo(u,i)):(n.copyTo(o),s.copyTo(i));var c=o.t,l=o[c-1];if(0!=l){var f=l*(1<<this.F1)+(c>1?o[c-2]>>this.F2:0),p=this.FV/f,d=(1<<this.F1)/f,g=1<<this.F2,m=i.t,v=m-c,y=null==e?V():e;for(o.dlShiftTo(v,y),i.compareTo(y)>=0&&(i[i.t++]=1,i.subTo(y,i)),r.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t<c;)o[o.t++]=0;for(;--v>=0;){var b=i[--m]==l?this.DM:Math.floor(i[m]*p+(i[m-1]+g)*d);if((i[m]+=o.am(0,b,i,v,0,c))<b)for(o.dlShiftTo(v,y),i.subTo(y,i);i[m]<--b;)i.subTo(y,i)}null!=e&&(i.drShiftTo(c,e),a!=h&&r.ZERO.subTo(e,e)),i.t=c,i.clamp(),u>0&&i.rShiftTo(u,i),a<0&&r.ZERO.subTo(i,i)}}},r.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},r.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},r.prototype.exp=function(t,e){if(t>4294967295||t<1)return r.ONE;var i=V(),n=V(),s=e.convert(this),o=L(t)-1;for(s.copyTo(i);--o>=0;)if(e.sqrTo(i,n),(t&1<<o)>0)e.mulTo(n,s,i);else{var a=i;i=n,n=a}return e.revert(i)},r.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},r.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),i=q(r),n=V(),s=V(),o="";for(this.divRemTo(i,n,s);n.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,n.divRemTo(i,n,s);return s.intValue().toString(t)+o},r.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var i=this.chunkSize(e),n=Math.pow(e,i),s=!1,o=0,a=0,h=0;h<t.length;++h){var u=j(t,h);u<0?"-"==t.charAt(h)&&0==this.signum()&&(s=!0):(a=e*a+u,++o>=i&&(this.dMultiply(n),this.dAddOffset(a,0),o=0,a=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(a,0)),s&&r.ZERO.subTo(this,this)},r.prototype.fromNumber=function(t,e,i){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,i),this.testBit(t-1)||this.bitwiseTo(r.ONE.shiftLeft(t-1),n,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(r.ONE.shiftLeft(t-1),this);else{var s=[],o=7&t;s.length=1+(t>>3),e.nextBytes(s),o>0?s[0]&=(1<<o)-1:s[0]=0,this.fromString(s,256)}},r.prototype.bitwiseTo=function(t,e,r){var i,n,s=Math.min(t.t,this.t);for(i=0;i<s;++i)r[i]=e(this[i],t[i]);if(t.t<this.t){for(n=t.s&this.DM,i=s;i<this.t;++i)r[i]=e(this[i],n);r.t=this.t}else{for(n=this.s&this.DM,i=s;i<t.t;++i)r[i]=e(n,t[i]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()},r.prototype.changeBit=function(t,e){var i=r.ONE.shiftLeft(t);return this.bitwiseTo(i,e,i),i},r.prototype.addTo=function(t,e){for(var r=0,i=0,n=Math.min(t.t,this.t);r<n;)i+=this[r]+t[r],e[r++]=i&this.DM,i>>=this.DB;if(t.t<this.t){for(i+=t.s;r<this.t;)i+=this[r],e[r++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;r<t.t;)i+=t[r],e[r++]=i&this.DM,i>>=this.DB;i+=t.s}e.s=i<0?-1:0,i>0?e[r++]=i:i<-1&&(e[r++]=this.DV+i),e.t=r,e.clamp()},r.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},r.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},r.prototype.multiplyLowerTo=function(t,e,r){var i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(var n=r.t-this.t;i<n;++i)r[i+this.t]=this.am(0,t[i],r,i,0,this.t);for(n=Math.min(t.t,e);i<n;++i)this.am(0,t[i],r,i,0,e-i);r.clamp()},r.prototype.multiplyUpperTo=function(t,e,r){--e;var i=r.t=this.t+t.t-e;for(r.s=0;--i>=0;)r[i]=0;for(i=Math.max(e-this.t,0);i<t.t;++i)r[this.t+i-e]=this.am(e-i,t[i],r,0,0,this.t+i-e);r.clamp(),r.drShiftTo(1,r)},r.prototype.modInt=function(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(0==e)r=this[0]%t;else for(var i=this.t-1;i>=0;--i)r=(e*r+this[i])%t;return r},r.prototype.millerRabin=function(t){var e=this.subtract(r.ONE),i=e.getLowestSetBit();if(i<=0)return!1;var n=e.shiftRight(i);(t=t+1>>1)>D.length&&(t=D.length);for(var s=V(),o=0;o<t;++o){s.fromInt(D[Math.floor(Math.random()*D.length)]);var a=s.modPow(n,this);if(0!=a.compareTo(r.ONE)&&0!=a.compareTo(e)){for(var h=1;h++<i&&0!=a.compareTo(e);)if(0==(a=a.modPowInt(2,this)).compareTo(r.ONE))return!1;if(0!=a.compareTo(e))return!1}}return!0},r.prototype.square=function(){var t=V();return this.squareTo(t),t},r.prototype.gcda=function(t,e){var r=this.s<0?this.negate():this.clone(),i=t.s<0?t.negate():t.clone();if(r.compareTo(i)<0){var n=r;r=i,i=n}var s=r.getLowestSetBit(),o=i.getLowestSetBit();if(o<0)e(r);else{s<o&&(o=s),o>0&&(r.rShiftTo(o,r),i.rShiftTo(o,i));var a=function(){(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),r.compareTo(i)>=0?(r.subTo(i,r),r.rShiftTo(1,r)):(i.subTo(r,i),i.rShiftTo(1,i)),r.signum()>0?setTimeout(a,0):(o>0&&i.lShiftTo(o,i),setTimeout((function(){e(i)}),0))};setTimeout(a,10)}},r.prototype.fromNumberAsync=function(t,e,i,s){if("number"==typeof e)if(t<2)this.fromInt(1);else{this.fromNumber(t,i),this.testBit(t-1)||this.bitwiseTo(r.ONE.shiftLeft(t-1),n,this),this.isEven()&&this.dAddOffset(1,0);var o=this,a=function(){o.dAddOffset(2,0),o.bitLength()>t&&o.subTo(r.ONE.shiftLeft(t-1),o),o.isProbablePrime(e)?setTimeout((function(){s()}),0):setTimeout(a,0)};setTimeout(a,0)}else{var h=[],u=7&t;h.length=1+(t>>3),e.nextBytes(h),u>0?h[0]&=(1<<u)-1:h[0]=0,this.fromString(h,256)}},r}(),B=function(){function t(){}return t.prototype.convert=function(t){return t},t.prototype.revert=function(t){return t},t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},t.prototype.sqrTo=function(t,e){t.squareTo(e)},t}(),O=function(){function t(t){this.m=t}return t.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),A=function(){function t(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}return t.prototype.convert=function(t){var e=V();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(R.ZERO)>0&&this.m.subTo(e,e),e},t.prototype.revert=function(t){var e=V();return t.copyTo(e),this.reduce(e),e},t.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=32767&t[e],i=r*this.mpl+((r*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,i,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}(),I=function(){function t(t){this.m=t,this.r2=V(),this.q3=V(),R.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t)}return t.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=V();return t.copyTo(e),this.reduce(e),e},t.prototype.revert=function(t){return t},t.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},t.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},t.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},t}();function V(){return new R(null)}function N(t,e){return new R(t,e)}var P="undefined"!=typeof navigator;P&&"Microsoft Internet Explorer"==navigator.appName?(R.prototype.am=function(t,e,r,i,n,s){for(var o=32767&e,a=e>>15;--s>=0;){var h=32767&this[t],u=this[t++]>>15,c=a*h+u*o;n=((h=o*h+((32767&c)<<15)+r[i]+(1073741823&n))>>>30)+(c>>>15)+a*u+(n>>>30),r[i++]=1073741823&h}return n},w=30):P&&"Netscape"!=navigator.appName?(R.prototype.am=function(t,e,r,i,n,s){for(;--s>=0;){var o=e*this[t++]+r[i]+n;n=Math.floor(o/67108864),r[i++]=67108863&o}return n},w=26):(R.prototype.am=function(t,e,r,i,n,s){for(var o=16383&e,a=e>>14;--s>=0;){var h=16383&this[t],u=this[t++]>>14,c=a*h+u*o;n=((h=o*h+((16383&c)<<14)+r[i]+n)>>28)+(c>>14)+a*u,r[i++]=268435455&h}return n},w=28),R.prototype.DB=w,R.prototype.DM=(1<<w)-1,R.prototype.DV=1<<w,R.prototype.FV=Math.pow(2,52),R.prototype.F1=52-w,R.prototype.F2=2*w-52;var C,M,_=[];for(C="0".charCodeAt(0),M=0;M<=9;++M)_[C++]=M;for(C="a".charCodeAt(0),M=10;M<36;++M)_[C++]=M;for(C="A".charCodeAt(0),M=10;M<36;++M)_[C++]=M;function j(t,e){var r=_[t.charCodeAt(e)];return null==r?-1:r}function q(t){var e=V();return e.fromInt(t),e}function L(t){var e,r=1;return 0!=(e=t>>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}R.ZERO=q(0),R.ONE=q(1);var k,H,$=function(){function t(){this.i=0,this.j=0,this.S=[]}return t.prototype.init=function(t){var e,r,i;for(e=0;e<256;++e)this.S[e]=e;for(r=0,e=0;e<256;++e)r=r+this.S[e]+t[e%t.length]&255,i=this.S[e],this.S[e]=this.S[r],this.S[r]=i;this.i=0,this.j=0},t.prototype.next=function(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]},t}(),U=null;if(null==U){U=[],H=0;var F=void 0;if("undefined"!=typeof window&&window.crypto&&window.crypto.getRandomValues){var K=new Uint32Array(256);for(window.crypto.getRandomValues(K),F=0;F<K.length;++F)U[H++]=255&K[F]}var z=0,Z=function(t){if((z=z||0)>=256||H>=256)window.removeEventListener?window.removeEventListener("mousemove",Z,!1):window.detachEvent&&window.detachEvent("onmousemove",Z);else try{var e=t.x+t.y;U[H++]=255&e,z+=1}catch(t){}};"undefined"!=typeof window&&(window.addEventListener?window.addEventListener("mousemove",Z,!1):window.attachEvent&&window.attachEvent("onmousemove",Z))}function G(){if(null==k){for(k=new $;H<256;){var t=Math.floor(65536*Math.random());U[H++]=255&t}for(k.init(U),H=0;H<U.length;++H)U[H]=0;H=0}return k.next()}var Y=function(){function t(){}return t.prototype.nextBytes=function(t){for(var e=0;e<t.length;++e)t[e]=G()},t}(),J=function(){function t(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}return t.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)},t.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),r=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(r)<0;)e=e.add(this.p);return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r)},t.prototype.setPublic=function(t,e){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=N(t,16),this.e=parseInt(e,16)):console.error("Invalid RSA public key")},t.prototype.encrypt=function(t){var e=this.n.bitLength()+7>>3,r=function(t,e){if(e<t.length+11)return console.error("Message too long for RSA"),null;for(var r=[],i=t.length-1;i>=0&&e>0;){var n=t.charCodeAt(i--);n<128?r[--e]=n:n>127&&n<2048?(r[--e]=63&n|128,r[--e]=n>>6|192):(r[--e]=63&n|128,r[--e]=n>>6&63|128,r[--e]=n>>12|224)}r[--e]=0;for(var s=new Y,o=[];e>2;){for(o[0]=0;0==o[0];)s.nextBytes(o);r[--e]=o[0]}return r[--e]=2,r[--e]=0,new R(r)}(t,e);if(null==r)return null;var i=this.doPublic(r);if(null==i)return null;for(var n=i.toString(16),s=n.length,o=0;o<2*e-s;o++)n="0"+n;return n},t.prototype.setPrivate=function(t,e,r){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=N(t,16),this.e=parseInt(e,16),this.d=N(r,16)):console.error("Invalid RSA private key")},t.prototype.setPrivateEx=function(t,e,r,i,n,s,o,a){null!=t&&null!=e&&t.length>0&&e.length>0?(this.n=N(t,16),this.e=parseInt(e,16),this.d=N(r,16),this.p=N(i,16),this.q=N(n,16),this.dmp1=N(s,16),this.dmq1=N(o,16),this.coeff=N(a,16)):console.error("Invalid RSA private key")},t.prototype.generate=function(t,e){var r=new Y,i=t>>1;this.e=parseInt(e,16);for(var n=new R(e,16);;){for(;this.p=new R(t-i,1,r),0!=this.p.subtract(R.ONE).gcd(n).compareTo(R.ONE)||!this.p.isProbablePrime(10););for(;this.q=new R(i,1,r),0!=this.q.subtract(R.ONE).gcd(n).compareTo(R.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q,this.q=s}var o=this.p.subtract(R.ONE),a=this.q.subtract(R.ONE),h=o.multiply(a);if(0==h.gcd(n).compareTo(R.ONE)){this.n=this.p.multiply(this.q),this.d=n.modInverse(h),this.dmp1=this.d.mod(o),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}},t.prototype.decrypt=function(t){var e=N(t,16),r=this.doPrivate(e);return null==r?null:function(t,e){for(var r=t.toByteArray(),i=0;i<r.length&&0==r[i];)++i;if(r.length-i!=e-1||2!=r[i])return null;for(++i;0!=r[i];)if(++i>=r.length)return null;for(var n="";++i<r.length;){var s=255&r[i];s<128?n+=String.fromCharCode(s):s>191&&s<224?(n+=String.fromCharCode((31&s)<<6|63&r[i+1]),++i):(n+=String.fromCharCode((15&s)<<12|(63&r[i+1])<<6|63&r[i+2]),i+=2)}return n}(r,this.n.bitLength()+7>>3)},t.prototype.generateAsync=function(t,e,r){var i=new Y,n=t>>1;this.e=parseInt(e,16);var s=new R(e,16),o=this,a=function(){var e=function(){if(o.p.compareTo(o.q)<=0){var t=o.p;o.p=o.q,o.q=t}var e=o.p.subtract(R.ONE),i=o.q.subtract(R.ONE),n=e.multiply(i);0==n.gcd(s).compareTo(R.ONE)?(o.n=o.p.multiply(o.q),o.d=s.modInverse(n),o.dmp1=o.d.mod(e),o.dmq1=o.d.mod(i),o.coeff=o.q.modInverse(o.p),setTimeout((function(){r()}),0)):setTimeout(a,0)},h=function(){o.q=V(),o.q.fromNumberAsync(n,1,i,(function(){o.q.subtract(R.ONE).gcda(s,(function(t){0==t.compareTo(R.ONE)&&o.q.isProbablePrime(10)?setTimeout(e,0):setTimeout(h,0)}))}))},u=function(){o.p=V(),o.p.fromNumberAsync(t-n,1,i,(function(){o.p.subtract(R.ONE).gcda(s,(function(t){0==t.compareTo(R.ONE)&&o.p.isProbablePrime(10)?setTimeout(h,0):setTimeout(u,0)}))}))};setTimeout(u,0)};setTimeout(a,0)},t.prototype.sign=function(t,e,r){var i=function(t,e){if(e<t.length+22)return console.error("Message too long for RSA"),null;for(var r=e-t.length-6,i="",n=0;n<r;n+=2)i+="ff";return N("0001"+i+"00"+t,16)}((W[r]||"")+e(t).toString(),this.n.bitLength()/4);if(null==i)return null;var n=this.doPrivate(i);if(null==n)return null;var s=n.toString(16);return 0==(1&s.length)?s:"0"+s},t.prototype.verify=function(t,e,r){var i=N(e,16),n=this.doPublic(i);return null==n?null:function(t){for(var e in W)if(W.hasOwnProperty(e)){var r=W[e],i=r.length;if(t.substr(0,i)==r)return t.substr(i)}return t}(n.toString(16).replace(/^1f+00/,""))==r(t).toString()},t}(),W={md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",ripemd160:"3021300906052b2403020105000414"},X={};X.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var i=function(){};if(i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var n;for(n in r)t.prototype[n]=r[n];var s=function(){},o=["toString","valueOf"];try{/MSIE/.test(navigator.userAgent)&&(s=function(t,e){for(n=0;n<o.length;n+=1){var r=o[n],i=e[r];"function"==typeof i&&i!=Object.prototype[r]&&(t[r]=i)}})}catch(t){}s(t.prototype,r)}}};var Q={};void 0!==Q.asn1&&Q.asn1||(Q.asn1={}),Q.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var i="",n=0;n<r;n++)i+="f";e=new R(i,16).xor(t).add(R.ONE).toString(16).replace(/^-/,"")}return e},this.getPEMStringFromHex=function(t,e){return hextopem(t,e)},this.newObject=function(t){var e=Q.asn1,r=e.DERBoolean,i=e.DERInteger,n=e.DERBitString,s=e.DEROctetString,o=e.DERNull,a=e.DERObjectIdentifier,h=e.DEREnumerated,u=e.DERUTF8String,c=e.DERNumericString,l=e.DERPrintableString,f=e.DERTeletexString,p=e.DERIA5String,d=e.DERUTCTime,g=e.DERGeneralizedTime,m=e.DERSequence,v=e.DERSet,y=e.DERTaggedObject,b=e.ASN1Util.newObject,w=Object.keys(t);if(1!=w.length)throw"key of param shall be only one.";var T=w[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+T+":"))throw"undefined key: "+T;if("bool"==T)return new r(t[T]);if("int"==T)return new i(t[T]);if("bitstr"==T)return new n(t[T]);if("octstr"==T)return new s(t[T]);if("null"==T)return new o(t[T]);if("oid"==T)return new a(t[T]);if("enum"==T)return new h(t[T]);if("utf8str"==T)return new u(t[T]);if("numstr"==T)return new c(t[T]);if("prnstr"==T)return new l(t[T]);if("telstr"==T)return new f(t[T]);if("ia5str"==T)return new p(t[T]);if("utctime"==T)return new d(t[T]);if("gentime"==T)return new g(t[T]);if("seq"==T){for(var S=t[T],E=[],D=0;D<S.length;D++){var x=b(S[D]);E.push(x)}return new m({array:E})}if("set"==T){for(S=t[T],E=[],D=0;D<S.length;D++)x=b(S[D]),E.push(x);return new v({array:E})}if("tag"==T){var R=t[T];if("[object Array]"===Object.prototype.toString.call(R)&&3==R.length){var B=b(R[2]);return new y({tag:R[0],explicit:R[1],obj:B})}var O={};if(void 0!==R.explicit&&(O.explicit=R.explicit),void 0!==R.tag&&(O.tag=R.tag),void 0===R.obj)throw"obj shall be specified for 'tag'.";return O.obj=b(R.obj),new y(O)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},Q.asn1.ASN1Util.oidHexToInt=function(t){for(var e="",r=parseInt(t.substr(0,2),16),i=(e=Math.floor(r/40)+"."+r%40,""),n=2;n<t.length;n+=2){var s=("00000000"+parseInt(t.substr(n,2),16).toString(2)).slice(-8);i+=s.substr(1,7),"0"==s.substr(0,1)&&(e=e+"."+new R(i,2).toString(10),i="")}return e},Q.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",i=new R(t,10).toString(2),n=7-i.length%7;7==n&&(n=0);for(var s="",o=0;o<n;o++)s+="0";for(i=s+i,o=0;o<i.length-1;o+=7){var a=i.substr(o,7);o!=i.length-7&&(a="1"+a),r+=e(parseInt(a,2))}return r};if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var i="",n=t.split("."),s=40*parseInt(n[0])+parseInt(n[1]);i+=e(s),n.splice(0,2);for(var o=0;o<n.length;o++)i+=r(n[o]);return i},Q.asn1.ASN1Object=function(){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n=0,v="+this.hV;var t=this.hV.length/2,e=t.toString(16);if(e.length%2==1&&(e="0"+e),t<128)return e;var r=e.length/2;if(r>15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},Q.asn1.DERAbstractString=function(t){Q.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(this.s)},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},X.lang.extend(Q.asn1.DERAbstractString,Q.asn1.ASN1Object),Q.asn1.DERAbstractTime=function(t){Q.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){return utc=t.getTime()+6e4*t.getTimezoneOffset(),new Date(utc)},this.formatDate=function(t,e,r){var i=this.zeroPadding,n=this.localDateToUTC(t),s=String(n.getFullYear());"utc"==e&&(s=s.substr(2,2));var o=s+i(String(n.getMonth()+1),2)+i(String(n.getDate()),2)+i(String(n.getHours()),2)+i(String(n.getMinutes()),2)+i(String(n.getSeconds()),2);if(!0===r){var a=n.getMilliseconds();if(0!=a){var h=i(String(a),3);o=o+"."+(h=h.replace(/[0]+$/,""))}}return o+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=stohex(t)},this.setByDateValue=function(t,e,r,i,n,s){var o=new Date(Date.UTC(t,e-1,r,i,n,s,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},X.lang.extend(Q.asn1.DERAbstractTime,Q.asn1.ASN1Object),Q.asn1.DERAbstractStructured=function(t){Q.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},X.lang.extend(Q.asn1.DERAbstractStructured,Q.asn1.ASN1Object),Q.asn1.DERBoolean=function(){Q.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},X.lang.extend(Q.asn1.DERBoolean,Q.asn1.ASN1Object),Q.asn1.DERInteger=function(t){Q.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=Q.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new R(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},X.lang.extend(Q.asn1.DERInteger,Q.asn1.ASN1Object),Q.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=Q.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}Q.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw"unused bits shall be from 0 to 7: u = "+t;var r="0"+t;this.hTLV=null,this.isModified=!0,this.hV=r+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,"")).length%8;8==e&&(e=0);for(var r=0;r<=e;r++)t+="0";var i="";for(r=0;r<t.length-1;r+=8){var n=t.substr(r,8),s=parseInt(n,2).toString(16);1==s.length&&(s="0"+s),i+=s}this.hTLV=null,this.isModified=!0,this.hV="0"+e+i},this.setByBooleanArray=function(t){for(var e="",r=0;r<t.length;r++)1==t[r]?e+="1":e+="0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},X.lang.extend(Q.asn1.DERBitString,Q.asn1.ASN1Object),Q.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=Q.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}Q.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},X.lang.extend(Q.asn1.DEROctetString,Q.asn1.DERAbstractString),Q.asn1.DERNull=function(){Q.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},X.lang.extend(Q.asn1.DERNull,Q.asn1.ASN1Object),Q.asn1.DERObjectIdentifier=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",i=new R(t,10).toString(2),n=7-i.length%7;7==n&&(n=0);for(var s="",o=0;o<n;o++)s+="0";for(i=s+i,o=0;o<i.length-1;o+=7){var a=i.substr(o,7);o!=i.length-7&&(a="1"+a),r+=e(parseInt(a,2))}return r};Q.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var i="",n=t.split("."),s=40*parseInt(n[0])+parseInt(n[1]);i+=e(s),n.splice(0,2);for(var o=0;o<n.length;o++)i+=r(n[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=i},this.setValueName=function(t){var e=Q.asn1.x509.OID.name2oid(t);if(""===e)throw"DERObjectIdentifier oidName undefined: "+t;this.setValueOidString(e)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t):void 0!==t.oid?this.setValueOidString(t.oid):void 0!==t.hex?this.setValueHex(t.hex):void 0!==t.name&&this.setValueName(t.name))},X.lang.extend(Q.asn1.DERObjectIdentifier,Q.asn1.ASN1Object),Q.asn1.DEREnumerated=function(t){Q.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=Q.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new R(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},X.lang.extend(Q.asn1.DEREnumerated,Q.asn1.ASN1Object),Q.asn1.DERUTF8String=function(t){Q.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},X.lang.extend(Q.asn1.DERUTF8String,Q.asn1.DERAbstractString),Q.asn1.DERNumericString=function(t){Q.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},X.lang.extend(Q.asn1.DERNumericString,Q.asn1.DERAbstractString),Q.asn1.DERPrintableString=function(t){Q.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},X.lang.extend(Q.asn1.DERPrintableString,Q.asn1.DERAbstractString),Q.asn1.DERTeletexString=function(t){Q.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},X.lang.extend(Q.asn1.DERTeletexString,Q.asn1.DERAbstractString),Q.asn1.DERIA5String=function(t){Q.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},X.lang.extend(Q.asn1.DERIA5String,Q.asn1.DERAbstractString),Q.asn1.DERUTCTime=function(t){Q.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},X.lang.extend(Q.asn1.DERUTCTime,Q.asn1.DERAbstractTime),Q.asn1.DERGeneralizedTime=function(t){Q.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},X.lang.extend(Q.asn1.DERGeneralizedTime,Q.asn1.DERAbstractTime),Q.asn1.DERSequence=function(t){Q.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++)t+=this.asn1Array[e].getEncodedHex();return this.hV=t,this.hV}},X.lang.extend(Q.asn1.DERSequence,Q.asn1.DERAbstractStructured),Q.asn1.DERSet=function(t){Q.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var r=this.asn1Array[e];t.push(r.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(""),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},X.lang.extend(Q.asn1.DERSet,Q.asn1.DERAbstractStructured),Q.asn1.DERTaggedObject=function(t){Q.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,r){this.hT=e,this.isExplicit=t,this.asn1Object=r,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=r.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.tag&&(this.hT=t.tag),void 0!==t.explicit&&(this.isExplicit=t.explicit),void 0!==t.obj&&(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},X.lang.extend(Q.asn1.DERTaggedObject,Q.asn1.ASN1Object);var tt,et,rt=(tt=function(t,e){return tt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},tt(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}tt(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),it=function(t){function e(r){var i=t.call(this)||this;return r&&("string"==typeof r?i.parseKey(r):(e.hasPrivateKeyProperty(r)||e.hasPublicKeyProperty(r))&&i.parsePropertiesFrom(r)),i}return rt(e,t),e.prototype.parseKey=function(t){try{var e=0,r=0,i=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(t)?function(t){var e;if(void 0===u){var r="0123456789ABCDEF";for(u={},e=0;e<16;++e)u[r.charAt(e)]=e;for(r=r.toLowerCase(),e=10;e<16;++e)u[r.charAt(e)]=e;for(e=0;e<8;++e)u[" \f\n\r\t \u2028\u2029".charAt(e)]=-1}var i=[],n=0,s=0;for(e=0;e<t.length;++e){var o=t.charAt(e);if("="==o)break;if(-1!=(o=u[o])){if(void 0===o)throw new Error("Illegal character at offset "+e);n|=o,++s>=2?(i[i.length]=n,n=0,s=0):n<<=4}}if(s)throw new Error("Hex encoding incomplete: 4 bits missing");return i}(t):d.unarmor(t),n=S.decode(i);if(3===n.sub.length&&(n=n.sub[2].sub[0]),9===n.sub.length){e=n.sub[1].getHexStringValue(),this.n=N(e,16),r=n.sub[2].getHexStringValue(),this.e=parseInt(r,16);var s=n.sub[3].getHexStringValue();this.d=N(s,16);var o=n.sub[4].getHexStringValue();this.p=N(o,16);var a=n.sub[5].getHexStringValue();this.q=N(a,16);var h=n.sub[6].getHexStringValue();this.dmp1=N(h,16);var c=n.sub[7].getHexStringValue();this.dmq1=N(c,16);var l=n.sub[8].getHexStringValue();this.coeff=N(l,16)}else{if(2!==n.sub.length)return!1;if(n.sub[0].sub){var f=n.sub[1].sub[0];e=f.sub[0].getHexStringValue(),this.n=N(e,16),r=f.sub[1].getHexStringValue(),this.e=parseInt(r,16)}else e=n.sub[0].getHexStringValue(),this.n=N(e,16),r=n.sub[1].getHexStringValue(),this.e=parseInt(r,16)}return!0}catch(t){return!1}},e.prototype.getPrivateBaseKey=function(){var t={array:[new Q.asn1.DERInteger({int:0}),new Q.asn1.DERInteger({bigint:this.n}),new Q.asn1.DERInteger({int:this.e}),new Q.asn1.DERInteger({bigint:this.d}),new Q.asn1.DERInteger({bigint:this.p}),new Q.asn1.DERInteger({bigint:this.q}),new Q.asn1.DERInteger({bigint:this.dmp1}),new Q.asn1.DERInteger({bigint:this.dmq1}),new Q.asn1.DERInteger({bigint:this.coeff})]};return new Q.asn1.DERSequence(t).getEncodedHex()},e.prototype.getPrivateBaseKeyB64=function(){return l(this.getPrivateBaseKey())},e.prototype.getPublicBaseKey=function(){var t=new Q.asn1.DERSequence({array:[new Q.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new Q.asn1.DERNull]}),e=new Q.asn1.DERSequence({array:[new Q.asn1.DERInteger({bigint:this.n}),new Q.asn1.DERInteger({int:this.e})]}),r=new Q.asn1.DERBitString({hex:"00"+e.getEncodedHex()});return new Q.asn1.DERSequence({array:[t,r]}).getEncodedHex()},e.prototype.getPublicBaseKeyB64=function(){return l(this.getPublicBaseKey())},e.wordwrap=function(t,e){if(!t)return t;var r="(.{1,"+(e=e||64)+"})( +|$\n?)|(.{1,"+e+"})";return t.match(RegExp(r,"g")).join("\n")},e.prototype.getPrivateKey=function(){var t="-----BEGIN RSA PRIVATE KEY-----\n";return(t+=e.wordwrap(this.getPrivateBaseKeyB64())+"\n")+"-----END RSA PRIVATE KEY-----"},e.prototype.getPublicKey=function(){var t="-----BEGIN PUBLIC KEY-----\n";return(t+=e.wordwrap(this.getPublicBaseKeyB64())+"\n")+"-----END PUBLIC KEY-----"},e.hasPublicKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")},e.hasPrivateKeyProperty=function(t){return(t=t||{}).hasOwnProperty("n")&&t.hasOwnProperty("e")&&t.hasOwnProperty("d")&&t.hasOwnProperty("p")&&t.hasOwnProperty("q")&&t.hasOwnProperty("dmp1")&&t.hasOwnProperty("dmq1")&&t.hasOwnProperty("coeff")},e.prototype.parsePropertiesFrom=function(t){this.n=t.n,this.e=t.e,t.hasOwnProperty("d")&&(this.d=t.d,this.p=t.p,this.q=t.q,this.dmp1=t.dmp1,this.dmq1=t.dmq1,this.coeff=t.coeff)},e}(J),nt=r(155),st=void 0!==nt?null===(et=nt.env)||void 0===et?void 0:"3.3.1":void 0;const ot=function(){function t(t){void 0===t&&(t={}),t=t||{},this.default_key_size=t.default_key_size?parseInt(t.default_key_size,10):1024,this.default_public_exponent=t.default_public_exponent||"010001",this.log=t.log||!1,this.key=null}return t.prototype.setKey=function(t){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new it(t)},t.prototype.setPrivateKey=function(t){this.setKey(t)},t.prototype.setPublicKey=function(t){this.setKey(t)},t.prototype.decrypt=function(t){try{return this.getKey().decrypt(f(t))}catch(t){return!1}},t.prototype.encrypt=function(t){try{return l(this.getKey().encrypt(t))}catch(t){return!1}},t.prototype.sign=function(t,e,r){try{return l(this.getKey().sign(t,e,r))}catch(t){return!1}},t.prototype.verify=function(t,e,r){try{return this.getKey().verify(t,f(e),r)}catch(t){return!1}},t.prototype.getKey=function(t){if(!this.key){if(this.key=new it,t&&"[object Function]"==={}.toString.call(t))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,t);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},t.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},t.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},t.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},t.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},t.version=st,t}()})(),i.default})(),t.exports=e()}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};(()=>{"use strict";r.r(i),r.d(i,{CreditCard:()=>g});class t extends Error{constructor(t){super(t.error_description),this.code=t.code,this.error=t.error,this.error_description=t.error_description}}class e{static async getSalt(e,r=!1){if(document.cookie.split(";").some((t=>t.trim().startsWith("expireAt=")))){const t=document.cookie.replace(/(?:(?:^|.*;\s*)expireAt\s*\=\s*([^;]*).*$)|^.*$/,"$1");if((new Date).setSeconds(1)<t){const t=decodeURIComponent(document.cookie.replace(/(?:(?:^|.*;\s*)salt\s*\=\s*([^;]*).*$)|^.*$/,"$1"));if(t)return t}}const i=await fetch("https://tokenizer.gerencianet.com.br/salt",{method:"GET",headers:{"Account-code":e,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}});i.ok||await i.json().then((e=>{r&&console.error("RequestError_Salt",e);const i={code:void 0!==e.code?e.code:500,error:void 0!==e.error?e.error:"request_error",error_description:void 0!==e.error_description?e.error_description:"Falha ao capturar o salt no processo getSalt"};throw new t(i)}));const n=await i.json(),s=(new Date).setSeconds(55);return document.cookie=`${encodeURIComponent("expireAt")}=${encodeURIComponent(s)}; max-age=60; expires=${new Date(Date.now()+60).toUTCString()}; path=/; SameSite=Strict; Secure`,document.cookie=`${encodeURIComponent("expireAt")}=${encodeURIComponent(s)}; max-age=60; expires=${new Date(Date.now()+60).toUTCString()}; path=/; SameSite=Strict; Secure`,document.cookie=`${encodeURIComponent("salt")}=${encodeURIComponent(n.data)}; max-age=60; expires=${new Date(Date.now()+60).toUTCString()}; path=/; SameSite=Strict; Secure`,n.data}}class n{static async getPublicKey(e,r,i=!1){if(document.cookie.split(";").some((t=>t.trim().startsWith("expireAt=")))){const t=decodeURIComponent(document.cookie.replace(/(?:(?:^|.*;\s*)publicKey\s*\=\s*([^;]*).*$)|^.*$/,"$1"));if(t)return t}const n="production"===r?"https://api.gerencianet.com.br/v1/pubkey":"https://sandbox.gerencianet.com.br/v1/pubkey",s=await fetch(`${n}?code=${e}`,{method:"GET"});s.ok||await s.json().then((e=>{i&&console.error("RequestError_PublicKey",e);const r={code:void 0!==e.code?e.code:500,error:void 0!==e.error?e.error:"request_error",error_description:void 0!==e.error_description?e.error_description:"Falha ao capturar a chave pública no processo getPublicKey"};throw new t(r)}));const o=await s.json();return document.cookie=`${encodeURIComponent("publicKey")}=${encodeURIComponent(o.data)}; max-age=60; path=/; SameSite=Strict; Secure`,o.data}}var s=r(370),o=r.n(s);class a{static async encryptCardData(e,r,i,n=!1,s=!1){try{e.salt=r,n&&console.info("creditCardData",s?e:"success");const t=JSON.stringify(e),a=new(o());return await a.setPublicKey(i),await a.encrypt(t)}catch(e){throw n&&console.error("Error_encryptCardData",e),new t(e={code:500,error:"encrypt_error",error_description:"Erro ao criptografar os dados do cartão"})}}}class h{static async getPaymentToken(e,r,i,n,s=!1){const o="production"===n?"https://tokenizer.gerencianet.com.br/card":"https://sandbox.gerencianet.com.br/v1/card",a=await fetch(o,{method:"POST",headers:{"Account-code":e,"Session-token":r,"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify({data:i})});return a.ok||await a.json().then((e=>{s&&console.error("SaveCardData",e);const r={code:void 0!==e.code?e.code:500,error:void 0!==e.error?e.error:"request_error",error_description:void 0!==e.error_description?e.error_description:"Falha ao capturar paymentToken no processo getPaymentToken"};throw new t(r)})),(await a.json()).data}}class u{static async getInstallments(e,r,i,n,s=!1){const o="production"===n?"https://api.gerencianet.com.br/v1/installments":"https://sandbox.gerencianet.com.br/v1/installments",a=await fetch(`${o}/${e}/jsonp?brand=${r}&total=${i}`,{method:"GET",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}});return(await a.json().then((e=>{if(200!==e.code){s&&console.error("RequestError_Installments",e);const r={code:void 0!==e.code?e.code:500,error:void 0!==e.error?e.error:"request_error",error_description:void 0!==e.error_description?e.error_description:"Falha ao capturar payment_token no processo SaveCardData"};throw new t(r)}return e}))).data}}class c{static async getBrand(t){const e=/^4[0-9]{0,15}$/,r=/^5[1-5][0-9]{0,14}$/,i=/^6(?:011|5[0-9]{2})[0-9]{0,12}$/,n=/^3[47][0-9]{0,13}$/,s=/^(606282\d{10}(\d{3})?)|(3841\d{15})$/,o=/^3(?:0[0-5]|[68][0-9])[0-9]{0,11}$/,a=/^6(?:011|5[0-9]{2})[0-9]{0,12}$/,h=/^2(?:014|149)[0-9]{0,11}$/,u=/^(?:2131|1800|35\d{3})\d{0,11}$/,c=/^8699[0-9]{0,11}$/,l=/^50[0-9]{0,17}$/,f=t.replace(/\D/g,"");let p="";switch(!0){case e.test(f):p="visa";break;case r.test(f):p="mastercard";break;case i.test(f):p="elo";break;case n.test(f):p="amex";break;case s.test(f):p="hipercard";break;case o.test(f):case a.test(f):case h.test(f):case u.test(f):case c.test(f):case l.test(f):p="unsupported";break;default:p="undefined"}return p}}class l{static accountIdentifier(e){if(!/^[a-zA-Z0-9]{32}$/i.test(e))throw new t({error:"valor_invalido",error_description:`Identificador de conta "${e}" inválido`,code:400});return e}static environment(e){const r=["production","homologation"],i=e.toLowerCase();if(!r.includes(i)){const e={error:"valor_invalido",error_description:`Escolha um ambiente de integração entre "${r.join('" e "')}"`,code:400};throw new t(e)}return i}static creditCard(t){const{brand:e,number:r,cvv:i,expirationMonth:n,expirationYear:s,reuse:o}=t;return{brand:this.brand(e,r),number:this.cardNumber(r),cvv:this.cardCvv(i),expiration_month:this.expirationMonth(n),expiration_year:this.expirationYear(s,n),reuse:this.reusable(o)}}static brand(e){const r=["visa","mastercard","amex","elo","hipercard"],i=e.toLowerCase();if(!r.includes(i)){const e={error:"valor_invalido",error_description:`Escolha uma bandeira entre "${r.join('", "')}"`,code:400};throw new t(e)}return i}static total(e){if("string"==typeof e&&(e=parseInt(e.replace(/\D/g,""),10),isNaN(e)))throw new t({error:"valor_invalido",error_description:"O valor total deve ser um número",code:400});if(e<300)throw new t({error:"valor_invalido",error_description:`O valor ${e} é inferior ao limite mínimo (R$3,00)`,code:400});return e}static cardNumber(e){const r=e.replace(/\D/g,"");if(!/^\d{16}$/.test(r))throw new t({error:"valor_invalido",error_description:`Número do cartão "${e}" inválido`,code:400});return r}static cardCvv(e){if(!/^[0-9]+$/.test(e)||3!==e.length)throw new t({error:"valor_invalido",error_description:`Número CVV do cartão "${e}" inválido`,code:400});return e}static expirationMonth(e){const r=parseInt(e);if(r<1||r>12||!/^\d{2}$/.test(e))throw new t({error:"valor_invalido",error_description:`Mês de validade do cartão "${e}" inválido`,code:400});return r}static expirationYear(e,r){const i=(new Date).getFullYear(),n=(new Date).getMonth()+1,s=parseInt(e,10);if(isNaN(s)||s<i||s>i+10)throw new t({error:"valor_invalido",error_description:`Ano de validade do cartão "${e}" inválido`,code:400});if(s===i&&r<=n)throw new t({error:"valor_invalido",error_description:`Data de validade do cartão "${r}/${e}" expirada`,code:400});return s}static reusable(e=!1){if("boolean"!=typeof e&&!["true","false"].includes(e.toString()))throw new t({error:"valor_invalido",error_description:'O parâmetro "reuse" deve ser um booleano ou uma string "true" ou "false"',code:400});return e}static debugger(t){return"boolean"==typeof t||["true","false"].includes(t.toString())||(t=!1),t}}var f=r(182),p=r.n(f);class d{static async getFingerPrint(t=!1){try{const t=p().aF.cS.key,e=this.generateSessionToken();return await this.loadClearSaleScript(t,e),e}catch(e){return t&&console.error("RequestError_FingerPrint",e),null}}static generateSessionToken(){const t="0123456789abcdef";let e="";for(let r=0;r<36;r++)e+=8===r||13===r||18===r||23===r?"-":14===r?"4":19===r?t[4*Math.random()|8]:t[16*Math.random()|0];return e}static loadClearSaleScript(t,e){return new Promise(((r,i)=>{window.CsdpObject="csdp",window.csdp=window.csdp||function(){(window.csdp.q=window.csdp.q||[]).push(arguments)},window.csdp.l=1*new Date;const n=document.createElement("script");n.async=!0,n.src="https://device.clearsale.com.br/p/fp.js",n.onload=()=>{window.csdp("app",t),window.csdp("sessionid",e),r()},n.onerror=t=>{i(t)};const s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(n,s)}))}}class g{static debug;static result;static accountIdentifier;static environment;static creditCard;static brand;static total;static cardNumber;static salt;static publicKey;static debugger(t,e=!1){try{return this.debug=l.debugger(t),this.result=l.debugger(e),console.log(),this.debug&&(console.info("Debugger:",!0),console.info("Lib version:",p().lib.version)),this}catch(t){this.debug=!1,this.result=!1}}static setAccount(e){try{return this.accountIdentifier=l.accountIdentifier(e),this}catch(e){throw this.debug&&console.error("Error_setAccount",e),new t(e)}}static setEnvironment(e){try{return this.environment=l.environment(e),this.debug&&console.info("Environment",this.environment),this}catch(e){throw this.debug&&console.error("Error_setEnvironment",e),new t(e)}}static setCreditCardData(e){try{return this.creditCard=l.creditCard(e),this}catch(e){throw this.debug&&console.error("Error_setCreditCardData",e),new t(e)}}static setBrand(e){try{return this.brand=l.brand(e),this}catch(e){throw this.debug&&console.error("Error_setBrand",e),new t(e)}}static setTotal(e){try{return this.total=l.total(e),this}catch(e){throw this.debug&&console.error("Error_setTotal",e),new t(e)}}static setCardNumber(t){return this.cardNumber=t,this}static async getPaymentToken(){try{this.salt=await e.getSalt(this.accountIdentifier,this.debug),this.debug&&console.log("salt:",this.result?this.salt:"success"),this.publicKey=await n.getPublicKey(this.accountIdentifier,this.environment,this.debug),this.debug&&console.log("publicKey:",this.result?this.publicKey:"success");const t=await a.encryptCardData(this.creditCard,this.salt,this.publicKey,this.debug,this.result);this.debug&&console.log("cardDataEncripted:",this.result?t:"success");const r=await d.getFingerPrint(this.debug);this.debug&&console.log("getFingerPrint:",this.result?r:"success");const i=await h.getPaymentToken(this.accountIdentifier,r,t,this.environment,this.debug);return this.debug&&console.log("paymentTokenData:",this.result?i:"success"),i}catch(e){throw this.debug&&console.error("Error_getPaymentToken",e),new t(e)}}static async getInstallments(){try{const t=await u.getInstallments(this.accountIdentifier,this.brand,this.total,this.environment,this.debug);return this.debug&&console.log("installmentsData:",this.result?t:"success"),t}catch(e){throw this.debug&&console.error("Error_getInstallments",e),new t(e)}}static async verifyCardBrand(){try{const t=await c.getBrand(this.cardNumber);return this.debug&&console.log("brand:",t),t}catch(e){throw this.debug&&console.error(e),new t("Erro ao verificar a bandeira do cartão.")}}}})(),self.EfiJs=i})();
|
package/index.html
DELETED
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="pt-br">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="utf-8">
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
|
-
<link id="favicon" href="./assets/img/favicon.png" rel="shortcut icon" type="image/png">
|
|
8
|
-
<title>Exemplo Payment Token | Efí</title>
|
|
9
|
-
|
|
10
|
-
<!-- CSS -->
|
|
11
|
-
<link href="./assets/css/bootstrap.min.css" rel="stylesheet">
|
|
12
|
-
<link href="./assets/css/custom.css" rel="stylesheet">
|
|
13
|
-
|
|
14
|
-
<!-- Script -->
|
|
15
|
-
<script src="./dist/payment-token-efi.min.js"></script>
|
|
16
|
-
|
|
17
|
-
<script>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
document.addEventListener('DOMContentLoaded', () => { // Aguarda o carregamento da página para iniciar os scripts
|
|
21
|
-
|
|
22
|
-
// Configuração
|
|
23
|
-
var inputIdentificadorConta = document.getElementById("identificadorConta");
|
|
24
|
-
var inputValorTotal = document.getElementById("valorTotal");
|
|
25
|
-
// Dados cartão
|
|
26
|
-
var inputNumeroCartao = document.getElementById("numeroCartao");
|
|
27
|
-
var inputBandeira = document.getElementById("bandeira");
|
|
28
|
-
var inputMesVencimento = document.getElementById("mesVencimento");
|
|
29
|
-
var inputAnoVencimento = document.getElementById("anoVencimento");
|
|
30
|
-
var inputCvv = document.getElementById("cvv");
|
|
31
|
-
// Resultados
|
|
32
|
-
var inputParcelas = document.getElementById("opcoesParcelamento");
|
|
33
|
-
var inputPaymentToken = document.getElementById("paymentToken");
|
|
34
|
-
var inputmascaraCartao = document.getElementById("mascaraCartao");
|
|
35
|
-
// Botão de acionamento
|
|
36
|
-
var btnGerarToken = document.getElementById("gerarPaymentToken");
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
inputNumeroCartao.addEventListener("input", function () {
|
|
40
|
-
|
|
41
|
-
/*
|
|
42
|
-
* Identifica a bandeira a partir do número do cartão
|
|
43
|
-
* @params { numeroCartao }
|
|
44
|
-
*/
|
|
45
|
-
if (inputNumeroCartao.value.length >= 15) {
|
|
46
|
-
try {
|
|
47
|
-
EfiJs.CreditCard
|
|
48
|
-
.debugger(false)
|
|
49
|
-
.setCardNumber(inputNumeroCartao.value)
|
|
50
|
-
.verifyCardBrand()
|
|
51
|
-
.then(bandeira => {
|
|
52
|
-
inputBandeira.value = bandeira;
|
|
53
|
-
|
|
54
|
-
if (bandeira !== 'undefined') { // Se encontrar uma bandeira válida, e aciona a função para buscar as opções de parcelamento
|
|
55
|
-
buscarParcelamemto(bandeira);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
} catch (error) {
|
|
59
|
-
alert(`Erro ao obter a bandeira!\n\nCódigo: ${error.code}\nNome: ${error.error}\nMensagem: ${error.error_description}`);
|
|
60
|
-
console.warn(`Algo deu errado ao verificar a bandeira.\n ${error}`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/*
|
|
64
|
-
* FIM - Identifica a bandeira a partir do número do cartão
|
|
65
|
-
*/
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
function buscarParcelamemto(bandeira) {
|
|
70
|
-
|
|
71
|
-
/*
|
|
72
|
-
* Retorna as informações de parcelamento
|
|
73
|
-
* @params { identificadorConta, ambiente, bandeira, valorTotal }
|
|
74
|
-
*/
|
|
75
|
-
try {
|
|
76
|
-
EfiJs.CreditCard
|
|
77
|
-
.debugger(false)
|
|
78
|
-
.setAccount(inputIdentificadorConta.value)
|
|
79
|
-
.setEnvironment('production') // 'production' or 'homologation'
|
|
80
|
-
.setBrand(bandeira)
|
|
81
|
-
.setTotal(inputValorTotal.value)
|
|
82
|
-
.getInstallments()
|
|
83
|
-
.then(arrayParcelas => {
|
|
84
|
-
let opcoes = '<option value="0">Escolha como deseja pagar</option>';
|
|
85
|
-
|
|
86
|
-
for (let index = 0; index < arrayParcelas.installments.length; index++) {
|
|
87
|
-
opcoes += `<option value="${arrayParcelas.installments[index].installment}">${arrayParcelas.installments[index].installment} x de R$${arrayParcelas.installments[index].currency} ${arrayParcelas.installments[index].has_interest === false ? "sem juros" : ""}</option>`;
|
|
88
|
-
}
|
|
89
|
-
inputParcelas.innerHTML = opcoes;
|
|
90
|
-
}).catch(err => {
|
|
91
|
-
alert(`Erro ao buscar as parcelas!\n\nCódigo: ${err.code}\nNome: ${err.error}\nMensagem: ${err.error_description}`);
|
|
92
|
-
throw new Error(`Something went wrong in verifyCardBrand(.\n ${error}`);
|
|
93
|
-
});
|
|
94
|
-
} catch (error) {
|
|
95
|
-
alert(`Erro ao buscar as parcelas!\n\nCódigo: ${error.code}\nNome: ${error.error}\nMensagem: ${error.error_description}`);
|
|
96
|
-
throw new Error(`Something went wrong.\n ${error}`);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/*
|
|
100
|
-
* FIM - Retorna as informações de parcelamento
|
|
101
|
-
*/
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
btnGerarToken.addEventListener("click", function () {
|
|
106
|
-
btnGerarToken.classList.add('disabled');
|
|
107
|
-
|
|
108
|
-
btnGerarToken.innerHTML = '<div class="spinner-border spinner-border-sm text-info" role="status"> <span class="visually-hidden">Loading...</span></div>';
|
|
109
|
-
|
|
110
|
-
/*
|
|
111
|
-
* Retorna o payment_token e card_mask
|
|
112
|
-
* @params { identificadorConta, ambiente, {bandeira, numeroCartao, cvv, mesVencimento, anoVencimento, reuse} }
|
|
113
|
-
*/
|
|
114
|
-
try {
|
|
115
|
-
EfiJs.CreditCard
|
|
116
|
-
.debugger(false)
|
|
117
|
-
.setAccount(inputIdentificadorConta.value)
|
|
118
|
-
.setEnvironment('production') // 'production' or 'homologation'
|
|
119
|
-
.setCreditCardData({
|
|
120
|
-
brand: inputBandeira.value,
|
|
121
|
-
number: inputNumeroCartao.value,
|
|
122
|
-
cvv: inputCvv.value,
|
|
123
|
-
expirationMonth: inputMesVencimento.value,
|
|
124
|
-
expirationYear: inputAnoVencimento.value,
|
|
125
|
-
reuse: false
|
|
126
|
-
})
|
|
127
|
-
.getPaymentToken()
|
|
128
|
-
.then(dados => {
|
|
129
|
-
let payment_token = dados.payment_token;
|
|
130
|
-
let card_mask = dados.card_mask;
|
|
131
|
-
|
|
132
|
-
inputPaymentToken.value = payment_token;
|
|
133
|
-
mascaraCartao.value = card_mask;
|
|
134
|
-
|
|
135
|
-
btnGerarToken.classList.remove('btn-primary');
|
|
136
|
-
btnGerarToken.classList.add('btn-success');
|
|
137
|
-
btnGerarToken.innerHTML = 'Gerar novamente';
|
|
138
|
-
btnGerarToken.classList.remove('disabled');
|
|
139
|
-
}).catch(err => {
|
|
140
|
-
alert(`Erro ao buscar ao gerar o payment_token!\n\nCódigo: ${err.code}\nNome: ${err.error}\nMensagem: ${err.error_description}`);
|
|
141
|
-
btnGerarToken.innerHTML = 'Gerar payment_token';
|
|
142
|
-
btnGerarToken.classList.remove('disabled');
|
|
143
|
-
throw new Error(`Something went wrong in verifyCardBrand(.\n ${error}`);
|
|
144
|
-
});
|
|
145
|
-
} catch (error) {
|
|
146
|
-
alert(`Erro ao buscar ao gerar o payment_token!\n\nCódigo: ${error.code}\nNome: ${error.error}\nMensagem: ${error.error_description}`);
|
|
147
|
-
btnGerarToken.innerHTML = 'Gerar payment_token';
|
|
148
|
-
btnGerarToken.classList.remove('disabled');
|
|
149
|
-
throw new Error(`Something went wrong.\n ${error}`);
|
|
150
|
-
}
|
|
151
|
-
/*
|
|
152
|
-
* FIM - Retorna o payment_token e card_mask
|
|
153
|
-
*/
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
inputValorTotal.addEventListener("input", function () {
|
|
157
|
-
if (inputIdentificadorConta.value.length === 32 && inputNumeroCartao.value.length >= 16 && inputValorTotal.value.length >= 3) {
|
|
158
|
-
buscarParcelamemto(inputBandeira.value);
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
inputIdentificadorConta.addEventListener("input", function () {
|
|
163
|
-
if (inputIdentificadorConta.value.length === 32 && inputNumeroCartao.value.length >= 16) {
|
|
164
|
-
buscarParcelamemto(inputBandeira.value);
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
inputParcelas.addEventListener("change", function () {
|
|
169
|
-
btnGerarToken.classList.remove('disabled');
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
</script>
|
|
175
|
-
|
|
176
|
-
</head>
|
|
177
|
-
|
|
178
|
-
<body>
|
|
179
|
-
|
|
180
|
-
<div class="container">
|
|
181
|
-
|
|
182
|
-
<header class="d-flex flex-wrap justify-content-center py-2 mb-2">
|
|
183
|
-
<a href="" class="d-flex align-items-center mb-3 mb-md-0 me-md-auto text-dark text-decoration-none">
|
|
184
|
-
<img style="height: 80px;" src="./assets/img/logo-ef.svg" alt="Logo Efí">
|
|
185
|
-
</a>
|
|
186
|
-
|
|
187
|
-
<ul class="nav nav-pills">
|
|
188
|
-
<li class="nav-item">
|
|
189
|
-
<a href="https://github.com/efipay/frontend-payment-token-efi" target="_blank"
|
|
190
|
-
class="nav-link">Github</a>
|
|
191
|
-
</li>
|
|
192
|
-
<li class="nav-item">
|
|
193
|
-
<a href="https://dev.sejaefi.com.br/docs/pagamento-com-cartao#1-obten%C3%A7%C3%A3o-do-payment_token"
|
|
194
|
-
target="_blank" class="nav-link">Documentação</a>
|
|
195
|
-
</li>
|
|
196
|
-
<li class="nav-item">
|
|
197
|
-
<a href="https://comunidade.sejaefi.com.br/" target="_blank" class="nav-link">Comunidade</a>
|
|
198
|
-
</li>
|
|
199
|
-
</ul>
|
|
200
|
-
|
|
201
|
-
<div class="py-2 text-center">
|
|
202
|
-
<h2>Página de exemplo - Gerar payment_token</h2>
|
|
203
|
-
<p class="lead">Um payment_token é um conjunto de caracteres gerado de forma segura pela API Efí que
|
|
204
|
-
representa os
|
|
205
|
-
dados do cartão de crédito do pagador.</p>
|
|
206
|
-
</div>
|
|
207
|
-
</header>
|
|
208
|
-
|
|
209
|
-
<main>
|
|
210
|
-
|
|
211
|
-
<form method="POST" action="./" novalidate>
|
|
212
|
-
<!-- Início - Configuração para funcionamento do script - Identificador de conta -->
|
|
213
|
-
<!-- Veja aqui onde oncontrá-lo: https://sejaefi.link/rJeE-NNOm2 -->
|
|
214
|
-
<h4 class="mb-3">Configuração</h4>
|
|
215
|
-
<div class="row">
|
|
216
|
-
<div class="col-md-8">
|
|
217
|
-
<label for="identificadorConta" class="form-label">Identificador de conta
|
|
218
|
-
<code>
|
|
219
|
-
<a target="_blank" href="https://s3.amazonaws.com/gerencianet-pub-prod-1/printscreen/2023/03/08/matheus.rodrigues/24fa15-dda30019-a643-409e-8813-c7cc68adcc40.png"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-link-45deg" viewBox="0 0 16 16">
|
|
220
|
-
<path d="M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4.018 4.018 0 0 1-.128-1.287z"/>
|
|
221
|
-
<path d="M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243L6.586 4.672z"/>
|
|
222
|
-
</svg>onde encontro?</a>
|
|
223
|
-
</code>
|
|
224
|
-
</label>
|
|
225
|
-
<input type="text" class="form-control" name="identificadorConta" id="identificadorConta">
|
|
226
|
-
</div>
|
|
227
|
-
<div class="col-md-4">
|
|
228
|
-
<label for="valorTotal" class="form-label">Valor total
|
|
229
|
-
<code data-bs-toggle="tooltip" data-bs-placement="top"
|
|
230
|
-
title="(Integer) Ex: '24990' equivale a R$249,90">
|
|
231
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
232
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
233
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
234
|
-
</svg>
|
|
235
|
-
</code>
|
|
236
|
-
</label>
|
|
237
|
-
<input type="number" class="form-control" name="valorTotal" id="valorTotal" value="24990">
|
|
238
|
-
</div>
|
|
239
|
-
</div>
|
|
240
|
-
<!-- Fim - Configuração para funcionamento do script - Identificador de conta -->
|
|
241
|
-
|
|
242
|
-
<hr>
|
|
243
|
-
|
|
244
|
-
<!-- Início - Inputs com informações do cartão de crédito -->
|
|
245
|
-
<h4 class="mb-3">Informação do cartão
|
|
246
|
-
<code>
|
|
247
|
-
<a target="_blank" href="https://www.4devs.com.br/gerador_de_numero_cartao_credito"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-link-45deg" viewBox="0 0 16 16">
|
|
248
|
-
<path d="M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4.018 4.018 0 0 1-.128-1.287z"/>
|
|
249
|
-
<path d="M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243L6.586 4.672z"/>
|
|
250
|
-
</svg>cartão fictício</a>
|
|
251
|
-
</code>
|
|
252
|
-
</h4>
|
|
253
|
-
<div class="row gy-3">
|
|
254
|
-
<div class="col-md-7">
|
|
255
|
-
<label for="numeroCartao" class="form-label">Número do cartão
|
|
256
|
-
<code data-bs-toggle="tooltip" data-bs-placement="top"
|
|
257
|
-
title="(String - 'XXXXXXXXXXXXXXXX')"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
258
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
259
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
260
|
-
</svg>
|
|
261
|
-
</code>
|
|
262
|
-
</label>
|
|
263
|
-
<input type="text" class="form-control" name="numeroCartao" id="numeroCartao">
|
|
264
|
-
</div>
|
|
265
|
-
|
|
266
|
-
<div class="col-md-5">
|
|
267
|
-
<!-- Bandeira será preenchida dinamicamente de acordo com o número do cartão informado -->
|
|
268
|
-
<label for="bandeira" class="form-label">Bandeira
|
|
269
|
-
<code data-bs-toggle="tooltip" data-bs-placement="top"
|
|
270
|
-
title="(String - 'visa', 'mastercard', 'amex', 'elo', 'hipercard') Obtida a partir do número do cartão"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
271
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
272
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
273
|
-
</svg>
|
|
274
|
-
</code>
|
|
275
|
-
</label>
|
|
276
|
-
<input type="text" class="form-control" name="bandeira" id="bandeira" readonly>
|
|
277
|
-
</div>
|
|
278
|
-
|
|
279
|
-
<div class="col-md-4">
|
|
280
|
-
<label for="mesVencimento" class="form-label">Mês de vencimento
|
|
281
|
-
<code data-bs-toggle="tooltip" data-bs-placement="top" title="(String - 'MM')"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
282
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
283
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
284
|
-
</svg>
|
|
285
|
-
</code>
|
|
286
|
-
</label>
|
|
287
|
-
<select class="form-select" name="mesVencimento" id="mesVencimento">
|
|
288
|
-
<option selected>01</option>
|
|
289
|
-
<option>02</option>
|
|
290
|
-
<option>03</option>
|
|
291
|
-
<option>04</option>
|
|
292
|
-
<option>05</option>
|
|
293
|
-
<option>06</option>
|
|
294
|
-
<option>07</option>
|
|
295
|
-
<option>08</option>
|
|
296
|
-
<option>09</option>
|
|
297
|
-
<option>10</option>
|
|
298
|
-
<option>11</option>
|
|
299
|
-
<option>12</option>
|
|
300
|
-
</select>
|
|
301
|
-
</div>
|
|
302
|
-
|
|
303
|
-
<div class="col-md-4">
|
|
304
|
-
<label for="anoVencimento" class="form-label">Ano de vencimento
|
|
305
|
-
<code data-bs-toggle="tooltip" data-bs-placement="top" title="(String - 'YYYY')">
|
|
306
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
307
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
308
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
309
|
-
</svg>
|
|
310
|
-
</code>
|
|
311
|
-
</label>
|
|
312
|
-
<select class="form-select" name="anoVencimento" id="anoVencimento">
|
|
313
|
-
<option>2023</option>
|
|
314
|
-
<option>2024</option>
|
|
315
|
-
<option selected>2025</option>
|
|
316
|
-
<option>2026</option>
|
|
317
|
-
<option>2027</option>
|
|
318
|
-
<option>2028</option>
|
|
319
|
-
<option>2029</option>
|
|
320
|
-
<option>2030</option>
|
|
321
|
-
<option>2031</option>
|
|
322
|
-
<option>2032</option>
|
|
323
|
-
<option>2033</option>
|
|
324
|
-
<option>2034</option>
|
|
325
|
-
<option>2035</option>
|
|
326
|
-
</select>
|
|
327
|
-
</div>
|
|
328
|
-
|
|
329
|
-
<div class="col-md-4">
|
|
330
|
-
<label for="cvv" class="form-label">Código de segurança (cvv)
|
|
331
|
-
<code data-bs-toggle="tooltip" data-bs-placement="top" title="(String - '123')">
|
|
332
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
333
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
334
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
335
|
-
</svg>
|
|
336
|
-
</code>
|
|
337
|
-
</label>
|
|
338
|
-
<input type="text" class="form-control" name="cvv" id="cvv">
|
|
339
|
-
</div>
|
|
340
|
-
</div>
|
|
341
|
-
<!-- Fim - Inputs com informações do cartão de crédito -->
|
|
342
|
-
|
|
343
|
-
<hr>
|
|
344
|
-
|
|
345
|
-
<!-- Início - Informação de parcelamento e botão para acionar a geração do payment_token -->
|
|
346
|
-
<div class="row g-3">
|
|
347
|
-
<div class="col-md-6">
|
|
348
|
-
<label for="opcoesParcelamento" class="form-label">Opções de pagamento
|
|
349
|
-
<code data-bs-toggle="tooltip" data-bs-placement="top"
|
|
350
|
-
title="Obtida quando definida a bandeira">
|
|
351
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
352
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
353
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
354
|
-
</svg>
|
|
355
|
-
</code>
|
|
356
|
-
</label>
|
|
357
|
-
<select class="form-select" id="opcoesParcelamento" name="opcoesParcelamento">
|
|
358
|
-
<option value="0">Digite o número do cartão</option>
|
|
359
|
-
</select>
|
|
360
|
-
</div>
|
|
361
|
-
<div class="col-md-6">
|
|
362
|
-
<button class="w-100 btn btn-primary btn-lg disabled" id="gerarPaymentToken" type="button">Gerar
|
|
363
|
-
payment_token</button>
|
|
364
|
-
</div>
|
|
365
|
-
</div>
|
|
366
|
-
<!-- Fim - Informação de parcelamento e botão para acionar a geração do payment_token -->
|
|
367
|
-
|
|
368
|
-
<hr>
|
|
369
|
-
|
|
370
|
-
<div class="row g-3">
|
|
371
|
-
<h4 class="mb-3">Informações <code data-bs-toggle="tooltip" data-bs-placement="top"
|
|
372
|
-
title="Obtidas após execução das funções acionadas pelo botão">
|
|
373
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
|
|
374
|
-
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
|
375
|
-
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
|
376
|
-
</svg>
|
|
377
|
-
</code>
|
|
378
|
-
</h4>
|
|
379
|
-
<div class="col-md-6"> <!-- Input que receberá o payment_token gerado -->
|
|
380
|
-
<label for="paymentToken" class="form-label">Payment Token a ser gerado</label>
|
|
381
|
-
<input type="text" class="form-control" name="paymentToken" id="paymentToken" readonly>
|
|
382
|
-
</div>
|
|
383
|
-
|
|
384
|
-
<div class="col-md-6"> <!-- Input que receberá o card_mask gerado -->
|
|
385
|
-
<label for="mascaraCartao" class="form-label">Máscara do cartão de crédito</label>
|
|
386
|
-
<input type="text" class="form-control" name="mascaraCartao" id="mascaraCartao" readonly>
|
|
387
|
-
</div>
|
|
388
|
-
</div>
|
|
389
|
-
|
|
390
|
-
<br>
|
|
391
|
-
</form>
|
|
392
|
-
</main>
|
|
393
|
-
</body>
|
|
394
|
-
|
|
395
|
-
</html>
|