/g,">")))})),e}},{}],29:[function(t,e,n){"use strict";var r=t("./validate-selector"),i=t("./filter-style-keys"),o=t("./filter-style-values");function a(t,e,n){var i,s,u=t+"{";return e=e||{},!function(t){return/^@media\s+/i.test(t)}(t)?(i=n(e),s=o(i),Object.keys(s).forEach((function(t){u+=t+":"+s[t]+";"}))):Object.keys(e).forEach((function(t){r(t)&&(u+=a(t,e[t],n))})),u+="}"}e.exports=function(t,e,n){var o,s=0,u=document.createElement("style");function c(t){return i(t,e,n)}return document.querySelector("head").appendChild(u),o=u.sheet||u.styleSheet,t=t||{},e=e||[],Object.keys(t).forEach((function(e){var n;if(r(e)){n=a(e,t[e],c);try{o.insertRule?o.insertRule(n,s):o.addRule(e,n.replace(/^[^{]+/,"").replace(/{|}/g,""),s),s++}catch(t){if(!t instanceof SyntaxError)throw t}}})),u}},{"./filter-style-keys":27,"./filter-style-values":28,"./validate-selector":30}],30:[function(t,e,n){"use strict";e.exports=function(t){return 0!==t.trim().length&&(!/supports/i.test(t)&&(!/import/i.test(t)&&(!/\{|\}/.test(t)&&!/-1}(t)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@braintree/browser-detection/is-android":1,"@braintree/browser-detection/is-chrome":2,"@braintree/browser-detection/is-ie9":6,"@braintree/browser-detection/is-ios":8}],34:[function(t,e,n){"use strict";var r=t("./parse-pattern"),i=t("../is-backspace");function o(t){this.setPattern(t)}o.prototype.setPattern=function(t){if("string"!=typeof t)throw new Error("A valid pattern string is required");this.pattern=r(t)},o.prototype.format=function(t){var e,n,r,i=t.value,o=0,a="",s={start:t.selection.start,end:t.selection.end};for(e=0;ei.length));e++)if(n.isPermaChar)null==r&&a.length!==n.index||(a+=n.value,n.index<=s.start&&s.start++,n.index<=s.end&&s.end++);else for(;o=500?n=new s(g.CLIENT_GATEWAY_NETWORK):(t<200||t>=400)&&(n=u(e,{type:g.CLIENT_REQUEST_ERROR.type,code:g.CLIENT_REQUEST_ERROR.code,message:g.CLIENT_REQUEST_ERROR.message}));if(n)return n.details=n.details||{},n.details.httpStatus=t,n}(r,t),c?i(c):"graphQLApi"===a&&n.errors?i(u(n.errors,{type:g.CLIENT_GRAPHQL_REQUEST_ERROR.type,code:g.CLIENT_GRAPHQL_REQUEST_ERROR.code,message:g.CLIENT_GRAPHQL_REQUEST_ERROR.message})):(o=y({_httpStatus:r},n),e(o))}))}));return"function"==typeof e?(e=f(h(e)),void i.then((function(t){e(null,t,t._httpStatus)})).catch((function(t){var n=t&&t.details&&t.details.httpStatus;e(t,null,n)}))):i},A.prototype.toJSON=function(){return this.getConfiguration()},A.prototype.getVersion=function(){return _},A.prototype.teardown=d((function(){return this._activeCache=!1,T(this,I(A.prototype)),p.resolve()})),e.exports=A},{"../lib/add-metadata":93,"../lib/analytics":94,"../lib/assign":95,"../lib/braintree-error":96,"../lib/constants":101,"../lib/convert-methods-to-error":102,"../lib/convert-to-braintree-error":103,"../lib/create-authorization-data":104,"../lib/deferred":106,"../lib/errors":108,"../lib/is-whitelisted-domain":110,"../lib/methods":112,"../lib/once":113,"../lib/promise":114,"./constants":52,"./errors":53,"./request":64,"./request/graphql":62,"@braintree/wrap-promise":13}],52:[function(t,e,n){"use strict";e.exports={BRAINTREE_API_VERSION_HEADER:"2017-04-03",BRAINTREE_VERSION:"2018-05-10"}},{}],53:[function(t,e,n){"use strict";var r=t("../lib/braintree-error");e.exports={CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN:{type:r.types.MERCHANT,code:"CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN"},CLIENT_OPTION_REQUIRED:{type:r.types.MERCHANT,code:"CLIENT_OPTION_REQUIRED"},CLIENT_OPTION_INVALID:{type:r.types.MERCHANT,code:"CLIENT_OPTION_INVALID"},CLIENT_MISSING_GATEWAY_CONFIGURATION:{type:r.types.INTERNAL,code:"CLIENT_MISSING_GATEWAY_CONFIGURATION",message:"Missing gatewayConfiguration."},CLIENT_INVALID_AUTHORIZATION:{type:r.types.MERCHANT,code:"CLIENT_INVALID_AUTHORIZATION",message:"Authorization is invalid. Make sure your client token or tokenization key is valid."},CLIENT_GATEWAY_NETWORK:{type:r.types.NETWORK,code:"CLIENT_GATEWAY_NETWORK",message:"Cannot contact the gateway at this time."},CLIENT_REQUEST_TIMEOUT:{type:r.types.NETWORK,code:"CLIENT_REQUEST_TIMEOUT",message:"Request timed out waiting for a reply."},CLIENT_REQUEST_ERROR:{type:r.types.NETWORK,code:"CLIENT_REQUEST_ERROR",message:"There was a problem with your request."},CLIENT_GRAPHQL_REQUEST_ERROR:{type:r.types.NETWORK,code:"CLIENT_GRAPHQL_REQUEST_ERROR",message:"There was a problem with your request."},CLIENT_RATE_LIMITED:{type:r.types.MERCHANT,code:"CLIENT_RATE_LIMITED",message:"You are being rate-limited; please try again in a few minutes."},CLIENT_AUTHORIZATION_INSUFFICIENT:{type:r.types.MERCHANT,code:"CLIENT_AUTHORIZATION_INSUFFICIENT",message:"The authorization used has insufficient privileges."}}},{"../lib/braintree-error":96}],54:[function(t,e,n){"use strict";var r=t("../../lib/querystring"),i=t("../browser-detection"),o=t("../../lib/assign").assign,a=t("./prep-body"),s=t("./parse-body"),u=t("./xhr"),c=u.isAvailable,l=t("./graphql/request"),p=t("./default-request");function d(t,e,n){var f,h,y,m,E,g,v,_=t.url,b=t.graphQL,I=t.timeout,T=u.getRequestObject(),A=n,x=Boolean(b&&b.isGraphQLRequest(_,t.data));t.headers=o({"Content-Type":"application/json"},t.headers),_=(y=x?new l(t):new p(t)).getUrl(),m=y.getBody(),E=y.getMethod(),g=y.getHeaders(),"GET"===E&&(_=r.queryify(_,m),m=null),c?T.onreadystatechange=function(){if(4===T.readyState){if(0===T.status&&x)return delete t.graphQL,void d(t,e,n);if(v=s(T.responseText),h=y.adaptResponseBody(v),(f=y.determineStatus(T.status,v))>=400||f<200){if(x&&function(t){return"unknown_error"===(!t.data&&t.errors&&t.errors[0]&&t.errors[0].extensions&&t.errors[0].extensions.errorType)}(v))return delete t.graphQL,void d(t,e,n);if(e<1&&function(t){return(!t||408===t)&&i.isIe()}(f))return e++,void d(t,e,n);A(h||"error",null,f||500)}else A(null,h,f)}}:(t.headers&&(_=r.queryify(_,g)),T.onload=function(){A(null,s(T.responseText),T.status)},T.onerror=function(){A("error",null,500)},T.onprogress=function(){},T.ontimeout=function(){A("timeout",null,-1)});try{T.open(E,_,!0)}catch(r){if(!x)throw r;return delete t.graphQL,void d(t,e,n)}T.timeout=I,c&&Object.keys(g).forEach((function(t){T.setRequestHeader(t,g[t])}));try{T.send(a(E,m))}catch(t){}}e.exports={request:function(t,e){d(t,0,e)}}},{"../../lib/assign":95,"../../lib/querystring":115,"../browser-detection":50,"./default-request":55,"./graphql/request":63,"./parse-body":67,"./prep-body":68,"./xhr":69}],55:[function(t,e,n){"use strict";function r(t){this._url=t.url,this._data=t.data,this._method=t.method,this._headers=t.headers}r.prototype.getUrl=function(){return this._url},r.prototype.getBody=function(){return this._data},r.prototype.getMethod=function(){return this._method},r.prototype.getHeaders=function(){return this._headers},r.prototype.adaptResponseBody=function(t){return t},r.prototype.determineStatus=function(t){return t},e.exports=r},{}],56:[function(t,e,n){(function(t){"use strict";e.exports=function(){return t.navigator.userAgent}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],57:[function(t,e,n){"use strict";var r=t("./error"),i=t("../../../../lib/assign").assign,o={AMERICAN_EXPRESS:"American Express",DISCOVER:"Discover",INTERNATIONAL_MAESTRO:"Maestro",JCB:"JCB",MASTERCARD:"MasterCard",SOLO:"Solo",UK_MAESTRO:"UK Maestro",UNION_PAY:"UnionPay",VISA:"Visa"},a={VISA:"visa",MASTERCARD:"mastercard",DISCOVER:"discover",AMERICAN_EXPRESS:"amex"},s={VISA:"Visa",MASTERCARD:"MasterCard",DISCOVER:"Discover",AMERICAN_EXPRESS:"American Express"},u={VISA:"visa",MASTERCARD:"mastercard",DISCOVER:"discover",AMERICAN_EXPRESS:"amex"},c={VISA:"visa",MASTERCARD:"master",DISCOVER:"discover",AMERICAN_EXPRESS:"amex",DINERS:"diners",INTERNATIONAL_MAESTRO:"maestro",JCB:"jcb"};function l(t,e){return t.reduce((function(t,n){return e.hasOwnProperty(n)?t.concat(e[n]):t}),[])}e.exports=function(t,e){var n;return n=t.data&&!t.errors?function(t,e){var n,r=t.data.clientConfiguration;n={environment:r.environment.toLowerCase(),clientApiUrl:r.clientApiUrl,assetsUrl:r.assetsUrl,analytics:{url:r.analyticsUrl},merchantId:r.merchantId,venmo:"off"},r.supportedFeatures&&(n.graphQL={url:e._graphQL._config.url,features:r.supportedFeatures.map((function(t){return t.toLowerCase()}))});r.braintreeApi&&(n.braintreeApi=r.braintreeApi);r.applePayWeb&&(n.applePayWeb=r.applePayWeb,n.applePayWeb.supportedNetworks=l(r.applePayWeb.supportedCardBrands,a),delete n.applePayWeb.supportedCardBrands);r.ideal&&(n.ideal=r.ideal);r.kount&&(n.kount={kountMerchantId:r.kount.merchantId});r.creditCard?(n.challenges=r.creditCard.challenges.map((function(t){return t.toLowerCase()})),n.creditCards={supportedCardTypes:l(r.creditCard.supportedCardBrands,o)},n.threeDSecureEnabled=r.creditCard.threeDSecureEnabled):(n.challenges=[],n.creditCards={supportedCardTypes:[]},n.threeDSecureEnabled=!1);r.googlePay&&(n.androidPay={displayName:r.googlePay.displayName,enabled:!0,environment:r.googlePay.environment.toLowerCase(),googleAuthorizationFingerprint:r.googlePay.googleAuthorization,supportedNetworks:l(r.googlePay.supportedCardBrands,u)});r.venmo&&(n.payWithVenmo={merchantId:r.venmo.merchantId,accessToken:r.venmo.accessToken,environment:r.venmo.environment.toLowerCase()});r.paypal?(n.paypalEnabled=!0,n.paypal=i({},r.paypal),n.paypal.currencyIsoCode=n.paypal.currencyCode,n.paypal.environment=n.paypal.environment.toLowerCase(),delete n.paypal.currencyCode):n.paypalEnabled=!1;r.unionPay&&(n.unionPay={enabled:!0,merchantAccountId:r.unionPay.merchantAccountId});r.visaCheckout&&(n.visaCheckout={apikey:r.visaCheckout.apiKey,externalClientId:r.visaCheckout.externalClientId,supportedCardTypes:l(r.visaCheckout.supportedCardBrands,s)});r.masterpass&&(n.masterpass={merchantCheckoutId:r.masterpass.merchantCheckoutId,supportedNetworks:l(r.masterpass.supportedCardBrands,c)});r.usBankAccount&&(n.usBankAccount={routeId:r.usBankAccount.routeId,plaid:{publicKey:r.usBankAccount.plaidPublicKey}});return n}(t,e):r(t),n}},{"../../../../lib/assign":95,"./error":59}],58:[function(t,e,n){"use strict";var r=t("./error"),i={AMERICAN_EXPRESS:"American Express",DINERS:"Discover",DISCOVER:"Discover",INTERNATIONAL_MAESTRO:"Maestro",JCB:"JCB",MASTERCARD:"MasterCard",UK_MAESTRO:"Maestro",UNION_PAY:"Union Pay",VISA:"Visa"},o={YES:"Yes",NO:"No",UNKNOWN:"Unknown"};e.exports=function(t){return t.data&&!t.errors?function(t){var e=t.data.tokenizeCreditCard,n=e.creditCard,r=n.last4?n.last4.substr(2,4):"",a=n.binData;a&&(["commercial","debit","durbinRegulated","healthcare","payroll","prepaid"].forEach((function(t){a[t]?a[t]=o[a[t]]:a[t]="Unknown"})),["issuingBank","countryOfIssuance","productId"].forEach((function(t){a[t]||(a[t]="Unknown")})));return{creditCards:[{binData:a,consumed:!1,description:r?"ending in "+r:"",nonce:e.token,details:{cardType:i[n.brandCode]||"Unknown",lastFour:n.last4||"",lastTwo:r},type:"CreditCard",threeDSecureInfo:null}]}}(t):r(t)}},{"./error":59}],59:[function(t,e,n){"use strict";function r(t,e,n){var i,o=e.extensions.legacyCode,a=t[0];1!==t.length?(n.forEach((function(t){t.field===a&&(i=t)})),i||(i={field:a,fieldErrors:[]},n.push(i)),r(t.slice(1),e,i.fieldErrors)):n.push({code:o,field:a,message:e.message})}function i(t){return{creditCard:"Credit card is invalid"}[t[0].field]}e.exports=function(t){var e,n=t.errors&&t.errors[0]&&t.errors[0].extensions&&t.errors[0].extensions.errorType;return e="user_error"===n?function(t){var e=function(t){var e=[];return t.forEach((function(t){r(t.extensions.inputPath.slice(1),t,e)})),e}(t.errors);return{error:{message:i(e)},fieldErrors:e}}(t):n?function(t){return{error:{message:t.errors[0].message},fieldErrors:[]}}(t):{error:{message:"There was a problem serving your request"},fieldErrors:[]},e}},{}],60:[function(t,e,n){"use strict";e.exports=function(){return{query:"query ClientConfiguration { clientConfiguration { analyticsUrl environment merchantId assetsUrl clientApiUrl creditCard { supportedCardBrands challenges threeDSecureEnabled } applePayWeb { countryCode currencyCode merchantIdentifier supportedCardBrands } googlePay { displayName supportedCardBrands environment googleAuthorization } ideal { routeId assetsUrl } kount { merchantId } masterpass { merchantCheckoutId supportedCardBrands } paypal { displayName clientId privacyUrl userAgreementUrl assetsUrl environment environmentNoNetwork unvettedMerchant braintreeClientId billingAgreementsEnabled merchantAccountId currencyCode payeeEmail } unionPay { merchantAccountId } usBankAccount { routeId plaidPublicKey } venmo { merchantId accessToken environment } visaCheckout { apiKey externalClientId supportedCardBrands } braintreeApi { accessToken url } supportedFeatures } }",operationName:"ClientConfiguration"}}},{}],61:[function(t,e,n){"use strict";var r=t("../../../../lib/assign").assign;function i(t){var e=t.creditCard,n=e&&e.billingAddress,i=e&&e.expirationDate,o=e&&(e.expirationMonth||i&&i.split("/")[0].trim()),a=e&&(e.expirationYear||i&&i.split("/")[1].trim()),s={input:{creditCard:{number:e&&e.number,expirationMonth:o,expirationYear:a,cvv:e&&e.cvv,cardholderName:e&&e.cardholderName},options:{}}};return n&&(s.input.creditCard.billingAddress=n),s.input=function(t,e){var n;t.creditCard&&t.creditCard.options&&"boolean"==typeof t.creditCard.options.validate?n=t.creditCard.options.validate:t.authorizationFingerprint&&t.tokenizationKey||t.authorizationFingerprint?n=!0:t.tokenizationKey&&(n=!1);"boolean"==typeof n&&(e.options=r({validate:n},e.options));return e}(t,s.input),s}e.exports=function(t){return{query:"mutation TokenizeCreditCard($input: TokenizeCreditCardInput!) { tokenizeCreditCard(input: $input) { token creditCard { brandCode last4 binData { prepaid healthcare debit durbinRegulated commercial payroll issuingBank countryOfIssuance productId } } } }",variables:i(t),operationName:"TokenizeCreditCard"}}},{"../../../../lib/assign":95}],62:[function(t,e,n){"use strict";var r=t("../../browser-detection"),i={tokenize_credit_cards:"payment_methods/credit_cards",configuration:"configuration"},o=["creditCard.options.unionPayEnrollment"];function a(t){this._config=t.graphQL}a.prototype.getGraphQLEndpoint=function(){return this._config.url},a.prototype.isGraphQLRequest=function(t,e){var n,a=this.getClientApiPath(t);return!(!this._isGraphQLEnabled()||!a||r.isIe9())&&(n=this._config.features.some((function(t){return i[t]===a})),!function(t){return o.some((function(e){return void 0!==e.split(".").reduce((function(t,e){return t&&t[e]}),t)}))}(e)&&n)},a.prototype.getClientApiPath=function(t){var e,n=t.split("/client_api/v1/");return n.length>1&&(e=n[1].split("?")[0]),e},a.prototype._isGraphQLEnabled=function(){return Boolean(this._config)},e.exports=a},{"../../browser-detection":50}],63:[function(t,e,n){"use strict";var r=t("../../constants").BRAINTREE_VERSION,i=t("../../../lib/assign").assign,o=t("./generators/credit-card-tokenization"),a=t("./adapters/credit-card-tokenization"),s=t("./generators/configuration"),u=t("./adapters/configuration"),c={"payment_methods/credit_cards":o,configuration:s},l={"payment_methods/credit_cards":a,configuration:u};function p(t){var e=t.graphQL.getClientApiPath(t.url);this._graphQL=t.graphQL,this._data=t.data,this._method=t.method,this._headers=t.headers,this._clientSdkMetadata={source:t.metadata.source,integration:t.metadata.integration,sessionId:t.metadata.sessionId},this._sendAnalyticsEvent=t.sendAnalyticsEvent||Function.prototype,this._generator=c[e],this._adapter=l[e],this._sendAnalyticsEvent("graphql.init")}function d(t){var e={};return Object.keys(t).forEach((function(n){var r,i=-1===(r=n).indexOf("_")?r:r.toLowerCase().replace(/(\_\w)/g,(function(t){return t[1].toUpperCase()}));"object"==typeof t[n]?e[i]=d(t[n]):"number"==typeof t[n]?e[i]=String(t[n]):e[i]=t[n]})),e}p.prototype.getUrl=function(){return this._graphQL.getGraphQLEndpoint()},p.prototype.getBody=function(){var t=d(this._data),e=this._generator(t),n=i({clientSdkMetadata:this._clientSdkMetadata},e);return JSON.stringify(n)},p.prototype.getMethod=function(){return"POST"},p.prototype.getHeaders=function(){var t,e;return this._data.authorizationFingerprint?(this._sendAnalyticsEvent("graphql.authorization-fingerprint"),t=this._data.authorizationFingerprint):(this._sendAnalyticsEvent("graphql.tokenization-key"),t=this._data.tokenizationKey),e={Authorization:"Bearer "+t,"Braintree-Version":r},i({},this._headers,e)},p.prototype.adaptResponseBody=function(t){return this._adapter(t,this)},p.prototype.determineStatus=function(t,e){var n,r;return 200===t?(r=e.errors&&e.errors[0]&&e.errors[0].extensions&&e.errors[0].extensions.errorType,n=e.data&&!e.errors?200:"user_error"===r?422:"developer_error"===r?403:"unknown_error"===r?500:function(t,e){return!t&&e.errors[0].message}(r,e)?403:500):n=t||500,this._sendAnalyticsEvent("graphql.status."+t),this._sendAnalyticsEvent("graphql.determinedStatus."+n),n},e.exports=p},{"../../../lib/assign":95,"../../constants":52,"./adapters/configuration":57,"./adapters/credit-card-tokenization":58,"./generators/configuration":60,"./generators/credit-card-tokenization":61}],64:[function(t,e,n){"use strict";var r,i=t("../../lib/once"),o=t("./jsonp-driver"),a=t("./ajax-driver"),s=t("./get-user-agent"),u=t("./is-http");e.exports=function(t,e){e=i(e||Function.prototype),t.method=(t.method||"GET").toUpperCase(),t.timeout=null==t.timeout?6e4:t.timeout,t.data=t.data||{},null==r&&(r=!(u()&&/MSIE\s(8|9)/.test(s()))),r?a.request(t,e):o.request(t,e)}},{"../../lib/once":113,"./ajax-driver":54,"./get-user-agent":56,"./is-http":65,"./jsonp-driver":66}],65:[function(t,e,n){(function(t){"use strict";e.exports=function(){return"http:"===t.location.protocol}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],66:[function(t,e,n){(function(n){"use strict";var r,i=t("../../lib/vendor/uuid"),o=t("../../lib/querystring"),a={};function s(t){try{delete n[t]}catch(e){n[t]=null}}e.exports={request:function(t,e){var u,c="callback_json_"+i().replace(/-/g,""),l=t.url,p=t.data,d=t.method,f=t.timeout;l=o.queryify(l,p),u=function(t,e){var r=document.createElement("script"),i=!1;return r.src=t,r.async=!0,r.onerror=function(){n[e]({message:"error",status:500})},r.onload=r.onreadystatechange=function(){i||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState||(i=!0,r.onload=r.onreadystatechange=null)},r}(l=o.queryify(l,{_method:d,callback:c}),c),function(t,e,r){n[r]=function(n){var i=n.status||500,o=null,u=null;delete n.status,i>=400||i<200?o=n:u=n,s(r),function(t){t&&t.parentNode&&t.parentNode.removeChild(t)}(t),clearTimeout(a[r]),e(o,u,i)}}(u,e,c),function(t,e){a[e]=setTimeout((function(){a[e]=null,n[e]({error:"timeout",status:-1}),n[e]=function(){s(e)}}),t)}(f,c),r||(r=document.getElementsByTagName("head")[0]),r.appendChild(u)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../lib/querystring":115,"../../lib/vendor/uuid":118}],67:[function(t,e,n){"use strict";e.exports=function(t){try{t=JSON.parse(t)}catch(t){}return t}},{}],68:[function(t,e,n){"use strict";e.exports=function(t,e){if("string"!=typeof t)throw new Error("Method must be a string");return"get"!==t.toLowerCase()&&null!=e&&(e="string"==typeof e?e:JSON.stringify(e)),e}},{}],69:[function(t,e,n){(function(t){"use strict";var n=t.XMLHttpRequest&&"withCredentials"in new t.XMLHttpRequest;e.exports={isAvailable:n,getRequestObject:function(){return n?new XMLHttpRequest:new XDomainRequest}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],70:[function(t,e,n){"use strict";var r=t("../../lib/braintree-error"),i=t("../shared/errors"),o=t("../shared/constants").whitelistedAttributes;e.exports=function(t,e){var n;return o.hasOwnProperty(t)?null==e||function(t,e){if("string"===o[t])return"string"==typeof e||"number"==typeof e;if("boolean"===o[t])return"true"===String(e)||"false"===String(e);return!1}(t,e)||(n=new r({type:i.HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED.type,code:i.HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED.code,message:'Value "'+e+'" is not allowed for "'+t+'" attribute.'})):n=new r({type:i.HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED.type,code:i.HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED.code,message:'The "'+t+'" attribute is not supported in Hosted Fields.'}),n}},{"../../lib/braintree-error":96,"../shared/constants":90,"../shared/errors":91}],71:[function(t,e,n){"use strict";e.exports={assembleIFrames:function(t){var e,n,r=[];for(e=0;e0;return"number"in t&&(e.number=t.number.replace(/[-\s]/g,"")),"cvv"in t&&(e.cvv=t.cvv),"expirationMonth"in t&&(e.expiration_month=t.expirationMonth),"expirationYear"in t&&(2===t.expirationYear.length?e.expiration_year="20"+t.expirationYear:e.expiration_year=t.expirationYear),r&&(e.billing_address=n),"cardholderName"in t&&(e.cardholderName=t.cardholderName),e}},{}],85:[function(t,e,n){"use strict";e.exports={getFrameName:function(){return window.name.replace("braintree-hosted-field-","")}}},{}],86:[function(t,e,n){(function(n){"use strict";var r=t("../../lib/assign").assign,i=t("../../lib/bus"),o=t("../../lib/convert-to-braintree-error"),a=t("./get-frame-name"),s=t("./assemble-iframes"),u=t("../../client/client"),c=t("inject-stylesheet").injectWithWhitelist,l=t("./models/credit-card-form").CreditCardForm,p=t("./components/field-component").FieldComponent,d=t("../../lib/analytics"),f=t("../../lib/braintree-error"),h=t("../shared/constants"),y=t("../shared/errors"),m=h.events,E=h.whitelistedStyles,g=h.tokenizationErrorCodes,v=t("./format-card-request-data"),_=["company","countryCodeNumeric","countryCodeAlpha2","countryCodeAlpha3","countryName","extendedAddress","locality","region","firstName","lastName","postalCode","streetAddress"];function b(t){var e=document.createDocumentFragment(),n=document.createElement("label"),r=document.createElement("input");return n.setAttribute("for",t+"-autofill-field"),n.textContent=t,r.id=t+"-autofill-field",r.className="autofill-field",r.type="text",r.name=t,r.setAttribute("tabindex",-1),r.setAttribute("autocomplete",h.autocompleteMappings[t]),e.appendChild(n),e.appendChild(r),e}function I(t){return function(e){var n,r,i,o,s,u,c;e&&e.month&&e.year&&(n=a.getFrameName(),i=e.month,o=e.year,s=e.cvv,2===o.length&&(o=String((new Date).getFullYear()).substring(0,2)+o),"expirationDate"===n?r=i+" / "+o:"expirationMonth"===n?r=i:"expirationYear"===n?r=o:"cvv"===n&&s&&(r=s),r&&(t.input.updateModel("value",r),t.input.shouldMask?t.input.maskValue(r):t.input.element.value=r,u=t.input.element,(c=u.getAttribute("placeholder"))&&(u.setAttribute("placeholder",""),u.setAttribute("placeholder",c))))}}function T(t,e){return function(n,i){var a,s,u=e.isEmpty(),c=e.invalidFieldKeys(),l=0===c.length;u?i([new f(y.HOSTED_FIELDS_FIELDS_EMPTY)]):l?(n=n||{},a=function(t,e){var n=r({},e.billingAddress),i=e.cardholderName;Object.keys(n).forEach((function(e){(-1===_.indexOf(e)||t.hasOwnProperty(e))&&delete n[e]})),i&&(n.cardholderName=i);return r({},t,n)}(e.getCardData(),n),(s=v(a)).options={validate:!0===n.vault},t.request({api:"clientApi",method:"post",endpoint:"payment_methods/credit_cards",data:{_meta:{source:"hosted-fields"},creditCard:s}}).then((function(e){var n=e.creditCards[0],r={nonce:n.nonce,details:n.details,description:n.description,type:n.type,binData:n.binData};d.sendEvent(t,"custom.hosted-fields.tokenization.succeeded"),i([null,r])})).catch((function(e){var n=function(t){var e,n,r,i=t.details&&t.details.httpStatus;if(403===i)e=t;else if(i<500){try{r=(n=f.findRootError(t)).fieldErrors[0].fieldErrors[0].code}catch(t){}g.hasOwnProperty(r)?e=o(n,g[r]):(e=new f(y.HOSTED_FIELDS_FAILED_TOKENIZATION)).details={originalError:t}}else(e=new f(y.HOSTED_FIELDS_TOKENIZATION_NETWORK_ERROR)).details={originalError:t};return e}(e);d.sendEvent(t,"custom.hosted-fields.tokenization.failed"),i([n])}))):i([new f({type:y.HOSTED_FIELDS_FIELDS_INVALID.type,code:y.HOSTED_FIELDS_FIELDS_INVALID.code,message:y.HOSTED_FIELDS_FIELDS_INVALID.message,details:{invalidFieldKeys:c}})])}}function A(t){var e=new u(t.client),r=new l(t);s.assembleIFrames(window.parent).forEach((function(t){t.braintree.hostedFields.initialize(r)})),d.sendEvent(e,"custom.hosted-fields.load.succeeded"),n.bus.on(m.TOKENIZATION_REQUEST,(function(t,n){T(e,r)(t,n)})),n.cardForm=r}e.exports={initialize:function(t){var e,r=a.getFrameName(),i=document.createElement("form");i.setAttribute("novalidate",!0),i.addEventListener("submit",(function(t){t.preventDefault()})),c(t.configuration.styles,E),e=new p({cardForm:t,type:r}),i.appendChild(e.element),"number"===r&&function(t){var e=b("expiration-month"),r=b("expiration-year"),i=b("cvv"),o=e.querySelector("input"),a=r.querySelector("input"),s=i.querySelector("input");o.addEventListener("keydown",(function(){setTimeout((function(){!function(t){t.style.position="relative",t.style.position="absolute"}(t),n.bus.emit(m.AUTOFILL_EXPIRATION_DATE,{month:o.value,year:a.value,cvv:s.value})}),5)})),t.appendChild(e),t.appendChild(r),t.appendChild(i)}(i),n.bus.on(m.AUTOFILL_EXPIRATION_DATE,I(e)),document.body.appendChild(i),function(){var t;if(!n.placeholderShim)return;if(!(t=document.querySelector("input")))return;n.placeholderShim(t)}()},create:function(){var t=location.hash.slice(1,location.hash.length);n.bus=new i({channel:t}),n.bus.emit(m.FRAME_READY,A)},createTokenizationHandler:T,autofillHandler:I}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../client/client":51,"../../lib/analytics":94,"../../lib/assign":95,"../../lib/braintree-error":96,"../../lib/bus":99,"../../lib/convert-to-braintree-error":103,"../shared/constants":90,"../shared/errors":91,"./assemble-iframes":71,"./components/field-component":80,"./format-card-request-data":84,"./get-frame-name":85,"./models/credit-card-form":87,"inject-stylesheet":26}],87:[function(t,e,n){(function(n){"use strict";var r=t("./evented-model"),i=t("../../shared/get-card-types"),o=t("card-validator"),a=t("../compare-possible-card-types"),s=t("../../shared/constants"),u=s.events,c=s.externalEvents,l=s.whitelistedFields;function p(t){this._fieldKeys=Object.keys(t.fields).filter((function(t){return l.hasOwnProperty(t)})),this.configuration=t,t.supportedCardTypes&&(this.supportedCardTypes=t.supportedCardTypes.map(g)),r.apply(this,arguments),this._fieldKeys.forEach(function(t){var e=m(this,t);this.on("change:"+t+".value",d(this,t)),this.on("change:"+t+".isFocused",f(this,t)),this.on("change:"+t+".isEmpty",y(this,t)),this.on("change:"+t+".isValid",e),this.on("change:"+t+".isPotentiallyValid",e)}.bind(this)),this.on("change:number.value",this._onNumberChange),this.on("change:possibleCardTypes",function(){this._validateField("cvv")}.bind(this)),this.on("change:possibleCardTypes",h(this,"number"))}function d(t,e){return function(){t.set(e+".isEmpty",""===t.get(e+".value")),t._validateField(e)}}function f(t,e){return function(n){t._fieldKeys.forEach((function(n){n!==e&&t.set(n+".isFocused",!1)})),t.emitEvent(e,n?c.FOCUS:c.BLUR)}}function h(t,e){return function(){t.emitEvent(e,c.CARD_TYPE_CHANGE)}}function y(t,e){return function(){var n=t.get(e+".isEmpty")?c.EMPTY:c.NOT_EMPTY;t.emitEvent(e,n)}}function m(t,e){return function(){t.emitEvent(e,c.VALIDITY_CHANGE)}}function E(t){var e,n,r;return r=(t=t.replace(/[\/\-\s]/g,"")).charAt(0),0===t.length?e=n="":"0"===r||"1"===r?(e=t.slice(0,2),n=t.slice(2)):(e="0"+r,n=t.slice(1)),{month:e,year:n}}function g(t){return v(t).toLowerCase()}function v(t){return t?t.replace(/[-\s]/g,""):""}p.prototype=Object.create(r.prototype),p.prototype.constructor=p,p.prototype.resetAttributes=function(){var t=((new Date).getMonth()+1).toString(),e=(new Date).getFullYear().toString();return this._fieldKeys.reduce(function(n,r){var i=this.configuration.fields[r],o=null!=i.select,a=null!=i.placeholder;return n[r]={value:"",isFocused:!1,isValid:!1,isPotentiallyValid:!0},o&&!a&&("expirationMonth"===r?n[r].value=t:"expirationYear"===r&&(n[r].value=e),"expirationMonth"!==r&&"expirationYear"!==r||(n[r].isValid=!0)),n[r].isEmpty=""===n[r].value,n}.bind(this),{possibleCardTypes:this.getCardTypes("")})},p.prototype.emitEvent=function(t,e){var r,i=this.get("possibleCardTypes"),o=this._fieldKeys.reduce(function(t,e){var n=this.get(e);return t[e]={isEmpty:n.isEmpty,isValid:n.isValid,isPotentiallyValid:n.isPotentiallyValid,isFocused:n.isFocused},t}.bind(this),{});r=i.map((function(t){return{niceType:t.niceType,type:t.type,code:t.code,supported:t.supported}})),n.bus.emit(u.INPUT_EVENT,{merchantPayload:{cards:r,emittedBy:t,fields:o},type:e})},p.prototype._onSplitDateChange=function(){var t,e=this.get("expirationMonth.value"),n=this.get("expirationYear.value"),r=o.expirationMonth(e),i=o.expirationYear(n);r.isValid&&i.isValid?(t=o.expirationDate(e+n),this.set("expirationMonth.isValid",t.isValid),this.set("expirationMonth.isPotentiallyValid",t.isPotentiallyValid),this.set("expirationYear.isValid",t.isValid),this.set("expirationYear.isPotentiallyValid",t.isPotentiallyValid)):(this.set("expirationMonth.isValid",r.isValid),this.set("expirationMonth.isPotentiallyValid",r.isPotentiallyValid),this.set("expirationYear.isValid",i.isValid),this.set("expirationYear.isPotentiallyValid",i.isPotentiallyValid))},p.prototype._onNumberChange=function(t){var e=this.getCardTypes(t),n=this.get("possibleCardTypes");a(e,n)||this.set("possibleCardTypes",e)},p.prototype._validateField=function(t){var e,n=this.get(t+".value"),r=o[t];e="cvv"===t?this._validateCvv(n,{minLength:this.configuration.fields.cvv&&this.configuration.fields.cvv.minlength}):"postalCode"===t?r(n,{minLength:this.configuration.fields.postalCode&&this.configuration.fields.postalCode.minlength}):"expirationDate"===t?r(E(n)):"number"===t&&this.supportedCardTypes?this._validateNumber(n):r(n),"expirationMonth"===t||"expirationYear"===t?this._onSplitDateChange():(this.set(t+".isValid",e.isValid),this.set(t+".isPotentiallyValid",e.isPotentiallyValid))},p.prototype._validateNumber=function(t){var e,n=o.number(t),r=n.card;return r&&"mastercard"===r.type&&(r.type="master-card"),(e=this.getCardTypes(t).filter((function(t){return r&&t.type===r.type}))[0])&&!1===Boolean(e.supported)&&(delete n.card,n.isValid=!1,n.isPotentiallyValid=!1),n},p.prototype._validateCvv=function(t,e){var n,r;return r=(e=e||{}).minLength,-1===this._fieldKeys.indexOf("number")?o.cvv(t,r||[3,4]):(n=this.get("possibleCardTypes").map((function(t){return t.code.size})),n=n.filter((function(t,e,n){return n.indexOf(t)===e})),o.cvv(t,n))},p.prototype.getCardData=function(){var t,e={},n=[];return-1!==this._fieldKeys.indexOf("number")&&n.push("number"),-1!==this._fieldKeys.indexOf("cvv")&&n.push("cvv"),-1!==this._fieldKeys.indexOf("postalCode")&&n.push("postalCode"),-1!==this._fieldKeys.indexOf("expirationMonth")&&n.push("expirationMonth"),-1!==this._fieldKeys.indexOf("expirationYear")&&n.push("expirationYear"),-1!==this._fieldKeys.indexOf("expirationDate")&&(t=E(this.get("expirationDate.value")),e.expirationMonth=t.month,e.expirationYear=t.year),n.reduce(function(t,e){return t[e]=this.get(e+".value"),t}.bind(this),e),e},p.prototype.isEmpty=function(){return this._fieldKeys.every(function(t){return 0===this.get(t).value.length}.bind(this))},p.prototype.invalidFieldKeys=function(){return this._fieldKeys.filter(function(t){return!this.get(t).isValid}.bind(this))},p.prototype.getCardTypes=function(t){return i(v(t)).map(function(t){var e=g(t.type);return this.supportedCardTypes&&(t.supported=this.supportedCardTypes.indexOf(e)>=0),t}.bind(this))},e.exports={CreditCardForm:p}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../shared/constants":90,"../../shared/get-card-types":92,"../compare-possible-card-types":72,"./evented-model":88,"card-validator":14}],88:[function(t,e,n){"use strict";var r=Array.prototype.slice;function i(){this._attributes=this.resetAttributes(),this._listeners={}}i.prototype.get=function(t){var e,n,r,i=this._attributes;if(null==t)return i;for(r=t.split("."),e=0;e/g,">"):""}},{}],117:[function(t,e,n){(function(t){"use strict";var n="function"==typeof t.atob?t.atob:r;function r(t){var e,n,r,i,o,a,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u="";if(!new RegExp("^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})([=]{1,2})?$").test(t))throw new Error("Non base64 encoded input passed to window.atob polyfill");a=0;do{e=(63&s.indexOf(t.charAt(a++)))<<2|(i=s.indexOf(t.charAt(a++)))>>4&3,n=(15&i)<<4|(o=s.indexOf(t.charAt(a++)))>>2&15,r=(3&o)<<6|63&s.indexOf(t.charAt(a++)),u+=String.fromCharCode(e)+(n?String.fromCharCode(n):"")+(r?String.fromCharCode(r):"")}while(a