karibou-wallet 3.1.26 → 3.1.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contract.subscription.js +157 -122
- package/dist/contract.subscription.js.map +1 -1
- package/dist/customer.d.ts +4 -4
- package/dist/customer.js +120 -77
- package/dist/customer.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@ const customer_1 = require("./customer");
|
|
|
15
15
|
const payments_1 = require("./payments");
|
|
16
16
|
const config_1 = require("./config");
|
|
17
17
|
const cache = new (require("lru-cache").LRUCache)({ ttl: 1000 * 60 * 60 * 4, max: 1000 });
|
|
18
|
+
const locked = new (require("lru-cache").LRUCache)({ ttl: 3000, max: 1000 });
|
|
18
19
|
var SchedulerStatus;
|
|
19
20
|
(function (SchedulerStatus) {
|
|
20
21
|
SchedulerStatus["active"] = "active";
|
|
@@ -187,6 +188,15 @@ class SubscriptionContract {
|
|
|
187
188
|
}
|
|
188
189
|
updateContract(cardTtems) {
|
|
189
190
|
return __awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
const _method = 'updateContract' + cardTtems.length;
|
|
192
|
+
lock(_method);
|
|
193
|
+
try {
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
unlock(_method);
|
|
199
|
+
}
|
|
190
200
|
});
|
|
191
201
|
}
|
|
192
202
|
pause(to) {
|
|
@@ -249,43 +259,45 @@ class SubscriptionContract {
|
|
|
249
259
|
const isInvoice = card.issuer == "invoice";
|
|
250
260
|
const quantity = 1;
|
|
251
261
|
const price = product.default_price.unit_amount;
|
|
252
|
-
const
|
|
253
|
-
|
|
254
|
-
metadata.env = "test";
|
|
255
|
-
}
|
|
256
|
-
const serviceItem = {
|
|
257
|
-
currency: 'CHF',
|
|
258
|
-
unit_amount: isInvoice ? 0 : (price),
|
|
259
|
-
product: product.id,
|
|
260
|
-
recurring: { interval, interval_count: 1 }
|
|
261
|
-
};
|
|
262
|
-
const itemMetadata = {
|
|
263
|
-
type: "patreon",
|
|
264
|
-
title: product.name,
|
|
265
|
-
quantity,
|
|
266
|
-
};
|
|
267
|
-
const items = [{ metadata: itemMetadata, quantity, price_data: serviceItem }];
|
|
268
|
-
const description = product.description;
|
|
269
|
-
const billing_cycle_anchor = (Date.now() + 1000) / 1000 | 0;
|
|
270
|
-
const options = {
|
|
271
|
-
customer: (0, payments_1.unxor)(customer.id),
|
|
272
|
-
payment_behavior: 'default_incomplete',
|
|
273
|
-
off_session: false,
|
|
274
|
-
billing_cycle_anchor,
|
|
275
|
-
description,
|
|
276
|
-
items,
|
|
277
|
-
metadata
|
|
278
|
-
};
|
|
279
|
-
if (card.issuer == "invoice") {
|
|
280
|
-
metadata.payment_credit = card.id;
|
|
281
|
-
options.payment_behavior = 'allow_incomplete';
|
|
282
|
-
options.payment_settings = {};
|
|
283
|
-
}
|
|
284
|
-
else {
|
|
285
|
-
options.default_payment_method = (0, payments_1.unxor)(card.id);
|
|
286
|
-
options.expand = ['pending_setup_intent', 'latest_invoice.payment_intent'];
|
|
287
|
-
}
|
|
262
|
+
const _method = 'createOnlyFromService' + customer.id;
|
|
263
|
+
lock(_method);
|
|
288
264
|
try {
|
|
265
|
+
const metadata = { uid: customer.uid, plan: 'patreon' };
|
|
266
|
+
if (process.env.NODE_ENV == 'test') {
|
|
267
|
+
metadata.env = "test";
|
|
268
|
+
}
|
|
269
|
+
const serviceItem = {
|
|
270
|
+
currency: 'CHF',
|
|
271
|
+
unit_amount: isInvoice ? 0 : (price),
|
|
272
|
+
product: product.id,
|
|
273
|
+
recurring: { interval, interval_count: 1 }
|
|
274
|
+
};
|
|
275
|
+
const itemMetadata = {
|
|
276
|
+
type: "patreon",
|
|
277
|
+
title: product.name,
|
|
278
|
+
quantity,
|
|
279
|
+
};
|
|
280
|
+
const items = [{ metadata: itemMetadata, quantity, price_data: serviceItem }];
|
|
281
|
+
const description = product.description;
|
|
282
|
+
const billing_cycle_anchor = (Date.now() + 1000) / 1000 | 0;
|
|
283
|
+
const options = {
|
|
284
|
+
customer: (0, payments_1.unxor)(customer.id),
|
|
285
|
+
payment_behavior: 'default_incomplete',
|
|
286
|
+
off_session: false,
|
|
287
|
+
billing_cycle_anchor,
|
|
288
|
+
description,
|
|
289
|
+
items,
|
|
290
|
+
metadata
|
|
291
|
+
};
|
|
292
|
+
if (card.issuer == "invoice") {
|
|
293
|
+
metadata.payment_credit = card.id;
|
|
294
|
+
options.payment_behavior = 'allow_incomplete';
|
|
295
|
+
options.payment_settings = {};
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
options.default_payment_method = (0, payments_1.unxor)(card.id);
|
|
299
|
+
options.expand = ['pending_setup_intent', 'latest_invoice.payment_intent'];
|
|
300
|
+
}
|
|
289
301
|
const subscription = yield payments_1.$stripe.subscriptions.create(options);
|
|
290
302
|
const invoice = subscription.latest_invoice;
|
|
291
303
|
if (invoice &&
|
|
@@ -307,6 +319,9 @@ class SubscriptionContract {
|
|
|
307
319
|
catch (err) {
|
|
308
320
|
throw parseError(err);
|
|
309
321
|
}
|
|
322
|
+
finally {
|
|
323
|
+
unlock(_method);
|
|
324
|
+
}
|
|
310
325
|
});
|
|
311
326
|
}
|
|
312
327
|
static create(customer, card, interval, start_from, cartItems, subscriptionOptions) {
|
|
@@ -314,107 +329,114 @@ class SubscriptionContract {
|
|
|
314
329
|
(0, assert_1.strict)(start_from == 'now' || (start_from && start_from.getTime()));
|
|
315
330
|
const { shipping, dayOfWeek, fees } = subscriptionOptions;
|
|
316
331
|
(0, assert_1.strict)(fees >= 0);
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
price: (0, payments_1.round1cts)(servicePrice),
|
|
344
|
-
quantity: 1
|
|
345
|
-
};
|
|
346
|
-
const itemService = yield findOrCreateItemService(item, interval, isInvoice);
|
|
347
|
-
items.push(itemService);
|
|
348
|
-
}
|
|
349
|
-
if (cartServices.length) {
|
|
350
|
-
for (let elem of cartServices) {
|
|
332
|
+
const _method = 'create' + customer.id;
|
|
333
|
+
lock(_method);
|
|
334
|
+
try {
|
|
335
|
+
if ((fees > 1) || (fees < 0)) {
|
|
336
|
+
throw new Error("Incorrect fees params");
|
|
337
|
+
}
|
|
338
|
+
const cartServices = cartItems.filter(item => !item.sku);
|
|
339
|
+
cartItems = cartItems.filter(item => !!item.sku);
|
|
340
|
+
if (!shipping && cartItems.length) {
|
|
341
|
+
throw new Error("Shipping address is mandatory with products");
|
|
342
|
+
}
|
|
343
|
+
if (!cartServices.length && !cartItems.length) {
|
|
344
|
+
throw new Error("Missing items");
|
|
345
|
+
}
|
|
346
|
+
if (cartItems.some(item => item.frequency != interval)) {
|
|
347
|
+
throw new Error("incorrect item format");
|
|
348
|
+
}
|
|
349
|
+
const isInvoice = card.issuer == "invoice";
|
|
350
|
+
for (let item of cartItems) {
|
|
351
|
+
item.product = yield findOrCreateProductFromItem(item);
|
|
352
|
+
}
|
|
353
|
+
const items = createItemsFromCart(cartItems, isInvoice);
|
|
354
|
+
const servicePrice = cartItems.reduce((sum, item) => {
|
|
355
|
+
return sum + (item.price * item.quantity * (fees));
|
|
356
|
+
}, 0);
|
|
357
|
+
if (cartItems.length && servicePrice >= 0) {
|
|
351
358
|
const item = {
|
|
352
359
|
id: 'service',
|
|
353
|
-
title:
|
|
354
|
-
price:
|
|
355
|
-
quantity:
|
|
360
|
+
title: 'karibou.ch',
|
|
361
|
+
price: (0, payments_1.round1cts)(servicePrice),
|
|
362
|
+
quantity: 1
|
|
356
363
|
};
|
|
357
364
|
const itemService = yield findOrCreateItemService(item, interval, isInvoice);
|
|
358
365
|
items.push(itemService);
|
|
359
366
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
367
|
+
if (cartServices.length) {
|
|
368
|
+
for (let elem of cartServices) {
|
|
369
|
+
const item = {
|
|
370
|
+
id: 'service',
|
|
371
|
+
title: elem.title,
|
|
372
|
+
price: elem.price,
|
|
373
|
+
quantity: elem.quantity
|
|
374
|
+
};
|
|
375
|
+
const itemService = yield findOrCreateItemService(item, interval, isInvoice);
|
|
376
|
+
items.push(itemService);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
const metadata = { uid: customer.uid, fees, plan: (cartItems.length) ? 'shipping' : 'service' };
|
|
380
|
+
if (process.env.NODE_ENV == 'test') {
|
|
381
|
+
metadata.env = "test";
|
|
382
|
+
}
|
|
383
|
+
if (shipping) {
|
|
384
|
+
(0, assert_1.strict)(shipping.price >= 0);
|
|
385
|
+
(0, assert_1.strict)(dayOfWeek >= 0);
|
|
386
|
+
delete shipping['geo'];
|
|
387
|
+
const item = {
|
|
388
|
+
id: 'service',
|
|
389
|
+
title: 'shipping',
|
|
390
|
+
price: shipping.price,
|
|
391
|
+
quantity: 1
|
|
392
|
+
};
|
|
393
|
+
const itemShipping = yield findOrCreateItemService(item, interval, isInvoice);
|
|
394
|
+
items.push(itemShipping);
|
|
395
|
+
metadata.address = JSON.stringify(shipping, null, 0);
|
|
396
|
+
metadata.dayOfWeek = dayOfWeek;
|
|
397
|
+
}
|
|
398
|
+
const description = "contrat:" + interval + ":" + customer.uid;
|
|
399
|
+
const options = {
|
|
400
|
+
customer: (0, payments_1.unxor)(customer.id),
|
|
401
|
+
payment_behavior: 'default_incomplete',
|
|
402
|
+
off_session: false,
|
|
403
|
+
description,
|
|
404
|
+
proration_behavior: 'none',
|
|
405
|
+
items: items,
|
|
406
|
+
metadata
|
|
374
407
|
};
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
options.billing_cycle_anchor = (start_from.getTime() / 1000) | 0;
|
|
394
|
-
}
|
|
395
|
-
if (card.issuer == "invoice") {
|
|
396
|
-
metadata.payment_credit = card.id;
|
|
397
|
-
options.payment_behavior = 'allow_incomplete';
|
|
398
|
-
options.payment_settings = {};
|
|
399
|
-
}
|
|
400
|
-
else {
|
|
401
|
-
options.default_payment_method = (0, payments_1.unxor)(card.id);
|
|
402
|
-
options.expand = ['pending_setup_intent', 'latest_invoice.payment_intent'];
|
|
403
|
-
}
|
|
404
|
-
try {
|
|
405
|
-
const subscription = yield payments_1.$stripe.subscriptions.create(options);
|
|
408
|
+
if (start_from == 'now') {
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
}
|
|
412
|
+
if (card.issuer == "invoice") {
|
|
413
|
+
metadata.payment_credit = card.id;
|
|
414
|
+
options.payment_behavior = 'allow_incomplete';
|
|
415
|
+
options.payment_settings = {};
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
418
|
+
options.payment_behavior = 'default_incomplete';
|
|
419
|
+
options.payment_settings = { save_default_payment_method: 'on_subscription' };
|
|
420
|
+
options.default_payment_method = (0, payments_1.unxor)(card.id);
|
|
421
|
+
options.expand = ['latest_invoice.payment_intent'];
|
|
422
|
+
}
|
|
423
|
+
let subscription = yield payments_1.$stripe.subscriptions.create(options);
|
|
424
|
+
const now = Date.now();
|
|
425
|
+
const setup_intent = subscription.pending_setup_intent;
|
|
406
426
|
const invoice = subscription.latest_invoice;
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
const tid = invoice.payment_intent['id'] || invoice.payment_intent;
|
|
427
|
+
const invoice_intent = invoice && invoice.payment_intent;
|
|
428
|
+
if (invoice_intent) {
|
|
410
429
|
try {
|
|
411
|
-
const transaction = yield payments_1.$stripe.paymentIntents.confirm(
|
|
430
|
+
const transaction = yield payments_1.$stripe.paymentIntents.confirm(invoice_intent.id);
|
|
431
|
+
subscription.latest_invoice = subscription.latest_invoice || {};
|
|
412
432
|
subscription.latest_invoice['payment_intent'] = transaction;
|
|
433
|
+
subscription = yield payments_1.$stripe.subscriptions.retrieve(subscription.id, { expand: ['latest_invoice.payment_intent'] });
|
|
413
434
|
}
|
|
414
435
|
catch (err) {
|
|
415
436
|
if (!err.payment_intent) {
|
|
416
437
|
throw err;
|
|
417
438
|
}
|
|
439
|
+
subscription.latest_invoice = subscription.latest_invoice || {};
|
|
418
440
|
subscription.latest_invoice['payment_intent'] = err.payment_intent;
|
|
419
441
|
}
|
|
420
442
|
}
|
|
@@ -423,6 +445,9 @@ class SubscriptionContract {
|
|
|
423
445
|
catch (err) {
|
|
424
446
|
throw parseError(err);
|
|
425
447
|
}
|
|
448
|
+
finally {
|
|
449
|
+
unlock(_method);
|
|
450
|
+
}
|
|
426
451
|
});
|
|
427
452
|
}
|
|
428
453
|
static clearCache(id) {
|
|
@@ -509,6 +534,16 @@ function findOrCreateProductFromItem(item) {
|
|
|
509
534
|
return created.id;
|
|
510
535
|
});
|
|
511
536
|
}
|
|
537
|
+
function lock(api) {
|
|
538
|
+
const islocked = locked.get(api);
|
|
539
|
+
if (islocked) {
|
|
540
|
+
throw new Error("reentrancy detection");
|
|
541
|
+
}
|
|
542
|
+
locked.set(api, true);
|
|
543
|
+
}
|
|
544
|
+
function unlock(api) {
|
|
545
|
+
locked.delete(api);
|
|
546
|
+
}
|
|
512
547
|
function findOrCreateItemService(item, interval, isInvoice) {
|
|
513
548
|
return __awaiter(this, void 0, void 0, function* () {
|
|
514
549
|
const { id, title, price, quantity } = item;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.subscription.js","sourceRoot":"","sources":["../lib/contract.subscription.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract.subscription.js","sourceRoot":"","sources":["../lib/contract.subscription.ts"],"names":[],"mappings":"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"}
|
package/dist/customer.d.ts
CHANGED
|
@@ -28,8 +28,8 @@ export declare class Customer {
|
|
|
28
28
|
get addresses(): KngPaymentAddress[];
|
|
29
29
|
get methods(): any;
|
|
30
30
|
get cashbalance(): any;
|
|
31
|
-
lock(api: any): void;
|
|
32
|
-
unlock(api: any): void;
|
|
31
|
+
lock(api: any, root?: any): void;
|
|
32
|
+
unlock(api: any, root?: any): void;
|
|
33
33
|
static allWithActiveCreditbalance(): Promise<void>;
|
|
34
34
|
static search(query: any): Promise<Customer[]>;
|
|
35
35
|
static create(email: string, fname: string, lname: string, phone: string, uid: string): Promise<Customer>;
|
|
@@ -38,8 +38,8 @@ export declare class Customer {
|
|
|
38
38
|
static get(id: any): Promise<Customer>;
|
|
39
39
|
static fromWebhook(stripe: any): Promise<void>;
|
|
40
40
|
addressAdd(address: KngPaymentAddress): Promise<KngPaymentAddress>;
|
|
41
|
-
addressRemove(address: KngPaymentAddress): Promise<
|
|
42
|
-
addressUpdate(address: KngPaymentAddress): Promise<
|
|
41
|
+
addressRemove(address: KngPaymentAddress): Promise<this>;
|
|
42
|
+
addressUpdate(address: KngPaymentAddress): Promise<this>;
|
|
43
43
|
addMethodIntent(): Promise<Stripe.Response<Stripe.SetupIntent>>;
|
|
44
44
|
addMethod(token: string): Promise<{
|
|
45
45
|
type: number;
|
package/dist/customer.js
CHANGED
|
@@ -14,8 +14,8 @@ const assert_1 = require("assert");
|
|
|
14
14
|
const stripe_1 = require("stripe");
|
|
15
15
|
const payments_1 = require("./payments");
|
|
16
16
|
const config_1 = require("./config");
|
|
17
|
-
const cache = new (require("lru-cache").LRUCache)({ ttl: 1000 * 60 * 60 * 4, max:
|
|
18
|
-
const locked = new (require("lru-cache").LRUCache)({ ttl:
|
|
17
|
+
const cache = new (require("lru-cache").LRUCache)({ ttl: 1000 * 60 * 60 * 4, max: 2000 });
|
|
18
|
+
const locked = new (require("lru-cache").LRUCache)({ ttl: 3000, max: 1000 });
|
|
19
19
|
class Customer {
|
|
20
20
|
constructor(id, email, phone, cashbalance, balance, metadata) {
|
|
21
21
|
(0, assert_1.strict)(id);
|
|
@@ -84,15 +84,17 @@ class Customer {
|
|
|
84
84
|
}
|
|
85
85
|
return { available: null };
|
|
86
86
|
}
|
|
87
|
-
lock(api) {
|
|
88
|
-
|
|
87
|
+
lock(api, root) {
|
|
88
|
+
root = root || this.id;
|
|
89
|
+
const islocked = locked.get(root + api);
|
|
89
90
|
if (islocked) {
|
|
90
91
|
throw new Error("reentrancy detection");
|
|
91
92
|
}
|
|
92
|
-
locked.set(
|
|
93
|
+
locked.set(root + api, true);
|
|
93
94
|
}
|
|
94
|
-
unlock(api) {
|
|
95
|
-
|
|
95
|
+
unlock(api, root) {
|
|
96
|
+
root = root || this.id;
|
|
97
|
+
locked.delete(root + api);
|
|
96
98
|
}
|
|
97
99
|
static allWithActiveCreditbalance() {
|
|
98
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -196,8 +198,8 @@ class Customer {
|
|
|
196
198
|
(0, assert_1.strict)(this._metadata.fname);
|
|
197
199
|
(0, assert_1.strict)(this._metadata.lname);
|
|
198
200
|
const _method = 'addaddress';
|
|
201
|
+
this.lock(_method);
|
|
199
202
|
try {
|
|
200
|
-
this.lock(_method);
|
|
201
203
|
const keys = metadataElements(this._metadata, 'addr');
|
|
202
204
|
address.id = 'addr-' + keys.length + 1;
|
|
203
205
|
this._metadata[address.id] = JSON.stringify(address, null, 0);
|
|
@@ -205,13 +207,14 @@ class Customer {
|
|
|
205
207
|
this._metadata = customer.metadata;
|
|
206
208
|
this._addresses = parseAddress(customer.metadata);
|
|
207
209
|
cache.set(this.id, this);
|
|
208
|
-
this.unlock(_method);
|
|
209
210
|
return Object.assign({}, address);
|
|
210
211
|
}
|
|
211
212
|
catch (err) {
|
|
212
|
-
this.unlock(_method);
|
|
213
213
|
throw parseError(err);
|
|
214
214
|
}
|
|
215
|
+
finally {
|
|
216
|
+
this.unlock(_method);
|
|
217
|
+
}
|
|
215
218
|
});
|
|
216
219
|
}
|
|
217
220
|
addressRemove(address) {
|
|
@@ -220,16 +223,22 @@ class Customer {
|
|
|
220
223
|
(0, assert_1.strict)(this._metadata.fname);
|
|
221
224
|
(0, assert_1.strict)(this._metadata.lname);
|
|
222
225
|
(0, assert_1.strict)(this._metadata[address.id]);
|
|
226
|
+
const _method = 'addressRemove';
|
|
227
|
+
this.lock(_method);
|
|
223
228
|
try {
|
|
224
229
|
this._metadata[address.id] = null;
|
|
225
230
|
const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
|
|
226
231
|
this._metadata = customer.metadata;
|
|
227
232
|
this._addresses = parseAddress(customer.metadata);
|
|
228
233
|
cache.set(this.id, this);
|
|
234
|
+
return this;
|
|
229
235
|
}
|
|
230
236
|
catch (err) {
|
|
231
237
|
throw parseError(err);
|
|
232
238
|
}
|
|
239
|
+
finally {
|
|
240
|
+
this.unlock(_method);
|
|
241
|
+
}
|
|
233
242
|
});
|
|
234
243
|
}
|
|
235
244
|
addressUpdate(address) {
|
|
@@ -238,16 +247,22 @@ class Customer {
|
|
|
238
247
|
(0, assert_1.strict)(this._metadata.fname);
|
|
239
248
|
(0, assert_1.strict)(this._metadata.lname);
|
|
240
249
|
(0, assert_1.strict)(this._metadata[address.id]);
|
|
250
|
+
const _method = 'addressUpdate';
|
|
251
|
+
this.lock(_method);
|
|
241
252
|
try {
|
|
242
253
|
this._metadata[address.id] = JSON.stringify(address, null, 0);
|
|
243
254
|
const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
|
|
244
255
|
this._metadata = customer.metadata;
|
|
245
256
|
this._addresses = parseAddress(customer.metadata);
|
|
246
257
|
cache.set(this.id, this);
|
|
258
|
+
return this;
|
|
247
259
|
}
|
|
248
260
|
catch (err) {
|
|
249
261
|
throw parseError(err);
|
|
250
262
|
}
|
|
263
|
+
finally {
|
|
264
|
+
this.unlock(_method);
|
|
265
|
+
}
|
|
251
266
|
});
|
|
252
267
|
}
|
|
253
268
|
addMethodIntent() {
|
|
@@ -260,8 +275,8 @@ class Customer {
|
|
|
260
275
|
addMethod(token) {
|
|
261
276
|
return __awaiter(this, void 0, void 0, function* () {
|
|
262
277
|
const _method = 'addmethod';
|
|
278
|
+
this.lock(_method);
|
|
263
279
|
try {
|
|
264
|
-
this.lock(_method);
|
|
265
280
|
const method = yield payments_1.$stripe.paymentMethods.attach(token, { customer: this._id });
|
|
266
281
|
if (method.status == "requires_action") {
|
|
267
282
|
throw new Error('addMethod requires_confirmation');
|
|
@@ -276,34 +291,41 @@ class Customer {
|
|
|
276
291
|
this._sources.push(card);
|
|
277
292
|
}
|
|
278
293
|
cache.set(this.id, this);
|
|
279
|
-
this.unlock(_method);
|
|
280
294
|
return card;
|
|
281
295
|
}
|
|
282
296
|
catch (err) {
|
|
283
|
-
this.unlock(_method);
|
|
284
297
|
throw parseError(err);
|
|
285
298
|
}
|
|
299
|
+
finally {
|
|
300
|
+
this.unlock(_method);
|
|
301
|
+
}
|
|
286
302
|
});
|
|
287
303
|
}
|
|
288
304
|
applyCoupon(code) {
|
|
289
305
|
return __awaiter(this, void 0, void 0, function* () {
|
|
290
|
-
const _method = 'appcoupon';
|
|
291
|
-
this.lock(_method);
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
306
|
+
const _method = 'appcoupon' + code;
|
|
307
|
+
this.lock(_method, '');
|
|
308
|
+
try {
|
|
309
|
+
const coupon = yield payments_1.$stripe.coupons.retrieve(code);
|
|
310
|
+
const amount = coupon.amount_off;
|
|
311
|
+
const validity = new Date(coupon.created * 1000 + (coupon.duration_in_months || 12) * 32 * 86400000);
|
|
312
|
+
if (validity.getTime() < Date.now()) {
|
|
313
|
+
throw new Error("Le coupon n'est plus valide, merci de bien vouloir nous contacter");
|
|
314
|
+
}
|
|
315
|
+
if (!amount || amount < 0) {
|
|
316
|
+
throw new Error("le coupon ne contient pas de crédit");
|
|
317
|
+
}
|
|
318
|
+
const note = code + ':' + coupon.name;
|
|
319
|
+
yield payments_1.$stripe.coupons.del(code);
|
|
320
|
+
yield this.updateCredit(amount / 100, note);
|
|
321
|
+
return this;
|
|
297
322
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
323
|
+
catch (err) {
|
|
324
|
+
throw err;
|
|
325
|
+
}
|
|
326
|
+
finally {
|
|
327
|
+
this.unlock(_method, '');
|
|
301
328
|
}
|
|
302
|
-
const note = code + ':' + coupon.name;
|
|
303
|
-
yield payments_1.$stripe.coupons.del(code);
|
|
304
|
-
yield this.updateCredit(amount / 100, note);
|
|
305
|
-
this.unlock(_method);
|
|
306
|
-
return this;
|
|
307
329
|
});
|
|
308
330
|
}
|
|
309
331
|
checkMethods(addIntent, amount) {
|
|
@@ -347,58 +369,78 @@ class Customer {
|
|
|
347
369
|
}
|
|
348
370
|
allowCredit(allow, month, year) {
|
|
349
371
|
return __awaiter(this, void 0, void 0, function* () {
|
|
350
|
-
const
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
creditbalance
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
this.
|
|
372
|
+
const _method = 'allowCredit';
|
|
373
|
+
this.lock(_method);
|
|
374
|
+
try {
|
|
375
|
+
const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'invoice');
|
|
376
|
+
const id = (0, payments_1.crypto_randomToken)();
|
|
377
|
+
const mo = parseInt(month || '1');
|
|
378
|
+
if (mo < 1 || mo > 12) {
|
|
379
|
+
throw new Error("Incorret month params");
|
|
380
|
+
}
|
|
381
|
+
let creditbalance;
|
|
382
|
+
if (allow) {
|
|
383
|
+
year = (0, payments_1.parseYear)((year || '2030') + '');
|
|
384
|
+
creditbalance = {
|
|
385
|
+
type: payments_1.KngPayment.credit,
|
|
386
|
+
id: (0, payments_1.xor)(id),
|
|
387
|
+
alias: (fingerprint),
|
|
388
|
+
expiry: (month || '12') + '/' + (year),
|
|
389
|
+
funding: 'credit',
|
|
390
|
+
issuer: 'invoice',
|
|
391
|
+
limit: config_1.default.option('allowMaxCredit')
|
|
392
|
+
};
|
|
393
|
+
this._metadata['creditbalance'] = JSON.stringify(creditbalance, null, 0);
|
|
394
|
+
this._sources.push(creditbalance);
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
this._metadata['allowCredit'] = null;
|
|
398
|
+
this._metadata['creditbalance'] = null;
|
|
399
|
+
const index = this._sources.findIndex(src => src.issuer == 'invoice');
|
|
400
|
+
if (index > -1) {
|
|
401
|
+
this._sources.splice(index, 1);
|
|
402
|
+
}
|
|
377
403
|
}
|
|
404
|
+
const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata });
|
|
405
|
+
cache.set(this.id, this);
|
|
406
|
+
return creditbalance;
|
|
407
|
+
}
|
|
408
|
+
catch (err) {
|
|
409
|
+
throw err;
|
|
410
|
+
}
|
|
411
|
+
finally {
|
|
412
|
+
this.unlock(_method);
|
|
378
413
|
}
|
|
379
|
-
const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata });
|
|
380
|
-
cache.set(this.id, this);
|
|
381
|
-
return creditbalance;
|
|
382
414
|
});
|
|
383
415
|
}
|
|
384
416
|
createCashBalance(month, year) {
|
|
385
417
|
return __awaiter(this, void 0, void 0, function* () {
|
|
386
|
-
const
|
|
387
|
-
this.
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
this._sources
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
418
|
+
const _method = 'createCashBalance';
|
|
419
|
+
this.lock(_method);
|
|
420
|
+
try {
|
|
421
|
+
const cashbalance = createCashMethod(this.id, this.uid, month, year);
|
|
422
|
+
this._metadata['cashbalance'] = JSON.stringify(cashbalance, null, 0);
|
|
423
|
+
const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
|
|
424
|
+
this._cashbalance = customer.cash_balance || {};
|
|
425
|
+
this._metadata = customer.metadata;
|
|
426
|
+
this._addresses = parseAddress(customer.metadata);
|
|
427
|
+
const index = this._sources.findIndex(card => card.alias == (cashbalance.alias));
|
|
428
|
+
;
|
|
429
|
+
if (index > -1) {
|
|
430
|
+
this._sources[index] = cashbalance;
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
this._sources.push(cashbalance);
|
|
434
|
+
}
|
|
435
|
+
cache.set(this.id, this);
|
|
436
|
+
return cashbalance;
|
|
437
|
+
}
|
|
438
|
+
catch (err) {
|
|
439
|
+
throw err;
|
|
440
|
+
}
|
|
441
|
+
finally {
|
|
442
|
+
this.unlock(_method);
|
|
399
443
|
}
|
|
400
|
-
cache.set(this.id, this);
|
|
401
|
-
return cashbalance;
|
|
402
444
|
});
|
|
403
445
|
}
|
|
404
446
|
listBalanceTransactions(limit) {
|
|
@@ -463,6 +505,8 @@ class Customer {
|
|
|
463
505
|
}
|
|
464
506
|
removeMethod(method) {
|
|
465
507
|
return __awaiter(this, void 0, void 0, function* () {
|
|
508
|
+
const _method = 'removeMethod';
|
|
509
|
+
this.lock(_method);
|
|
466
510
|
try {
|
|
467
511
|
if (!method || !method.id) {
|
|
468
512
|
throw new Error("La méthode de paiement n'est pas valide");
|
|
@@ -509,6 +553,9 @@ class Customer {
|
|
|
509
553
|
catch (err) {
|
|
510
554
|
throw (parseError(err));
|
|
511
555
|
}
|
|
556
|
+
finally {
|
|
557
|
+
this.unlock(_method);
|
|
558
|
+
}
|
|
512
559
|
});
|
|
513
560
|
}
|
|
514
561
|
updateCredit(amount, note) {
|
|
@@ -521,24 +568,20 @@ class Customer {
|
|
|
521
568
|
}
|
|
522
569
|
if ((this.balance + amount) < 0) {
|
|
523
570
|
if (!this.allowedCredit()) {
|
|
524
|
-
this.unlock(_method);
|
|
525
571
|
throw new Error("Le paiement par crédit n'est pas disponible");
|
|
526
572
|
}
|
|
527
573
|
const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'invoice');
|
|
528
574
|
const check = yield this.checkMethods(false);
|
|
529
575
|
if (check[fingerprint].error) {
|
|
530
|
-
this.unlock(_method);
|
|
531
576
|
throw new Error(check[fingerprint].error);
|
|
532
577
|
}
|
|
533
578
|
const maxcredit = config_1.default.option('allowMaxCredit') / 100;
|
|
534
579
|
if ((this.balance + amount) < (-maxcredit)) {
|
|
535
|
-
this.unlock(_method);
|
|
536
580
|
throw new Error("Vous avez atteind la limite de crédit de votre compte");
|
|
537
581
|
}
|
|
538
582
|
}
|
|
539
583
|
const maxamount = config_1.default.option('allowMaxAmount') / 100;
|
|
540
584
|
if ((this.balance + amount) > maxamount) {
|
|
541
|
-
this.unlock(_method);
|
|
542
585
|
throw new Error("Vous avez atteind la limite de votre portefeuille " + maxamount.toFixed(2) + " chf");
|
|
543
586
|
}
|
|
544
587
|
const balance = Math.round((amount + this.balance) * 100);
|
package/dist/customer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer.js","sourceRoot":"","sources":["../lib/customer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA0C;AAC1C,mCAA4B;AAC5B,yCAC2H;AAC3H,qCAA2D;AAI3D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,EAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,CAAC;AACrF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,CAAC;AAExE,MAAa,QAAQ;IA6BnB,YAAoB,EAAS,EAAC,KAAY,EAAE,KAAa,EAAE,WAAe,EAAE,OAAc,EAAE,QAAY;QACtG,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC;QACX,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;QACd,IAAA,eAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrB,IAAA,eAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,IAAA,eAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,GAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,GAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,WAAW,IAAE,EAAE,CAAC;QAIpC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAIzC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;QAIxB,IAAA,gCAAuB,EAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAID,IAAI,EAAE;QACJ,OAAO,IAAA,cAAG,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAID,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,GAAC,GAAG,CAAC;IAC3B,CAAC;IAID,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO;YACL,UAAU,EAAC,IAAI,CAAC,MAAM;YACtB,SAAS,EAAC,IAAI,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,IAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,EAAC;gBACjD,SAAS;aACV,CAAC,CAAC;YAIH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAC,GAAG,CAAA;YAC7D,OAAO,CAAC,UAAU,CAAC,GAAC,QAAQ,CAAC;YAC7B,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,EAAE,SAAS,EAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAID,IAAI,CAAC,GAAG;QACN,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAC,GAAG,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAC,GAAG,EAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,GAAG;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAKD,MAAM,CAAO,0BAA0B;;YACrC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC9C,KAAK,EAAE,iCAAiC;aACzC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,MAAM,CAAO,MAAM,CAAC,KAAK;;YACvB,MAAM,SAAS,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC/C,KAAK,EAAE,UAAU,KAAK,cAAc,KAAK,eAAe,KAAK,GAAG;aACjE,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC;gBACnC,KAAK,EAAC,YAAY;gBAClB,YAAY,EAAC,CAAC;gBACd,OAAO,EAAC,CAAC;gBACT,QAAQ,EAAC,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC;aAC3C,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAClE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,WAAW,EAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,WAAW,CAAC,QAAQ,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxE,OAAO,IAAI,QAAQ,CACjB,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,CAAA;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAOD,MAAM,CAAO,MAAM,CAAC,KAAY,EAAE,KAAY,EAAE,KAAY,EAAE,KAAa,EAAE,GAAU;;YACrF,IAAG;gBAED,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;gBACd,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC;gBACZ,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;gBACd,IAAA,eAAM,EAAC,KAAK,CAAC,CAAC;gBAEd,MAAM,MAAM,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC5C,WAAW,EAAE,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,GAAC,GAAG;oBAC7C,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG,KAAK;oBACzB,KAAK;oBACL,QAAQ,EAAE,EAAC,GAAG,EAAC,KAAK,EAAE,KAAK,EAAC;oBAC5B,MAAM,EAAE,CAAC,cAAc,CAAC;iBACzB,CAAC,CAAC;gBAEH,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,CAAC,YAAY,EAAC,CAAC,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAClF;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QAQH,CAAC;KAAA;IAMA,MAAM,CAAC,MAAM,CAAC,GAAG;QAEhB,GAAG,GAAC,GAAG,GAAC,EAAE,CAAC;QAIX,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAE,KAAK,CAAC,GAAG,CAAC,IAAA,cAAG,EAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAG,QAAQ,IAAI,QAAQ,CAAC,EAAE,EAAE;YAC1B,OAAO,QAAQ,CAAC;SACjB;QAID,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAa,CAAC;IACxC,CAAC;IAGD,MAAM,CAAC,UAAU,CAAC,EAAE;QAEnB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAC,CAAC,CAAC,CAAA,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAMD,MAAM,CAAO,GAAG,CAAC,EAAE;;YACjB,IAAG,OAAO,EAAE,IAAI,QAAQ,EAAE;gBACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAa,CAAC;gBAC/C,IAAG,MAAM,EAAC;oBACR,OAAO,MAAM,CAAC;iBACf;aACF;YAED,IAAG;gBAGD,MAAM,UAAU,GAAG,CAAC,gBAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,CAAC,EAAE,CAAC,OAAO,IAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAA,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,MAAM,kBAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAC,EAAC,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CAAC,CAAQ,CAAC;gBAC7G,IAAG,MAAM,CAAC,OAAO,EAAE;oBACjB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;iBAClE;gBACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,CAAC;gBACF,IAAG,CAAC,UAAU,EAAC;oBACb,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;iBAC9B;gBACD,OAAO,QAAQ,CAAC;aACjB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CAAC,MAAM;;YAC7B,IAAG;gBACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,CAAC;gBACF,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;aAE9B;YAAA,OAAM,GAAG,EAAC;gBACT,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QAEH,CAAC;KAAA;IAEK,UAAU,CAAC,OAA0B;;YACzC,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,YAAY,CAAC;YAC7B,IAAG;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEnB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAC,MAAM,CAAC,CAAC;gBACrD,OAAO,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CACrD,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAIlD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC;aAClC;YAAA,OAAM,GAAG,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAEK,aAAa,CAAC,OAA0B;;YAC5C,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,IAAG;gBACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CACrD,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAGlD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aAEzB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAEK,aAAa,CAAC,OAA0B;;YAC5C,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,IAAG;gBACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAC,CACrD,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAGlD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aAEzB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAOK,eAAe;;YACnB,OAAO,MAAM,kBAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gBACvC,KAAK,EAAC,aAAa;aACpB,CAAC,CAAC;QACL,CAAC;KAAA;IAYK,SAAS,CAAC,KAAY;;YAC1B,MAAM,OAAO,GAAG,WAAW,CAAC;YAE5B,IAAG;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAO,MAAM,kBAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAC,EAAC,QAAQ,EAAC,IAAI,CAAC,GAAG,EAAC,CAAC,CAAC;gBAClF,IAAG,MAAM,CAAC,MAAM,IAAI,iBAAiB,EAAE;oBAIrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;iBACpD;gBACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBAIjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAE,CAAA;gBAC5E,IAAG,KAAK,GAAC,CAAC,CAAC,EAAE;oBAGX,MAAM,kBAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBAC7B;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC1B;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAErB,OAAO,IAAI,CAAC;aACb;YAAA,OAAM,GAAG,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAKK,WAAW,CAAC,IAAW;;YAC3B,MAAM,OAAO,GAAG,WAAW,CAAC;YAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,kBAAO,CAAC,OAAO,CAAC,QAAQ,CAC3C,IAAI,CACL,CAAC;YAGF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,GAAC,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAE,EAAE,CAAC,GAAC,EAAE,GAAC,QAAQ,CAAC,CAAC;YAC7F,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAC,IAAI,CAAC,GAAG,EAAE,EAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;aACtF;YAED,IAAG,CAAC,MAAM,IAAI,MAAM,GAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;YAED,MAAM,IAAI,GAAG,IAAI,GAAC,GAAG,GAAC,MAAM,CAAC,IAAI,CAAC;YAIlC,MAAM,kBAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,GAAC,GAAG,EAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAKK,YAAY,CAAC,SAAiB,EAAE,MAAc;;YAIlD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,MAAM,GAAO;gBACjB,MAAM,EAAE,KAAK;aACd,CAAC;YAIF,IAAG,SAAS,EAAE;gBACZ,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;aAC9C;YAID,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAErB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAC;gBAC3B,MAAM,EAAE,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE;oBAChB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,yEAAyE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBACpH,SAAS;iBACV;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAG,CAAC,IAAI,EAAC;oBACP,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,qCAAqC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBAChF,SAAS;iBACV;gBACD,IAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,GAAC,SAAS,EAAE;oBACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,kCAAkC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBAC7E,SAAS;iBACV;gBACD,IAAG,IAAI,CAAC,MAAM,IAAE,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE;oBAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAC,KAAK,EAAG,+EAA+E,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;oBAC1H,SAAS;iBACV;gBAGD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;oBACrB,MAAM,EAAC,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAC,IAAI,CAAC,MAAM;iBACnB,CAAC;aAEH;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAOK,WAAW,CAAC,KAAa,EAAE,KAAa,EAAC,IAAY;;YAEzD,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,GAAC,IAAI,CAAC,GAAG,GAAC,SAAS,CAAC,CAAC;YACnE,MAAM,EAAE,GAAG,IAAA,6BAAkB,GAAE,CAAC;YAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,IAAE,GAAG,CAAC,CAAC;YAChC,IAAG,EAAE,GAAC,CAAC,IAAI,EAAE,GAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;aACzC;YAED,IAAI,aAA2B,CAAC;YAChC,IAAG,KAAK,EAAE;gBACR,IAAI,GAAG,IAAA,oBAAS,EAAC,CAAC,IAAI,IAAE,MAAM,CAAC,GAAC,EAAE,CAAC,CAAA;gBACnC,aAAa,GAAG;oBACd,IAAI,EAAC,qBAAU,CAAC,MAAM;oBACtB,EAAE,EAAC,IAAA,cAAG,EAAC,EAAE,CAAC;oBACV,KAAK,EAAC,CAAC,WAAW,CAAC;oBACnB,MAAM,EAAC,CAAC,KAAK,IAAE,IAAI,CAAC,GAAE,GAAG,GAAE,CAAC,IAAI,CAAC;oBACjC,OAAO,EAAC,QAAQ;oBAChB,MAAM,EAAC,SAAS;oBAChB,KAAK,EAAC,gBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;iBACtC,CAAA;gBAMD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;gBAIvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAGnC;iBAAK;gBACJ,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;gBACvC,MAAM,KAAK,GAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBAC5E,IAAG,KAAK,GAAC,CAAC,CAAC,EAAC;oBACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;iBAC/B;aACF;YAED,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,CAC3B,CAAC;YAIF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;YAIxB,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAQK,iBAAiB,CAAC,KAAY,EAAC,IAAW;;YAC9C,MAAM,WAAW,GAAe,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,GAAG,EAAC,KAAK,EAAC,IAAI,CAAC,CAAC;YAI9E,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,MAAM,EAAC,CAAC,cAAc,CAAC,EAAC,CACnD,CAAC;YAEF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAAA,CAAC;YAClF,IAAG,KAAK,GAAC,CAAC,CAAC,EAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAC,WAAW,CAAC;aAClC;iBAAI;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACjC;YAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;YAExB,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAEK,uBAAuB,CAAC,KAAa;;YACzC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;YACnB,MAAM,QAAQ,GAAG,OAAO,CAAC;YACzB,MAAM,mBAAmB,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,uBAAuB,CACzE,IAAA,gBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,EACd,EAAC,KAAK,EAAC,CACR,CAAC;YAGF,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC5C,OAAO;oBACL,MAAM,EAAC,EAAE,CAAC,MAAM;oBAChB,WAAW,EAAC,EAAE,CAAC,WAAW;oBAC1B,cAAc,EAAE,EAAE,CAAC,cAAc;oBACjC,OAAO,EAAC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,GAAC,IAAI,CAAC;iBAClC,CAAA;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;YAIjG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IACK,gBAAgB;;YAId,kBAAO,CAAC,SAAU,CAAC,2BAA2B,GAAG,gBAAM,CAAC,cAAc,CAAC,MAAM,CAAC;gBAClF,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,uCAAuC;gBAC7C,UAAU,EAAE,MAAM;aACnB,CAAC,CAAC;YACH,MAAM,uBAAuB,GAAG,MAAY,kBAAO,CAAC,SAAU,CAAC,2BAA2B,CACxF,CAAC,IAAI,CAAC,GAAG,CAAC,EACV,EAAC,KAAK,EAAE,EAAE,EAAC,CACZ,CAAC;YAEF,OAAO,uBAAuB,CAAC,IAAI,CAAC;QACtC,CAAC;KAAA;IAOK,WAAW;;YACf,IAAG;gBACD,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAO,CAAC,cAAc,CAAC,IAAI,CAAC;oBAChD,QAAQ,EAAC,IAAI,CAAC,GAAG;oBACjB,IAAI,EAAC,MAAM;iBACZ,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAIpD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBAItD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAClD,IAAG,WAAW,EAAE;oBACd,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAgB,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;qBAII,IAAG,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE;oBAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,GAAG,EAAC,IAAI,EAAC,MAAM,CAAC,CAAC;oBAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAED,IAAG,aAAa,EAAE;oBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAkB,CAAC;oBAC3D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAC,EAAE,CAAC,CAAA,CAAC,CAAA,CAAC,CAAC;oBAE/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAG9B;YAAA,OAAM,GAAG,EAAC;gBACT,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAQK,YAAY,CAAC,MAAc;;YAC/B,IAAG;gBACD,IAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBACxB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;iBAC5D;gBACD,MAAM,KAAK,GAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;gBAExE,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACnD;gBAED,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEjC,MAAM,IAAI,GAAG,MAAM,kBAAO,CAAC,aAAa,CAAC,IAAI,CAAC;oBAC5C,QAAQ,EAAC,IAAI,CAAC,GAAG;iBAClB,CAAC,CAAC;gBAIH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,GAAG,OAAO,CAAC,CAAA;gBAChF,IAAG,YAAY,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;iBAClG;gBAID,IAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,IAAE,SAAS,EAAC;oBACxC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;oBACvC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;oBACrC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,CAC3B,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAG/B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;oBACxB,OAAO;iBACR;gBAID,IAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,IAAE,MAAM,EAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;oBACrC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EACR,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAC,CAC3B,CAAC;oBAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAG/B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;oBACxB,OAAO;iBACR;gBAID,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAOlF,IAAI,YAAY,CAAC;gBACjB,IAAG,QAAQ,EAAE;oBACX,YAAY,GAAG,MAAM,kBAAO,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAEhC;qBAAI;oBACH,YAAY,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;oBACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAChC;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aACzB;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;aACzB;QAEH,CAAC;KAAA;IAQK,YAAY,CAAC,MAAa,EAAE,IAAY;;YAC5C,MAAM,OAAO,GAAG,cAAc,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAG;gBAID,IAAG,MAAM,IAAI,CAAC,EAAE;oBACd,OAAO;iBACR;gBAID,IAAG,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAC,CAAC,EAAE;oBAC5B,IAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;qBAChE;oBAID,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,GAAC,IAAI,CAAC,GAAG,GAAC,SAAS,CAAC,CAAC;oBACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC7C,IAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;wBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;qBAC3C;oBAED,MAAM,SAAS,GAAG,gBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAC,GAAG,CAAC;oBACtD,IAAG,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAC,CAAC,CAAC,SAAS,CAAC,EAAE;wBACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;qBAC1E;iBACF;gBAID,MAAM,SAAS,GAAG,gBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAC,GAAG,CAAC;gBACtD,IAAG,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAC,SAAS,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,MAAM,CAAC,CAAC;iBACnG;gBAID,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAC,IAAI,CAAC,OAAO,CAAC,GAAC,GAAG,CAAC,CAAC;gBAItD,MAAM,kBAAkB,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,wBAAwB,CACzE,IAAI,CAAC,GAAG,EACR,EAAC,MAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAC,WAAW,EAAC,IAAI,IAAE,EAAE,EAAC,CACtE,CAAC;gBAMF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAIxB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;aACzB;YAAA,OAAM,GAAG,EAAC;gBACT,MAAM,GAAG,CAAC;aACX;oBAAO;gBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACtB;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAGK,cAAc,CAAC,QAAQ;;YAC3B,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC;YACjB,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE7B,IAAG;gBACD,MAAM,OAAO,GAAM;oBACjB,MAAM,EAAE,CAAC,cAAc,CAAC;oBACxB,QAAQ,EAAC,IAAI,CAAC,SAAS;iBACxB,CAAC;gBACF,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBACzC;gBACD,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBACzC;gBACD,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBAChC;gBACD,IAAG,QAAQ,CAAC,KAAK,EAAC;oBAChB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBAChC;gBAED,IAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAE,CAAC,CAAC,EAAC;oBAClC,MAAM,QAAQ,GAAG,MAAM,kBAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,GAAG,EAAC,OAAO,CACjB,CAAC;oBAEF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACnC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACtC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACvC;gBAID,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC;aACb;YAAA,OAAM,GAAG,EAAE;gBACV,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;QACH,CAAC;KAAA;IAQD,aAAa;QAGX,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,GAAC,IAAI,CAAC,GAAG,GAAC,SAAS,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAGD,iBAAiB,CAAC,KAAK;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IACzD,CAAC;CACF;AA96BD,4BA86BC;AAID,SAAS,gBAAgB,CAAC,QAAQ,EAAC,GAAG;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAKD,SAAS,YAAY,CAAC,QAAQ;IAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,IAAG;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAsB,CAAC;YAC/D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzB;QAAA,OAAM,GAAG,EAAC;YACT,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAC,GAAG,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAA;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAGD,SAAS,UAAU,CAAC,GAAG;IACrB,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC,GAAG,CAAC,CAAC;IACpC,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI;IAC1C,MAAM,WAAW,GAAG,IAAA,6BAAkB,EAAC,GAAG,GAAC,GAAG,GAAC,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,IAAA,6BAAkB,GAAE,CAAC;IAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAG,EAAE,GAAC,CAAC,IAAI,EAAE,GAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;KACzC;IAQD,MAAM,WAAW,GAAe;QAC9B,IAAI,EAAC,qBAAU,CAAC,OAAO;QACvB,EAAE,EAAC,IAAA,cAAG,EAAC,EAAE,CAAC;QACV,KAAK,EAAC,CAAC,WAAW,CAAC;QACnB,MAAM,EAAC,KAAK,GAAC,GAAG,GAAC,IAAI;QACrB,OAAO,EAAC,OAAO;QACf,MAAM,EAAC,MAAM;KACd,CAAA;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAAC,MAAM;IACzB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,IAAA,cAAG,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,MAAM,GAAG,MAAM,CAAC,IAAI,IAAE,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAA,cAAG,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,EAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAE,CAAC,CAAC;QAC7B,EAAE,EAAC,EAAE;QACL,KAAK,EAAC,KAAK;QACX,OAAO,EAAC,MAAM,CAAC,OAAO;QACtB,KAAK,EAAC,MAAM,CAAC,KAAK;QAClB,MAAM,EAAC,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAC,MAAM,CAAC,WAAW;QAC9B,MAAM,EAAC,MAAM,CAAC,SAAS,GAAC,GAAG,GAAC,MAAM,CAAC,QAAQ;QAC3C,OAAO,EAAC,IAAI,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAC,QAAQ;KAClB,CAAC;AAEJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"customer.js","sourceRoot":"","sources":["../lib/customer.ts"],"names":[],"mappings":"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"}
|