@xsolla/payment-client-core 0.1.7 → 0.1.8
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/esm2020/lib/core/country/country-iso-code.enum.mjs +6 -0
- package/esm2020/lib/core/payment/finance-details/cart-summary.interface.mjs +1 -1
- package/esm2020/lib/core/payment/finance-details/finance-details.interface.mjs +2 -0
- package/esm2020/lib/core/payment/finance-details/finance-details.service.mjs +25 -12
- package/esm2020/lib/core/payment/finance-details/price.helpers.mjs +2 -2
- package/esm2020/lib/core/payment/finance-details/status/field-with-amount-and-currency.interface.mjs +2 -0
- package/esm2020/lib/core/payment/finance-details/status/fields-with-currency.mjs +16 -0
- package/esm2020/lib/core/payment/finance-details/status/finance-info.interface.mjs +2 -0
- package/esm2020/lib/core/payment/finance-details/status/status-finance-details-adapter.service.mjs +290 -0
- package/esm2020/lib/core/payment/finance-details/summary/default-image-patterns.const.mjs +10 -0
- package/esm2020/lib/core/payment/finance-details/summary/sales-tax-details-key.enum.mjs +7 -0
- package/esm2020/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +264 -0
- package/esm2020/lib/core/payment/finance-details/vat-details-key.enum.mjs +14 -0
- package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
- package/esm2020/lib/core/payment/payment.service.mjs +2 -2
- package/esm2020/lib/core/payment/status/status-finance-info.interface.mjs +2 -0
- package/esm2020/lib/core/payment/status/status-order.interface.mjs +2 -0
- package/esm2020/lib/core/payment/status/status.interface.mjs +1 -1
- package/esm2020/lib/core/payment/status/status.service.mjs +10 -6
- package/esm2020/lib/core/payment/xps-summary.interface.mjs +1 -1
- package/esm2020/lib/core/session/session.service.mjs +57 -0
- package/esm2020/lib/core/type-guards/is-null.function.mjs +4 -0
- package/esm2020/lib/core/type-guards/is-undefined.function.mjs +4 -0
- package/esm2020/lib/core-library.module.mjs +1 -4
- package/fesm2015/xsolla-payment-client-core.mjs +726 -304
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +706 -293
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/country/country-iso-code.enum.d.ts +4 -0
- package/lib/core/payment/finance-details/cart-summary.interface.d.ts +2 -2
- package/lib/core/payment/finance-details/finance-details.interface.d.ts +11 -0
- package/lib/core/payment/finance-details/finance-details.service.d.ts +12 -5
- package/lib/core/payment/finance-details/price.helpers.d.ts +3 -3
- package/lib/core/payment/finance-details/status/field-with-amount-and-currency.interface.d.ts +7 -0
- package/lib/core/payment/finance-details/status/fields-with-currency.d.ts +1 -0
- package/lib/core/payment/finance-details/status/finance-info.interface.d.ts +4 -0
- package/lib/core/payment/finance-details/status/status-finance-details-adapter.service.d.ts +31 -0
- package/lib/core/payment/finance-details/summary/sales-tax-details-key.enum.d.ts +5 -0
- package/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.d.ts +24 -0
- package/lib/core/payment/finance-details/vat-details-key.enum.d.ts +12 -0
- package/lib/core/payment/payment.interface.d.ts +1 -1
- package/lib/core/payment/payment.service.d.ts +1 -1
- package/lib/core/payment/status/status-finance-info.interface.d.ts +4 -0
- package/lib/core/payment/status/status-order.interface.d.ts +12 -0
- package/lib/core/payment/status/status.interface.d.ts +4 -16
- package/lib/core/payment/status/status.service.d.ts +3 -1
- package/lib/core/payment/xps-summary.interface.d.ts +1 -1
- package/lib/core/session/session.service.d.ts +18 -0
- package/lib/core/type-guards/is-null.function.d.ts +1 -0
- package/lib/core/type-guards/is-undefined.function.d.ts +1 -0
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.1.8.tgz +0 -0
- package/esm2020/lib/core/payment/finance-details/default-image-patterns.const.mjs +0 -10
- package/esm2020/lib/core/payment/finance-details/finance-details-response.token.mjs +0 -8
- package/esm2020/lib/core/payment/finance-details/finance-details.class.mjs +0 -237
- package/lib/core/payment/finance-details/finance-details-response.token.d.ts +0 -7
- package/lib/core/payment/finance-details/finance-details.class.d.ts +0 -29
- package/xsolla-payment-client-core-0.1.7.tgz +0 -0
- /package/lib/core/payment/finance-details/{default-image-patterns.const.d.ts → summary/default-image-patterns.const.d.ts} +0 -0
package/esm2020/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs
ADDED
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { createPriceOrUndefined, extractMoneyCurrency } from '../price.helpers';
|
|
3
|
+
import { defaultImagePatterns } from './default-image-patterns.const';
|
|
4
|
+
import { VatDetailsKey } from '../vat-details-key.enum';
|
|
5
|
+
import { SalesTaxDetailsKey } from './sales-tax-details-key.enum';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SummaryFinanceDetailsAdapterService {
|
|
8
|
+
getFinanceDetails(summary) {
|
|
9
|
+
const { purchase, finance } = summary;
|
|
10
|
+
return {
|
|
11
|
+
purchase: purchase,
|
|
12
|
+
finance: finance,
|
|
13
|
+
cartItems: this.getCartItems(purchase, finance),
|
|
14
|
+
cartSummary: this.getCartSummary(finance),
|
|
15
|
+
paymentCountry: this.getPaymentCountry(finance),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
shouldShowZeroIndirectTaxRate(finance) {
|
|
19
|
+
return !!(finance?.vat?.visible ?? finance?.vat_user?.visible);
|
|
20
|
+
}
|
|
21
|
+
isSalesTaxes(finance) {
|
|
22
|
+
return !!(finance?.sales_tax?.amount ?? finance?.sales_tax_user?.amount);
|
|
23
|
+
}
|
|
24
|
+
getCartItems(purchase, finance) {
|
|
25
|
+
const checkouts = purchase.checkout_items?.map((item) => {
|
|
26
|
+
return {
|
|
27
|
+
imgSrc: item.image_url,
|
|
28
|
+
hasDefaultImg: this.isDefaultImage(item.image_url),
|
|
29
|
+
title: item.name,
|
|
30
|
+
price: extractMoneyCurrency(item, false),
|
|
31
|
+
priceBeforeDiscount: createPriceOrUndefined(item.amount_before_discount, item.currency),
|
|
32
|
+
quantity: item.quantity,
|
|
33
|
+
description: item.description,
|
|
34
|
+
tax: this.getTaxForItem(finance, item.indirect_tax_rate),
|
|
35
|
+
isBonus: item.is_bonus,
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
const virtualCurrencies = purchase.virtual_currency?.map((item) => {
|
|
39
|
+
return {
|
|
40
|
+
imgSrc: item.image_url,
|
|
41
|
+
hasDefaultImg: this.isDefaultImage(item.image_url),
|
|
42
|
+
title: `${item.quantity} ${item.name}`,
|
|
43
|
+
price: extractMoneyCurrency(item),
|
|
44
|
+
description: item.description,
|
|
45
|
+
isBonus: item.is_bonus,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
const virtualItems = purchase.virtual_items?.map((item) => {
|
|
49
|
+
return {
|
|
50
|
+
imgSrc: item.image_url,
|
|
51
|
+
hasDefaultImg: this.isDefaultImage(item.image_url),
|
|
52
|
+
title: item.name,
|
|
53
|
+
price: extractMoneyCurrency(item),
|
|
54
|
+
description: item.description,
|
|
55
|
+
quantity: item.quantity,
|
|
56
|
+
isBonus: item.is_bonus,
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
let checkoutArray = undefined;
|
|
60
|
+
if (purchase.checkout) {
|
|
61
|
+
checkoutArray = [
|
|
62
|
+
{
|
|
63
|
+
key: 'checkout',
|
|
64
|
+
title: purchase.checkout.description,
|
|
65
|
+
price: extractMoneyCurrency(purchase.checkout),
|
|
66
|
+
isBonus: purchase.checkout.is_bonus ?? false,
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
return [
|
|
71
|
+
...(checkouts ?? []),
|
|
72
|
+
...(virtualCurrencies ?? []),
|
|
73
|
+
...(virtualItems ?? []),
|
|
74
|
+
...(checkoutArray ?? []),
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
getCartSummary(finance) {
|
|
78
|
+
return {
|
|
79
|
+
subtotal: {
|
|
80
|
+
title: 'Subtotal',
|
|
81
|
+
money: createPriceOrUndefined(finance?.sub_total?.amount, finance?.sub_total?.currency),
|
|
82
|
+
},
|
|
83
|
+
subtotalPayment: {
|
|
84
|
+
title: '',
|
|
85
|
+
money: createPriceOrUndefined(finance?.sub_total?.payment_amount, finance?.sub_total?.payment_currency),
|
|
86
|
+
},
|
|
87
|
+
total: {
|
|
88
|
+
title: 'Total',
|
|
89
|
+
money: extractMoneyCurrency(finance?.total),
|
|
90
|
+
},
|
|
91
|
+
totalDetails: this.getTaxesForTotalDetails(finance),
|
|
92
|
+
subtotalDetails: [
|
|
93
|
+
...this.getSubtotalDetails(finance),
|
|
94
|
+
...this.getTaxesForSubtotalDetails(finance),
|
|
95
|
+
],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
getPaymentCountry(finance) {
|
|
99
|
+
return finance?.payment_country?.iso ?? '';
|
|
100
|
+
}
|
|
101
|
+
getTaxForItem(finance, indirectTaxRate) {
|
|
102
|
+
if (indirectTaxRate ||
|
|
103
|
+
(this.shouldShowZeroIndirectTaxRate(finance) && indirectTaxRate === 0)) {
|
|
104
|
+
if (this.isSalesTaxes(finance)) {
|
|
105
|
+
return {
|
|
106
|
+
key: SalesTaxDetailsKey.salesTaxPercent,
|
|
107
|
+
content: `Sales tax ${indirectTaxRate}%`,
|
|
108
|
+
rate: indirectTaxRate,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
if (this.isIndia(finance)) {
|
|
112
|
+
return {
|
|
113
|
+
key: VatDetailsKey.vatIndiaPercent,
|
|
114
|
+
content: `GST ${indirectTaxRate}%`,
|
|
115
|
+
rate: indirectTaxRate,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (this.isGhana(finance)) {
|
|
119
|
+
return {
|
|
120
|
+
key: VatDetailsKey.vatGhana,
|
|
121
|
+
content: 'VAT, NHIL, GETFund Levy, and Covid-19 Levy',
|
|
122
|
+
rate: indirectTaxRate,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
key: VatDetailsKey.vatPercent,
|
|
127
|
+
content: `VAT ${indirectTaxRate}%`,
|
|
128
|
+
rate: indirectTaxRate,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
getSubtotalDetails(finance) {
|
|
134
|
+
if (!finance) {
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
// subtotal details fields
|
|
138
|
+
const subtotalDetailsSorting = [
|
|
139
|
+
{
|
|
140
|
+
key: 'discount',
|
|
141
|
+
responseKey: 'discount',
|
|
142
|
+
title: 'Discount',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
key: 'fee',
|
|
146
|
+
responseKey: 'fee',
|
|
147
|
+
title: 'Payment system fee',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
key: 'user-balance',
|
|
151
|
+
responseKey: 'user_balance',
|
|
152
|
+
title: 'Balance',
|
|
153
|
+
},
|
|
154
|
+
];
|
|
155
|
+
return subtotalDetailsSorting.map((sorting) => {
|
|
156
|
+
const field = finance[sorting.responseKey];
|
|
157
|
+
if (field) {
|
|
158
|
+
return {
|
|
159
|
+
key: sorting.key,
|
|
160
|
+
title: sorting.title,
|
|
161
|
+
money: {
|
|
162
|
+
amount: sorting.key === 'discount' && field.amount
|
|
163
|
+
? -field.amount
|
|
164
|
+
: field.amount,
|
|
165
|
+
currency: field.currency,
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
return sorting;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
getTaxesForSubtotalDetails(finance) {
|
|
173
|
+
const ret = [];
|
|
174
|
+
// subtotal. VAT %p
|
|
175
|
+
if (finance?.vat_user &&
|
|
176
|
+
(finance?.vat_user?.amount ?? finance?.vat_user?.visible)) {
|
|
177
|
+
ret.push({
|
|
178
|
+
key: this.getVatNotIncludingKeyForDetails(finance),
|
|
179
|
+
title: this.getVatLabelForSubtotalDetails(finance),
|
|
180
|
+
money: extractMoneyCurrency(finance?.vat_user),
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
if (finance?.sales_tax_user?.amount) {
|
|
184
|
+
ret.push({
|
|
185
|
+
key: SalesTaxDetailsKey.salesTax,
|
|
186
|
+
title: 'Sales tax',
|
|
187
|
+
money: extractMoneyCurrency(finance?.sales_tax_user),
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
return ret;
|
|
191
|
+
}
|
|
192
|
+
getVatLabelForSubtotalDetails(finance) {
|
|
193
|
+
if (this.isIndia(finance)) {
|
|
194
|
+
return `GST ${finance?.vat_user?.percent ?? ''}%`;
|
|
195
|
+
}
|
|
196
|
+
if (this.isGhana(finance)) {
|
|
197
|
+
return `VAT, NHIL, GETFund Levy, and Covid-19 Levy`;
|
|
198
|
+
}
|
|
199
|
+
return `VAT ${finance?.vat_user?.percent ?? ''}%`;
|
|
200
|
+
}
|
|
201
|
+
getTaxesForTotalDetails(finance) {
|
|
202
|
+
const ret = [];
|
|
203
|
+
// for totalDetails. VAT
|
|
204
|
+
if ((finance?.vat?.amount || finance?.vat?.visible) &&
|
|
205
|
+
!finance?.vat_user?.amount) {
|
|
206
|
+
ret.push({
|
|
207
|
+
key: this.getVatIncludingKeyForDetails(finance),
|
|
208
|
+
title: this.getVatLabelForTotalDetails(finance),
|
|
209
|
+
money: extractMoneyCurrency(finance?.vat),
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
if (finance?.sales_tax?.amount && !finance?.sales_tax_user?.amount) {
|
|
213
|
+
ret.push({
|
|
214
|
+
key: SalesTaxDetailsKey.salesTaxIncluding,
|
|
215
|
+
title: 'Sales tax included',
|
|
216
|
+
money: extractMoneyCurrency(finance?.sales_tax),
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
return ret;
|
|
220
|
+
}
|
|
221
|
+
getVatNotIncludingKeyForDetails(finance) {
|
|
222
|
+
if (this.isIndia(finance)) {
|
|
223
|
+
return VatDetailsKey.vatIndiaPercent;
|
|
224
|
+
}
|
|
225
|
+
if (this.isGhana(finance)) {
|
|
226
|
+
return VatDetailsKey.vatGhana;
|
|
227
|
+
}
|
|
228
|
+
return VatDetailsKey.vatPercent;
|
|
229
|
+
}
|
|
230
|
+
getVatIncludingKeyForDetails(finance) {
|
|
231
|
+
if (this.isIndia(finance)) {
|
|
232
|
+
return VatDetailsKey.vatIndiaPercentIncluding;
|
|
233
|
+
}
|
|
234
|
+
if (this.isGhana(finance)) {
|
|
235
|
+
return VatDetailsKey.vatGhanaIncluding;
|
|
236
|
+
}
|
|
237
|
+
return VatDetailsKey.vatPercentIncluding;
|
|
238
|
+
}
|
|
239
|
+
getVatLabelForTotalDetails(finance) {
|
|
240
|
+
if (this.isIndia(finance)) {
|
|
241
|
+
return `Including ${finance?.vat.percent ?? ''}% GST`;
|
|
242
|
+
}
|
|
243
|
+
if (this.isGhana(finance)) {
|
|
244
|
+
return 'Including VAT, NHIL, GETFund Levy, and Covid-19 Levy';
|
|
245
|
+
}
|
|
246
|
+
return `Including ${finance?.vat.percent ?? ''}% VAT`;
|
|
247
|
+
}
|
|
248
|
+
isIndia(finance) {
|
|
249
|
+
return finance?.payment_country.iso === 'IN';
|
|
250
|
+
}
|
|
251
|
+
isGhana(finance) {
|
|
252
|
+
return finance?.payment_country.iso === 'GH';
|
|
253
|
+
}
|
|
254
|
+
isDefaultImage(url) {
|
|
255
|
+
return defaultImagePatterns.some((regex) => regex.test(url));
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
SummaryFinanceDetailsAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SummaryFinanceDetailsAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
259
|
+
SummaryFinanceDetailsAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SummaryFinanceDetailsAdapterService, providedIn: 'root' });
|
|
260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SummaryFinanceDetailsAdapterService, decorators: [{
|
|
261
|
+
type: Injectable,
|
|
262
|
+
args: [{ providedIn: 'root' }]
|
|
263
|
+
}] });
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR2xFLE1BQU0sT0FBTyxtQ0FBbUM7SUFDdkMsaUJBQWlCLENBQUMsT0FBbUI7UUFDMUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQ3pDLGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRU8sNkJBQTZCLENBQUMsT0FBMEI7UUFDOUQsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sSUFBSSxPQUFPLEVBQUUs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SUFBSSxFQUFFLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRU8sT0FBTyxDQUFDLE9BQTBCO1FBQ3hDLE9BQU8sT0FBTyxFQUFFLGVBQWUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFTyxPQUFPLENBQUMsT0FBMEI7UUFDeEMsT0FBTyxPQUFPLEVBQUUsZUFBZSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Z0lBOVRVLG1DQUFtQztvSUFBbkMsbUNBQW1DLGNBRHRCLE1BQU07MkZBQ25CLG1DQUFtQztrQkFEL0MsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi4vLi4veHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0ZpbmFuY2UgfSBmcm9tICcuLi8uLi94cHMtZmluYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUHVyY2hhc2UgfSBmcm9tICcuLi8uLi94cHMtcHVyY2hhc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcnRJdGVtIH0gZnJvbSAnLi4vY2FydC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0U3VtbWFyeSB9IGZyb20gJy4uL2NhcnQtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgY3JlYXRlUHJpY2VPclVuZGVmaW5lZCwgZXh0cmFjdE1vbmV5Q3VycmVuY3kgfSBmcm9tICcuLi9wcmljZS5oZWxwZXJzJztcbmltcG9ydCB7IGRlZmF1bHRJbWFnZVBhdHRlcm5zIH0gZnJvbSAnLi9kZWZhdWx0LWltYWdlLXBhdHRlcm5zLmNvbnN0JztcbmltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi4vcHJpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmF0RGV0YWlsc0tleSB9IGZyb20gJy4uL3ZhdC1kZXRhaWxzLWtleS5lbnVtJztcbmltcG9ydCB7IFNhbGVzVGF4RGV0YWlsc0tleSB9IGZyb20gJy4vc2FsZXMtdGF4LWRldGFpbHMta2V5LmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk6IFhwc1N1bW1hcnkpOiBGaW5hbmNlRGV0YWlscyB7XG4gICAgY29uc3QgeyBwdXJjaGFzZSwgZmluYW5jZSB9ID0gc3VtbWFyeTtcbiAgICByZXR1cm4ge1xuICAgICAgcHVyY2hhc2U6IHB1cmNoYXNlLFxuICAgICAgZmluYW5jZTogZmluYW5jZSxcbiAgICAgIGNhcnRJdGVtczogdGhpcy5nZXRDYXJ0SXRlbXMocHVyY2hhc2UsIGZpbmFuY2UpLFxuICAgICAgY2FydFN1bW1hcnk6IHRoaXMuZ2V0Q2FydFN1bW1hcnkoZmluYW5jZSksXG4gICAgICBwYXltZW50Q291bnRyeTogdGhpcy5nZXRQYXltZW50Q291bnRyeShmaW5hbmNlKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRTaG93WmVyb0luZGlyZWN0VGF4UmF0ZShmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShmaW5hbmNlPy52YXQ/LnZpc2libGUgPz8gZmluYW5jZT8udmF0X3VzZXI/LnZpc2libGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NhbGVzVGF4ZXMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoZmluYW5jZT8uc2FsZXNfdGF4Py5hbW91bnQgPz8gZmluYW5jZT8uc2FsZXNfdGF4X3VzZXI/LmFtb3VudCk7XG4gIH1cblxuICBwcml2YXRlIGdldENhcnRJdGVtcyhcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UsXG4gICAgZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGxcbiAgKTogQ2FydEl0ZW1bXSB7XG4gICAgY29uc3QgY2hlY2tvdXRzOiBDYXJ0SXRlbVtdIHwgdW5kZWZpbmVkID0gcHVyY2hhc2UuY2hlY2tvdXRfaXRlbXM/Lm1hcChcbiAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW1nU3JjOiBpdGVtLmltYWdlX3VybCxcbiAgICAgICAgICBoYXNEZWZhdWx0SW1nOiB0aGlzLmlzRGVmYXVsdEltYWdlKGl0ZW0uaW1hZ2VfdXJsKSxcbiAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShpdGVtLCBmYWxzZSksXG4gICAgICAgICAgcHJpY2VCZWZvcmVEaXNjb3VudDogY3JlYXRlUHJpY2VPclVuZGVmaW5lZChcbiAgICAgICAgICAgIGl0ZW0uYW1vdW50X2JlZm9yZV9kaXNjb3VudCxcbiAgICAgICAgICAgIGl0ZW0uY3VycmVuY3lcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1YW50aXR5OiBpdGVtLnF1YW50aXR5LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHRheDogdGhpcy5nZXRUYXhGb3JJdGVtKGZpbmFuY2UsIGl0ZW0uaW5kaXJlY3RfdGF4X3JhdGUpLFxuICAgICAgICAgIGlzQm9udXM6IGl0ZW0uaXNfYm9udXMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHZpcnR1YWxDdXJyZW5jaWVzOiBDYXJ0SXRlbVtdIHwgdW5kZWZpbmVkID1cbiAgICAgIHB1cmNoYXNlLnZpcnR1YWxfY3VycmVuY3k/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGltZ1NyYzogaXRlbS5pbWFnZV91cmwsXG4gICAgICAgICAgaGFzRGVmYXVsdEltZzogdGhpcy5pc0RlZmF1bHRJbWFnZShpdGVtLmltYWdlX3VybCksXG4gICAgICAgICAgdGl0bGU6IGAke2l0ZW0ucXVhbnRpdHl9ICR7aXRlbS5uYW1lfWAsXG4gICAgICAgICAgcHJpY2U6IGV4dHJhY3RNb25leUN1cnJlbmN5KGl0ZW0pLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGlzQm9udXM6IGl0ZW0uaXNfYm9udXMsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHZpcnR1YWxJdGVtczogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9IHB1cmNoYXNlLnZpcnR1YWxfaXRlbXM/Lm1hcChcbiAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW1nU3JjOiBpdGVtLmltYWdlX3VybCxcbiAgICAgICAgICBoYXNEZWZhdWx0SW1nOiB0aGlzLmlzRGVmYXVsdEltYWdlKGl0ZW0uaW1hZ2VfdXJsKSxcbiAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShpdGVtKSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSxcbiAgICAgICAgICBpc0JvbnVzOiBpdGVtLmlzX2JvbnVzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICk7XG5cbiAgICBsZXQgY2hlY2tvdXRBcnJheTogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAocHVyY2hhc2UuY2hlY2tvdXQpIHtcbiAgICAgIGNoZWNrb3V0QXJyYXkgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICdjaGVja291dCcsXG4gICAgICAgICAgdGl0bGU6IHB1cmNoYXNlLmNoZWNrb3V0LmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShwdXJjaGFzZS5jaGVja291dCksXG4gICAgICAgICAgaXNCb251czogcHVyY2hhc2UuY2hlY2tvdXQuaXNfYm9udXMgPz8gZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICAuLi4oY2hlY2tvdXRzID8/IFtdKSxcbiAgICAgIC4uLih2aXJ0dWFsQ3VycmVuY2llcyA/PyBbXSksXG4gICAgICAuLi4odmlydHVhbEl0ZW1zID8/IFtdKSxcbiAgICAgIC4uLihjaGVja291dEFycmF5ID8/IFtdKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXJ0U3VtbWFyeShmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IENhcnRTdW1tYXJ5IHtcbiAgICByZXR1cm4ge1xuICAgICAgc3VidG90YWw6IHtcbiAgICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICAgIG1vbmV5OiBjcmVhdGVQcmljZU9yVW5kZWZpbmVkKFxuICAgICAgICAgIGZpbmFuY2U/LnN1Yl90b3RhbD8uYW1vdW50LFxuICAgICAgICAgIGZpbmFuY2U/LnN1Yl90b3RhbD8uY3VycmVuY3lcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBzdWJ0b3RhbFBheW1lbnQ6IHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBtb25leTogY3JlYXRlUHJpY2VPclVuZGVmaW5lZChcbiAgICAgICAgICBmaW5hbmNlPy5zdWJfdG90YWw/LnBheW1lbnRfYW1vdW50LFxuICAgICAgICAgIGZpbmFuY2U/LnN1Yl90b3RhbD8ucGF5bWVudF9jdXJyZW5jeVxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHRvdGFsOiB7XG4gICAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8udG90YWwpLFxuICAgICAgfSxcbiAgICAgIHRvdGFsRGV0YWlsczogdGhpcy5nZXRUYXhlc0ZvclRvdGFsRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi50aGlzLmdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgICAgLi4udGhpcy5nZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF5bWVudENvdW50cnkoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIHJldHVybiBmaW5hbmNlPy5wYXltZW50X2NvdW50cnk/LmlzbyA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGF4Rm9ySXRlbShcbiAgICBmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCxcbiAgICBpbmRpcmVjdFRheFJhdGU/OiBudW1iZXJcbiAgKTogQ2FydExpbmUgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICBpbmRpcmVjdFRheFJhdGUgfHxcbiAgICAgICh0aGlzLnNob3VsZFNob3daZXJvSW5kaXJlY3RUYXhSYXRlKGZpbmFuY2UpICYmIGluZGlyZWN0VGF4UmF0ZSA9PT0gMClcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLmlzU2FsZXNUYXhlcyhmaW5hbmNlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogU2FsZXNUYXhEZXRhaWxzS2V5LnNhbGVzVGF4UGVyY2VudCxcbiAgICAgICAgICBjb250ZW50OiBgU2FsZXMgdGF4ICR7aW5kaXJlY3RUYXhSYXRlfSVgLFxuICAgICAgICAgIHJhdGU6IGluZGlyZWN0VGF4UmF0ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXNJbmRpYShmaW5hbmNlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQsXG4gICAgICAgICAgY29udGVudDogYEdTVCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgICAgICByYXRlOiBpbmRpcmVjdFRheFJhdGUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzR2hhbmEoZmluYW5jZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6IFZhdERldGFpbHNLZXkudmF0R2hhbmEsXG4gICAgICAgICAgY29udGVudDogJ1ZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eScsXG4gICAgICAgICAgcmF0ZTogaW5kaXJlY3RUYXhSYXRlLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCxcbiAgICAgICAgY29udGVudDogYFZBVCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgICAgcmF0ZTogaW5kaXJlY3RUYXhSYXRlLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IENhcnRMaW5lW10ge1xuICAgIGlmICghZmluYW5jZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8vIHN1YnRvdGFsIGRldGFpbHMgZmllbGRzXG4gICAgY29uc3Qgc3VidG90YWxEZXRhaWxzU29ydGluZyA9IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZGlzY291bnQnLFxuICAgICAgICByZXNwb25zZUtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgdGl0bGU6ICdEaXNjb3VudCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdmZWUnLFxuICAgICAgICByZXNwb25zZUtleTogJ2ZlZScsXG4gICAgICAgIHRpdGxlOiAnUGF5bWVudCBzeXN0ZW0gZmVlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ3VzZXItYmFsYW5jZScsXG4gICAgICAgIHJlc3BvbnNlS2V5OiAndXNlcl9iYWxhbmNlJyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBzdWJ0b3RhbERldGFpbHNTb3J0aW5nLm1hcCgoc29ydGluZykgPT4ge1xuICAgICAgY29uc3QgZmllbGQgPSAoZmluYW5jZSBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KVtcbiAgICAgICAgc29ydGluZy5yZXNwb25zZUtleVxuICAgICAgXSBhcyBQcmljZTtcblxuICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiBzb3J0aW5nLmtleSxcbiAgICAgICAgICB0aXRsZTogc29ydGluZy50aXRsZSxcbiAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgYW1vdW50OlxuICAgICAgICAgICAgICBzb3J0aW5nLmtleSA9PT0gJ2Rpc2NvdW50JyAmJiBmaWVsZC5hbW91bnRcbiAgICAgICAgICAgICAgICA/IC1maWVsZC5hbW91bnRcbiAgICAgICAgICAgICAgICA6IGZpZWxkLmFtb3VudCxcbiAgICAgICAgICAgIGN1cnJlbmN5OiBmaWVsZC5jdXJyZW5jeSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNvcnRpbmc7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRheGVzRm9yU3VidG90YWxEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgcmV0ID0gW107XG5cbiAgICAvLyBzdWJ0b3RhbC4gVkFUICVwXG4gICAgaWYgKFxuICAgICAgZmluYW5jZT8udmF0X3VzZXIgJiZcbiAgICAgIChmaW5hbmNlPy52YXRfdXNlcj8uYW1vdW50ID8/IGZpbmFuY2U/LnZhdF91c2VyPy52aXNpYmxlKVxuICAgICkge1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5Rm9yRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgICAgdGl0bGU6IHRoaXMuZ2V0VmF0TGFiZWxGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZSksXG4gICAgICAgIG1vbmV5OiBleHRyYWN0TW9uZXlDdXJyZW5jeShmaW5hbmNlPy52YXRfdXNlciksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZmluYW5jZT8uc2FsZXNfdGF4X3VzZXI/LmFtb3VudCkge1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICBrZXk6IFNhbGVzVGF4RGV0YWlsc0tleS5zYWxlc1RheCxcbiAgICAgICAgdGl0bGU6ICdTYWxlcyB0YXgnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8uc2FsZXNfdGF4X3VzZXIpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmF0TGFiZWxGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBgR1NUICR7ZmluYW5jZT8udmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShmaW5hbmNlKSkge1xuICAgICAgcmV0dXJuIGBWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnlgO1xuICAgIH1cblxuICAgIHJldHVybiBgVkFUICR7ZmluYW5jZT8udmF0X3VzZXI/LnBlcmNlbnQgPz8gJyd9JWA7XG4gIH1cblxuICBwcml2YXRlIGdldFRheGVzRm9yVG90YWxEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgcmV0ID0gW107XG5cbiAgICAvLyBmb3IgdG90YWxEZXRhaWxzLiBWQVRcbiAgICBpZiAoXG4gICAgICAoZmluYW5jZT8udmF0Py5hbW91bnQgfHwgZmluYW5jZT8udmF0Py52aXNpYmxlKSAmJlxuICAgICAgIWZpbmFuY2U/LnZhdF91c2VyPy5hbW91bnRcbiAgICApIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiB0aGlzLmdldFZhdEluY2x1ZGluZ0tleUZvckRldGFpbHMoZmluYW5jZSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdExhYmVsRm9yVG90YWxEZXRhaWxzKGZpbmFuY2UpLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8udmF0KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChmaW5hbmNlPy5zYWxlc190YXg/LmFtb3VudCAmJiAhZmluYW5jZT8uc2FsZXNfdGF4X3VzZXI/LmFtb3VudCkge1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICBrZXk6IFNhbGVzVGF4RGV0YWlsc0tleS5zYWxlc1RheEluY2x1ZGluZyxcbiAgICAgICAgdGl0bGU6ICdTYWxlcyB0YXggaW5jbHVkZWQnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8uc2FsZXNfdGF4KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleUZvckRldGFpbHMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEluZGlhUGVyY2VudDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYTtcbiAgICB9XG5cbiAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlGb3JEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnRJbmNsdWRpbmc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShmaW5hbmNlKSkge1xuICAgICAgcmV0dXJuIFZhdERldGFpbHNLZXkudmF0R2hhbmFJbmNsdWRpbmc7XG4gICAgfVxuXG4gICAgcmV0dXJuIFZhdERldGFpbHNLZXkudmF0UGVyY2VudEluY2x1ZGluZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmF0TGFiZWxGb3JUb3RhbERldGFpbHMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBgSW5jbHVkaW5nICR7ZmluYW5jZT8udmF0LnBlcmNlbnQgPz8gJyd9JSBHU1RgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBJbmNsdWRpbmcgJHtmaW5hbmNlPy52YXQucGVyY2VudCA/PyAnJ30lIFZBVGA7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmluYW5jZT8ucGF5bWVudF9jb3VudHJ5LmlzbyA9PT0gJ0lOJztcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaW5hbmNlPy5wYXltZW50X2NvdW50cnkuaXNvID09PSAnR0gnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0RlZmF1bHRJbWFnZSh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkZWZhdWx0SW1hZ2VQYXR0ZXJucy5zb21lKChyZWdleCkgPT4gcmVnZXgudGVzdCh1cmwpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export var VatDetailsKey;
|
|
2
|
+
(function (VatDetailsKey) {
|
|
3
|
+
VatDetailsKey["vat"] = "vat";
|
|
4
|
+
VatDetailsKey["vatPercent"] = "vat-percent";
|
|
5
|
+
VatDetailsKey["vatIncluding"] = "vat-including";
|
|
6
|
+
VatDetailsKey["vatPercentIncluding"] = "vat-percent-including";
|
|
7
|
+
VatDetailsKey["vatIndia"] = "vat-india";
|
|
8
|
+
VatDetailsKey["vatIndiaPercent"] = "vat-india-percent";
|
|
9
|
+
VatDetailsKey["vatIndiaIncluding"] = "vat-india-including";
|
|
10
|
+
VatDetailsKey["vatIndiaPercentIncluding"] = "vat-india-percent-including";
|
|
11
|
+
VatDetailsKey["vatGhana"] = "vat-ghana";
|
|
12
|
+
VatDetailsKey["vatGhanaIncluding"] = "vat-ghana-including";
|
|
13
|
+
})(VatDetailsKey || (VatDetailsKey = {}));
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmF0LWRldGFpbHMta2V5LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy92YXQtZGV0YWlscy1rZXkuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQWFYO0FBYkQsV0FBWSxhQUFhO0lBQ3ZCLDRCQUFXLENBQUE7SUFDWCwyQ0FBMEIsQ0FBQTtJQUMxQiwrQ0FBOEIsQ0FBQTtJQUM5Qiw4REFBNkMsQ0FBQTtJQUU3Qyx1Q0FBc0IsQ0FBQTtJQUN0QixzREFBcUMsQ0FBQTtJQUNyQywwREFBeUMsQ0FBQTtJQUN6Qyx5RUFBd0QsQ0FBQTtJQUV4RCx1Q0FBc0IsQ0FBQTtJQUN0QiwwREFBeUMsQ0FBQTtBQUMzQyxDQUFDLEVBYlcsYUFBYSxLQUFiLGFBQWEsUUFheEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBWYXREZXRhaWxzS2V5IHtcbiAgdmF0ID0gJ3ZhdCcsXG4gIHZhdFBlcmNlbnQgPSAndmF0LXBlcmNlbnQnLFxuICB2YXRJbmNsdWRpbmcgPSAndmF0LWluY2x1ZGluZycsXG4gIHZhdFBlcmNlbnRJbmNsdWRpbmcgPSAndmF0LXBlcmNlbnQtaW5jbHVkaW5nJyxcblxuICB2YXRJbmRpYSA9ICd2YXQtaW5kaWEnLFxuICB2YXRJbmRpYVBlcmNlbnQgPSAndmF0LWluZGlhLXBlcmNlbnQnLFxuICB2YXRJbmRpYUluY2x1ZGluZyA9ICd2YXQtaW5kaWEtaW5jbHVkaW5nJyxcbiAgdmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nID0gJ3ZhdC1pbmRpYS1wZXJjZW50LWluY2x1ZGluZycsXG5cbiAgdmF0R2hhbmEgPSAndmF0LWdoYW5hJyxcbiAgdmF0R2hhbmFJbmNsdWRpbmcgPSAndmF0LWdoYW5hLWluY2x1ZGluZycsXG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3BheW1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9mb3JtL2lucHV0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHsgRm9ybUZpZWxkc1N0YXR1cyB9IGZyb20gJy4vZm9ybS9mb3JtLWZpZWxkcy1zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1TdGF0ZSB9IGZyb20gJy4vZm9ybS9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudCB7XG4gIGluaXRpYWxpemUoKTogUHJvbWlzZTxGaWVsZFtdPjtcbiAgc3VibWl0KCk6IFByb21pc2U8TmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkPjtcbiAgZ2V0RmllbGRzKCk6IEZpZWxkW107XG4gIHZhbGlkYXRlKGZpZWxkOiBGaWVsZCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+O1xuICBnZXRGaW5hbmNlRGV0YWlscygpOiBGaW5hbmNlRGV0YWlscyB8IG51bGw7XG4gIHJ1blRocmVlRHMoKTogdm9pZDtcbiAgZ2V0U3RhdHVzKCk6IFByb21pc2U8U3RhdHVzPjtcbiAgZm9ybToge1xuICAgIGZpZWxkc1N0YXR1cyQ6IE9ic2VydmFibGU8Rm9ybUZpZWxkc1N0YXR1cz47XG4gICAgY2hhbmdlRmllbGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuICAgIGdldENvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogQ29udHJvbENvbmZpZyB8IG51bGw7XG4gICAgY2hhbmdlRmllbGRTdGF0ZShuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSk6IHZvaWQ7XG4gICAgdXBkYXRlRmllbGRGb3JtU3RhdGUoZmllbGROYW1lOiBzdHJpbmcsIGZvcm1TdGF0ZTogRm9ybVN0YXRlKTogdm9pZDtcbiAgfTtcbiAgZmxvd1VwZGF0ZXMkOiBPYnNlcnZhYmxlPE5leHRBY3Rpb24+O1xuICBmaW5hbmNlRGV0YWlsc1VwZGF0ZXMkOiBPYnNlcnZhYmxlPEZpbmFuY2VEZXRhaWxzPjtcbn1cbiJdfQ==
|
|
@@ -151,7 +151,7 @@ export class PaymentService {
|
|
|
151
151
|
this.threeDsService.stopChecking();
|
|
152
152
|
}
|
|
153
153
|
emitFinanceDetails(summary) {
|
|
154
|
-
this.financeDetailsService.
|
|
154
|
+
this.financeDetailsService.emitWithSummary(summary);
|
|
155
155
|
}
|
|
156
156
|
emitCreditCardState(idCardType) {
|
|
157
157
|
this.creditCardStateService.emit({ idCardType });
|
|
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
204
204
|
providedIn: 'root',
|
|
205
205
|
}]
|
|
206
206
|
}], ctorParameters: function () { return [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.CreditCardStateService }, { type: i8.NextActionService }, { type: i9.ControlConfigService }, { type: i10.ThreeDsService }]; } });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWlCekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7OztBQU1oRCxNQUFNLE9BQU8sY0FBYztJQUd6QixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQWFELFlBQ21CLGlCQUFvQyxFQUNwQyxhQUE0QixFQUM1QixXQUF3QixFQUN4QixXQUF3QixFQUN4QixhQUE0QixFQUM1QixxQkFBNEMsRUFDNUMsc0JBQThDLEVBQzlDLGlCQUFvQyxFQUNwQyxvQkFBMEMsRUFDMUMsY0FBOEI7UUFUOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FB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b0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDdkMsS0FBSyxVQUFVLENBQUMsVUFBVTtvQkFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FDcEQsQ0FBQzthQUNMO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVPLHVCQUF1QixDQUFDLElBQXNCO1FBQ3BELElBQUksQ0FBQyxhQUFhO2FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzJHQWpQVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9mb3JtL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUvcmVzcG9uc2UvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBJbml0aWFsaXplU2VydmljZSB9IGZyb20gJy4vaW5pdGlhbGl6ZS9pbml0aWFsaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRTZXJ2aWNlIH0gZnJvbSAnLi9zdWJtaXQvc3VibWl0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3luY1NlcnZpY2UgfSBmcm9tICcuL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5jbGFzcyc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnIH0gZnJvbSAnLi9wYXltZW50LWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgaXNTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL2lzLXN1Ym1pdC1yZXNwb25zZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4veHBzLWJvb2xlYW4uZW51bSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi9mb3JtL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbi1lcnJvcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9mb3JtL2lucHV0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHsgRm9ybUZpZWxkc1N0YXR1cyB9IGZyb20gJy4vZm9ybS9mb3JtLWZpZWxkcy1zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRocmVlRHNTZXJ2aWNlIH0gZnJvbSAnLi90aHJlZS1kcy90aHJlZS1kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuL3hwcy1jb21hbmQuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRTZXJ2aWNlIHtcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGZvcm1GaWVsZHNTdGF0dXMkKCk6IE9ic2VydmFibGU8Rm9ybUZpZWxkc1N0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKEJvb2xlYW4pKTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0YTogSW5pdGlhbGl6ZVJlc3BvbnNlIHwgU3VibWl0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmaW5hbmNlRGV0YWlsczogRmluYW5jZURldGFpbHMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmb2N1c0ZpZWxkTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgY29uZmlnITogUGF5bWVudENvbmZpZztcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBmb3JtRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1GaWVsZHNTdGF0dXMgfCBudWxsPihudWxsKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsaXplU2VydmljZTogSW5pdGlhbGl6ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJtaXRTZXJ2aWNlOiBTdWJtaXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzU2VydmljZTogU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFN0YXRlU2VydmljZTogQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xDb25maWdTZXJ2aWNlOiBDb250cm9sQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRocmVlRHNTZXJ2aWNlOiBUaHJlZURzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoY29uZmlnOiBQYXltZW50Q29uZmlnKTogUHJvbWlzZTxGaWVsZFtdPiB7XG4gICAgdGhpcy5kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy5mb3JtRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy5saXN0ZW5GaW5hbmNlRGV0YWlscygpO1xuXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5kYXRhID0gYXdhaXQgdGhpcy5pbml0aWFsaXplU2VydmljZS5yZXF1ZXN0KGNvbmZpZyk7XG5cbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ2V0RmllbGRzKCk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtU2VydmljZS5jcmVhdGVGb3JtKHRoaXMuZmllbGRzKTtcblxuICAgIHRoaXMuc2V0dXBTeW5jU2VydmljZSh0aGlzLmZvcm0sIHRoaXMuZmllbGRzKTtcbiAgICB0aGlzLmxpc3RlbkZvcm1TdGF0dXNDaGFuZ2VzKHRoaXMuZm9ybSk7XG5cbiAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyh0aGlzLmRhdGEucGF5bWVudEZvcm0/LnN1bW1hcnkpO1xuICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXModGhpcy5mb3JtKTtcblxuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maWx0ZXIoXG4gICAgICAoZmllbGQ6IEZpZWxkKSA9PiBmaWVsZD8uaXNWaXNpYmxlID09PSBYcHNCb29sZWFuLnRydWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN1Ym1pdCgpOiBQcm9taXNlPE5leHRBY3Rpb24gfCBudWxsIHwgdm9pZD4ge1xuICAgIGlmICghdGhpcy5mb3JtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Zvcm0gaXMgZW1wdHkhJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3VibWl0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN1Ym1pdFNlcnZpY2UucmVxdWVzdChcbiAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgdGhpcy5mb3JtXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YSA9IHN1Ym1pdFJlc3BvbnNlO1xuXG4gICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMoc3VibWl0UmVzcG9uc2Uuc3VtbWFyeSk7XG5cbiAgICAvLyBIYW5kbGUgM2RzIGZsb3dcbiAgICBpZiAoc3VibWl0UmVzcG9uc2UuY3VycmVudENvbW1hbmQgPT09IFhwc0NvbW1hbmQuY3JlYXRlKSB7XG4gICAgICB0aGlzLnJ1blRocmVlRHMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ2V0RmllbGRzKCk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtU2VydmljZS5jcmVhdGVGb3JtKHRoaXMuZmllbGRzKTtcblxuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmdldE5leHRBY3Rpb24oc3VibWl0UmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkcygpOiBGaWVsZFtdIHtcbiAgICBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgU3VibWl0UmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmllbGRzID8/IFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGE/LnBheW1lbnRGb3JtPy5maWVsZHMgPz8gW107XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoZmllbGQ6IEZpZWxkKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgIGNvbnN0IHN5bmNFcnJvcnMgPSB0aGlzLnN5bmNTZXJ2aWNlLmdldFN5bmNWYWxpZGF0aW9uRXJyb3JzKGZpZWxkKTtcblxuICAgIGlmIChzeW5jRXJyb3JzKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN5bmNFcnJvcnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN5bmNTZXJ2aWNlLnZhbGlkYXRlKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBydW5UaHJlZURzKCk6IHZvaWQge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIHRoaXMudGhyZWVEc1NlcnZpY2UuY2hlY2tUaHJlZURzKHRoaXMuZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoKTogRmluYW5jZURldGFpbHMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlscztcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWU6IHN0cmluZywgZm9ybVN0YXRlOiBGb3JtU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm1TZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKFxuICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIGZvcm1TdGF0ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKCk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgcGlkOiB0aGlzLmNvbmZpZy5wYXltZW50TWV0aG9kSWQsXG4gICAgICBpbnZvaWNlOiBwYXJzZUludCh0aGlzLmRhdGEuZml4SW52b2ljZSA/PyAnJyksXG4gICAgICBzaWduYXR1cmU6IHRoaXMuZGF0YS5zaWduYXR1cmUgPz8gJycsXG4gICAgICBsb2NhbGU6XG4gICAgICAgIHRoaXMuZGF0YS5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdsb2NhbGUnKT8udmFsdWUgPz9cbiAgICAgICAgJ2VuJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzU2VydmljZS5nZXRTdGF0dXMocGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZENvbmZpZyhmaWVsZDogRmllbGQpOiBDb250cm9sQ29uZmlnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbENvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VGaWVsZFZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG4gICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VGaWVsZFN0YXRlKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0/LmdldChuYW1lKTtcblxuICAgIGlmICghdGhpcy5mb3JtIHx8ICFmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgSW5wdXRFdmVudE5hbWUuYmx1cjoge1xuICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9jdXNGaWVsZE5hbWUgPSBudWxsO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgSW5wdXRFdmVudE5hbWUuZm9jdXM6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9jdXNGaWVsZE5hbWUgPSBuYW1lO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGEgPSBudWxsO1xuICAgIHRoaXMuZmluYW5jZURldGFpbHMgPSBudWxsO1xuICAgIHRoaXMuZm9ybSA9IG51bGw7XG4gICAgdGhpcy5maWVsZHMgPSBbXTtcbiAgICB0aGlzLmZvcm1EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG5cbiAgICB0aGlzLnRocmVlRHNTZXJ2aWNlLnN0b3BDaGVja2luZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmluYW5jZURldGFpbHMoc3VtbWFyeT86IFhwc1N1bW1hcnkpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q3JlZGl0Q2FyZFN0YXRlKGlkQ2FyZFR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5lbWl0KHsgaWRDYXJkVHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybTogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHNTdGF0dXM6IEZvcm1GaWVsZHNTdGF0dXMgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW25hbWVdO1xuICAgICAgZm9ybUZpZWxkc1N0YXR1c1tuYW1lXSA9IHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgdmFsaWRhdGlvblN0YXR1czogY29udHJvbC5zdGF0dXMsXG4gICAgICAgIGVycm9yczogY29udHJvbC5lcnJvcnMsXG4gICAgICAgIGlzRm9jdXNlZDogdGhpcy5mb2N1c0ZpZWxkTmFtZSA9PT0gbmFtZSxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0Lm5leHQoZm9ybUZpZWxkc1N0YXR1cyk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwU3luY1NlcnZpY2UoZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgZmllbGRzOiBGaWVsZFtdKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jU2VydmljZS5zZXR1cChmb3JtLCBmaWVsZHMpO1xuICAgIHRoaXMuc3luY1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHJlc3BvbnNlLnN1bW1hcnkpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnN5bmNTZXJ2aWNlLmZpZWxkQXN5bmNWYWxpZGF0aW9uJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZmllbGRBc3luY1ZhbGlkYXRpb24pID0+IHtcbiAgICAgICAgc3dpdGNoIChmaWVsZEFzeW5jVmFsaWRhdGlvbi5maWVsZC5uYW1lKSB7XG4gICAgICAgICAgY2FzZSBGaWVsZE5hbWVzLmNhcmROdW1iZXI6XG4gICAgICAgICAgICB0aGlzLmVtaXRDcmVkaXRDYXJkU3RhdGUoXG4gICAgICAgICAgICAgIGZpZWxkQXN5bmNWYWxpZGF0aW9uLnJlc3BvbnNlLnBhcmFtZXRlcnMuaWRDYXJkVHlwZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZpbmFuY2VEZXRhaWxzKCk6IHZvaWQge1xuICAgIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChmaW5hbmNlRGV0YWlscykgPT4gKHRoaXMuZmluYW5jZURldGFpbHMgPSBmaW5hbmNlRGV0YWlscykpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JtU3RhdHVzQ2hhbmdlcyhmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgZm9ybS5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5mb3JtRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKGZvcm0pKTtcbiAgfVxufVxuIl19
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWlCekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7OztBQU1oRCxNQUFNLE9BQU8sY0FBYztJQUd6QixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQWFELFlBQ21CLGlCQUFvQyxFQUNwQyxhQUE0QixFQUM1QixXQUF3QixFQUN4QixXQUF3QixFQUN4QixhQUE0QixFQUM1QixxQkFBNEMsRUFDNUMsc0JBQThDLEVBQzlDLGlCQUFvQyxFQUNwQyxvQkFBMEMsRUFDMUMsY0FBOEI7UUFUOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQTNCMUMsU0FBSSxHQUE0QixJQUFJLENBQUM7UUFNcEMsU0FBSSxHQUErQyxJQUFJLENBQUM7UUFDeEQsbUJBQWMsR0FBMEIsSUFBSSxDQUFDO1FBQzdDLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUNyQyxXQUFNLEdBQVksRUFBRSxDQUFDO1FBR3JCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMxQiw0QkFBdUIsR0FDdEMsSUFBSSxlQUFlLENBQTBCLElBQUksQ0FBQyxDQUFDO0lBYWxELENBQUM7SUFFRyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQXFCO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFeEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDdkIsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLDhCQUFvQixDQUN2RCxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ25DO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLE9BQU87U0FDUjtRQUVELE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ3JELElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7UUFFM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVoRCxrQkFBa0I7UUFDbEIsSUFBSSxjQUFjLENBQUMsY0FBYyxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxjQUFjLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7U0FDL0I7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBWTtRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5FLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxTQUFpQixFQUFFLFNBQW9CO1FBQ2pFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQ25DLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxTQUFTLEVBQ1QsU0FBUyxDQUNWLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUM3QztRQUVELE1BQU0sTUFBTSxHQUF3QjtZQUNsQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlO1lBQ2hDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBQzdDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQ3BDLE1BQU0sRUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUUsS0FBSztnQkFDaEUsSUFBSTtTQUNQLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBWTtRQUNoQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQVksRUFBRSxLQUFhO1FBQ2pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQVksRUFBRSxLQUFxQjtRQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFFRCxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QixXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixNQUFNO2FBQ1A7WUFDRCxLQUFLLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztnQkFDM0IsTUFBTTthQUNQO1NBQ0Y7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE9BQW9CO1FBQzdDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFVBQWtCO1FBQzVDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxJQUFzQjtRQUNqRCxNQUFNLGdCQUFnQixHQUFxQixFQUFFLENBQUM7UUFFOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFDdkIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE1BQU07Z0JBQ2hDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSTthQUN4QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQXNCLEVBQUUsTUFBZTtRQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO2FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQjthQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFO1lBQ2xDLFFBQVEsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDdkMsS0FBSyxVQUFVLENBQUMsVUFBVTtvQkFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FDcEQsQ0FBQzthQUNMO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVPLHVCQUF1QixDQUFDLElBQXNCO1FBQ3BELElBQUksQ0FBQyxhQUFhO2FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzJHQWpQVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9mb3JtL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUvcmVzcG9uc2UvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBJbml0aWFsaXplU2VydmljZSB9IGZyb20gJy4vaW5pdGlhbGl6ZS9pbml0aWFsaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRTZXJ2aWNlIH0gZnJvbSAnLi9zdWJtaXQvc3VibWl0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3luY1NlcnZpY2UgfSBmcm9tICcuL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRyb2xDb25maWcgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2Zvcm0vY29udHJvbHMvY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzU3VtbWFyeSB9IGZyb20gJy4veHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZyB9IGZyb20gJy4vcGF5bWVudC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IGlzU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3N1Ym1pdC9yZXNwb25zZS9pcy1zdWJtaXQtcmVzcG9uc2UuZnVuY3Rpb24nO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJy4vZm9ybS92YWxpZGF0b3JzL3ZhbGlkYXRpb24tZXJyb3JzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50TmFtZSB9IGZyb20gJy4vZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IEZvcm1GaWVsZHNTdGF0dXMgfSBmcm9tICcuL2Zvcm0vZm9ybS1maWVsZHMtc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaHJlZURzU2VydmljZSB9IGZyb20gJy4vdGhyZWUtZHMvdGhyZWUtZHMuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNDb21tYW5kIH0gZnJvbSAnLi94cHMtY29tYW5kLmVudW0nO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSB9IGZyb20gJy4vY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IEZvcm1TdGF0ZSB9IGZyb20gJy4vZm9ybS9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50U2VydmljZSB7XG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBmb3JtRmllbGRzU3RhdHVzJCgpOiBPYnNlcnZhYmxlPEZvcm1GaWVsZHNTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtRmllbGRzU3RhdHVzU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGZpbHRlcihCb29sZWFuKSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGE6IEluaXRpYWxpemVSZXNwb25zZSB8IFN1Ym1pdFJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZmluYW5jZURldGFpbHM6IEZpbmFuY2VEZXRhaWxzIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZm9jdXNGaWVsZE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGNvbmZpZyE6IFBheW1lbnRDb25maWc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgZm9ybURlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmllbGRzU3RhdHVzU3ViamVjdCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRmllbGRzU3RhdHVzIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbGl6ZVNlcnZpY2U6IEluaXRpYWxpemVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VibWl0U2VydmljZTogU3VibWl0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTdGF0ZVNlcnZpY2U6IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29uZmlnU2VydmljZTogQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aHJlZURzU2VydmljZTogVGhyZWVEc1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKGNvbmZpZzogUGF5bWVudENvbmZpZyk6IFByb21pc2U8RmllbGRbXT4ge1xuICAgIHRoaXMuZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuZm9ybURlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHRoaXMubGlzdGVuRmluYW5jZURldGFpbHMoKTtcblxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuZGF0YSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVNlcnZpY2UucmVxdWVzdChjb25maWcpO1xuXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNlcnZpY2UuY3JlYXRlRm9ybSh0aGlzLmZpZWxkcyk7XG5cbiAgICB0aGlzLnNldHVwU3luY1NlcnZpY2UodGhpcy5mb3JtLCB0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy5saXN0ZW5Gb3JtU3RhdHVzQ2hhbmdlcyh0aGlzLmZvcm0pO1xuXG4gICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHModGhpcy5kYXRhLnBheW1lbnRGb3JtPy5zdW1tYXJ5KTtcbiAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG5cbiAgICByZXR1cm4gdGhpcy5maWVsZHMuZmlsdGVyKFxuICAgICAgKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQ/LmlzVmlzaWJsZSA9PT0gWHBzQm9vbGVhbi50cnVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdWJtaXQoKTogUHJvbWlzZTxOZXh0QWN0aW9uIHwgbnVsbCB8IHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmb3JtIGlzIGVtcHR5IScpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Ym1pdFJlc3BvbnNlID0gYXdhaXQgdGhpcy5zdWJtaXRTZXJ2aWNlLnJlcXVlc3QoXG4gICAgICB0aGlzLmZpZWxkcyxcbiAgICAgIHRoaXMuZm9ybVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGEgPSBzdWJtaXRSZXNwb25zZTtcblxuICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHN1Ym1pdFJlc3BvbnNlLnN1bW1hcnkpO1xuXG4gICAgLy8gSGFuZGxlIDNkcyBmbG93XG4gICAgaWYgKHN1Ym1pdFJlc3BvbnNlLmN1cnJlbnRDb21tYW5kID09PSBYcHNDb21tYW5kLmNyZWF0ZSkge1xuICAgICAgdGhpcy5ydW5UaHJlZURzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNlcnZpY2UuY3JlYXRlRm9ybSh0aGlzLmZpZWxkcyk7XG5cbiAgICByZXR1cm4gdGhpcy5uZXh0QWN0aW9uU2VydmljZS5nZXROZXh0QWN0aW9uKHN1Ym1pdFJlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZHMoKTogRmllbGRbXSB7XG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIFN1Ym1pdFJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhLmZpZWxkcyA/PyBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kYXRhPy5wYXltZW50Rm9ybT8uZmllbGRzID8/IFtdO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHZhbGlkYXRlKGZpZWxkOiBGaWVsZCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCBzeW5jRXJyb3JzID0gdGhpcy5zeW5jU2VydmljZS5nZXRTeW5jVmFsaWRhdGlvbkVycm9ycyhmaWVsZCk7XG5cbiAgICBpZiAoc3luY0Vycm9ycykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzeW5jRXJyb3JzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zeW5jU2VydmljZS52YWxpZGF0ZShmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgcnVuVGhyZWVEcygpOiB2b2lkIHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICB0aGlzLnRocmVlRHNTZXJ2aWNlLmNoZWNrVGhyZWVEcyh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldEZpbmFuY2VEZXRhaWxzKCk6IEZpbmFuY2VEZXRhaWxzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHM7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmllbGRGb3JtU3RhdGUoZmllbGROYW1lOiBzdHJpbmcsIGZvcm1TdGF0ZTogRm9ybVN0YXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtU2VydmljZS51cGRhdGVGaWVsZEZvcm1TdGF0ZShcbiAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgZmllbGROYW1lLFxuICAgICAgICBmb3JtU3RhdGVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cygpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIHBpZDogdGhpcy5jb25maWcucGF5bWVudE1ldGhvZElkLFxuICAgICAgaW52b2ljZTogcGFyc2VJbnQodGhpcy5kYXRhLmZpeEludm9pY2UgPz8gJycpLFxuICAgICAgc2lnbmF0dXJlOiB0aGlzLmRhdGEuc2lnbmF0dXJlID8/ICcnLFxuICAgICAgbG9jYWxlOlxuICAgICAgICB0aGlzLmRhdGEuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnbG9jYWxlJyk/LnZhbHVlID8/XG4gICAgICAgICdlbicsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRDb25maWcoZmllbGQ6IEZpZWxkKTogQ29udHJvbENvbmZpZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbmZpZyhmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuICAgIGZvcm1Db250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRTdGF0ZShuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG5cbiAgICBpZiAoIXRoaXMuZm9ybSB8fCAhZm9ybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmJsdXI6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmZvY3VzOiB7XG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbmFtZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhID0gbnVsbDtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzID0gbnVsbDtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5mb3JtRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXG4gICAgdGhpcy50aHJlZURzU2VydmljZS5zdG9wQ2hlY2tpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk/OiBYcHNTdW1tYXJ5KTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdW1tYXJ5KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q3JlZGl0Q2FyZFN0YXRlKGlkQ2FyZFR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5lbWl0KHsgaWRDYXJkVHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybTogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHNTdGF0dXM6IEZvcm1GaWVsZHNTdGF0dXMgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW25hbWVdO1xuICAgICAgZm9ybUZpZWxkc1N0YXR1c1tuYW1lXSA9IHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgdmFsaWRhdGlvblN0YXR1czogY29udHJvbC5zdGF0dXMsXG4gICAgICAgIGVycm9yczogY29udHJvbC5lcnJvcnMsXG4gICAgICAgIGlzRm9jdXNlZDogdGhpcy5mb2N1c0ZpZWxkTmFtZSA9PT0gbmFtZSxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0Lm5leHQoZm9ybUZpZWxkc1N0YXR1cyk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwU3luY1NlcnZpY2UoZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgZmllbGRzOiBGaWVsZFtdKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jU2VydmljZS5zZXR1cChmb3JtLCBmaWVsZHMpO1xuICAgIHRoaXMuc3luY1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZW1pdEZpbmFuY2VEZXRhaWxzKHJlc3BvbnNlLnN1bW1hcnkpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnN5bmNTZXJ2aWNlLmZpZWxkQXN5bmNWYWxpZGF0aW9uJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZmllbGRBc3luY1ZhbGlkYXRpb24pID0+IHtcbiAgICAgICAgc3dpdGNoIChmaWVsZEFzeW5jVmFsaWRhdGlvbi5maWVsZC5uYW1lKSB7XG4gICAgICAgICAgY2FzZSBGaWVsZE5hbWVzLmNhcmROdW1iZXI6XG4gICAgICAgICAgICB0aGlzLmVtaXRDcmVkaXRDYXJkU3RhdGUoXG4gICAgICAgICAgICAgIGZpZWxkQXN5bmNWYWxpZGF0aW9uLnJlc3BvbnNlLnBhcmFtZXRlcnMuaWRDYXJkVHlwZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZpbmFuY2VEZXRhaWxzKCk6IHZvaWQge1xuICAgIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChmaW5hbmNlRGV0YWlscykgPT4gKHRoaXMuZmluYW5jZURldGFpbHMgPSBmaW5hbmNlRGV0YWlscykpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JtU3RhdHVzQ2hhbmdlcyhmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgZm9ybS5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5mb3JtRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKGZvcm0pKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWZpbmFuY2UtaW5mby5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMtZmluYW5jZS1pbmZvLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmluYW5jZUluZm9GaWVsZCB9IGZyb20gJy4vZmluYW5jZS1pbmZvLWZpZWxkLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzRmluYW5jZUluZm8ge1xuICBba2V5OiBzdHJpbmddOiBGaW5hbmNlSW5mb0ZpZWxkO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLW9yZGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy1vcmRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnLi9saW5lLWl0ZW0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNPcmRlciB7XG4gIGxpbmVpdGVtcz86IExpbmVJdGVtW107XG4gIHNoaXBwaW5nPzoge1xuICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gIH07XG4gIGNvbnRhaW5lZF90YXhlcz86IHtcbiAgICBzYWxlc190YXg/OiBib29sZWFuO1xuICAgIHVzZXJfdmF0PzogYm9vbGVhbjtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXR1c0ZpbmFuY2VJbmZvIH0gZnJvbSAnLi9zdGF0dXMtZmluYW5jZS1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNPcmRlciB9IGZyb20gJy4vc3RhdHVzLW9yZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi9zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBUaXRsZUNsYXNzIH0gZnJvbSAnLi90aXRsZS1jbGFzcy5lbnVtJztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudFR5cGUgfSBmcm9tICcuL3dlYi1zb2NrZXQtY2xpZW50LXR5cGUuZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzIHtcbiAgcG9zdE1lc3NhZ2VTdGF0dXM6IHN0cmluZztcbiAgdmlydHVhbEN1cnJlbmN5QW1vdW50OiBudW1iZXI7XG4gIHN0YXR1c1N0YXRlOiBTdGF0dXNFbnVtO1xuICBlbWFpbDogc3RyaW5nO1xuICB3ZWJTb2NrZXRVcmw6IHN0cmluZztcbiAgd2ViU29ja2V0Q2hhbm5lbE5hbWU6IHN0cmluZztcbiAgd2ViU29ja2V0Q2xpZW50VHlwZTogV2ViU29ja2V0Q2xpZW50VHlwZTtcbiAgZmluYW5jZUluZm86IFN0YXR1c0ZpbmFuY2VJbmZvO1xuICBpc0NhbmNlbFVzZXI6IGJvb2xlYW47XG4gIGJhY2tVcmxTZXR0aW5nczoge1xuICAgIGJhY2tVcmw6IHN0cmluZztcbiAgICBiYWNrVXJsQWN0aW9uPzogc3RyaW5nO1xuICAgIGJhY2tVcmxDYXB0aW9uOiBzdHJpbmc7XG4gICAgcmV0dXJuUmVnaW9uOiBzdHJpbmc7XG4gICAgc2hvd0JhY2tCdXR0b24/OiBib29sZWFuO1xuICB9O1xuICBhZGRpdGlvbmFsQmFja0J1dHRvbjoge1xuICAgIGxpbms6IHN0cmluZztcbiAgICBhY3Rpb246IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHJlZ2lvbjogc3RyaW5nO1xuICAgIGlzRW5hYmxlZDogYm9vbGVhbjtcbiAgfTtcbiAgZ3JvdXA6IHN0cmluZztcbiAgbmVlZFRvQ2hlY2s6IGJvb2xlYW47XG4gIGF1dG9SZWRpcmVjdD86IHsgdGltZTogbnVtYmVyIH07XG4gIHVzZXJSZXR1cm5TdGF0dXM/OiBzdHJpbmc7XG4gIHN0YXR1c01lc3NhZ2U6IHN0cmluZztcbiAgZGlzY291bnQ6IG51bWJlciB8IG51bGw7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgaW52b2ljZT86IG51bWJlcjtcbiAgcGlkPzogbnVtYmVyO1xuICBwcm9qZWN0QW1vdW50Pzoge1xuICAgIGFtb3VudDogc3RyaW5nO1xuICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gIH07XG4gIHRpdGxlQ2xhc3M6IFRpdGxlQ2xhc3M7XG4gIGlzU3VjY2Vzcz86IGJvb2xlYW47XG4gIGlzQ2FuY2VsZWQ/OiBib29sZWFuO1xuICBwYXltZW50Q291bnRyeUlzbzogc3RyaW5nO1xuICBvcmRlcj86IFN0YXR1c09yZGVyO1xufVxuIl19
|
|
@@ -6,12 +6,14 @@ import { statusSearchParamsMap } from './status-request/status-search-params.map
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../../url/url.service";
|
|
8
8
|
import * as i2 from "./status-request/status-request.service";
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "
|
|
9
|
+
import * as i3 from "../finance-details/finance-details.service";
|
|
10
|
+
import * as i4 from "./listen-status/listen-status.service";
|
|
11
|
+
import * as i5 from "../actions/next-action.service";
|
|
11
12
|
export class StatusService {
|
|
12
|
-
constructor(urlService, statusRequestService, listenStatusService, nextActionService) {
|
|
13
|
+
constructor(urlService, statusRequestService, financeDetailsService, listenStatusService, nextActionService) {
|
|
13
14
|
this.urlService = urlService;
|
|
14
15
|
this.statusRequestService = statusRequestService;
|
|
16
|
+
this.financeDetailsService = financeDetailsService;
|
|
15
17
|
this.listenStatusService = listenStatusService;
|
|
16
18
|
this.nextActionService = nextActionService;
|
|
17
19
|
}
|
|
@@ -20,6 +22,7 @@ export class StatusService {
|
|
|
20
22
|
this.startWaitingStatusUpdates(params.invoice);
|
|
21
23
|
this.statusRequestService.request();
|
|
22
24
|
const statusResponse = await firstValueFrom(this.statusRequestService.response$);
|
|
25
|
+
this.financeDetailsService.emitWithStatus(statusResponse.status);
|
|
23
26
|
return statusResponse.status;
|
|
24
27
|
}
|
|
25
28
|
async getStatusWithUrlSearchParams(url) {
|
|
@@ -46,16 +49,17 @@ export class StatusService {
|
|
|
46
49
|
this.listenStatusService.statusUpdated$
|
|
47
50
|
.pipe(skip(1))
|
|
48
51
|
.subscribe(({ statusResponse }) => {
|
|
52
|
+
this.financeDetailsService.emitWithStatus(statusResponse.status);
|
|
49
53
|
this.nextActionService.emitFlowUpdates(new StatusUpdatedAction(statusResponse));
|
|
50
54
|
});
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
|
-
StatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusService, deps: [{ token: i1.UrlService }, { token: i2.StatusRequestService }, { token: i3.
|
|
57
|
+
StatusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusService, deps: [{ token: i1.UrlService }, { token: i2.StatusRequestService }, { token: i3.FinanceDetailsService }, { token: i4.ListenStatusService }, { token: i5.NextActionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
58
|
StatusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusService, providedIn: 'root' });
|
|
55
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusService, decorators: [{
|
|
56
60
|
type: Injectable,
|
|
57
61
|
args: [{
|
|
58
62
|
providedIn: 'root',
|
|
59
63
|
}]
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i1.UrlService }, { type: i2.StatusRequestService }, { type: i3.
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i1.UrlService }, { type: i2.StatusRequestService }, { type: i3.FinanceDetailsService }, { type: i4.ListenStatusService }, { type: i5.NextActionService }]; } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRTVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBTWxGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21CLFVBQXNCLEVBQ3RCLG9CQUEwQyxFQUMxQyxxQkFBNEMsRUFDNUMsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUpwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDcEQsQ0FBQztJQUVHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBMkI7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBDLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUN6QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUNwQyxDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakUsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsR0FBWTtRQUNwRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEdBQVk7UUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUVoRCxJQUNFLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3hFO1lBQ0EsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sTUFBTSxHQUF1QyxFQUFFLENBQUM7UUFDdEQscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzlDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBd0MsQ0FBQztJQUNsRCxDQUFDO0lBRU8seUJBQXlCLENBQUMsT0FBZTtRQUMvQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjO2FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEMsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FDeEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7MEdBaEVVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgc2tpcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaXN0ZW5TdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9saXN0ZW4tc3RhdHVzL2xpc3Rlbi1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3JlcXVpcmVkLXN0YXR1cy1zZWFyY2gtcGFyYW1zLmNvbnN0JztcbmltcG9ydCB7IHN0YXR1c1NlYXJjaFBhcmFtc01hcCB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXNlYXJjaC1wYXJhbXMubWFwJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VydmljZTogVXJsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1JlcXVlc3RTZXJ2aWNlOiBTdGF0dXNSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdGVuU3RhdHVzU2VydmljZTogTGlzdGVuU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25TZXJ2aWNlOiBOZXh0QWN0aW9uU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyhwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkXG4gICAgKTtcblxuICAgIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmVtaXRXaXRoU3RhdHVzKHN0YXR1c1Jlc3BvbnNlLnN0YXR1cyk7XG5cbiAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1c1dpdGhVcmxTZWFyY2hQYXJhbXModXJsPzogc3RyaW5nKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB0aGlzLmdldFJlcXVlc3RQYXJhbXNGcm9tVXJsKHVybCk7XG5cbiAgICBpZiAoIXNlYXJjaFBhcmFtcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyByZXF1aXJlZCBzZWFyY2ggcGFyYW1zIHRvIGdldCBzdGF0dXMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRTdGF0dXMoc2VhcmNoUGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVxdWVzdFBhcmFtc0Zyb21VcmwodXJsPzogc3RyaW5nKTogU3RhdHVzUmVxdWVzdFBhcmFtcyB8IG51bGwge1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHRoaXMudXJsU2VydmljZS5nZXRTZWFyY2hQYXJhbXModXJsID8/ICcnKTtcbiAgICBjb25zdCBrZXlzID0gbmV3IFNldChPYmplY3Qua2V5cyhzZWFyY2hQYXJhbXMpKTtcblxuICAgIGlmIChcbiAgICAgIHJlcXVpcmVkU3RhdHVzU2VhcmNoUGFyYW1zLnNvbWUoKHJlcXVpcmVkS2V5KSA9PiAha2V5cy5oYXMocmVxdWlyZWRLZXkpKVxuICAgICkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9ID0ge307XG4gICAgc3RhdHVzU2VhcmNoUGFyYW1zTWFwLmZvckVhY2goKHNldHRpbmdzLCBrZXkpID0+IHtcbiAgICAgIHBhcmFtc1tzZXR0aW5ncy5rZXldID0gc2V0dGluZ3MuY29udmVydGVyKHNlYXJjaFBhcmFtc1trZXldKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBTdGF0dXNSZXF1ZXN0UGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKGludm9pY2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5saXN0ZW4oaW52b2ljZSk7XG5cbiAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2Uuc3RhdHVzVXBkYXRlZCRcbiAgICAgIC5waXBlKHNraXAoMSkpXG4gICAgICAuc3Vic2NyaWJlKCh7IHN0YXR1c1Jlc3BvbnNlIH0pID0+IHtcbiAgICAgICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdGF0dXMoc3RhdHVzUmVzcG9uc2Uuc3RhdHVzKTtcbiAgICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICAgICAgbmV3IFN0YXR1c1VwZGF0ZWRBY3Rpb24oc3RhdHVzUmVzcG9uc2UpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBzLXN1bW1hcnkuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC94cHMtc3VtbWFyeS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhwc0ZpbmFuY2UgfSBmcm9tICcuL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNQdXJjaGFzZSB9IGZyb20gJy4veHBzLXB1cmNoYXNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgWHBzU3VtbWFyeSB7XG4gIHB1cmNoYXNlOiBYcHNQdXJjaGFzZTtcbiAgZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGw7XG59XG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { isNull } from '../type-guards/is-null.function';
|
|
3
|
+
import { isUndefined } from '../type-guards/is-undefined.function';
|
|
4
|
+
import { windowToken } from '../window.token';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../settings/settings.service";
|
|
7
|
+
export class SessionService {
|
|
8
|
+
constructor(window, settingsService) {
|
|
9
|
+
this.window = window;
|
|
10
|
+
this.settingsService = settingsService;
|
|
11
|
+
this.cache = {};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @param {string} key must be uniq entire all app
|
|
15
|
+
* @param {unknown} value can be anything
|
|
16
|
+
*/
|
|
17
|
+
set(key, value) {
|
|
18
|
+
this.cache[key] = value;
|
|
19
|
+
try {
|
|
20
|
+
this.window.sessionStorage.setItem(this.getStorageKey(key), JSON.stringify(value));
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.warn('Session storage not available.');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
get(key) {
|
|
27
|
+
const cacheValue = this.cache[key];
|
|
28
|
+
if (!isUndefined(cacheValue)) {
|
|
29
|
+
return cacheValue;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const storageValue = this.window.sessionStorage.getItem(this.getStorageKey(key));
|
|
33
|
+
if (isNull(storageValue)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return JSON.parse(storageValue);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
getStorageKey(key) {
|
|
43
|
+
return `${key}${this.settingsService.token}`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SessionService, deps: [{ token: windowToken }, { token: i1.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SessionService, providedIn: 'root' });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SessionService, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{
|
|
51
|
+
providedIn: 'root',
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
54
|
+
type: Inject,
|
|
55
|
+
args: [windowToken]
|
|
56
|
+
}] }, { type: i1.SettingsService }]; } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2Vzc2lvbi9zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUs5QyxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUN3QyxNQUFzQixFQUMzQyxlQUFnQztRQURYLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUozQyxVQUFLLEdBQStCLEVBQUUsQ0FBQztJQUs1QyxDQUFDO0lBRUo7OztPQUdHO0lBQ0ksR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFjO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUk7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQ3RCLENBQUM7U0FDSDtRQUFDLE9BQU8sS0FBYyxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFTSxHQUFHLENBQUksR0FBVztRQUN2QixNQUFNLFVBQVUsR0FBWSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxVQUFlLENBQUM7U0FDeEI7UUFFRCxJQUFJO1lBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUN4QixDQUFDO1lBRUYsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFNLENBQUM7U0FDdEM7UUFBQyxPQUFPLEtBQWMsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxHQUFXO1FBQy9CLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQyxDQUFDOzsyR0FqRFUsY0FBYyxrQkFJZixXQUFXOytHQUpWLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IGlzTnVsbCB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzL2lzLW51bGwuZnVuY3Rpb24nO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tICcuLi90eXBlLWd1YXJkcy9pcy11bmRlZmluZWQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi93aW5kb3cudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2Vzc2lvblNlcnZpY2Uge1xuICBwcml2YXRlIGNhY2hlOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9IHt9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgbXVzdCBiZSB1bmlxIGVudGlyZSBhbGwgYXBwXG4gICAqIEBwYXJhbSB7dW5rbm93bn0gdmFsdWUgY2FuIGJlIGFueXRoaW5nXG4gICAqL1xuICBwdWJsaWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMuY2FjaGVba2V5XSA9IHZhbHVlO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgIHRoaXMuZ2V0U3RvcmFnZUtleShrZXkpLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh2YWx1ZSlcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUud2FybignU2Vzc2lvbiBzdG9yYWdlIG5vdCBhdmFpbGFibGUuJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldDxUPihrZXk6IHN0cmluZyk6IFQgfCBudWxsIHtcbiAgICBjb25zdCBjYWNoZVZhbHVlOiB1bmtub3duID0gdGhpcy5jYWNoZVtrZXldO1xuXG4gICAgaWYgKCFpc1VuZGVmaW5lZChjYWNoZVZhbHVlKSkge1xuICAgICAgcmV0dXJuIGNhY2hlVmFsdWUgYXMgVDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RvcmFnZVZhbHVlID0gdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgICAgdGhpcy5nZXRTdG9yYWdlS2V5KGtleSlcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc051bGwoc3RvcmFnZVZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIEpTT04ucGFyc2Uoc3RvcmFnZVZhbHVlKSBhcyBUO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0b3JhZ2VLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtrZXl9JHt0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbn1gO1xuICB9XG59XG4iXX0=
|