vk-payments 0.0.21 → 0.0.22
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/bundles/vk-payments.umd.js +2 -1
- package/bundles/vk-payments.umd.js.map +1 -1
- package/bundles/vk-payments.umd.min.js +1 -1
- package/bundles/vk-payments.umd.min.js.map +1 -1
- package/esm2015/lib/sps-decidir/components/sps-decidir.component.js +3 -2
- package/esm5/lib/sps-decidir/components/sps-decidir.component.js +3 -2
- package/fesm2015/vk-payments.js +2 -1
- package/fesm2015/vk-payments.js.map +1 -1
- package/fesm5/vk-payments.js +2 -1
- package/fesm5/vk-payments.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://vk-payments/lib/mercadopago/services/mercadopago.api.service.ts","ng://vk-payments/lib/mercadopago/components/mercadopago.component.ts","ng://vk-payments/lib/mercadopago/components/promotion-bank.component.ts","ng://vk-payments/lib/mercadopago/mercadopago.module.ts","ng://vk-payments/lib/paypal/components/paypal-new.component.ts","ng://vk-payments/lib/paypal/paypal.module.ts","ng://vk-payments/lib/sps-decidir/services/sps-decidir.api.service.ts","ng://vk-payments/lib/sps-decidir/components/sps-decidir.component.ts","ng://vk-payments/lib/sps-decidir/sps-decidir.module.ts","ng://vk-payments/lib/vk-payments.module.ts"],"names":["__values","o","m","Symbol","iterator","i","call","next","length","value","done","MercadopagoApiService","httpClient","this","prototype","makePayment","cardPayment","access_token","url","_setAuthHeaders","post","normalizeUrl","headers","authHeaders","getMercadoPagoPromotions","get","charAt","substr","userToken","HttpHeaders","Content-Type","Authorization","Injectable","args","providedIn","HttpClient","MercadoPagoComponent","router","mercadopagoApiService","paymentState","tokenId","disabled","addScript","requiredIssuer","submitted","paymentResult","success","paymentId","integrator","statusPay","EventEmitter","ngOnInit","initMercadoPago","ngOnChanges","changes","paymentAmount","isFirstChange","checkOutForm","reset","_this","addMercadopagoScript","then","Mercadopago","setPublishableKey","publishableKey","getIdentificationTypes","totalAmount","defaultName","payerName","defaultDocType","Promise","resolve","reject","scripttagElement","document","createElement","src","onload","body","appendChild","createToken","sendForm","status","response","emit","errorMessage","id","hashedCard","hashText","cardText","transactionAmount","description","installments","Number","issuerId","issuer","paymentMethodId","currentPaymentMethod","codCP","idVen","docNumber","additionalData","data","storeId","hash","mercadoPagoPayment","text","iterations","hashedtext","sha256","paymentResponseHandler","statusDetails","ticket","transactionId","logger","successUrl","navigate","failureUrl","checkPaymentMethod","cardNumber","currentInstallments","currentIssuers","toString","currentBin","substring","self_1","getPaymentMethod","bin","respCode","respBody","setCurrentMethod","res","additionalInfo","additional_info_needed","undefined","find","x","self_2","getIssuers","setIssuers","checkInstallments","requestObject","self","amount","issuer_id","getInstallments","setInstallments","result","filter","card","payment_method_id","payer_costs","onDuesSelection","_c","tslib_1.__values","_d","ins","totalFinancedAmount","total_amount","_e","e_2","labels","_f","label","includes","recommendedLabel","replace","split","currentTEA","currentCFT","onSubmit","form","valid","securityCode","cvcText","cardExpirationMonth","monthText","cardExpirationYear","yearText","cardholderName","docType","dniText","debugLog","console","log","clearSession","onYearChange","isNaN","setTimeout","onMonthLostFocus","onMonthChange","onCodeChange","onDniChange","onPayerNameChange","onCardChange","onPaste","message","JSON","stringify","accessToken","vkUrlApi","subscribe","error","resetForm","Component","selector","template","Router","Input","Output","ViewChild","static","PromotionBankComponent","mercadoPagoService","cardPromotions","COMPONENTS","MercadopagoModule","NgModule","declarations","exports","imports","CommonModule","FormsModule","ReactiveFormsModule","RouterModule","PayPalNewComponent","showError","loading","linkToPay","linkExecutePay","ngAfterViewChecked","addPaypalScript","paypalConfig","style","color","shape","height","commit","createOrder","actions","order","create","purchase_units","getElementById","reference_id","custom_id","application_context","shipping_preference","onApprove","capture","details","userid","fetch","method","content-type","window","location","href","onError","reload","onCancel","paypal","Buttons","render","clientId","currency","PaypalModule","HttpClientModule","SpsDecidirApiService","payment","getDecidirConfigByBin","getCreditCards","domainId","getPlansByCreditCardId","creditCardId","SpsDecidirComponent","spsDecidirApiService","language","disableSelect","selectCreditCardPlan","submitPressed","invalidDate","initDecidir","addDecidirScript","initializeSpsDecidir","creditCards","_","creditCardPlans","decidir","Decidir","spsUrlApi","useCybersource","defaultPublishableKey","selectedCreditCard","selectedCreditCardPlan","tna","cft","event","preventDefault","config","superviellePublishableKey","querySelector","processErrorToken","paymentResponse","token","documentNumber","cardholder","identification","number","paymentType","creditCardPlanId","payerNameText","subPayments","creditCardHash","lastFourDigits","slice","paymentSuccessInfo","payment_id","processErrorMessage","forEach","type","responseError","reason","additional_description","error_type","validation_errors","code","param","compareDate","year","month","day","d1","Date","d2","getTime","onYearBlur","element","getDate","target","focus","search","setCreditType","SpsDecidirModule","LIB_MODULES","VkPaymentsModule"],"mappings":"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AG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAA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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CardPayment } from '../models/mercadopago.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MercadopagoApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n makePayment(cardPayment: CardPayment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', cardPayment, { headers: this.authHeaders });\r\n }\r\n\r\n getMercadoPagoPromotions(url: string): Observable<any> {\r\n return this.httpClient.get(url);\r\n }\r\n\r\n normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { CardPayment, CreateTokenResponse, PaymentResult, ResponseInstallment } from '../models/mercadopago.model';\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\nimport sha256 from 'sha256';\n\n\ndeclare var Mercadopago: any;\n\n@Component({\n selector: 'mp-form-pay',\n templateUrl: './mercadopago.component.html',\n styleUrls: ['./mercadopago.component.scss']\n})\nexport class MercadoPagoComponent implements OnInit, OnChanges {\n\n totalAmount: number;\n totalFinancedAmount: number;\n currentBin: string;\n recommendedLabel: string;\n currentTEA: string;\n currentCFT: string;\n ticket: string;\n defaultName: string;\n defaultDocType: string;\n issuerId: string;\n currentPaymentMethod: any;\n currentIssuers: any[];\n currentInstallments: any[];\n cardPayment: CardPayment;\n\n // input bind\n yearText: string;\n monthText: string;\n dniText: string;\n cvcText: string;\n cardText: string;\n errorMessage: string;\n\n paymentState = 'unsubmitted';\n tokenId = '';\n disabled = false;\n addScript = false;\n requiredIssuer = false;\n submitted = false;\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'MP' };\n\n @Input() paymentAmount: number;\n @Input() payerName: string;\n @Input() payerEmail: string;\n @Input() accessToken: string;\n @Input() vkUrlApi: string;\n @Input() description: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() imgCreditCards: string;\n @Input() imgMercadoPago: string;\n @Input() iconExpandMore: string;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n\n constructor(private router: Router, private mercadopagoApiService: MercadopagoApiService) { }\n\n ngOnInit() {\n this.initMercadoPago();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.disabled = false;\n this.checkOutForm.reset();\n }\n }\n\n private initMercadoPago() {\n this.addMercadopagoScript()\n .then(() => {\n Mercadopago.setPublishableKey(this.publishableKey);\n Mercadopago.getIdentificationTypes();\n\n this.totalAmount = this.paymentAmount;\n this.defaultName = this.payerName;\n this.defaultDocType = 'DNI';\n });\n }\n\n private addMercadopagoScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js?2345';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private createToken(sendForm: any) {\n this.paymentState = 'processing';\n Mercadopago.createToken(sendForm, (status, response: any) => {\n \n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.errorMessage = 'Revisa los datos del formulario.';\n // const causes: Cause[] = (response as ErrorTokenResponse).cause;\n // if (causes !== null && causes.length > 0) {\n // causes.forEach((item) => {\n // this.errorMessage += this.getErrorMessage(item.code) + '\\n';\n // });\n // }\n } else {\n this.tokenId = (response as CreateTokenResponse).id;\n this.makePayment();\n }\n });\n }\n\n private makePayment() {\n const hashedCard = this.hashText(this.cardText,100000);\n this.cardPayment = {\n tokenId: this.tokenId,\n transactionAmount: this.totalAmount,\n description: this.description,\n installments: Number(this.checkOutForm.value.installments),\n issuerId: this.checkOutForm.value.issuer,\n paymentMethodId: this.currentPaymentMethod[0].id,\n codCP: this.idVen,\n docNumber: this.checkOutForm.value.docNumber,\n additionalData: this.data,\n storeId: this.storeId,\n hash: hashedCard\n };\n this.mercadoPagoPayment();\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n private paymentResponseHandler(response: any) {\n if (response.success) {\n this.paymentState = response.data.statusDetails;\n this.ticket = response.data.transactionId;\n this.paymentResult = { success: true, paymentId: this.ticket, integrator: 'MP' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n this.logger('paymentResponseHandler:', response);\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]);\n }\n } else {\n this.paymentState = 'apiError';\n this.statusPay.emit(this.paymentResult);\n if (this.successUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then();\n }\n }\n }\n\n checkPaymentMethod() {\n if (this.checkOutForm.value.cardNumber != null) {\n this.currentInstallments = null;\n this.currentIssuers = null;\n if (this.checkOutForm.value.cardNumber.toString().length >= 6) {\n this.currentBin = this.checkOutForm.value.cardNumber.toString().substring(0, 6);\n const self = this;\n Mercadopago.getPaymentMethod(\n {\n 'bin': this.checkOutForm.value.cardNumber.toString()\n }, function (respCode, respBody) {\n if (respCode === 200) {\n self.setCurrentMethod(respBody);\n }\n });\n }\n if (this.checkOutForm.value.cardNumber.toString().length < 6) {\n this.requiredIssuer = false;\n }\n }\n }\n\n setCurrentMethod(res: any) {\n if (res) {\n this.logger('setCurrentMethod:', res);\n\n const additionalInfo: String[] = res[0].additional_info_needed;\n const issuerIdKey = 'issuer_id';\n\n if (additionalInfo.find(x => x == issuerIdKey) == undefined) {\n this.requiredIssuer = false;\n }\n else {\n this.requiredIssuer = true;\n }\n \n this.logger('requiredIssuer:', this.requiredIssuer);\n\n this.currentPaymentMethod = res;\n const self = this;\n Mercadopago.getIssuers(res[0].id, function (respCode, respBody) {\n if (respCode === 200) {\n self.setIssuers(respBody);\n }\n });\n\n self.checkInstallments(this.requiredIssuer);\n }\n }\n\n checkInstallments(requiredIssuer: boolean) {\n if (this.currentBin == undefined || this.currentBin.length < 6) {\n return;\n }\n const self = this;\n self.currentInstallments = null;\n\n let requestObject:any\n \n if (requiredIssuer) {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount,\n 'issuer_id': this.issuerId\n } \n }\n else {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount\n } \n }\n\n Mercadopago.getInstallments(requestObject, function (respCode, respBody) {\n if (respCode === 200) {\n self.setInstallments(respBody);\n } else {\n self.currentInstallments = null;\n }\n });\n }\n\n setInstallments(res: ResponseInstallment[]) {\n //this.logger('setInstallments:', res);\n\n if (res.length > 0) {\n if (this.issuerId != undefined && res.length > 1 && this.currentPaymentMethod.length > 0) {\n const result = res.filter(card => card.issuer.id === this.issuerId && card.payment_method_id === this.currentPaymentMethod[0].id);\n this.currentInstallments = result[0].payer_costs;\n this.issuerId = result[0].issuer.id;\n }\n else {\n this.currentInstallments = res[0].payer_costs;\n this.issuerId = res[0].issuer.id;\n }\n }\n }\n\n setIssuers(res: any) {\n //this.logger('setIssuers res', res);\n this.currentIssuers = res;\n }\n\n onDuesSelection(res: any) {\n for (const ins of this.currentInstallments) {\n if (ins.installments === Number(res.value.installments)) {\n this.totalFinancedAmount = ins.total_amount;\n for (const label of ins.labels) {\n if (label.includes('CFT')) {\n this.recommendedLabel = label.replace(/_/g, ': ').split('|', 2);\n this.currentTEA = this.recommendedLabel[1];\n this.currentCFT = this.recommendedLabel[0];\n }\n }\n }\n }\n }\n\n onSubmit(form: NgForm) {\n this.submitted = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n if (this.checkOutForm.valid) {\n const sendForm = {\n cardNumber: this.cardText,\n securityCode: this.cvcText,\n cardExpirationMonth: this.monthText,\n cardExpirationYear: this.yearText,\n cardholderName: this.defaultName,\n docType: this.defaultDocType,\n docNumber: this.dniText\n };\n\n if (this.debugLog) {\n console.log('sendForm', sendForm);\n }\n\n if (this.tokenId !== '') {\n Mercadopago.clearSession();\n }\n\n this.createToken(sendForm);\n }\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n logger(message: string, data: any): void {\n if (this.debugLog) {\n console.log(message, JSON.stringify(data));\n }\n }\n\n mercadoPagoPayment(){\n this.mercadopagoApiService.makePayment(this.cardPayment, this.accessToken, this.vkUrlApi)\n .subscribe(res => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.log(error);\n });\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentBin = undefined;\n this.recommendedLabel = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n this.ticket = undefined;\n this.defaultName = undefined;\n this.defaultDocType = undefined;\n this.issuerId = undefined;\n this.currentPaymentMethod = undefined;\n this.currentIssuers = null;\n this.currentInstallments = null;\n this.cardPayment = undefined;\n\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.cardText = undefined;\n this.requiredIssuer = false;\n this.submitted = false;\n this.addScript = false;\n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.tokenId = '';\n this.errorMessage = undefined;\n\n this.checkOutForm.reset()\n\n this.initMercadoPago();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\r\n\r\n\r\n@Component({\r\n selector: 'mp-promotion',\r\n templateUrl: './promotion-bank.component.html',\r\n styleUrls: ['./promotion-bank.component.scss']\r\n})\r\nexport class PromotionBankComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() contentSource: string;\r\n\r\n cardPromotions: any;\r\n\r\n constructor(private mercadoPagoService: MercadopagoApiService) { }\r\n\r\n ngOnInit() {\r\n this.mercadoPagoService\r\n .getMercadoPagoPromotions(this.url)\r\n .subscribe(res => this.cardPromotions = res);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MercadoPagoComponent } from './components/mercadopago.component';\nimport { PromotionBankComponent } from './components/promotion-bank.component';\n\nconst COMPONENTS = [\n MercadoPagoComponent,\n PromotionBankComponent\n];\n\n@NgModule({\n declarations: COMPONENTS,\n exports: COMPONENTS,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ]\n})\nexport class MercadopagoModule { }\n","import { AfterViewChecked, Component, Input, OnInit } from '@angular/core';\n\nimport { PaypalResponse } from '../models/response-paypal.model';\n\ndeclare let paypal: any;\n\n@Component({\n selector: 'paypal-new-form-pay',\n templateUrl: './paypal-new.component.html',\n styleUrls: ['./paypal-new.component.scss']\n})\nexport class PayPalNewComponent implements OnInit, AfterViewChecked {\n @Input() accessToken: string;\n @Input() clientId: string;\n @Input() vkUrlApi: string;\n @Input() storeId: string;\n @Input() userId: string;\n @Input() transactionId: string;\n @Input() amount: string;\n @Input() currency: string;\n @Input() cancelUrl: string;\n @Input() successUrl: string;\n @Input() data: string;\n @Input() urlSignout: string;\n\n private addScript = false;\n\n errorsMessage: any;\n\n showError = false;\n loading = true;\n status = '';\n linkToPay = '';\n linkExecutePay = '';\n\n constructor() {\n // if (this.urlSignout === '') {\n // const wnd = window.open(this.urlSignout, 'myWindow', 'width=100,height=100');\n // setTimeout(function () { wnd.close(); }, 1000);\n // }\n }\n\n ngOnInit(): void {\n\n }\n\n ngAfterViewChecked(): void {\n if (!this.addScript) {\n this.addPaypalScript().then(() => {\n\n const paypalConfig = {\n style: {\n color: 'blue',\n shape: 'pill',\n label: 'pay',\n height: 40\n },\n commit: true,\n createOrder: function (data, actions) {\n return actions.order.create({\n purchase_units: [{\n amount: { value: (<HTMLInputElement>document.getElementById('amount')).value },\n reference_id: '\\'' + (<HTMLInputElement>document.getElementById('transactionId')).value + '\\'',\n custom_id: '\\'' + (<HTMLInputElement>document.getElementById('storeId')).value + '\\''\n }],\n application_context: {\n shipping_preference: 'NO_SHIPPING'\n }\n });\n },\n\n // Finalize the transaction\n onApprove: function (data, actions) {\n return actions.order.capture().then(function (details: PaypalResponse) {\n details.data = (<HTMLInputElement>document.getElementById('data')).value;\n details.userid = (<HTMLInputElement>document.getElementById('userId')).value;\n\n fetch((<HTMLInputElement>document.getElementById('vkUrlApi')).value, {\n method: 'post',\n headers: {\n 'content-type': 'application/json',\n 'Authorization': 'Bearer ' + (<HTMLInputElement>document.getElementById('accessToken')).value\n },\n body: JSON.stringify({ details })\n }).then((response) => {\n console.log('response-> api', response);\n }).then(() => {\n window.location.href = (<HTMLInputElement>document.getElementById('successUrl')).value;\n });\n });\n },\n onError: function (error) {\n window.location.reload();\n },\n onCancel: (data, actions) => {\n window.location.href = (<HTMLInputElement>document.getElementById('cancelUrl')).value;\n }\n };\n\n paypal.Buttons(paypalConfig).render('#paypal-button-container');\n this.loading = false;\n });\n }\n }\n\n private addPaypalScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = `https://www.paypal.com/sdk/js?client-id=${this.clientId}¤cy=${this.currency}`;\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { PayPalNewComponent } from './components/paypal-new.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n PayPalNewComponent\n ],\n exports: [\n PayPalNewComponent\n ]\n})\nexport class PaypalModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreditCard, CreditCardPlans, Payment, ResponseApi } from '../models/payment.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpsDecidirApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public makePayment(payment: Payment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });\r\n }\r\n\r\n public getDecidirConfigByBin(bin: string, url: string,): Observable<any> {\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) +`/GetDecidirConfigByBin?bin=${bin}`);\r\n }\r\n\r\n\r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n public getCreditCards(access_token: string, url: string, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/GetCreditCardsEnable?domainId='+ domainId, { headers: this.authHeaders });\r\n }\r\n\r\n public getPlansByCreditCardId(access_token: string, url: string, amount: string, creditCardId: number, domainId: number, bin: string): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = { amount: amount, creditCardId: creditCardId, domainId: domainId, bin: bin};\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/CalculateAmountInInstallments', body, { headers: this.authHeaders });\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport sha256 from 'sha256';\n\nimport {\n CreditCard,\n CreditCardPlans,\n ErrorToken,\n Payment,\n PaymentResponseInfo,\n PaymentResult,\n ResponseApi,\n SpsResponsePayment,\n} from '../models/payment.model';\nimport { SpsDecidirApiService } from '../services/sps-decidir.api.service';\n\ndeclare var Decidir: any;\n\n@Component({\n selector: 'sps-form-pay',\n templateUrl: './sps-decidir.component.html',\n styleUrls: ['./sps-decidir.component.scss']\n})\nexport class SpsDecidirComponent implements OnInit, OnChanges {\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n @Input() accessToken: string;\n @Input() spsUrlApi: string;\n @Input() vkUrlApi: string;\n @Input() paymentAmount: string;\n @Input() logoSps: string;\n @Input() currency: string;\n @Input() defaultPublishableKey: string;\n @Input() superviellePublishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() useCybersource: boolean;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() domainId: number;\n @Input() idVen: number;\n @Input() data: string;\n @Input() labelButton: string;\n @Input() language = 'es';\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n disabled = false;\n disableSelect = false;\n totalAmount: string;\n totalFinancedAmount: string;\n currentTEA: string;\n currentCFT: string;\n\n creditCards: CreditCard[];\n selectCreditCardPlan: CreditCardPlans = null;\n creditCardPlans: CreditCardPlans[];\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n // Form bind\n monthText: string;\n yearText: string;\n cvcText: string;\n dniText: string;\n payerNameText: string;\n cardText: string;\n submitPressed = false;\n invalidDate = false;\n\n private decidir: any;\n addScript = true;\n\n paymentState = 'unsubmitted';\n payerName: string;\n issuer?: number = null;\n payment: Payment;\n paymentSuccessInfo: PaymentResponseInfo;\n errorMessage: string;\n\n constructor(private router: Router, public spsDecidirApiService: SpsDecidirApiService) { }\n\n ngOnInit() {\n this.initDecidir();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.checkOutForm.reset();\n this.disabled = false;\n this.disableSelect = false;\n }\n }\n\n private initDecidir() {\n this.addDecidirScript()\n .then(() => {\n this.getCreditCards();\n this.initializeSpsDecidir();\n });\n }\n\n addDecidirScript() {\n this.addScript = true;\n return new Promise((resolve) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://live.decidir.com/static/v2.4/decidir.js';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private getCreditCards() {\n this.spsDecidirApiService.getCreditCards(this.accessToken, this.vkUrlApi, this.domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCards = res.data as CreditCard[];\n this.logger('getCreditCards', this.creditCards);\n }, _ => this.paymentState = 'apiError');\n }\n\n private getPlansByCreditCardId(amount: string, creditCardId: number, domainId: number, bin: string) {\n this.spsDecidirApiService.getPlansByCreditCardId(this.accessToken, this.vkUrlApi, amount, creditCardId, domainId, bin)\n .subscribe((res: ResponseApi) => {\n this.creditCardPlans = res.data as CreditCardPlans[];\n this.logger('getPlansByCreditCardId', this.creditCardPlans);\n }, _ => this.paymentState = 'apiError');\n }\n\n private initializeSpsDecidir() {\n this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);\n this.decidir.setTimeout(15000);\n this.decidir.setPublishableKey(this.defaultPublishableKey);\n }\n\n private logger(message: string, data: any): void {\n if (!this.debugLog) { return; }\n console.log(message, data);\n }\n\n public selectedCreditCard() {\n if (!this.issuer) { return; }\n\n this.selectCreditCardPlan = null;\n if (this.currency === 'ARS' && this.cardText.substring(0,8) !== '00000000') {\n this.getPlansByCreditCardId(this.paymentAmount, this.issuer, this.domainId, this.cardText.substring(0,8));\n return;\n } else {\n this.cardText ='';\n }\n\n if (this.currency === 'USD') {\n this.totalAmount = this.totalFinancedAmount = this.paymentAmount;\n }\n }\n\n selectedCreditCardPlan() {\n if (this.selectCreditCardPlan === null) { return; }\n\n this.totalFinancedAmount = this.selectCreditCardPlan.totalAmount;\n this.totalAmount = this.paymentAmount;\n this.currentTEA = this.selectCreditCardPlan.tna;\n this.currentCFT = this.selectCreditCardPlan.cft;\n }\n\n onSubmit(event) {\n event.preventDefault();\n this.submitPressed = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n if (!this.checkOutForm.valid) { return; }\n\n this.spsDecidirApiService.getDecidirConfigByBin(this.cardText.substring(0, 8), this.vkUrlApi)\n .subscribe(config => {\n if(config ='SPS-Decidir-Supervielle'){\n console.log('Modo Supervielle');\n this.decidir.setPublishableKey(this.superviellePublishableKey);\n }\n\n this.paymentState = 'processing';\n const form = document.querySelector('#formulario');\n this.decidir.createToken(form, (status: number, response: SpsResponsePayment) => {\n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorToken(response);\n } else {\n this.makePayment(form, response);\n }\n });\n\n });\n }\n\n makePayment(form: any, paymentResponse: SpsResponsePayment): void {\n this.logger('makePayment:', JSON.stringify(paymentResponse));\n const hashedCard = this.hashText(this.cardText,100000);\n this.payment = {\n token: paymentResponse.id,\n amount: this.totalAmount,\n totalFinancedAmount: this.totalFinancedAmount,\n bin: paymentResponse.bin,\n currency: 'ARS',\n documentNumber: this.currency === 'USD' ? '0' : paymentResponse.cardholder.identification.number,\n idVen: this.idVen,\n paymentType: 'single',\n installments: this.currency === 'USD' ? 1 : this.selectCreditCardPlan.installments,\n creditCardPlanId: this.currency === 'USD' ? 0 : this.selectCreditCardPlan.id,\n paymentMethodId: this.issuer,\n cardholder: this.payerNameText,\n storeId: this.storeId,\n data: this.data,\n subPayments: [],\n creditCardHash: hashedCard,\n lastFourDigits: this.cardText.slice(-4)\n };\n \n\n this.logger('payment:', JSON.stringify(this.payment));\n this.spsDecidirApiService.makePayment(this.payment, this.accessToken, this.vkUrlApi)\n .subscribe((res: ResponseApi) => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.error(error);\n });\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n paymentResponseHandler(response: ResponseApi) {\n this.logger('paymentResponseHandler:', JSON.stringify(response));\n\n if (response.success) {\n this.paymentState = 'success';\n this.paymentSuccessInfo = response.data as PaymentResponseInfo;\n this.paymentResult = { success: true, paymentId: this.paymentSuccessInfo.payment_id, integrator: 'DECIDIR' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n this.disableSelect = true;\n\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]).then();\n return;\n }\n } else {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorMessage(response.data);\n\n if (this.failureUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then()\n return;\n }\n }\n }\n\n processErrorToken(response: any): void {\n this.disabled = true;\n this.disableSelect = true;\n\n const error: ErrorToken = response as ErrorToken;\n\n // obtenemos mensajes de error\n error.error.forEach((x) => {\n if (x.error.type === 'invalid_expiry_date') {\n this.errorMessage = 'Revisá la fecha de vencimiento.';\n } else {\n this.errorMessage = JSON.stringify(error);\n }\n });\n }\n\n // diferentes tipos de error nos devuelve decidir\n processErrorMessage(responseError: PaymentResponseInfo): void {\n this.disabled = true;\n this.disableSelect = true;\n\n if (responseError.error) {\n this.errorMessage = responseError.error.reason.description;\n\n if (responseError.error.reason.additional_description) {\n this.errorMessage = this.errorMessage + ' - ' + responseError.error.reason.additional_description;\n }\n\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n }\n else if (responseError.error_type) {\n switch (responseError.error_type) {\n case 'invalid_request_error':\n if (responseError.validation_errors.length > 0) {\n if (responseError.validation_errors[0].code === 'invalid_param') {\n switch (responseError.validation_errors[0].param) {\n case 'card_number':\n this.errorMessage = 'Tarjeta inválida';\n break;\n case 'bin':\n this.errorMessage = 'Tarjeta inválida';\n break;\n default:\n this.errorMessage = responseError.error.reason.description;\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n break;\n }\n }\n }\n break;\n case 'not_found_error':\n this.errorMessage = 'Datos no encontrados (404).';\n break;\n case 'authentication_error':\n this.errorMessage = 'Error (401).';\n break;\n case 'malformed_request_error':\n this.errorMessage = 'Error al enviar los datos (400).';\n break;\n case 'api_error':\n this.errorMessage = 'Error interno (409).';\n break;\n default:\n this.errorMessage = JSON.stringify(responseError);\n break;\n }\n }\n }\n\n compareDate(year: number, month: number, day: number): number {\n const d1: Date = new Date(year, month, day);\n const d2: Date = new Date();\n\n const same = d1.getTime() === d2.getTime();\n if (same) { return 0; }\n if (d1 > d2) { return 1; }\n if (d1 < d2) { return -1; }\n }\n\n // Input controls\n onYearChange() {\n if (Number.isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onYearBlur(element: any) {\n if (this.compareDate(\n Number(`20${this.yearText}`),\n Number(this.monthText),\n new Date().getDate()) < 0) {\n setTimeout(() => {\n this.yearText = '';\n this.invalidDate = true;\n element.target.focus();\n });\n } else {\n this.invalidDate = false;\n }\n\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText === '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (Number.isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n\n if (this.cvcText.search(' ') > -1) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (Number.isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n\n if (this.dniText.search(' ') > -1) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.payerNameText)) {\n setTimeout(() => {\n this.payerNameText = '';\n });\n }\n }\n\n onCardChange() {\n if (Number.isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if (this.cardText.search(' ') > -1) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if(this.cardText.length <8) {\n this.disableSelect = true;\n this.issuer = null;\n } else {\n this.disableSelect = false;\n }\n\n // setea tarjeta\n if (this.cardText.length === 8 && this.cardText !== '00000000'){\n this.setCreditType(this.cardText);\n }\n \n }\n\n setCreditType(bin: string): void {\n if (bin.length < 8) {\n this.issuer = null;\n return;\n }\n\n if (bin.length === 8) {\n this.issuer = null;\n\n // visa debito\n if (bin.substring(0, 4) === '4770' ||\n bin.substring(0, 6) === '442548' ||\n bin.substring(0, 6) === '406809' ||\n bin.substring(0, 6) === '408738' ||\n bin.substring(0, 6) === '411521' ||\n bin.substring(0, 6) === '411663' ||\n bin.substring(0, 6) === '426359' ||\n bin.substring(0, 6) === '429780' ||\n bin.substring(0, 6) === '438267' ||\n bin.substring(0, 6) === '461187' ||\n bin.substring(0, 6) === '500334' ||\n bin.substring(0, 6) === '509413' ||\n bin.substring(0, 6) === '512285' ||\n bin.substring(0, 6) === '512881' ||\n bin.substring(0, 6) === '518635' ||\n bin.substring(0, 6) === '538449' ||\n bin.substring(0, 6) === '550553' ||\n bin.substring(0, 6) === '566057' ||\n bin.substring(0, 6) === '567933' ||\n bin.substring(0, 6) === '572140' ||\n bin.substring(0, 6) === '584257' ||\n bin.substring(0, 6) === '598718' ||\n bin.substring(0, 6) === '605801' ||\n bin.substring(0, 6) === '606120' ||\n bin.substring(0, 6) === '631057' ||\n bin.substring(0, 6) === '676215' ||\n bin.substring(0, 6) === '713274' ||\n bin.substring(0, 6) === '713284' ||\n bin.substring(0, 6) === '717515' ||\n bin.substring(0, 6) === '748761' ||\n bin.substring(0, 6) === '753371' ||\n bin.substring(0, 6) === '753600' ||\n bin.substring(0, 6) === '912394' ||\n bin.substring(0, 6) === '916148' ||\n bin.substring(0, 6) === '916773' ||\n bin.substring(0, 6) === '923405' ||\n bin.substring(0, 6) === '930965' ||\n bin.substring(0, 6) === '934091' ||\n bin.substring(0, 6) === '935761' ||\n bin.substring(0, 6) === '943313' ||\n bin.substring(0, 6) === '945721' ||\n bin.substring(0, 6) === '948809' ||\n bin.substring(0, 6) === '960644' ||\n bin.substring(0, 6) === '969085' ||\n bin.substring(0, 6) === '970167' ||\n bin.substring(0, 6) === '978061' ||\n bin.substring(0, 8) === '40267919' ||\n bin.substring(0, 8) === '40327176' ||\n bin.substring(0, 8) === '40416004' ||\n bin.substring(0, 8) === '40421933' ||\n bin.substring(0, 8) === '40451556' ||\n bin.substring(0, 8) === '40541010' ||\n bin.substring(0, 8) === '40623835' ||\n bin.substring(0, 8) === '40733469' ||\n bin.substring(0, 8) === '40733586' ||\n bin.substring(0, 8) === '40872498' ||\n bin.substring(0, 8) === '45007789' ||\n bin.substring(0, 8) === '45024822' ||\n bin.substring(0, 8) === '45034751' ||\n bin.substring(0, 8) === '45046987' ||\n bin.substring(0, 8) === '45060549' ||\n bin.substring(0, 8) === '45062482' ||\n bin.substring(0, 8) === '45070071' ||\n bin.substring(0, 8) === '45084708' ||\n bin.substring(0, 8) === '45091433' ||\n bin.substring(0, 8) === '45100902' ||\n bin.substring(0, 8) === '45103869' ||\n bin.substring(0, 8) === '45131047' ||\n bin.substring(0, 8) === '45168884' ||\n bin.substring(0, 8) === '45174306' ||\n bin.substring(0, 8) === '45184611' ||\n bin.substring(0, 8) === '45191921' ||\n bin.substring(0, 8) === '45201881' ||\n bin.substring(0, 8) === '45206401' ||\n bin.substring(0, 8) === '45245294' ||\n bin.substring(0, 8) === '45314944' ||\n bin.substring(0, 8) === '45317847' ||\n bin.substring(0, 8) === '45357409' ||\n bin.substring(0, 8) === '45374587' ||\n bin.substring(0, 8) === '45394705' ||\n bin.substring(0, 8) === '45456584' ||\n bin.substring(0, 8) === '45541924' ||\n bin.substring(0, 8) === '45545795' ||\n bin.substring(0, 8) === '45567746' ||\n bin.substring(0, 8) === '45583759' ||\n bin.substring(0, 8) === '45648838' ||\n bin.substring(0, 8) === '45672506' ||\n bin.substring(0, 8) === '45678421' ||\n bin.substring(0, 8) === '45710756' ||\n bin.substring(0, 8) === '45716006' ||\n bin.substring(0, 8) === '45725029' ||\n bin.substring(0, 8) === '45732113' ||\n bin.substring(0, 8) === '45732698' ||\n bin.substring(0, 8) === '45793917' ||\n bin.substring(0, 8) === '45841185' ||\n bin.substring(0, 8) === '45862021' ||\n bin.substring(0, 8) === '45915336' ||\n bin.substring(0, 8) === '45971496') {\n this.issuer = 31;\n }\n // mastercard\n else if (bin.substring(0, 2) === '51' ||\n bin.substring(0, 2) === '52' ||\n bin.substring(0, 2) === '53' ||\n bin.substring(0, 2) === '54' ||\n bin.substring(0, 2) === '55') {\n this.issuer = 104;\n }\n // tarjeta naranja\n else if (bin.substring(0, 6) === '589562') {\n this.issuer = 24;\n }\n // visa credito\n else if (bin.substring(0, 1) === '4') {\n this.issuer = 1;\n }\n\n this.selectedCreditCard();\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n resetForm() {\n this.disabled = false;\n this.disableSelect = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n // creditCards: CreditCard[];\n this.creditCards = undefined;\n this.selectCreditCardPlan = null;\n // creditCardPlans: CreditCardPlans[];\n this.creditCardPlans = undefined;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.payerNameText = undefined;\n this.cardText = undefined;\n this.submitPressed = false;\n this.invalidDate = false;\n \n this.decidir = undefined;\n this.addScript = true;\n \n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.issuer = null;\n this.payment = undefined;\n this.paymentSuccessInfo = undefined;\n this.errorMessage = undefined;\n\n this.initDecidir();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { SpsDecidirComponent } from './components/sps-decidir.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n SpsDecidirComponent\n ],\n exports: [\n SpsDecidirComponent\n ]\n})\nexport class SpsDecidirModule { }\n","import { NgModule } from '@angular/core';\n\nimport { MercadopagoModule } from './mercadopago/mercadopago.module';\nimport { PaypalModule } from './paypal/paypal.module';\nimport { SpsDecidirModule } from './sps-decidir/sps-decidir.module';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://vk-payments/lib/mercadopago/services/mercadopago.api.service.ts","ng://vk-payments/lib/mercadopago/components/mercadopago.component.ts","ng://vk-payments/lib/mercadopago/components/promotion-bank.component.ts","ng://vk-payments/lib/mercadopago/mercadopago.module.ts","ng://vk-payments/lib/paypal/components/paypal-new.component.ts","ng://vk-payments/lib/paypal/paypal.module.ts","ng://vk-payments/lib/sps-decidir/services/sps-decidir.api.service.ts","ng://vk-payments/lib/sps-decidir/components/sps-decidir.component.ts","ng://vk-payments/lib/sps-decidir/sps-decidir.module.ts","ng://vk-payments/lib/vk-payments.module.ts"],"names":["__values","o","m","Symbol","iterator","i","call","next","length","value","done","MercadopagoApiService","httpClient","this","prototype","makePayment","cardPayment","access_token","url","_setAuthHeaders","post","normalizeUrl","headers","authHeaders","getMercadoPagoPromotions","get","charAt","substr","userToken","HttpHeaders","Content-Type","Authorization","Injectable","args","providedIn","HttpClient","MercadoPagoComponent","router","mercadopagoApiService","paymentState","tokenId","disabled","addScript","requiredIssuer","submitted","paymentResult","success","paymentId","integrator","statusPay","EventEmitter","ngOnInit","initMercadoPago","ngOnChanges","changes","paymentAmount","isFirstChange","checkOutForm","reset","_this","addMercadopagoScript","then","Mercadopago","setPublishableKey","publishableKey","getIdentificationTypes","totalAmount","defaultName","payerName","defaultDocType","Promise","resolve","reject","scripttagElement","document","createElement","src","onload","body","appendChild","createToken","sendForm","status","response","emit","errorMessage","id","hashedCard","hashText","cardText","transactionAmount","description","installments","Number","issuerId","issuer","paymentMethodId","currentPaymentMethod","codCP","idVen","docNumber","additionalData","data","storeId","hash","mercadoPagoPayment","text","iterations","hashedtext","sha256","paymentResponseHandler","statusDetails","ticket","transactionId","logger","successUrl","navigate","failureUrl","checkPaymentMethod","cardNumber","currentInstallments","currentIssuers","toString","currentBin","substring","self_1","getPaymentMethod","bin","respCode","respBody","setCurrentMethod","res","additionalInfo","additional_info_needed","undefined","find","x","self_2","getIssuers","setIssuers","checkInstallments","requestObject","self","amount","issuer_id","getInstallments","setInstallments","result","filter","card","payment_method_id","payer_costs","onDuesSelection","_c","tslib_1.__values","_d","ins","totalFinancedAmount","total_amount","_e","e_2","labels","_f","label","includes","recommendedLabel","replace","split","currentTEA","currentCFT","onSubmit","form","valid","securityCode","cvcText","cardExpirationMonth","monthText","cardExpirationYear","yearText","cardholderName","docType","dniText","debugLog","console","log","clearSession","onYearChange","isNaN","setTimeout","onMonthLostFocus","onMonthChange","onCodeChange","onDniChange","onPayerNameChange","onCardChange","onPaste","message","JSON","stringify","accessToken","vkUrlApi","subscribe","error","resetForm","Component","selector","template","Router","Input","Output","ViewChild","static","PromotionBankComponent","mercadoPagoService","cardPromotions","COMPONENTS","MercadopagoModule","NgModule","declarations","exports","imports","CommonModule","FormsModule","ReactiveFormsModule","RouterModule","PayPalNewComponent","showError","loading","linkToPay","linkExecutePay","ngAfterViewChecked","addPaypalScript","paypalConfig","style","color","shape","height","commit","createOrder","actions","order","create","purchase_units","getElementById","reference_id","custom_id","application_context","shipping_preference","onApprove","capture","details","userid","fetch","method","content-type","window","location","href","onError","reload","onCancel","paypal","Buttons","render","clientId","currency","PaypalModule","HttpClientModule","SpsDecidirApiService","payment","getDecidirConfigByBin","getCreditCards","domainId","getPlansByCreditCardId","creditCardId","SpsDecidirComponent","spsDecidirApiService","language","disableSelect","selectCreditCardPlan","submitPressed","invalidDate","initDecidir","addDecidirScript","initializeSpsDecidir","creditCards","_","creditCardPlans","decidir","Decidir","spsUrlApi","useCybersource","defaultPublishableKey","selectedCreditCard","selectedCreditCardPlan","tna","cft","event","preventDefault","config","superviellePublishableKey","querySelector","processErrorToken","paymentResponse","token","documentNumber","cardholder","identification","number","paymentType","creditCardPlanId","payerNameText","subPayments","creditCardHash","lastFourDigits","slice","paymentSuccessInfo","payment_id","processErrorMessage","forEach","type","responseError","reason","additional_description","error_type","validation_errors","code","param","compareDate","year","month","day","d1","Date","d2","getTime","onYearBlur","element","getDate","target","focus","search","setCreditType","SpsDecidirModule","LIB_MODULES","VkPaymentsModule"],"mappings":"ylBA4GO,SAASA,EAASC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UAAWC,EAAI,EAChE,OAAIH,EAAUA,EAAEI,KAAKL,GACd,CACHM,KAAM,WAEF,OADIN,GAAKI,GAAKJ,EAAEO,SAAQP,OAAI,GACrB,CAAEQ,MAAOR,GAAKA,EAAEI,KAAMK,MAAOT,KClHhD,IAAAU,EAAA,WAYE,SAAAA,EAAoBC,GAAAC,KAAAD,WAAAA,SAEpBD,EAAAG,UAAAC,YAAA,SAAYC,EAA0BC,EAAsBC,GAE1D,OADAL,KAAKM,gBAAgBF,GACdJ,KAAKD,WAAWQ,KAAKP,KAAKQ,aAAaH,GAAO,WAAYF,EAAa,CAAEM,QAAST,KAAKU,eAGhGZ,EAAAG,UAAAU,yBAAA,SAAyBN,GACvB,OAAOL,KAAKD,WAAWa,IAAIP,IAG7BP,EAAAG,UAAAO,aAAA,SAAaH,GAIX,OAHIA,EAAIV,OAAS,GAAmC,KAA9BU,EAAIQ,OAAOR,EAAIV,OAAS,KAC5CU,EAAMA,EAAIS,OAAO,EAAGT,EAAIV,OAAS,IAE5BU,GAGDP,EAAAG,UAAAK,gBAAR,SAAwBF,OAChBW,EAAY,UAAYX,EAC9BJ,KAAKU,YAAc,IAAIM,EAAAA,YAAY,CAAEC,eAAgB,mBAAoBC,cAAiBH,yBA1B7FI,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAPLC,EAAAA,+IAAT,oBCsEE,SAAAC,EAAoBC,EAAwBC,GAAxBzB,KAAAwB,OAAAA,EAAwBxB,KAAAyB,sBAAAA,EA7B5CzB,KAAA0B,aAAe,cACf1B,KAAA2B,QAAU,GACV3B,KAAA4B,UAAW,EACX5B,KAAA6B,WAAY,EACZ7B,KAAA8B,gBAAiB,EACjB9B,KAAA+B,WAAY,EAEZ/B,KAAAgC,cAA+B,CAAEC,SAAS,EAAOC,UAAW,GAAIC,WAAY,MAkBlEnC,KAAAoC,UAAY,IAAIC,EAAAA,aAgZ5B,OA1YEd,EAAAtB,UAAAqC,SAAA,WACEtC,KAAKuC,mBAGPhB,EAAAtB,UAAAuC,YAAA,SAAYC,GACLA,EAAQC,cAAcC,kBACzB3C,KAAK4B,UAAW,EAChB5B,KAAK4C,aAAaC,UAIdtB,EAAAtB,UAAAsC,gBAAR,WAAA,IAAAO,EAAA9C,KACEA,KAAK+C,uBACFC,KAAI,WACHC,YAAYC,kBAAkBJ,EAAKK,gBACnCF,YAAYG,yBAEZN,EAAKO,YAAcP,EAAKJ,cACxBI,EAAKQ,YAAcR,EAAKS,UACxBT,EAAKU,eAAiB,SAIpBjC,EAAAtB,UAAA8C,qBAAR,WAEE,OADA/C,KAAK6B,WAAY,EACV,IAAI4B,QAAO,SAAEC,EAASC,OACrBC,EAAmBC,SAASC,cAAc,UAChDF,EAAiBG,IAAM,oEACvBH,EAAiBI,OAASN,EAC1BG,SAASI,KAAKC,YAAYN,MAItBrC,EAAAtB,UAAAkE,YAAR,SAAoBC,GAApB,IAAAtB,EAAA9C,KACEA,KAAK0B,aAAe,aACpBuB,YAAYkB,YAAYC,EAAQ,SAAGC,EAAQC,GAE1B,MAAXD,GAA6B,MAAXA,GACpBvB,EAAKpB,aAAe,QACpBoB,EAAKV,UAAUmC,KAAKzB,EAAKd,eACzBc,EAAK0B,aAAe,qCAQpB1B,EAAKnB,QAAU,EAAkC8C,GACjD3B,EAAK5C,kBAKHqB,EAAAtB,UAAAC,YAAR,eACQwE,EAAa1E,KAAK2E,SAAS3E,KAAK4E,SAAS,KAC/C5E,KAAKG,YAAc,CACjBwB,QAAS3B,KAAK2B,QACdkD,kBAAmB7E,KAAKqD,YACxByB,YAAa9E,KAAK8E,YAClBC,aAAcC,OAAOhF,KAAK4C,aAAahD,MAAMmF,cAC7CE,SAAUjF,KAAK4C,aAAahD,MAAMsF,OAClCC,gBAAiBnF,KAAKoF,qBAAqB,GAAGX,GAC9CY,MAAOrF,KAAKsF,MACZC,UAAWvF,KAAK4C,aAAahD,MAAM2F,UACnCC,eAAgBxF,KAAKyF,KACrBC,QAAS1F,KAAK0F,QACdC,KAAMjB,GAER1E,KAAK4F,sBAGCrE,EAAAtB,UAAA0E,SAAR,SAAiBkB,EAAcC,GAE7B,QADIC,EAAaF,EACRrG,EAAI,EAAGA,EAAIsG,EAAYtG,IAC9BuG,EAAaC,EAAOD,GAEtB,OAAOA,GAGDxE,EAAAtB,UAAAgG,uBAAR,SAA+B3B,GACzBA,EAASrC,SACXjC,KAAK0B,aAAe4C,EAASmB,KAAKS,cAClClG,KAAKmG,OAAS7B,EAASmB,KAAKW,cAC5BpG,KAAKgC,cAAgB,CAAEC,SAAS,EAAMC,UAAWlC,KAAKmG,OAAQhE,WAAY,MAC1EnC,KAAKoC,UAAUmC,KAAKvE,KAAKgC,eACzBhC,KAAK4B,UAAW,EAEhB5B,KAAKqG,OAAO,0BAA2B/B,GACnCtE,KAAKsG,YAActG,KAAKsG,WAAW3G,OAAS,GAC9CK,KAAKwB,OAAO+E,SAAS,CAAC,GAAGvG,KAAKsG,eAGhCtG,KAAK0B,aAAe,WACpB1B,KAAKoC,UAAUmC,KAAKvE,KAAKgC,eACrBhC,KAAKsG,YAActG,KAAKwG,WAAW7G,OAAS,GAC9CK,KAAKwB,OAAO+E,SAAS,CAAC,GAAGvG,KAAKwG,aAAexD,SAKnDzB,EAAAtB,UAAAwG,mBAAA,WACE,GAA0C,MAAtCzG,KAAK4C,aAAahD,MAAM8G,WAAoB,CAG9C,GAFA1G,KAAK2G,oBAAsB,KAC3B3G,KAAK4G,eAAiB,KAClB5G,KAAK4C,aAAahD,MAAM8G,WAAWG,WAAWlH,QAAU,EAAG,CAC7DK,KAAK8G,WAAa9G,KAAK4C,aAAahD,MAAM8G,WAAWG,WAAWE,UAAU,EAAG,OACvEC,EAAOhH,KACbiD,YAAYgE,iBACV,CACEC,IAAOlH,KAAK4C,aAAahD,MAAM8G,WAAWG,YAC3C,SAAYM,EAAUC,GACJ,MAAbD,GACFH,EAAKK,iBAAiBD,KAI1BpH,KAAK4C,aAAahD,MAAM8G,WAAWG,WAAWlH,OAAS,IACzDK,KAAK8B,gBAAiB,KAK5BP,EAAAtB,UAAAoH,iBAAA,SAAiBC,GACf,GAAIA,EAAK,CACPtH,KAAKqG,OAAO,oBAAqBiB,OAE3BC,EAA2BD,EAAI,GAAGE,uBAGUC,MAA9CF,EAAeG,KAAI,SAACC,GAAK,MAFT,aAESA,IAC3B3H,KAAK8B,gBAAiB,EAGtB9B,KAAK8B,gBAAiB,EAGxB9B,KAAKqG,OAAO,kBAAmBrG,KAAK8B,gBAEpC9B,KAAKoF,qBAAuBkC,MACtBM,EAAO5H,KACbiD,YAAY4E,WAAWP,EAAI,GAAG7C,GAAE,SAAY0C,EAAUC,GACnC,MAAbD,GACFS,EAAKE,WAAWV,KAIpBQ,EAAKG,kBAAkB/H,KAAK8B,kBAIhCP,EAAAtB,UAAA8H,kBAAA,SAAkBjG,GAChB,KAAuB2F,MAAnBzH,KAAK8G,YAA2B9G,KAAK8G,WAAWnH,OAAS,GAA7D,KAMIqI,EAHEC,EAAOjI,KACbiI,EAAKtB,oBAAsB,KAKzBqB,EADElG,EACc,CACdoF,IAAOlH,KAAK8G,WACZoB,OAAUlI,KAAKqD,YACf8E,UAAanI,KAAKiF,UAIJ,CACdiC,IAAOlH,KAAK8G,WACZoB,OAAUlI,KAAKqD,aAInBJ,YAAYmF,gBAAgBJ,EAAa,SAAYb,EAAUC,GAC5C,MAAbD,EACFc,EAAKI,gBAAgBjB,GAErBa,EAAKtB,oBAAsB,SAKjCpF,EAAAtB,UAAAoI,gBAAA,SAAgBf,GAAhB,IAAAxE,EAAA9C,KAGE,GAAIsH,EAAI3H,OAAS,EACf,GAAqB8H,MAAjBzH,KAAKiF,UAAyBqC,EAAI3H,OAAS,GAAKK,KAAKoF,qBAAqBzF,OAAS,EAAG,KAClF2I,EAAShB,EAAIiB,OAAM,SAACC,GAAQ,OAAAA,EAAKtD,OAAOT,KAAO3B,EAAKmC,UAAYuD,EAAKC,oBAAsB3F,EAAKsC,qBAAqB,GAAGX,KAC9HzE,KAAK2G,oBAAsB2B,EAAO,GAAGI,YACrC1I,KAAKiF,SAAWqD,EAAO,GAAGpD,OAAOT,QAGjCzE,KAAK2G,oBAAsBW,EAAI,GAAGoB,YAClC1I,KAAKiF,SAAWqC,EAAI,GAAGpC,OAAOT,IAKpClD,EAAAtB,UAAA6H,WAAA,SAAWR,GAETtH,KAAK4G,eAAiBU,GAGxB/F,EAAAtB,UAAA0I,gBAAA,SAAgBrB,mBACd,IAAkB,IAAAsB,EAAAC,EAAA7I,KAAK2G,qBAAmBmC,EAAAF,EAAAlJ,QAAAoJ,EAAAjJ,KAAAiJ,EAAAF,EAAAlJ,OAAE,CAAvC,IAAMqJ,EAAGD,EAAAlJ,MACZ,GAAImJ,EAAIhE,eAAiBC,OAAOsC,EAAI1H,MAAMmF,cAAe,CACvD/E,KAAKgJ,oBAAsBD,EAAIE,iBAC/B,IAAoB,IAAAC,GAAAC,OAAA,EAAAN,EAAAE,EAAIK,SAAMC,EAAAH,EAAAxJ,QAAA2J,EAAAxJ,KAAAwJ,EAAAH,EAAAxJ,OAAE,CAA3B,IAAM4J,EAAKD,EAAAzJ,MACV0J,EAAMC,SAAS,SACjBvJ,KAAKwJ,iBAAmBF,EAAMG,QAAQ,KAAM,MAAMC,MAAM,IAAK,GAC7D1J,KAAK2J,WAAa3J,KAAKwJ,iBAAiB,GACxCxJ,KAAK4J,WAAa5J,KAAKwJ,iBAAiB,4MAOlDjI,EAAAtB,UAAA4J,SAAA,SAASC,GAGP,GAFA9J,KAAK+B,WAAY,EACjB/B,KAAKgC,cAAgB,CAAEC,SAAS,EAAOC,UAAW,GAAIC,WAAY,MAC9DnC,KAAK4C,aAAamH,MAAO,KACrB3F,EAAW,CACfsC,WAAY1G,KAAK4E,SACjBoF,aAAchK,KAAKiK,QACnBC,oBAAqBlK,KAAKmK,UAC1BC,mBAAoBpK,KAAKqK,SACzBC,eAAgBtK,KAAKsD,YACrBiH,QAASvK,KAAKwD,eACd+B,UAAWvF,KAAKwK,SAGdxK,KAAKyK,UACPC,QAAQC,IAAI,WAAYvG,GAGL,KAAjBpE,KAAK2B,SACPsB,YAAY2H,eAGd5K,KAAKmE,YAAYC,KAKrB7C,EAAAtB,UAAA4K,aAAA,WAAA,IAAA/H,EAAA9C,KACM8K,OAAO9K,KAAKqK,WACdU,WAAU,WACRjI,EAAKuH,SAAW,MAKtB9I,EAAAtB,UAAA+K,iBAAA,YACOhL,KAAKmK,UAAY,IAAMW,OAAO9K,KAAKmK,YAChB,KAAlBnK,KAAKmK,YACPnK,KAAKmK,UAAY,OAKvB5I,EAAAtB,UAAAgL,cAAA,WAAA,IAAAnI,EAAA9C,KACE,IAAKA,KAAKmK,WAAa,IAAMnK,KAAKmK,UAAY,KAAOW,OAAO9K,KAAKmK,WAC/D,OAAQnK,KAAKmK,WACX,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,UAKrBY,WAAU,WACRjI,EAAKqH,UAAY,MAKvB5I,EAAAtB,UAAAiL,aAAA,WAAA,IAAApI,EAAA9C,KACM8K,OAAO9K,KAAKiK,UACdc,WAAU,WACRjI,EAAKmH,QAAU,MAIrB1I,EAAAtB,UAAAkL,YAAA,WAAA,IAAArI,EAAA9C,KACM8K,OAAO9K,KAAKwK,UACdO,WAAU,WACRjI,EAAK0H,QAAU,MAKrBjJ,EAAAtB,UAAAmL,kBAAA,WAAA,IAAAtI,EAAA9C,KACO8K,OAAO9K,KAAKsD,cACfyH,WAAU,WACRjI,EAAKQ,YAAc,MAKzB/B,EAAAtB,UAAAoL,aAAA,WAAA,IAAAvI,EAAA9C,KACM8K,OAAO9K,KAAK4E,WACdmG,WAAU,WACRjI,EAAK8B,SAAW,MAKtBrD,EAAAtB,UAAAqL,QAAA,WACE,OAAO,GAGT/J,EAAAtB,UAAAoG,OAAA,SAAOkF,EAAiB9F,GAClBzF,KAAKyK,UACPC,QAAQC,IAAIY,EAASC,KAAKC,UAAUhG,KAIxClE,EAAAtB,UAAA2F,mBAAA,WAAA,IAAA9C,EAAA9C,KACAA,KAAKyB,sBAAsBvB,YAAYF,KAAKG,YAAaH,KAAK0L,YAAa1L,KAAK2L,UAC3EC,UAAS,SAACtE,GACTxE,EAAKmD,uBAAuBqB,IAC7B,SAAEuE,GACD/I,EAAKV,UAAUmC,KAAKzB,EAAKd,eACzBc,EAAKpB,aAAe,WACpBgJ,QAAQC,IAAIkB,MAIlBtK,EAAAtB,UAAA6L,UAAA,WACE9L,KAAK4B,UAAW,EAChB5B,KAAKqD,YACLrD,KAAKgJ,yBAAsBvB,EAC3BzH,KAAK8G,gBAAaW,EAClBzH,KAAKwJ,sBAAmB/B,EACxBzH,KAAK2J,gBAAalC,EAClBzH,KAAK4J,gBAAanC,EAClBzH,KAAKmG,YAASsB,EACdzH,KAAKsD,iBAAcmE,EACnBzH,KAAKwD,oBAAiBiE,EACtBzH,KAAKiF,cAAWwC,EAChBzH,KAAKoF,0BAAuBqC,EAC5BzH,KAAK4G,eAAiB,KACtB5G,KAAK2G,oBAAsB,KAC3B3G,KAAKG,iBAAcsH,EAEnBzH,KAAKgC,cAAgB,CAAEC,SAAS,EAAOC,UAAW,GAAIC,WAAY,MAGlEnC,KAAKmK,eAAY1C,EACjBzH,KAAKqK,cAAW5C,EAChBzH,KAAKiK,aAAUxC,EACfzH,KAAKwK,aAAU/C,EACfzH,KAAK4E,cAAW6C,EAChBzH,KAAK8B,gBAAiB,EACtB9B,KAAK+B,WAAY,EACjB/B,KAAK6B,WAAY,EACjB7B,KAAK0B,aAAe,cACpB1B,KAAKuD,eAAYkE,EACjBzH,KAAK2B,QAAU,GACf3B,KAAKwE,kBAAeiD,EAEpBzH,KAAK4C,aAAaC,QAElB7C,KAAKuC,uCArcRwJ,EAAAA,UAAS3K,KAAA,CAAC,CACT4K,SAAU,cACVC,SAAA,22dAXOC,EAAAA,cAGApM,4CA6CNqM,EAAAA,yBACAA,EAAAA,0BACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,8BACAA,EAAAA,0BACAA,EAAAA,0BACAA,EAAAA,8BACAA,EAAAA,8BACAA,EAAAA,8BACAA,EAAAA,wBACAA,EAAAA,uBACAA,EAAAA,qBACAA,EAAAA,oBACAA,EAAAA,yBACAC,EAAAA,6BAEAC,EAAAA,UAASjL,KAAA,CAAC,IAAK,CAAEkL,QAAQ,OA8Y5B/K,KCldA,IAAAgL,EAAA,WAgBE,SAAAA,EAAoBC,GAAAxM,KAAAwM,mBAAAA,EAQtB,OANED,EAAAtM,UAAAqC,SAAA,WAAA,IAAAQ,EAAA9C,KACEA,KAAKwM,mBACF7L,yBAAyBX,KAAKK,KAC9BuL,UAAS,SAACtE,GAAO,OAAAxE,EAAK2J,eAAiBnF,yBAhB7CyE,EAAAA,UAAS3K,KAAA,CAAC,CACT4K,SAAU,eACVC,SAAA,68BALOnM,kCASNqM,EAAAA,6BACAA,EAAAA,SAYHI,EAxBA,OCQMG,EAAa,CACjBnL,EACAgL,GAGFI,EAAA,WAAA,SAAAA,KAUiC,2BAVhCC,EAAAA,SAAQxL,KAAA,CAAC,CACRyL,aAAcH,EACdI,QAASJ,EACTK,QAAS,CACPC,EAAAA,aACAC,EAAAA,YACAC,EAAAA,oBACAC,EAAAA,kBAG6BR,EAVjC,GCbAS,EAAA,WAmCE,SAAAA,IAVQpN,KAAA6B,WAAY,EAIpB7B,KAAAqN,WAAY,EACZrN,KAAAsN,SAAU,EACVtN,KAAAqE,OAAS,GACTrE,KAAAuN,UAAY,GACZvN,KAAAwN,eAAiB,GAiFnB,OAxEEJ,EAAAnN,UAAAqC,SAAA,aAIA8K,EAAAnN,UAAAwN,mBAAA,WAAA,IAAA3K,EAAA9C,KACOA,KAAK6B,WACR7B,KAAK0N,kBAAkB1K,KAAI,eAEnB2K,EAAe,CACnBC,MAAO,CACLC,MAAO,OACPC,MAAO,OACPxE,MAAO,MACPyE,OAAQ,IAEVC,QAAQ,EACRC,YAAW,SAAYxI,EAAMyI,GAC3B,OAAOA,EAAQC,MAAMC,OAAO,CAC1BC,eAAgB,CAAC,CACfnG,OAAQ,CAAEtI,MAA0BiE,SAASyK,eAAe,UAAW1O,OACvE2O,aAAc,IAA0B1K,SAASyK,eAAe,iBAAkB1O,MAAQ,IAC1F4O,UAAW,IAA0B3K,SAASyK,eAAe,WAAY1O,MAAQ,MAEnF6O,oBAAqB,CACnBC,oBAAqB,kBAM3BC,UAAS,SAAYlJ,EAAMyI,GACzB,OAAOA,EAAQC,MAAMS,UAAU5L,KAAI,SAAW6L,GAC5CA,EAAQpJ,KAA0B5B,SAASyK,eAAe,QAAS1O,MACnEiP,EAAQC,OAA4BjL,SAASyK,eAAe,UAAW1O,MAEvEmP,MAAyBlL,SAASyK,eAAe,YAAa1O,MAAO,CACnEoP,OAAQ,OACRvO,QAAS,CACPwO,eAAgB,mBAChB/N,cAAiB,UAA+B2C,SAASyK,eAAe,eAAgB1O,OAE1FqE,KAAMuH,KAAKC,UAAU,CAAEoD,QAAOA,MAC7B7L,KAAI,SAAEsB,GACPoG,QAAQC,IAAI,iBAAkBrG,KAC7BtB,KAAI,WACLkM,OAAOC,SAASC,KAA0BvL,SAASyK,eAAe,cAAe1O,WAIvFyP,QAAO,SAAYxD,GACjBqD,OAAOC,SAASG,UAElBC,SAAQ,SAAG9J,EAAMyI,GACfgB,OAAOC,SAASC,KAA0BvL,SAASyK,eAAe,aAAc1O,QAIpF4P,OAAOC,QAAQ9B,GAAc+B,OAAO,4BACpC5M,EAAKwK,SAAU,KAKbF,EAAAnN,UAAAyN,gBAAR,WAAA,IAAA5K,EAAA9C,KAEE,OADAA,KAAK6B,WAAY,EACV,IAAI4B,QAAO,SAAEC,EAASC,OACrBC,EAAmBC,SAASC,cAAc,UAChDF,EAAiBG,IAAM,2CAA2CjB,EAAK6M,SAAQ,aAAa7M,EAAK8M,SACjGhM,EAAiBI,OAASN,EAC1BG,SAASI,KAAKC,YAAYN,0BAzG/BmI,EAAAA,UAAS3K,KAAA,CAAC,CACT4K,SAAU,sBACVC,SAAA,+nEAICE,EAAAA,wBACAA,EAAAA,wBACAA,EAAAA,uBACAA,EAAAA,sBACAA,EAAAA,6BACAA,EAAAA,sBACAA,EAAAA,wBACAA,EAAAA,yBACAA,EAAAA,0BACAA,EAAAA,oBACAA,EAAAA,0BACAA,EAAAA,SA2FHiB,EAlHA,GCAA,IAAAyC,EAAA,WAQA,SAAAA,KAc4B,2BAd3BjD,EAAAA,SAAQxL,KAAA,CAAC,CACR2L,QAAS,CACPC,EAAAA,aACAC,EAAAA,YACA6C,EAAAA,iBACA3C,EAAAA,cAEFN,aAAc,CACZO,GAEFN,QAAS,CACPM,OAGwByC,EAtB5B,GCAAE,EAAA,WAYE,SAAAA,EAAoBhQ,GAAAC,KAAAD,WAAAA,SAEbgQ,EAAA9P,UAAAC,YAAP,SAAmB8P,EAAkB5P,EAAsBC,GAEzD,OADAL,KAAKM,gBAAgBF,GACdJ,KAAKD,WAAWQ,KAAKP,KAAKQ,aAAaH,GAAO,WAAY2P,EAAS,CAAEvP,QAAST,KAAKU,eAGrFqP,EAAA9P,UAAAgQ,sBAAP,SAA6B/I,EAAa7G,GACxC,OAAOL,KAAKD,WAAWa,IAAiBZ,KAAKQ,aAAaH,GAAM,8BAA8B6G,IAIzF6I,EAAA9P,UAAAO,aAAP,SAAoBH,GAIlB,OAHIA,EAAIV,OAAS,GAAmC,KAA9BU,EAAIQ,OAAOR,EAAIV,OAAS,KAC5CU,EAAMA,EAAIS,OAAO,EAAGT,EAAIV,OAAS,IAE5BU,GAGF0P,EAAA9P,UAAAiQ,eAAP,SAAsB9P,EAAsBC,EAAa8P,GAEvD,OADAnQ,KAAKM,gBAAgBF,GACdJ,KAAKD,WAAWa,IAAiBZ,KAAKQ,aAAaH,GAAO,kCAAmC8P,EAAU,CAAE1P,QAAST,KAAKU,eAGzHqP,EAAA9P,UAAAmQ,uBAAP,SAA8BhQ,EAAsBC,EAAa6H,EAAgBmI,EAAsBF,EAAkBjJ,GACvHlH,KAAKM,gBAAgBF,OACf6D,EAAO,CAAEiE,OAAQA,EAAQmI,aAAcA,EAAcF,SAAUA,EAAUjJ,IAAKA,GACpF,OAAOlH,KAAKD,WAAWQ,KAAkBP,KAAKQ,aAAaH,GAAO,iCAAkC4D,EAAM,CAAExD,QAAST,KAAKU,eAGpHqP,EAAA9P,UAAAK,gBAAR,SAAwBF,OAChBW,EAAY,UAAYX,EAC9BJ,KAAKU,YAAc,IAAIM,EAAAA,YAAY,CAAEC,eAAgB,mBAAoBC,cAAiBH,yBAtC7FI,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,oDAPLC,EAAAA,+IAAT,GCAA,IAAAgP,EAAA,WA+EE,SAAAA,EAAoB9O,EAAuB+O,GAAvBvQ,KAAAwB,OAAAA,EAAuBxB,KAAAuQ,qBAAAA,EAnClCvQ,KAAAwQ,SAAW,KACVxQ,KAAAoC,UAAY,IAAIC,EAAAA,aAE1BrC,KAAA4B,UAAW,EACX5B,KAAAyQ,eAAgB,EAOhBzQ,KAAA0Q,qBAAwC,KAExC1Q,KAAAgC,cAA+B,CAAEC,SAAS,EAAOC,UAAW,GAAIC,WAAY,WAS5EnC,KAAA2Q,eAAgB,EAChB3Q,KAAA4Q,aAAc,EAGd5Q,KAAA6B,WAAY,EAEZ7B,KAAA0B,aAAe,cAEf1B,KAAAkF,OAAkB,KAukBpB,OAhkBEoL,EAAArQ,UAAAqC,SAAA,WACEtC,KAAK6Q,eAGPP,EAAArQ,UAAAuC,YAAA,SAAYC,GACLA,EAAQC,cAAcC,kBACzB3C,KAAK4C,aAAaC,QAClB7C,KAAK4B,UAAW,EAChB5B,KAAKyQ,eAAgB,IAIjBH,EAAArQ,UAAA4Q,YAAR,WAAA,IAAA/N,EAAA9C,KACEA,KAAK8Q,mBACF9N,KAAI,WACHF,EAAKoN,iBACLpN,EAAKiO,0BAIXT,EAAArQ,UAAA6Q,iBAAA,WAEE,OADA9Q,KAAK6B,WAAY,EACV,IAAI4B,QAAO,SAAEC,OACZE,EAAmBC,SAASC,cAAc,UAChDF,EAAiBG,IAAM,kDACvBH,EAAiBI,OAASN,EAC1BG,SAASI,KAAKC,YAAYN,MAItB0M,EAAArQ,UAAAiQ,eAAR,WAAA,IAAApN,EAAA9C,KACEA,KAAKuQ,qBAAqBL,eAAelQ,KAAK0L,YAAa1L,KAAK2L,SAAU3L,KAAKmQ,UAC5EvE,UAAS,SAAEtE,GACVxE,EAAKkO,YAAc1J,EAAQ,KAC3BxE,EAAKuD,OAAO,iBAAkBvD,EAAKkO,cACpC,SAAEC,GAAK,OAAAnO,EAAKpB,aAAe,cAGxB4O,EAAArQ,UAAAmQ,uBAAR,SAA+BlI,EAAgBmI,EAAsBF,EAAkBjJ,GAAvF,IAAApE,EAAA9C,KACEA,KAAKuQ,qBAAqBH,uBAAuBpQ,KAAK0L,YAAa1L,KAAK2L,SAAUzD,EAAQmI,EAAcF,EAAUjJ,GAC/G0E,UAAS,SAAEtE,GACVxE,EAAKoO,gBAAkB5J,EAAQ,KAC/BxE,EAAKuD,OAAO,yBAA0BvD,EAAKoO,kBAC5C,SAAED,GAAK,OAAAnO,EAAKpB,aAAe,cAGxB4O,EAAArQ,UAAA8Q,qBAAR,WACE/Q,KAAKmR,QAAU,IAAIC,QAAQpR,KAAKuQ,qBAAqB/P,aAAaR,KAAKqR,YAAarR,KAAKsR,gBACzFtR,KAAKmR,QAAQpG,WAAW,MACxB/K,KAAKmR,QAAQjO,kBAAkBlD,KAAKuR,wBAG9BjB,EAAArQ,UAAAoG,OAAR,SAAekF,EAAiB9F,GACzBzF,KAAKyK,UACVC,QAAQC,IAAIY,EAAS9F,IAGhB6K,EAAArQ,UAAAuR,mBAAP,WACOxR,KAAKkF,SAEVlF,KAAK0Q,qBAAuB,KACN,QAAlB1Q,KAAK4P,UAAuD,aAAjC5P,KAAK4E,SAASmC,UAAU,EAAE,IAIvD/G,KAAK4E,SAAU,GAGK,QAAlB5E,KAAK4P,WACP5P,KAAKqD,YAAcrD,KAAKgJ,oBAAsBhJ,KAAK0C,gBAPnD1C,KAAKoQ,uBAAuBpQ,KAAK0C,cAAe1C,KAAKkF,OAAQlF,KAAKmQ,SAAUnQ,KAAK4E,SAASmC,UAAU,EAAE,MAW1GuJ,EAAArQ,UAAAwR,uBAAA,WACoC,OAA9BzR,KAAK0Q,uBAET1Q,KAAKgJ,oBAAsBhJ,KAAK0Q,qBAAqBrN,YACrDrD,KAAKqD,YAAcrD,KAAK0C,cACxB1C,KAAK2J,WAAa3J,KAAK0Q,qBAAqBgB,IAC5C1R,KAAK4J,WAAa5J,KAAK0Q,qBAAqBiB,MAG9CrB,EAAArQ,UAAA4J,SAAA,SAAS+H,GAAT,IAAA9O,EAAA9C,KACE4R,EAAMC,iBACN7R,KAAK2Q,eAAgB,EACrB3Q,KAAKgC,cAAgB,CAAEC,SAAS,EAAOC,UAAW,GAAIC,WAAY,WAE7DnC,KAAK4C,aAAamH,OAEvB/J,KAAKuQ,qBAAqBN,sBAAsBjQ,KAAK4E,SAASmC,UAAU,EAAG,GAAI/G,KAAK2L,UACjFC,UAAS,SAACkG,GACTpH,QAAQC,IAAImH,GACA,2BAATA,IACDpH,QAAQC,IAAI,oBACZ7H,EAAKqO,QAAQjO,kBAAkBJ,EAAKiP,4BAGtCjP,EAAKpB,aAAe,iBACdoI,EAAOjG,SAASmO,cAAc,eACpClP,EAAKqO,QAAQhN,YAAY2F,EAAI,SAAGzF,EAAgBC,GAC/B,MAAXD,GAA6B,MAAXA,GACpBvB,EAAKpB,aAAe,QACpBoB,EAAKV,UAAUmC,KAAKzB,EAAKd,eACzBc,EAAKmP,kBAAkB3N,IAEvBxB,EAAK5C,YAAY4J,EAAMxF,QAOjCgM,EAAArQ,UAAAC,YAAA,SAAY4J,EAAWoI,GAAvB,IAAApP,EAAA9C,KACEA,KAAKqG,OAAO,eAAgBmF,KAAKC,UAAUyG,QACrCxN,EAAa1E,KAAK2E,SAAS3E,KAAK4E,SAAS,KAC/C5E,KAAKgQ,QAAU,CACbmC,MAAOD,EAAgBzN,GACvByD,OAAQlI,KAAKqD,YACb2F,oBAAqBhJ,KAAKgJ,oBAC1B9B,IAAKgL,EAAgBhL,IACrB0I,SAAU,MACVwC,eAAkC,QAAlBpS,KAAK4P,SAAqB,IAAMsC,EAAgBG,WAAWC,eAAeC,OAC1FjN,MAAOtF,KAAKsF,MACZkN,YAAa,SACbzN,aAAgC,QAAlB/E,KAAK4P,SAAqB,EAAI5P,KAAK0Q,qBAAqB3L,aACtE0N,iBAAoC,QAAlBzS,KAAK4P,SAAqB,EAAI5P,KAAK0Q,qBAAqBjM,GAC1EU,gBAAiBnF,KAAKkF,OACtBmN,WAAYrS,KAAK0S,cACjBhN,QAAS1F,KAAK0F,QACdD,KAAMzF,KAAKyF,KACXkN,YAAa,GACbC,eAAgBlO,EAChBmO,eAAgB7S,KAAK4E,SAASkO,OAAO,IAIvC9S,KAAKqG,OAAO,WAAYmF,KAAKC,UAAUzL,KAAKgQ,UAC5ChQ,KAAKuQ,qBAAqBrQ,YAAYF,KAAKgQ,QAAShQ,KAAK0L,YAAa1L,KAAK2L,UACxEC,UAAS,SAAEtE,GACVxE,EAAKmD,uBAAuBqB,IAC7B,SAAEuE,GACD/I,EAAKV,UAAUmC,KAAKzB,EAAKd,eACzBc,EAAKpB,aAAe,WACpBgJ,QAAQmB,MAAMA,MAIZyE,EAAArQ,UAAA0E,SAAR,SAAiBkB,EAAcC,GAE7B,QADIC,EAAaF,EACRrG,EAAI,EAAGA,EAAIsG,EAAYtG,IAC9BuG,EAAaC,EAAOD,GAEtB,OAAOA,GAGTuK,EAAArQ,UAAAgG,uBAAA,SAAuB3B,GAGrB,GAFAtE,KAAKqG,OAAO,0BAA2BmF,KAAKC,UAAUnH,IAElDA,EAASrC,SAQX,GAPAjC,KAAK0B,aAAe,UACpB1B,KAAK+S,mBAAqBzO,EAAa,KACvCtE,KAAKgC,cAAgB,CAAEC,SAAS,EAAMC,UAAWlC,KAAK+S,mBAAmBC,WAAY7Q,WAAY,WACjGnC,KAAKoC,UAAUmC,KAAKvE,KAAKgC,eACzBhC,KAAK4B,UAAW,EAChB5B,KAAKyQ,eAAgB,EAEjBzQ,KAAKsG,YAActG,KAAKsG,WAAW3G,OAAS,EAE9C,YADAK,KAAKwB,OAAO+E,SAAS,CAAC,GAAGvG,KAAKsG,aAAetD,YAQ/C,GAJAhD,KAAK0B,aAAe,QACpB1B,KAAKoC,UAAUmC,KAAKvE,KAAKgC,eACzBhC,KAAKiT,oBAAoB3O,EAASmB,MAE9BzF,KAAKwG,YAAcxG,KAAKwG,WAAW7G,OAAS,EAE9C,YADAK,KAAKwB,OAAO+E,SAAS,CAAC,GAAGvG,KAAKwG,aAAexD,QAMnDsN,EAAArQ,UAAAgS,kBAAA,SAAkB3N,GAAlB,IAAAxB,EAAA9C,KACEA,KAAK4B,UAAW,EAChB5B,KAAKyQ,eAAgB,MAEf5E,EAAK,EAGXA,EAAMA,MAAMqH,QAAO,SAAEvL,GACE,wBAAjBA,EAAEkE,MAAMsH,KACVrQ,EAAK0B,aAAe,kCAEpB1B,EAAK0B,aAAegH,KAAKC,UAAUI,MAMzCyE,EAAArQ,UAAAgT,oBAAA,SAAoBG,GAIlB,GAHApT,KAAK4B,UAAW,EAChB5B,KAAKyQ,eAAgB,EAEjB2C,EAAcvH,MAChB7L,KAAKwE,aAAe4O,EAAcvH,MAAMwH,OAAOvO,YAE3CsO,EAAcvH,MAAMwH,OAAOC,yBAC7BtT,KAAKwE,aAAexE,KAAKwE,aAAe,MAAQ4O,EAAcvH,MAAMwH,OAAOC,wBAGpD,IAArBtT,KAAKwE,cAA2CiD,MAArBzH,KAAKwE,eAClCxE,KAAKwE,aAAegH,KAAKC,UAAU2H,SAGlC,GAAIA,EAAcG,WACrB,OAAQH,EAAcG,YACpB,IAAK,wBACH,GAAIH,EAAcI,kBAAkB7T,OAAS,GACK,kBAA5CyT,EAAcI,kBAAkB,GAAGC,KACrC,OAAQL,EAAcI,kBAAkB,GAAGE,OACzC,IAAK,cAGL,IAAK,MACH1T,KAAKwE,aAAe,mBACpB,MACF,QACExE,KAAKwE,aAAe4O,EAAcvH,MAAMwH,OAAOvO,YACtB,IAArB9E,KAAKwE,cAA2CiD,MAArBzH,KAAKwE,eAClCxE,KAAKwE,aAAegH,KAAKC,UAAU2H,IAM7C,MACF,IAAK,kBACHpT,KAAKwE,aAAe,8BACpB,MACF,IAAK,uBACHxE,KAAKwE,aAAe,eACpB,MACF,IAAK,0BACHxE,KAAKwE,aAAe,oCACpB,MACF,IAAK,YACHxE,KAAKwE,aAAe,uBACpB,MACF,QACExE,KAAKwE,aAAegH,KAAKC,UAAU2H,KAM3C9C,EAAArQ,UAAA0T,YAAA,SAAYC,EAAcC,EAAeC,OACjCC,EAAW,IAAIC,KAAKJ,EAAMC,EAAOC,GACjCG,EAAW,IAAID,KAGrB,OADaD,EAAGG,YAAcD,EAAGC,UACd,EACfH,EAAKE,EAAa,EAClBF,EAAKE,GAAc,OAAvB,GAIF3D,EAAArQ,UAAA4K,aAAA,WAAA,IAAA/H,EAAA9C,KACMgF,OAAO8F,OAAO9K,KAAKqK,WACrBU,WAAU,WACRjI,EAAKuH,SAAW,MAKtBiG,EAAArQ,UAAAkU,WAAA,SAAWC,GAAX,IAAAtR,EAAA9C,KACMA,KAAK2T,YACP3O,OAAO,KAAKhF,KAAKqK,UACjBrF,OAAOhF,KAAKmK,YACZ,IAAI6J,MAAOK,WAAa,EACxBtJ,WAAU,WACRjI,EAAKuH,SAAW,GAChBvH,EAAK8N,aAAc,EACnBwD,EAAQE,OAAOC,UAGjBvU,KAAK4Q,aAAc,GAKvBN,EAAArQ,UAAA+K,iBAAA,YACOhL,KAAKmK,UAAY,IAAMW,OAAO9K,KAAKmK,YACf,MAAnBnK,KAAKmK,YACPnK,KAAKmK,UAAY,OAKvBmG,EAAArQ,UAAAgL,cAAA,WAAA,IAAAnI,EAAA9C,KACE,IAAKA,KAAKmK,WAAa,IAAMnK,KAAKmK,UAAY,KAAOW,OAAO9K,KAAKmK,WAC/D,OAAQnK,KAAKmK,WACX,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,KACjB,MAEF,IAAK,IACHnK,KAAKmK,UAAY,UAKrBY,WAAU,WACRjI,EAAKqH,UAAY,MAKvBmG,EAAArQ,UAAAiL,aAAA,WAAA,IAAApI,EAAA9C,KACMgF,OAAO8F,OAAO9K,KAAKiK,UACrBc,WAAU,WACRjI,EAAKmH,QAAU,KAIfjK,KAAKiK,QAAQuK,OAAO,MAAQ,GAC9BzJ,WAAU,WACRjI,EAAKmH,QAAU,MAKrBqG,EAAArQ,UAAAkL,YAAA,WAAA,IAAArI,EAAA9C,KACMgF,OAAO8F,OAAO9K,KAAKwK,UACrBO,WAAU,WACRjI,EAAK0H,QAAU,KAIfxK,KAAKwK,QAAQgK,OAAO,MAAQ,GAC9BzJ,WAAU,WACRjI,EAAK0H,QAAU,MAKrB8F,EAAArQ,UAAAmL,kBAAA,WAAA,IAAAtI,EAAA9C,KACO8K,OAAO9K,KAAK0S,gBACf3H,WAAU,WACRjI,EAAK4P,cAAgB,MAK3BpC,EAAArQ,UAAAoL,aAAA,WAAA,IAAAvI,EAAA9C,KACMgF,OAAO8F,OAAO9K,KAAK4E,WACrBmG,WAAU,WACRjI,EAAK8B,SAAW,KAIhB5E,KAAK4E,SAAS4P,OAAO,MAAQ,GAC/BzJ,WAAU,WACRjI,EAAK8B,SAAW,KAIjB5E,KAAK4E,SAASjF,OAAQ,GACvBK,KAAKyQ,eAAgB,EACrBzQ,KAAKkF,OAAS,MAEdlF,KAAKyQ,eAAgB,EAIM,IAAzBzQ,KAAK4E,SAASjF,QAAkC,aAAlBK,KAAK4E,UACrC5E,KAAKyU,cAAczU,KAAK4E,WAK5B0L,EAAArQ,UAAAwU,cAAA,SAAcvN,GACRA,EAAIvH,OAAS,EACfK,KAAKkF,OAAS,KAIG,IAAfgC,EAAIvH,SACNK,KAAKkF,OAAS,KAGc,SAAxBgC,EAAIH,UAAU,EAAG,IACK,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,WAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,EAAG,IACO,aAAxBG,EAAIH,UAAU,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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CardPayment } from '../models/mercadopago.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MercadopagoApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n makePayment(cardPayment: CardPayment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', cardPayment, { headers: this.authHeaders });\r\n }\r\n\r\n getMercadoPagoPromotions(url: string): Observable<any> {\r\n return this.httpClient.get(url);\r\n }\r\n\r\n normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { CardPayment, CreateTokenResponse, PaymentResult, ResponseInstallment } from '../models/mercadopago.model';\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\nimport sha256 from 'sha256';\n\n\ndeclare var Mercadopago: any;\n\n@Component({\n selector: 'mp-form-pay',\n templateUrl: './mercadopago.component.html',\n styleUrls: ['./mercadopago.component.scss']\n})\nexport class MercadoPagoComponent implements OnInit, OnChanges {\n\n totalAmount: number;\n totalFinancedAmount: number;\n currentBin: string;\n recommendedLabel: string;\n currentTEA: string;\n currentCFT: string;\n ticket: string;\n defaultName: string;\n defaultDocType: string;\n issuerId: string;\n currentPaymentMethod: any;\n currentIssuers: any[];\n currentInstallments: any[];\n cardPayment: CardPayment;\n\n // input bind\n yearText: string;\n monthText: string;\n dniText: string;\n cvcText: string;\n cardText: string;\n errorMessage: string;\n\n paymentState = 'unsubmitted';\n tokenId = '';\n disabled = false;\n addScript = false;\n requiredIssuer = false;\n submitted = false;\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'MP' };\n\n @Input() paymentAmount: number;\n @Input() payerName: string;\n @Input() payerEmail: string;\n @Input() accessToken: string;\n @Input() vkUrlApi: string;\n @Input() description: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() imgCreditCards: string;\n @Input() imgMercadoPago: string;\n @Input() iconExpandMore: string;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n\n constructor(private router: Router, private mercadopagoApiService: MercadopagoApiService) { }\n\n ngOnInit() {\n this.initMercadoPago();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.disabled = false;\n this.checkOutForm.reset();\n }\n }\n\n private initMercadoPago() {\n this.addMercadopagoScript()\n .then(() => {\n Mercadopago.setPublishableKey(this.publishableKey);\n Mercadopago.getIdentificationTypes();\n\n this.totalAmount = this.paymentAmount;\n this.defaultName = this.payerName;\n this.defaultDocType = 'DNI';\n });\n }\n\n private addMercadopagoScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js?2345';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private createToken(sendForm: any) {\n this.paymentState = 'processing';\n Mercadopago.createToken(sendForm, (status, response: any) => {\n \n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.errorMessage = 'Revisa los datos del formulario.';\n // const causes: Cause[] = (response as ErrorTokenResponse).cause;\n // if (causes !== null && causes.length > 0) {\n // causes.forEach((item) => {\n // this.errorMessage += this.getErrorMessage(item.code) + '\\n';\n // });\n // }\n } else {\n this.tokenId = (response as CreateTokenResponse).id;\n this.makePayment();\n }\n });\n }\n\n private makePayment() {\n const hashedCard = this.hashText(this.cardText,100000);\n this.cardPayment = {\n tokenId: this.tokenId,\n transactionAmount: this.totalAmount,\n description: this.description,\n installments: Number(this.checkOutForm.value.installments),\n issuerId: this.checkOutForm.value.issuer,\n paymentMethodId: this.currentPaymentMethod[0].id,\n codCP: this.idVen,\n docNumber: this.checkOutForm.value.docNumber,\n additionalData: this.data,\n storeId: this.storeId,\n hash: hashedCard\n };\n this.mercadoPagoPayment();\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n private paymentResponseHandler(response: any) {\n if (response.success) {\n this.paymentState = response.data.statusDetails;\n this.ticket = response.data.transactionId;\n this.paymentResult = { success: true, paymentId: this.ticket, integrator: 'MP' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n this.logger('paymentResponseHandler:', response);\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]);\n }\n } else {\n this.paymentState = 'apiError';\n this.statusPay.emit(this.paymentResult);\n if (this.successUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then();\n }\n }\n }\n\n checkPaymentMethod() {\n if (this.checkOutForm.value.cardNumber != null) {\n this.currentInstallments = null;\n this.currentIssuers = null;\n if (this.checkOutForm.value.cardNumber.toString().length >= 6) {\n this.currentBin = this.checkOutForm.value.cardNumber.toString().substring(0, 6);\n const self = this;\n Mercadopago.getPaymentMethod(\n {\n 'bin': this.checkOutForm.value.cardNumber.toString()\n }, function (respCode, respBody) {\n if (respCode === 200) {\n self.setCurrentMethod(respBody);\n }\n });\n }\n if (this.checkOutForm.value.cardNumber.toString().length < 6) {\n this.requiredIssuer = false;\n }\n }\n }\n\n setCurrentMethod(res: any) {\n if (res) {\n this.logger('setCurrentMethod:', res);\n\n const additionalInfo: String[] = res[0].additional_info_needed;\n const issuerIdKey = 'issuer_id';\n\n if (additionalInfo.find(x => x == issuerIdKey) == undefined) {\n this.requiredIssuer = false;\n }\n else {\n this.requiredIssuer = true;\n }\n \n this.logger('requiredIssuer:', this.requiredIssuer);\n\n this.currentPaymentMethod = res;\n const self = this;\n Mercadopago.getIssuers(res[0].id, function (respCode, respBody) {\n if (respCode === 200) {\n self.setIssuers(respBody);\n }\n });\n\n self.checkInstallments(this.requiredIssuer);\n }\n }\n\n checkInstallments(requiredIssuer: boolean) {\n if (this.currentBin == undefined || this.currentBin.length < 6) {\n return;\n }\n const self = this;\n self.currentInstallments = null;\n\n let requestObject:any\n \n if (requiredIssuer) {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount,\n 'issuer_id': this.issuerId\n } \n }\n else {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount\n } \n }\n\n Mercadopago.getInstallments(requestObject, function (respCode, respBody) {\n if (respCode === 200) {\n self.setInstallments(respBody);\n } else {\n self.currentInstallments = null;\n }\n });\n }\n\n setInstallments(res: ResponseInstallment[]) {\n //this.logger('setInstallments:', res);\n\n if (res.length > 0) {\n if (this.issuerId != undefined && res.length > 1 && this.currentPaymentMethod.length > 0) {\n const result = res.filter(card => card.issuer.id === this.issuerId && card.payment_method_id === this.currentPaymentMethod[0].id);\n this.currentInstallments = result[0].payer_costs;\n this.issuerId = result[0].issuer.id;\n }\n else {\n this.currentInstallments = res[0].payer_costs;\n this.issuerId = res[0].issuer.id;\n }\n }\n }\n\n setIssuers(res: any) {\n //this.logger('setIssuers res', res);\n this.currentIssuers = res;\n }\n\n onDuesSelection(res: any) {\n for (const ins of this.currentInstallments) {\n if (ins.installments === Number(res.value.installments)) {\n this.totalFinancedAmount = ins.total_amount;\n for (const label of ins.labels) {\n if (label.includes('CFT')) {\n this.recommendedLabel = label.replace(/_/g, ': ').split('|', 2);\n this.currentTEA = this.recommendedLabel[1];\n this.currentCFT = this.recommendedLabel[0];\n }\n }\n }\n }\n }\n\n onSubmit(form: NgForm) {\n this.submitted = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n if (this.checkOutForm.valid) {\n const sendForm = {\n cardNumber: this.cardText,\n securityCode: this.cvcText,\n cardExpirationMonth: this.monthText,\n cardExpirationYear: this.yearText,\n cardholderName: this.defaultName,\n docType: this.defaultDocType,\n docNumber: this.dniText\n };\n\n if (this.debugLog) {\n console.log('sendForm', sendForm);\n }\n\n if (this.tokenId !== '') {\n Mercadopago.clearSession();\n }\n\n this.createToken(sendForm);\n }\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n logger(message: string, data: any): void {\n if (this.debugLog) {\n console.log(message, JSON.stringify(data));\n }\n }\n\n mercadoPagoPayment(){\n this.mercadopagoApiService.makePayment(this.cardPayment, this.accessToken, this.vkUrlApi)\n .subscribe(res => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.log(error);\n });\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentBin = undefined;\n this.recommendedLabel = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n this.ticket = undefined;\n this.defaultName = undefined;\n this.defaultDocType = undefined;\n this.issuerId = undefined;\n this.currentPaymentMethod = undefined;\n this.currentIssuers = null;\n this.currentInstallments = null;\n this.cardPayment = undefined;\n\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.cardText = undefined;\n this.requiredIssuer = false;\n this.submitted = false;\n this.addScript = false;\n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.tokenId = '';\n this.errorMessage = undefined;\n\n this.checkOutForm.reset()\n\n this.initMercadoPago();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\r\n\r\n\r\n@Component({\r\n selector: 'mp-promotion',\r\n templateUrl: './promotion-bank.component.html',\r\n styleUrls: ['./promotion-bank.component.scss']\r\n})\r\nexport class PromotionBankComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() contentSource: string;\r\n\r\n cardPromotions: any;\r\n\r\n constructor(private mercadoPagoService: MercadopagoApiService) { }\r\n\r\n ngOnInit() {\r\n this.mercadoPagoService\r\n .getMercadoPagoPromotions(this.url)\r\n .subscribe(res => this.cardPromotions = res);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MercadoPagoComponent } from './components/mercadopago.component';\nimport { PromotionBankComponent } from './components/promotion-bank.component';\n\nconst COMPONENTS = [\n MercadoPagoComponent,\n PromotionBankComponent\n];\n\n@NgModule({\n declarations: COMPONENTS,\n exports: COMPONENTS,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ]\n})\nexport class MercadopagoModule { }\n","import { AfterViewChecked, Component, Input, OnInit } from '@angular/core';\n\nimport { PaypalResponse } from '../models/response-paypal.model';\n\ndeclare let paypal: any;\n\n@Component({\n selector: 'paypal-new-form-pay',\n templateUrl: './paypal-new.component.html',\n styleUrls: ['./paypal-new.component.scss']\n})\nexport class PayPalNewComponent implements OnInit, AfterViewChecked {\n @Input() accessToken: string;\n @Input() clientId: string;\n @Input() vkUrlApi: string;\n @Input() storeId: string;\n @Input() userId: string;\n @Input() transactionId: string;\n @Input() amount: string;\n @Input() currency: string;\n @Input() cancelUrl: string;\n @Input() successUrl: string;\n @Input() data: string;\n @Input() urlSignout: string;\n\n private addScript = false;\n\n errorsMessage: any;\n\n showError = false;\n loading = true;\n status = '';\n linkToPay = '';\n linkExecutePay = '';\n\n constructor() {\n // if (this.urlSignout === '') {\n // const wnd = window.open(this.urlSignout, 'myWindow', 'width=100,height=100');\n // setTimeout(function () { wnd.close(); }, 1000);\n // }\n }\n\n ngOnInit(): void {\n\n }\n\n ngAfterViewChecked(): void {\n if (!this.addScript) {\n this.addPaypalScript().then(() => {\n\n const paypalConfig = {\n style: {\n color: 'blue',\n shape: 'pill',\n label: 'pay',\n height: 40\n },\n commit: true,\n createOrder: function (data, actions) {\n return actions.order.create({\n purchase_units: [{\n amount: { value: (<HTMLInputElement>document.getElementById('amount')).value },\n reference_id: '\\'' + (<HTMLInputElement>document.getElementById('transactionId')).value + '\\'',\n custom_id: '\\'' + (<HTMLInputElement>document.getElementById('storeId')).value + '\\''\n }],\n application_context: {\n shipping_preference: 'NO_SHIPPING'\n }\n });\n },\n\n // Finalize the transaction\n onApprove: function (data, actions) {\n return actions.order.capture().then(function (details: PaypalResponse) {\n details.data = (<HTMLInputElement>document.getElementById('data')).value;\n details.userid = (<HTMLInputElement>document.getElementById('userId')).value;\n\n fetch((<HTMLInputElement>document.getElementById('vkUrlApi')).value, {\n method: 'post',\n headers: {\n 'content-type': 'application/json',\n 'Authorization': 'Bearer ' + (<HTMLInputElement>document.getElementById('accessToken')).value\n },\n body: JSON.stringify({ details })\n }).then((response) => {\n console.log('response-> api', response);\n }).then(() => {\n window.location.href = (<HTMLInputElement>document.getElementById('successUrl')).value;\n });\n });\n },\n onError: function (error) {\n window.location.reload();\n },\n onCancel: (data, actions) => {\n window.location.href = (<HTMLInputElement>document.getElementById('cancelUrl')).value;\n }\n };\n\n paypal.Buttons(paypalConfig).render('#paypal-button-container');\n this.loading = false;\n });\n }\n }\n\n private addPaypalScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = `https://www.paypal.com/sdk/js?client-id=${this.clientId}¤cy=${this.currency}`;\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { PayPalNewComponent } from './components/paypal-new.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n PayPalNewComponent\n ],\n exports: [\n PayPalNewComponent\n ]\n})\nexport class PaypalModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreditCard, CreditCardPlans, Payment, ResponseApi } from '../models/payment.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpsDecidirApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public makePayment(payment: Payment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });\r\n }\r\n\r\n public getDecidirConfigByBin(bin: string, url: string,): Observable<any> {\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) +`/GetDecidirConfigByBin?bin=${bin}`);\r\n }\r\n\r\n\r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n public getCreditCards(access_token: string, url: string, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/GetCreditCardsEnable?domainId='+ domainId, { headers: this.authHeaders });\r\n }\r\n\r\n public getPlansByCreditCardId(access_token: string, url: string, amount: string, creditCardId: number, domainId: number, bin: string): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = { amount: amount, creditCardId: creditCardId, domainId: domainId, bin: bin};\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/CalculateAmountInInstallments', body, { headers: this.authHeaders });\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport sha256 from 'sha256';\n\nimport {\n CreditCard,\n CreditCardPlans,\n ErrorToken,\n Payment,\n PaymentResponseInfo,\n PaymentResult,\n ResponseApi,\n SpsResponsePayment,\n} from '../models/payment.model';\nimport { SpsDecidirApiService } from '../services/sps-decidir.api.service';\n\ndeclare var Decidir: any;\n\n@Component({\n selector: 'sps-form-pay',\n templateUrl: './sps-decidir.component.html',\n styleUrls: ['./sps-decidir.component.scss']\n})\nexport class SpsDecidirComponent implements OnInit, OnChanges {\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n @Input() accessToken: string;\n @Input() spsUrlApi: string;\n @Input() vkUrlApi: string;\n @Input() paymentAmount: string;\n @Input() logoSps: string;\n @Input() currency: string;\n @Input() defaultPublishableKey: string;\n @Input() superviellePublishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() useCybersource: boolean;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() domainId: number;\n @Input() idVen: number;\n @Input() data: string;\n @Input() labelButton: string;\n @Input() language = 'es';\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n disabled = false;\n disableSelect = false;\n totalAmount: string;\n totalFinancedAmount: string;\n currentTEA: string;\n currentCFT: string;\n\n creditCards: CreditCard[];\n selectCreditCardPlan: CreditCardPlans = null;\n creditCardPlans: CreditCardPlans[];\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n // Form bind\n monthText: string;\n yearText: string;\n cvcText: string;\n dniText: string;\n payerNameText: string;\n cardText: string;\n submitPressed = false;\n invalidDate = false;\n\n private decidir: any;\n addScript = true;\n\n paymentState = 'unsubmitted';\n payerName: string;\n issuer?: number = null;\n payment: Payment;\n paymentSuccessInfo: PaymentResponseInfo;\n errorMessage: string;\n\n constructor(private router: Router, public spsDecidirApiService: SpsDecidirApiService) { }\n\n ngOnInit() {\n this.initDecidir();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.checkOutForm.reset();\n this.disabled = false;\n this.disableSelect = false;\n }\n }\n\n private initDecidir() {\n this.addDecidirScript()\n .then(() => {\n this.getCreditCards();\n this.initializeSpsDecidir();\n });\n }\n\n addDecidirScript() {\n this.addScript = true;\n return new Promise((resolve) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://live.decidir.com/static/v2.4/decidir.js';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private getCreditCards() {\n this.spsDecidirApiService.getCreditCards(this.accessToken, this.vkUrlApi, this.domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCards = res.data as CreditCard[];\n this.logger('getCreditCards', this.creditCards);\n }, _ => this.paymentState = 'apiError');\n }\n\n private getPlansByCreditCardId(amount: string, creditCardId: number, domainId: number, bin: string) {\n this.spsDecidirApiService.getPlansByCreditCardId(this.accessToken, this.vkUrlApi, amount, creditCardId, domainId, bin)\n .subscribe((res: ResponseApi) => {\n this.creditCardPlans = res.data as CreditCardPlans[];\n this.logger('getPlansByCreditCardId', this.creditCardPlans);\n }, _ => this.paymentState = 'apiError');\n }\n\n private initializeSpsDecidir() {\n this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);\n this.decidir.setTimeout(15000);\n this.decidir.setPublishableKey(this.defaultPublishableKey);\n }\n\n private logger(message: string, data: any): void {\n if (!this.debugLog) { return; }\n console.log(message, data);\n }\n\n public selectedCreditCard() {\n if (!this.issuer) { return; }\n\n this.selectCreditCardPlan = null;\n if (this.currency === 'ARS' && this.cardText.substring(0,8) !== '00000000') {\n this.getPlansByCreditCardId(this.paymentAmount, this.issuer, this.domainId, this.cardText.substring(0,8));\n return;\n } else {\n this.cardText ='';\n }\n\n if (this.currency === 'USD') {\n this.totalAmount = this.totalFinancedAmount = this.paymentAmount;\n }\n }\n\n selectedCreditCardPlan() {\n if (this.selectCreditCardPlan === null) { return; }\n\n this.totalFinancedAmount = this.selectCreditCardPlan.totalAmount;\n this.totalAmount = this.paymentAmount;\n this.currentTEA = this.selectCreditCardPlan.tna;\n this.currentCFT = this.selectCreditCardPlan.cft;\n }\n\n onSubmit(event) {\n event.preventDefault();\n this.submitPressed = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n if (!this.checkOutForm.valid) { return; }\n\n this.spsDecidirApiService.getDecidirConfigByBin(this.cardText.substring(0, 8), this.vkUrlApi)\n .subscribe(config => {\n console.log(config);\n if(config =='SPS-Decidir-Supervielle'){\n console.log('Modo Supervielle');\n this.decidir.setPublishableKey(this.superviellePublishableKey);\n }\n\n this.paymentState = 'processing';\n const form = document.querySelector('#formulario');\n this.decidir.createToken(form, (status: number, response: SpsResponsePayment) => {\n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorToken(response);\n } else {\n this.makePayment(form, response);\n }\n });\n\n });\n }\n\n makePayment(form: any, paymentResponse: SpsResponsePayment): void {\n this.logger('makePayment:', JSON.stringify(paymentResponse));\n const hashedCard = this.hashText(this.cardText,100000);\n this.payment = {\n token: paymentResponse.id,\n amount: this.totalAmount,\n totalFinancedAmount: this.totalFinancedAmount,\n bin: paymentResponse.bin,\n currency: 'ARS',\n documentNumber: this.currency === 'USD' ? '0' : paymentResponse.cardholder.identification.number,\n idVen: this.idVen,\n paymentType: 'single',\n installments: this.currency === 'USD' ? 1 : this.selectCreditCardPlan.installments,\n creditCardPlanId: this.currency === 'USD' ? 0 : this.selectCreditCardPlan.id,\n paymentMethodId: this.issuer,\n cardholder: this.payerNameText,\n storeId: this.storeId,\n data: this.data,\n subPayments: [],\n creditCardHash: hashedCard,\n lastFourDigits: this.cardText.slice(-4)\n };\n \n\n this.logger('payment:', JSON.stringify(this.payment));\n this.spsDecidirApiService.makePayment(this.payment, this.accessToken, this.vkUrlApi)\n .subscribe((res: ResponseApi) => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.error(error);\n });\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n paymentResponseHandler(response: ResponseApi) {\n this.logger('paymentResponseHandler:', JSON.stringify(response));\n\n if (response.success) {\n this.paymentState = 'success';\n this.paymentSuccessInfo = response.data as PaymentResponseInfo;\n this.paymentResult = { success: true, paymentId: this.paymentSuccessInfo.payment_id, integrator: 'DECIDIR' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n this.disableSelect = true;\n\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]).then();\n return;\n }\n } else {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorMessage(response.data);\n\n if (this.failureUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then()\n return;\n }\n }\n }\n\n processErrorToken(response: any): void {\n this.disabled = true;\n this.disableSelect = true;\n\n const error: ErrorToken = response as ErrorToken;\n\n // obtenemos mensajes de error\n error.error.forEach((x) => {\n if (x.error.type === 'invalid_expiry_date') {\n this.errorMessage = 'Revisá la fecha de vencimiento.';\n } else {\n this.errorMessage = JSON.stringify(error);\n }\n });\n }\n\n // diferentes tipos de error nos devuelve decidir\n processErrorMessage(responseError: PaymentResponseInfo): void {\n this.disabled = true;\n this.disableSelect = true;\n\n if (responseError.error) {\n this.errorMessage = responseError.error.reason.description;\n\n if (responseError.error.reason.additional_description) {\n this.errorMessage = this.errorMessage + ' - ' + responseError.error.reason.additional_description;\n }\n\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n }\n else if (responseError.error_type) {\n switch (responseError.error_type) {\n case 'invalid_request_error':\n if (responseError.validation_errors.length > 0) {\n if (responseError.validation_errors[0].code === 'invalid_param') {\n switch (responseError.validation_errors[0].param) {\n case 'card_number':\n this.errorMessage = 'Tarjeta inválida';\n break;\n case 'bin':\n this.errorMessage = 'Tarjeta inválida';\n break;\n default:\n this.errorMessage = responseError.error.reason.description;\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n break;\n }\n }\n }\n break;\n case 'not_found_error':\n this.errorMessage = 'Datos no encontrados (404).';\n break;\n case 'authentication_error':\n this.errorMessage = 'Error (401).';\n break;\n case 'malformed_request_error':\n this.errorMessage = 'Error al enviar los datos (400).';\n break;\n case 'api_error':\n this.errorMessage = 'Error interno (409).';\n break;\n default:\n this.errorMessage = JSON.stringify(responseError);\n break;\n }\n }\n }\n\n compareDate(year: number, month: number, day: number): number {\n const d1: Date = new Date(year, month, day);\n const d2: Date = new Date();\n\n const same = d1.getTime() === d2.getTime();\n if (same) { return 0; }\n if (d1 > d2) { return 1; }\n if (d1 < d2) { return -1; }\n }\n\n // Input controls\n onYearChange() {\n if (Number.isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onYearBlur(element: any) {\n if (this.compareDate(\n Number(`20${this.yearText}`),\n Number(this.monthText),\n new Date().getDate()) < 0) {\n setTimeout(() => {\n this.yearText = '';\n this.invalidDate = true;\n element.target.focus();\n });\n } else {\n this.invalidDate = false;\n }\n\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText === '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (Number.isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n\n if (this.cvcText.search(' ') > -1) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (Number.isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n\n if (this.dniText.search(' ') > -1) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.payerNameText)) {\n setTimeout(() => {\n this.payerNameText = '';\n });\n }\n }\n\n onCardChange() {\n if (Number.isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if (this.cardText.search(' ') > -1) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if(this.cardText.length <8) {\n this.disableSelect = true;\n this.issuer = null;\n } else {\n this.disableSelect = false;\n }\n\n // setea tarjeta\n if (this.cardText.length === 8 && this.cardText !== '00000000'){\n this.setCreditType(this.cardText);\n }\n \n }\n\n setCreditType(bin: string): void {\n if (bin.length < 8) {\n this.issuer = null;\n return;\n }\n\n if (bin.length === 8) {\n this.issuer = null;\n\n // visa debito\n if (bin.substring(0, 4) === '4770' ||\n bin.substring(0, 6) === '442548' ||\n bin.substring(0, 6) === '406809' ||\n bin.substring(0, 6) === '408738' ||\n bin.substring(0, 6) === '411521' ||\n bin.substring(0, 6) === '411663' ||\n bin.substring(0, 6) === '426359' ||\n bin.substring(0, 6) === '429780' ||\n bin.substring(0, 6) === '438267' ||\n bin.substring(0, 6) === '461187' ||\n bin.substring(0, 6) === '500334' ||\n bin.substring(0, 6) === '509413' ||\n bin.substring(0, 6) === '512285' ||\n bin.substring(0, 6) === '512881' ||\n bin.substring(0, 6) === '518635' ||\n bin.substring(0, 6) === '538449' ||\n bin.substring(0, 6) === '550553' ||\n bin.substring(0, 6) === '566057' ||\n bin.substring(0, 6) === '567933' ||\n bin.substring(0, 6) === '572140' ||\n bin.substring(0, 6) === '584257' ||\n bin.substring(0, 6) === '598718' ||\n bin.substring(0, 6) === '605801' ||\n bin.substring(0, 6) === '606120' ||\n bin.substring(0, 6) === '631057' ||\n bin.substring(0, 6) === '676215' ||\n bin.substring(0, 6) === '713274' ||\n bin.substring(0, 6) === '713284' ||\n bin.substring(0, 6) === '717515' ||\n bin.substring(0, 6) === '748761' ||\n bin.substring(0, 6) === '753371' ||\n bin.substring(0, 6) === '753600' ||\n bin.substring(0, 6) === '912394' ||\n bin.substring(0, 6) === '916148' ||\n bin.substring(0, 6) === '916773' ||\n bin.substring(0, 6) === '923405' ||\n bin.substring(0, 6) === '930965' ||\n bin.substring(0, 6) === '934091' ||\n bin.substring(0, 6) === '935761' ||\n bin.substring(0, 6) === '943313' ||\n bin.substring(0, 6) === '945721' ||\n bin.substring(0, 6) === '948809' ||\n bin.substring(0, 6) === '960644' ||\n bin.substring(0, 6) === '969085' ||\n bin.substring(0, 6) === '970167' ||\n bin.substring(0, 6) === '978061' ||\n bin.substring(0, 8) === '40267919' ||\n bin.substring(0, 8) === '40327176' ||\n bin.substring(0, 8) === '40416004' ||\n bin.substring(0, 8) === '40421933' ||\n bin.substring(0, 8) === '40451556' ||\n bin.substring(0, 8) === '40541010' ||\n bin.substring(0, 8) === '40623835' ||\n bin.substring(0, 8) === '40733469' ||\n bin.substring(0, 8) === '40733586' ||\n bin.substring(0, 8) === '40872498' ||\n bin.substring(0, 8) === '45007789' ||\n bin.substring(0, 8) === '45024822' ||\n bin.substring(0, 8) === '45034751' ||\n bin.substring(0, 8) === '45046987' ||\n bin.substring(0, 8) === '45060549' ||\n bin.substring(0, 8) === '45062482' ||\n bin.substring(0, 8) === '45070071' ||\n bin.substring(0, 8) === '45084708' ||\n bin.substring(0, 8) === '45091433' ||\n bin.substring(0, 8) === '45100902' ||\n bin.substring(0, 8) === '45103869' ||\n bin.substring(0, 8) === '45131047' ||\n bin.substring(0, 8) === '45168884' ||\n bin.substring(0, 8) === '45174306' ||\n bin.substring(0, 8) === '45184611' ||\n bin.substring(0, 8) === '45191921' ||\n bin.substring(0, 8) === '45201881' ||\n bin.substring(0, 8) === '45206401' ||\n bin.substring(0, 8) === '45245294' ||\n bin.substring(0, 8) === '45314944' ||\n bin.substring(0, 8) === '45317847' ||\n bin.substring(0, 8) === '45357409' ||\n bin.substring(0, 8) === '45374587' ||\n bin.substring(0, 8) === '45394705' ||\n bin.substring(0, 8) === '45456584' ||\n bin.substring(0, 8) === '45541924' ||\n bin.substring(0, 8) === '45545795' ||\n bin.substring(0, 8) === '45567746' ||\n bin.substring(0, 8) === '45583759' ||\n bin.substring(0, 8) === '45648838' ||\n bin.substring(0, 8) === '45672506' ||\n bin.substring(0, 8) === '45678421' ||\n bin.substring(0, 8) === '45710756' ||\n bin.substring(0, 8) === '45716006' ||\n bin.substring(0, 8) === '45725029' ||\n bin.substring(0, 8) === '45732113' ||\n bin.substring(0, 8) === '45732698' ||\n bin.substring(0, 8) === '45793917' ||\n bin.substring(0, 8) === '45841185' ||\n bin.substring(0, 8) === '45862021' ||\n bin.substring(0, 8) === '45915336' ||\n bin.substring(0, 8) === '45971496') {\n this.issuer = 31;\n }\n // mastercard\n else if (bin.substring(0, 2) === '51' ||\n bin.substring(0, 2) === '52' ||\n bin.substring(0, 2) === '53' ||\n bin.substring(0, 2) === '54' ||\n bin.substring(0, 2) === '55') {\n this.issuer = 104;\n }\n // tarjeta naranja\n else if (bin.substring(0, 6) === '589562') {\n this.issuer = 24;\n }\n // visa credito\n else if (bin.substring(0, 1) === '4') {\n this.issuer = 1;\n }\n\n this.selectedCreditCard();\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n resetForm() {\n this.disabled = false;\n this.disableSelect = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n // creditCards: CreditCard[];\n this.creditCards = undefined;\n this.selectCreditCardPlan = null;\n // creditCardPlans: CreditCardPlans[];\n this.creditCardPlans = undefined;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.payerNameText = undefined;\n this.cardText = undefined;\n this.submitPressed = false;\n this.invalidDate = false;\n \n this.decidir = undefined;\n this.addScript = true;\n \n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.issuer = null;\n this.payment = undefined;\n this.paymentSuccessInfo = undefined;\n this.errorMessage = undefined;\n\n this.initDecidir();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { SpsDecidirComponent } from './components/sps-decidir.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n SpsDecidirComponent\n ],\n exports: [\n SpsDecidirComponent\n ]\n})\nexport class SpsDecidirModule { }\n","import { NgModule } from '@angular/core';\n\nimport { MercadopagoModule } from './mercadopago/mercadopago.module';\nimport { PaypalModule } from './paypal/paypal.module';\nimport { SpsDecidirModule } from './sps-decidir/sps-decidir.module';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"]}
|