@arnaudjnn/billing-tools 25.8.6 → 25.8.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/dist/billing.d.ts +83 -16
- package/dist/billing.d.ts.map +1 -1
- package/dist/billing.js +160 -29
- package/dist/billing.js.map +1 -1
- package/dist/dev/stripe-cli.d.ts.map +1 -1
- package/dist/dev/stripe-cli.js +2 -1
- package/dist/dev/stripe-cli.js.map +1 -1
- package/dist/doctor.d.ts +13 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +35 -1
- package/dist/doctor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/routes/webhook.d.ts.map +1 -1
- package/dist/routes/webhook.js +11 -12
- package/dist/routes/webhook.js.map +1 -1
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +11 -3
- package/dist/subscription.js.map +1 -1
- package/dist/sync.d.ts +9 -0
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +25 -9
- package/dist/sync.js.map +1 -1
- package/dist/webhook-setup.d.ts +6 -4
- package/dist/webhook-setup.d.ts.map +1 -1
- package/dist/webhook-setup.js +6 -3
- package/dist/webhook-setup.js.map +1 -1
- package/package.json +1 -1
package/dist/billing.d.ts
CHANGED
|
@@ -280,22 +280,21 @@ export type PurchaseResult = {
|
|
|
280
280
|
* same machinery as any other invoice.
|
|
281
281
|
*/
|
|
282
282
|
/**
|
|
283
|
-
* What a credit invoice
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
* invoice`, an auto-reload — which is why it lives here rather than at three call sites.
|
|
283
|
+
* What a credit invoice grants: the quantity it SOLD, from `metadata.credits`, and nothing
|
|
284
|
+
* else.
|
|
285
|
+
*
|
|
286
|
+
* Stripe applies a customer's credit balance to any invoice it finalizes, and this library's
|
|
287
|
+
* wallet IS that balance. This used to answer `sold + eaten` — repaying whatever the invoice
|
|
288
|
+
* had taken out of the wallet — which put the wallet right and left the CASH wrong: an
|
|
289
|
+
* Enterprise quote for 10 000 credits at €70 was settled €29.99 from the 2 999 credits the
|
|
290
|
+
* customer held, charged €40.01 to the card, and then re-granted the 2 999. The customer kept
|
|
291
|
+
* every credit and paid €29.99 less; an auto-reload with a full wallet was charged €0 and
|
|
292
|
+
* granted a wallet's worth on top. The fix is upstream: every invoice this library raises is
|
|
293
|
+
* finalized by `finalizeOutsideWallet`, so nothing is eaten and the sale grants what it sold.
|
|
294
|
+
*
|
|
295
|
+
* `starting_balance` is deliberately NOT read any more. An invoice finalized before that fix
|
|
296
|
+
* (an open emailed one paid later) grants what it sold: its customer paid that much less in
|
|
297
|
+
* cash and spent that many credits, which is a swap rather than a gift.
|
|
299
298
|
*/
|
|
300
299
|
export declare function creditsOwedFor(invoice: {
|
|
301
300
|
metadata?: {
|
|
@@ -303,6 +302,74 @@ export declare function creditsOwedFor(invoice: {
|
|
|
303
302
|
} | null;
|
|
304
303
|
starting_balance?: number | null;
|
|
305
304
|
}): number;
|
|
305
|
+
/**
|
|
306
|
+
* Grant a library-issued credit invoice — the ONE call every path makes for it.
|
|
307
|
+
*
|
|
308
|
+
* The off-session charge credits synchronously, and the `invoice.paid` webhook and the
|
|
309
|
+
* poller credit the same invoice when its event lands. They share the idempotency key so the
|
|
310
|
+
* second is a no-op, and that only works if they also send IDENTICAL parameters: Stripe
|
|
311
|
+
* rejects a reused key with different ones. They did not — the auto-reload granted under its
|
|
312
|
+
* own key ("Auto-reload: 1 902 credits") and the event under `credit:invoice:<id>` with a
|
|
313
|
+
* different amount, so the same reload was credited twice; the card purchase and the event
|
|
314
|
+
* agreed on the key but not the description, so the event's grant errored on every delivery.
|
|
315
|
+
* Everything here is derived from the invoice alone, so every caller sends the same request.
|
|
316
|
+
*/
|
|
317
|
+
export declare function grantInvoiceCredits(invoice: Pick<Stripe.Invoice, "id" | "customer" | "metadata">, currency: string): Promise<number>;
|
|
318
|
+
/**
|
|
319
|
+
* Finalize an invoice WITHOUT letting Stripe settle it from the wallet.
|
|
320
|
+
*
|
|
321
|
+
* Stripe applies the customer's credit balance at finalization and offers no per-invoice
|
|
322
|
+
* way to refuse it, and that balance is the prepaid wallet — so a credit purchase was paid
|
|
323
|
+
* for, in part or in full, with credits. The balance is therefore SET ASIDE for the instant
|
|
324
|
+
* of finalization (zeroed by an adjustment) and restored straight after, both keyed on the
|
|
325
|
+
* invoice so a retry neither sets aside twice nor restores twice.
|
|
326
|
+
*
|
|
327
|
+
* Both transactions carry `kind: "adjustment"`, which the usage ledger skips, so they move
|
|
328
|
+
* no one's usage. The cost is the window itself, one finalize call long: a metered call
|
|
329
|
+
* landing in it reads an empty wallet and is refused. That refusal is retryable; the
|
|
330
|
+
* alternative was revenue nobody collected.
|
|
331
|
+
*/
|
|
332
|
+
export declare function finalizeOutsideWallet(stripeCustomerId: string, invoiceId: string, currency: string): Promise<Stripe.Invoice>;
|
|
333
|
+
/**
|
|
334
|
+
* Run `fn` — any Stripe call that FINALIZES an invoice — with the wallet set aside.
|
|
335
|
+
*
|
|
336
|
+
* `finalizeOutsideWallet` is this around `finalizeInvoice`. It is separate because not every
|
|
337
|
+
* finalization is a `finalizeInvoice` call: an `always_invoice` plan change creates and
|
|
338
|
+
* finalizes its proration invoice inside `subscriptions.update`, so the set-aside has to
|
|
339
|
+
* wrap that call instead. `key` names the operation, so a retry neither sets aside nor
|
|
340
|
+
* restores twice.
|
|
341
|
+
*/
|
|
342
|
+
export declare function withWalletSetAside<T>(stripeCustomerId: string, currency: string, key: string, fn: () => Promise<T>): Promise<T>;
|
|
343
|
+
/**
|
|
344
|
+
* Finalize a SUBSCRIPTION invoice ourselves, outside the wallet, before Stripe does.
|
|
345
|
+
*
|
|
346
|
+
* A renewal (and a `create_prorations` change, and a scheduled downgrade) is created as a
|
|
347
|
+
* draft and auto-finalized by Stripe about an hour later — at which point the customer's
|
|
348
|
+
* credit balance, which is the wallet, pays it. Credits bought for usage then pay for seats,
|
|
349
|
+
* which is the credit-sale defect again on the largest recurring charge. So on
|
|
350
|
+
* `invoice.created` the draft is finalized here, with the wallet set aside, and Stripe's own
|
|
351
|
+
* auto-advance then collects it from the card.
|
|
352
|
+
*
|
|
353
|
+
* Idempotent: an invoice that is no longer a draft — already finalized by us, by Stripe, or
|
|
354
|
+
* by a concurrent delivery of the same event — is left alone. Both the webhook and the poller
|
|
355
|
+
* call this; whichever runs second finds nothing to do. Returns whether it finalized.
|
|
356
|
+
*/
|
|
357
|
+
export declare function finalizeSubscriptionDraft(invoice: {
|
|
358
|
+
id?: string | null;
|
|
359
|
+
billing_reason?: string | null;
|
|
360
|
+
}): Promise<boolean>;
|
|
361
|
+
/**
|
|
362
|
+
* Whether a PAID invoice was settled, in part, out of the wallet — `starting_balance < 0`.
|
|
363
|
+
*
|
|
364
|
+
* Every invoice this library finalizes sets the wallet aside, so this should never be true.
|
|
365
|
+
* When it is, a path escaped: a webhook and a poll both missed a renewal's one-hour draft
|
|
366
|
+
* window, or a Checkout-created first invoice (finalized by Checkout itself, where nothing
|
|
367
|
+
* can intervene). Detection, so it is visible rather than silent: `createBillingSync`
|
|
368
|
+
* reports it through `hooks.onPaidFromWallet` and the doctor lists recent ones.
|
|
369
|
+
*/
|
|
370
|
+
export declare function paidFromWallet(invoice: {
|
|
371
|
+
starting_balance?: number | null;
|
|
372
|
+
}): number;
|
|
306
373
|
export declare function sellCredits(stripeCustomerId: string, orgId: string, config: ResolvedConfig, input: {
|
|
307
374
|
/** What they get. */
|
|
308
375
|
credits: number;
|
package/dist/billing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
|
package/dist/billing.js
CHANGED
|
@@ -491,29 +491,157 @@ export async function createCreditCheckoutSession(stripeCustomerId, orgId, amoun
|
|
|
491
491
|
* same machinery as any other invoice.
|
|
492
492
|
*/
|
|
493
493
|
/**
|
|
494
|
-
* What a credit invoice
|
|
494
|
+
* What a credit invoice grants: the quantity it SOLD, from `metadata.credits`, and nothing
|
|
495
|
+
* else.
|
|
495
496
|
*
|
|
496
|
-
* Stripe applies a customer's credit balance to any invoice it finalizes, and this
|
|
497
|
-
*
|
|
498
|
-
*
|
|
499
|
-
*
|
|
500
|
-
*
|
|
501
|
-
*
|
|
497
|
+
* Stripe applies a customer's credit balance to any invoice it finalizes, and this library's
|
|
498
|
+
* wallet IS that balance. This used to answer `sold + eaten` — repaying whatever the invoice
|
|
499
|
+
* had taken out of the wallet — which put the wallet right and left the CASH wrong: an
|
|
500
|
+
* Enterprise quote for 10 000 credits at €70 was settled €29.99 from the 2 999 credits the
|
|
501
|
+
* customer held, charged €40.01 to the card, and then re-granted the 2 999. The customer kept
|
|
502
|
+
* every credit and paid €29.99 less; an auto-reload with a full wallet was charged €0 and
|
|
503
|
+
* granted a wallet's worth on top. The fix is upstream: every invoice this library raises is
|
|
504
|
+
* finalized by `finalizeOutsideWallet`, so nothing is eaten and the sale grants what it sold.
|
|
502
505
|
*
|
|
503
|
-
*
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
* a credit was applied, and is in minor units, which is the same unit as a credit.
|
|
507
|
-
*
|
|
508
|
-
* The same arithmetic serves every invoiced purchase — a quote, a `buy_credits --method
|
|
509
|
-
* invoice`, an auto-reload — which is why it lives here rather than at three call sites.
|
|
506
|
+
* `starting_balance` is deliberately NOT read any more. An invoice finalized before that fix
|
|
507
|
+
* (an open emailed one paid later) grants what it sold: its customer paid that much less in
|
|
508
|
+
* cash and spent that many credits, which is a swap rather than a gift.
|
|
510
509
|
*/
|
|
511
510
|
export function creditsOwedFor(invoice) {
|
|
512
511
|
const sold = parseInt(invoice.metadata?.credits ?? "0", 10);
|
|
513
|
-
|
|
512
|
+
return Number.isFinite(sold) && sold > 0 ? sold : 0;
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Grant a library-issued credit invoice — the ONE call every path makes for it.
|
|
516
|
+
*
|
|
517
|
+
* The off-session charge credits synchronously, and the `invoice.paid` webhook and the
|
|
518
|
+
* poller credit the same invoice when its event lands. They share the idempotency key so the
|
|
519
|
+
* second is a no-op, and that only works if they also send IDENTICAL parameters: Stripe
|
|
520
|
+
* rejects a reused key with different ones. They did not — the auto-reload granted under its
|
|
521
|
+
* own key ("Auto-reload: 1 902 credits") and the event under `credit:invoice:<id>` with a
|
|
522
|
+
* different amount, so the same reload was credited twice; the card purchase and the event
|
|
523
|
+
* agreed on the key but not the description, so the event's grant errored on every delivery.
|
|
524
|
+
* Everything here is derived from the invoice alone, so every caller sends the same request.
|
|
525
|
+
*/
|
|
526
|
+
export async function grantInvoiceCredits(invoice, currency) {
|
|
527
|
+
const credits = creditsOwedFor(invoice);
|
|
528
|
+
const customer = typeof invoice.customer === "string" ? invoice.customer : invoice.customer?.id;
|
|
529
|
+
if (!credits || !customer || !invoice.id)
|
|
514
530
|
return 0;
|
|
515
|
-
|
|
516
|
-
return
|
|
531
|
+
await grantCredits(customer, credits, invoice.metadata?.auto_reload === "true" ? `Auto-reload: ${credits} credits` : `Purchase: ${credits} credits`, currency, `credit:invoice:${invoice.id}`);
|
|
532
|
+
return credits;
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Finalize an invoice WITHOUT letting Stripe settle it from the wallet.
|
|
536
|
+
*
|
|
537
|
+
* Stripe applies the customer's credit balance at finalization and offers no per-invoice
|
|
538
|
+
* way to refuse it, and that balance is the prepaid wallet — so a credit purchase was paid
|
|
539
|
+
* for, in part or in full, with credits. The balance is therefore SET ASIDE for the instant
|
|
540
|
+
* of finalization (zeroed by an adjustment) and restored straight after, both keyed on the
|
|
541
|
+
* invoice so a retry neither sets aside twice nor restores twice.
|
|
542
|
+
*
|
|
543
|
+
* Both transactions carry `kind: "adjustment"`, which the usage ledger skips, so they move
|
|
544
|
+
* no one's usage. The cost is the window itself, one finalize call long: a metered call
|
|
545
|
+
* landing in it reads an empty wallet and is refused. That refusal is retryable; the
|
|
546
|
+
* alternative was revenue nobody collected.
|
|
547
|
+
*/
|
|
548
|
+
export async function finalizeOutsideWallet(stripeCustomerId, invoiceId, currency) {
|
|
549
|
+
return withWalletSetAside(stripeCustomerId, currency, invoiceId, () => getStripe().invoices.finalizeInvoice(invoiceId));
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Run `fn` — any Stripe call that FINALIZES an invoice — with the wallet set aside.
|
|
553
|
+
*
|
|
554
|
+
* `finalizeOutsideWallet` is this around `finalizeInvoice`. It is separate because not every
|
|
555
|
+
* finalization is a `finalizeInvoice` call: an `always_invoice` plan change creates and
|
|
556
|
+
* finalizes its proration invoice inside `subscriptions.update`, so the set-aside has to
|
|
557
|
+
* wrap that call instead. `key` names the operation, so a retry neither sets aside nor
|
|
558
|
+
* restores twice.
|
|
559
|
+
*/
|
|
560
|
+
export async function withWalletSetAside(stripeCustomerId, currency, key, fn) {
|
|
561
|
+
const stripe = getStripe();
|
|
562
|
+
const held = await getCreditBalance(stripeCustomerId, currency);
|
|
563
|
+
if (held <= 0)
|
|
564
|
+
return fn();
|
|
565
|
+
await stripe.customers.createBalanceTransaction(stripeCustomerId, {
|
|
566
|
+
amount: held,
|
|
567
|
+
currency,
|
|
568
|
+
description: `Wallet set aside while ${key} is issued`,
|
|
569
|
+
metadata: { kind: "adjustment", set_aside_for: key },
|
|
570
|
+
}, { idempotencyKey: `wallet-aside:${key}` });
|
|
571
|
+
try {
|
|
572
|
+
return await fn();
|
|
573
|
+
}
|
|
574
|
+
finally {
|
|
575
|
+
// The restore is the customer's money: retried, and loud if it still fails.
|
|
576
|
+
let restored = false;
|
|
577
|
+
let lastError;
|
|
578
|
+
for (let attempt = 0; attempt < 3 && !restored; attempt++) {
|
|
579
|
+
try {
|
|
580
|
+
await stripe.customers.createBalanceTransaction(stripeCustomerId, {
|
|
581
|
+
amount: -held,
|
|
582
|
+
currency,
|
|
583
|
+
description: `Wallet restored after ${key} was issued`,
|
|
584
|
+
metadata: { kind: "adjustment", restored_for: key },
|
|
585
|
+
}, { idempotencyKey: `wallet-restore:${key}` });
|
|
586
|
+
restored = true;
|
|
587
|
+
}
|
|
588
|
+
catch (e) {
|
|
589
|
+
lastError = e;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
if (!restored) {
|
|
593
|
+
console.error(`[billing] could not restore ${held} credits set aside for ${key} on ${stripeCustomerId}:`, lastError);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Finalize a SUBSCRIPTION invoice ourselves, outside the wallet, before Stripe does.
|
|
599
|
+
*
|
|
600
|
+
* A renewal (and a `create_prorations` change, and a scheduled downgrade) is created as a
|
|
601
|
+
* draft and auto-finalized by Stripe about an hour later — at which point the customer's
|
|
602
|
+
* credit balance, which is the wallet, pays it. Credits bought for usage then pay for seats,
|
|
603
|
+
* which is the credit-sale defect again on the largest recurring charge. So on
|
|
604
|
+
* `invoice.created` the draft is finalized here, with the wallet set aside, and Stripe's own
|
|
605
|
+
* auto-advance then collects it from the card.
|
|
606
|
+
*
|
|
607
|
+
* Idempotent: an invoice that is no longer a draft — already finalized by us, by Stripe, or
|
|
608
|
+
* by a concurrent delivery of the same event — is left alone. Both the webhook and the poller
|
|
609
|
+
* call this; whichever runs second finds nothing to do. Returns whether it finalized.
|
|
610
|
+
*/
|
|
611
|
+
export async function finalizeSubscriptionDraft(invoice) {
|
|
612
|
+
if (!invoice.id || !invoice.billing_reason?.startsWith("subscription"))
|
|
613
|
+
return false;
|
|
614
|
+
const stripe = getStripe();
|
|
615
|
+
const fresh = await stripe.invoices.retrieve(invoice.id);
|
|
616
|
+
if (fresh.status !== "draft")
|
|
617
|
+
return false;
|
|
618
|
+
const customer = typeof fresh.customer === "string" ? fresh.customer : fresh.customer?.id;
|
|
619
|
+
if (!customer)
|
|
620
|
+
return false;
|
|
621
|
+
try {
|
|
622
|
+
await finalizeOutsideWallet(customer, invoice.id, fresh.currency);
|
|
623
|
+
return true;
|
|
624
|
+
}
|
|
625
|
+
catch (e) {
|
|
626
|
+
// Lost a race with another finalizer (Stripe's own, or a second delivery): fine, as
|
|
627
|
+
// long as the invoice really is no longer a draft. Anything else is a real failure.
|
|
628
|
+
const again = await stripe.invoices.retrieve(invoice.id);
|
|
629
|
+
if (again.status !== "draft")
|
|
630
|
+
return false;
|
|
631
|
+
throw e;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* Whether a PAID invoice was settled, in part, out of the wallet — `starting_balance < 0`.
|
|
636
|
+
*
|
|
637
|
+
* Every invoice this library finalizes sets the wallet aside, so this should never be true.
|
|
638
|
+
* When it is, a path escaped: a webhook and a poll both missed a renewal's one-hour draft
|
|
639
|
+
* window, or a Checkout-created first invoice (finalized by Checkout itself, where nothing
|
|
640
|
+
* can intervene). Detection, so it is visible rather than silent: `createBillingSync`
|
|
641
|
+
* reports it through `hooks.onPaidFromWallet` and the doctor lists recent ones.
|
|
642
|
+
*/
|
|
643
|
+
export function paidFromWallet(invoice) {
|
|
644
|
+
return invoice.starting_balance && invoice.starting_balance < 0 ? -invoice.starting_balance : 0;
|
|
517
645
|
}
|
|
518
646
|
export async function sellCredits(stripeCustomerId, orgId, config, input) {
|
|
519
647
|
const { credits, amountMinor } = input;
|
|
@@ -581,7 +709,7 @@ export async function sellCredits(stripeCustomerId, orgId, config, input) {
|
|
|
581
709
|
}, { idempotencyKey: `${key}:invoice` });
|
|
582
710
|
if (!draft.id)
|
|
583
711
|
return { status: "refused", reason: "charge_failed", message: "Stripe returned no invoice." };
|
|
584
|
-
const finalized = await
|
|
712
|
+
const finalized = await finalizeOutsideWallet(stripeCustomerId, draft.id, currency);
|
|
585
713
|
if (card) {
|
|
586
714
|
// Off-session, because nobody is at a browser: this is an operator accepting on the
|
|
587
715
|
// customer's behalf, or an admin pressing accept on a price agreed days ago.
|
|
@@ -710,6 +838,7 @@ export async function purchaseCredits(stripeCustomerId, orgId, amountMajor, conf
|
|
|
710
838
|
return { status: "refused", reason: "charge_failed", message: "Stripe returned no invoice." };
|
|
711
839
|
let settled;
|
|
712
840
|
try {
|
|
841
|
+
await finalizeOutsideWallet(stripeCustomerId, invoice.id, currency);
|
|
713
842
|
settled = await stripe.invoices.pay(invoice.id, { off_session: true });
|
|
714
843
|
if (settled.status !== "paid") {
|
|
715
844
|
return { status: "refused", reason: "charge_failed", message: `Invoice is ${settled.status}, not paid.` };
|
|
@@ -728,13 +857,9 @@ export async function purchaseCredits(stripeCustomerId, orgId, amountMajor, conf
|
|
|
728
857
|
// synchronous: the caller gets `charged` and the balance is already true. The webhook
|
|
729
858
|
// grants on the same key, so a delivered event cannot double it.
|
|
730
859
|
//
|
|
731
|
-
// `
|
|
732
|
-
//
|
|
733
|
-
|
|
734
|
-
// 2 100 (measured headless, exactly the loss `creditsOwedFor` exists to repay). The
|
|
735
|
-
// webhook path already used it; this one, which credits before the event, did not.
|
|
736
|
-
const owed = creditsOwedFor(settled) || credits;
|
|
737
|
-
await grantCredits(stripeCustomerId, owed, `Purchase: ${credits} credits`, currency, `credit:invoice:${invoice.id}`);
|
|
860
|
+
// `grantInvoiceCredits`, the same request the event will send, so it is a no-op there.
|
|
861
|
+
// Nothing was eaten: `finalizeOutsideWallet` kept the wallet off the invoice.
|
|
862
|
+
await grantInvoiceCredits({ id: invoice.id, customer: stripeCustomerId, metadata: { org_id: orgId, credits: String(credits) } }, currency);
|
|
738
863
|
return { status: "charged", method, credits, invoiceId: invoice.id };
|
|
739
864
|
}
|
|
740
865
|
// method === "invoice" — Stripe sends the bill and collects it.
|
|
@@ -771,7 +896,7 @@ export async function purchaseCredits(stripeCustomerId, orgId, amountMajor, conf
|
|
|
771
896
|
return { status: "refused", reason: "charge_failed", message: "Stripe returned no invoice." };
|
|
772
897
|
// Finalize THEN send: an unfinalized invoice has no number, no hosted page and nothing to
|
|
773
898
|
// pay, and `sendInvoice` on a draft is an error rather than a send.
|
|
774
|
-
const finalized = await
|
|
899
|
+
const finalized = await finalizeOutsideWallet(stripeCustomerId, draft.id, currency);
|
|
775
900
|
// The SEND can fail on its own — an account not yet activated for invoice emails answers
|
|
776
901
|
// "This invoice cannot be sent right now", which is Stripe's, not the customer's fault.
|
|
777
902
|
// The invoice is finalized and payable either way, so losing its hosted URL to that error
|
|
@@ -1006,11 +1131,17 @@ opts = {}) {
|
|
|
1006
1131
|
}, { idempotencyKey: `${key}:invoice` });
|
|
1007
1132
|
if (!invoice.id)
|
|
1008
1133
|
return;
|
|
1134
|
+
// Finalized with the wallet SET ASIDE. Otherwise a reload — which by definition fires
|
|
1135
|
+
// while the wallet still holds credits — was paid out of them: measured, a 1 902-credit
|
|
1136
|
+
// reload on a wallet of 12 998 charged the card €0.
|
|
1137
|
+
await finalizeOutsideWallet(stripeCustomerId, invoice.id, currency);
|
|
1009
1138
|
const paid = await stripe.invoices.pay(invoice.id, { off_session: true });
|
|
1010
1139
|
if (paid.status === "paid") {
|
|
1011
|
-
//
|
|
1012
|
-
// a
|
|
1013
|
-
|
|
1140
|
+
// The invoice's own grant, under the key the `invoice.paid` event uses, so the event
|
|
1141
|
+
// is a no-op. It used `credit:${key}`, and the event granted the same reload again.
|
|
1142
|
+
// Built from what this call set rather than read off the response, so the request is
|
|
1143
|
+
// byte-for-byte the one the event handler derives from the same invoice.
|
|
1144
|
+
await grantInvoiceCredits({ id: invoice.id, customer: stripeCustomerId, metadata: { auto_reload: "true", credits: String(creditsNeeded) } }, currency);
|
|
1014
1145
|
}
|
|
1015
1146
|
}
|
|
1016
1147
|
catch {
|
package/dist/billing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,kFAAkF;AAClF,oFAAoF;AACpF,iFAAiF;AACjF,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,+EAA+E;AAC/E,wEAAwE;AACxE,0EAA0E;AAC1E,oEAAoE;AAEpE,0EAA0E;AAC1E,iEAAiE;AACjE,IAAI,OAAO,GAAkB,IAAI,CAAC;AAClC,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAkB,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,OAAO,GAAG,MAAgB,CAAC;AAC7B,CAAC;AAoBD,SAAS,aAAa,CAAC,CAAe;IACpC,MAAM,OAAO,GACX,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC;QACrE,CAAC,CAAE,CAAC,CAAC,OAA0B;QAC/B,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAClC,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;QAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;QAC5B,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,IAAI,IAAI;QACvC,aAAa,EAAE,CAAC,CAAC,SAAS,EAAE,cAAc,IAAI,IAAI;KACnD,CAAC;AACJ,CAAC;AAED;;0BAE0B;AAC1B,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,CAAC,cAAc,CAAC;KACzB,CAAC,EAAE,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;6EAI6E;AAC7E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAiD,EAAE;IAEnD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC,cAAc,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC3C,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,KAAa;IAEb,OAAO,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;kCAMkC;AAClC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAuB,EACvB,KAAa;IASb,OAAO,CACL,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI;QAC1C,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,IAAI;KACjB,CACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,KAAa,EACb,KAAyB,EACzB,MAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,KAAK;QACL,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QAC3B,oEAAoE;QACpE,GAAG,CAAC,MAAM,CAAC,aAAa;YACtB,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,wEAAwE;QACxE,kDAAkD;QAClD,MAAM,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAC7C,QAAQ,CAAC,EAAE,EACX;YACE,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,kBAAkB,MAAM,CAAC,WAAW,eAAe;SACjE,EACD,EAAE,cAAc,EAAE,WAAW,KAAK,EAAE,EAAE,CACvC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,gBAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,QAA4B,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,gBAAwB,EACxB,QAAiB;AACjB,iFAAiF;AACjF,UAAmC;IAEnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC;IACrC,8EAA8E;IAC9E,6EAA6E;IAC7E,iFAAiF;IACjF,oEAAoE;IACpE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtC,6EAA6E;IAC7E,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,2CAA2C;IAC3C,EAAE;IACF,yEAAyE;IACzE,wEAAwE;IACxE,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;QAChF,KAAK,EAAE,GAAG;KACX,CAAC,EAAE,CAAC;QACH,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,EAAE,OAAO,IAAI,GAAG;YAAE,MAAM;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAAwB,EACxB,QAAgB,EAChB,IAAY,EACZ,QAAgB;AAChB;+EAC+E;AAC/E,MAAsC;IAEtC,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,gBAAgB,EAAE;QACrE,MAAM,EAAE,IAAI,EAAE,mBAAmB;QACjC,QAAQ;QACR,WAAW,EAAE,cAAc,QAAQ,KAAK,IAAI,WAAW;QACvD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;KACF,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,gBAAwB,EACxB,KAAa,EACb,MAAmD;IAEnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;QACrF,KAAK,EAAE,GAAG;KACX,CAAC,EAAE,CAAC;QACH,IAAI,EAAE,CAAC,OAAO,GAAG,KAAK;YAAE,MAAM;QAC9B,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS,CAAC,8BAA8B;QAC5D,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY;YAAE,SAAS;QACjD,IAAI,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QACnF,IAAI,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,CAAC,QAAQ;YAAE,SAAS;QAC7E,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,gBAAwB,EACxB,OAAqD,EACrD,MAAmD;IAEnD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAExD,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;QACrF,KAAK,EAAE,GAAG;KACX,CAAC,EAAE,CAAC;QACH,0EAA0E;QAC1E,IAAI,EAAE,CAAC,OAAO,GAAG,MAAM;YAAE,MAAM;QAC/B,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS,CAAC,8BAA8B;QAC5D,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY;YAAE,SAAS;QACjD,IAAI,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QACnF,IAAI,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,MAAM,CAAC,QAAQ;YAAE,SAAS;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YACtB,2EAA2E;YAC3E,4EAA4E;YAC5E,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QACjG,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,KAAK,4BAA4B,IAAI,IAAI,KAAK,0CAA0C,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,gBAAwB,EACxB,MAAc,EACd,WAAmB,EACnB,QAAgB;AAChB;2EAC2E;AAC3E,cAAuB;IAEvB,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAClD,gBAAgB,EAChB;QACE,MAAM,EAAE,CAAC,MAAM,EAAE,oBAAoB;QACrC,QAAQ;QACR,WAAW;KACZ,EACD,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;AACJ,CAAC;AAkFD,kFAAkF;AAClF,iFAAiF;AACjF,mCAAmC;AACnC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+D,CAAC;AAE9F;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,aAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACpB,IAAI,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,MAAM,CAAC,QAAQ;iBAClB,QAAQ,CAAC,EAAE,CAAC;iBACZ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACrF,0EAA0E;YAC1E,2BAA2B;YAC3B,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CACH,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACvE,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;IACtD,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,QAAQ,GAAG,GAAG;QACrB,UAAU;QACV,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB;IACpC,cAAc,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,MAAsB,EACtB,OAA6B,EAAE;IAE/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,0BAA0B;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,gFAAgF;IAChF,gFAAgF;IAChF,6EAA6E;IAC7E,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzD,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,SAAS;QACf,+EAA+E;QAC/E,+DAA+D;QAC/D,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,OAAO,EAAE,QAAoB;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG,MAAM,CAAC,OAAO,4BAA4B,OAAO,EAAE;gBACrF,4BAA4B,EAAE;oBAC5B,kEAAkE;oBAClE,oEAAoE;oBACpE,uEAAuE;oBACvE,gEAAgE;oBAChE,+DAA+D;oBAC/D,qBAAqB;oBACrB,EAAE;oBACF,qEAAqE;oBACrE,sEAAsE;oBACtE,sEAAsE;oBACtE,mEAAmE;oBACnE,4DAA4D;oBAC5D,uBAAuB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;oBAC7D,mEAAmE;oBACnE,oCAAoC;oBACpC,EAAE;oBACF,oEAAoE;oBACpE,mEAAmE;oBACnE,sEAAsE;oBACtE,qEAAqE;oBACrE,qEAAqE;oBACrE,qDAAqD;oBACrD,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,QAAQ;wBACrC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,SAAkB,EAAE,CAAC;iBACjD;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,kEAAkE;QAClE,oEAAoE;QACpE,cAAc;QACd,UAAU,EAAE;YACV;gBACE,UAAU,EAAE;oBACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,YAAY,EAAE;wBACZ,IAAI,EAAE,GAAG,OAAO,UAAU;wBAC1B,WAAW,EAAE,GAAG,WAAW,MAAM,OAAO,UAAU;qBACnD;oBACD,WAAW,EAAE,WAAW;iBACzB;gBACD,QAAQ,EAAE,CAAC;gBACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;SACF;QACD,2EAA2E;QAC3E,mCAAmC;QACnC,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,kFAAkF;QAClF,2EAA2E;QAC3E,EAAE;QACF,8EAA8E;QAC9E,2EAA2E;QAC3E,+EAA+E;QAC/E,gFAAgF;QAChF,yEAAyE;QACzE,8EAA8E;QAC9E,gFAAgF;QAChF,uEAAuE;QACvE,oBAAoB;QACpB,EAAE;QACF,+EAA+E;QAC/E,8EAA8E;QAC9E,8CAA8C;QAC9C,0BAA0B,EAAE,UAAU;QACtC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;QAC5D,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;QAClD,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACnC,mBAAmB,EAAE;YACnB,kBAAkB,EAAE,aAAa;YACjC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;SACtD;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;QACrD,4EAA4E;QAC5E,qCAAqC;QACrC,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG,MAAM,CAAC,OAAO,4BAA4B,OAAO,EAAE;gBACtF,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,OAAO,iBAAiB;aACjE,CAAC;KACP,CAAC,CAAC;IACH,sFAAsF;IACtF,uFAAuF;IACvF,mFAAmF;IACnF,uFAAuF;IACvF,kEAAkE;IAClE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI;QACxB,YAAY,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;QAC3C,SAAS,EAAE,OAAO,CAAC,EAAE;KACtB,CAAC;AACJ,CAAC;AAoCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,OAG9B;IACC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA6D,EAC7D,QAAgB;IAEhB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IAChG,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IACnD,MAAM,YAAY,CAChB,QAAQ,EACR,OAAO,EACP,OAAO,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,OAAO,UAAU,CAAC,CAAC,CAAC,aAAa,OAAO,UAAU,EAC7G,QAAQ,EACR,kBAAkB,OAAO,CAAC,EAAE,EAAE,CAC/B,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,gBAAwB,EACxB,SAAiB,EACjB,QAAgB;IAEhB,OAAO,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CACpE,SAAS,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAChD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,gBAAwB,EACxB,QAAgB,EAChB,GAAW,EACX,EAAoB;IAEpB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAC7C,gBAAgB,EAChB;QACE,MAAM,EAAE,IAAI;QACZ,QAAQ;QACR,WAAW,EAAE,0BAA0B,GAAG,YAAY;QACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE;KACrD,EACD,EAAE,cAAc,EAAE,gBAAgB,GAAG,EAAE,EAAE,CAC1C,CAAC;IACF,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,4EAA4E;QAC5E,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,SAAkB,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAC7C,gBAAgB,EAChB;oBACE,MAAM,EAAE,CAAC,IAAI;oBACb,QAAQ;oBACR,WAAW,EAAE,yBAAyB,GAAG,aAAa;oBACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE;iBACpD,EACD,EAAE,cAAc,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAC5C,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,SAAS,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACX,+BAA+B,IAAI,0BAA0B,GAAG,OAAO,gBAAgB,GAAG,EAC1F,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAG/C;IACC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IACrF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1F,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,oFAAoF;QACpF,oFAAoF;QACpF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAA6C;IAC1E,OAAO,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,gBAAwB,EACxB,KAAa,EACb,MAAsB,EACtB,KA8BC;IASD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACnG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IAC/G,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;IACtC,mFAAmF;IACnF,kFAAkF;IAClF,+DAA+D;IAC/D,MAAM,IAAI,GACR,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjH,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,uFAAuF;SACjG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,0FAA0F;IAC1F,yEAAyE;IACzE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,uGAAuG;SACjH,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,2FAA2F;IAC3F,oFAAoF;IACpF,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5D,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,IAAI,QAAQ,gBAAgB,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;IACzF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC;IACtF,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAC9B;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ;QACR,MAAM,EAAE,WAAW;QACnB,WAAW;QACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,EAAE,CAClC,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CACxC;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ;QACR,uFAAuF;QACvF,mDAAmD;QACnD,GAAG,CAAC,IAAI;YACN,CAAC,CAAC,EAAE,iBAAiB,EAAE,sBAA+B,EAAE,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE;YACzF,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAuB,EAAE,cAAc,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAC7F,YAAY,EAAE,KAAK;QACnB,8BAA8B,EAAE,SAAS;QACzC,WAAW;QACX,kDAAkD;QAClD,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,sFAAsF;QACtF,+BAA+B;QAC/B,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;KACtD,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,UAAU,EAAE,CACrC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAE7G,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEpF,IAAI,IAAI,EAAE,CAAC;QACT,oFAAoF;QACpF,6EAA6E;QAC7E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,IAAI,CAAC,EAAG;gBACnB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,kBAAkB,IAAI,IAAI;gBACjF,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sFAAsF;YACtF,oFAAoF;YACpF,sFAAsF;YACtF,2EAA2E;YAC3E,qFAAqF;YACrF,EAAE;YACF,sFAAsF;YACtF,uFAAuF;YACvF,gCAAgC;YAChC,MAAM,IAAI,GAAI,CAAgD,EAAE,IAAI,IAAK,CAAiC,EAAE,GAAG,EAAE,IAAI,CAAC;YACtH,IAAI,IAAI,KAAK,wCAAwC,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBAC5F,OAAO;oBACL,MAAM,EAAE,sBAAsB;oBAC9B,SAAS,EAAE,SAAS,CAAC,EAAG;oBACxB,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,IAAI,IAAI;oBACtD,OAAO,EACL,iFAAiF;wBACjF,2CAA2C;iBAC9C,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,SAAS,CAAC,EAAG;gBACxB,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,IAAI,IAAI;gBACtD,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC5D,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,gFAAgF;IAChF,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,EAAG,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,IAAI,CAAC,EAAG;QACnB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,kBAAkB,IAAI,IAAI;QACjF,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI;QAClD,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,MAAsB,EACtB,OAMI,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;YAC9F,GAAG,IAAI;YACP,mFAAmF;YACnF,iFAAiF;YACjF,gFAAgF;YAChF,mBAAmB;YACnB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACnB,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;SACtD,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,qFAAqF;IACrF,qFAAqF;IACrF,0DAA0D;IAC1D,MAAM,GAAG,GAAG,YAAY,gBAAgB,IAAI,OAAO,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAE9E,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS;gBACjB,OAAO,EACL,4FAA4F;oBAC5F,uEAAuE;aAC1E,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAC9B;YACE,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ;YACR,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,aAAa,OAAO,UAAU;YAC3C,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,EAAE,CAClC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAC1C;YACE,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ;YACR,iBAAiB,EAAE,sBAAsB;YACzC,sBAAsB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACtC,YAAY,EAAE,KAAK;YACnB,8EAA8E;YAC9E,kFAAkF;YAClF,gFAAgF;YAChF,8BAA8B,EAAE,SAAS;YACzC,WAAW,EAAE,aAAa,OAAO,UAAU;YAC3C,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;SACtD,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,UAAU,EAAE,CACrC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;QAC/G,IAAI,OAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACpE,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,OAAO,CAAC,MAAM,aAAa,EAAE,CAAC;YAC5G,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sFAAsF;YACtF,0CAA0C;YAC1C,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACnE,CAAC;QACJ,CAAC;QACD,qFAAqF;QACrF,sFAAsF;QACtF,iEAAiE;QACjE,EAAE;QACF,uFAAuF;QACvF,8EAA8E;QAC9E,MAAM,mBAAmB,CACvB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EACrG,QAAQ,CACT,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,gEAAgE;IAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,uGAAuG;SACjH,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAC9B;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ;QACR,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,aAAa,OAAO,UAAU;QAC3C,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,EAAE,CAClC,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CACxC;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ;QACR,iBAAiB,EAAE,cAAc;QACjC,cAAc,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;QACtC,YAAY,EAAE,KAAK;QACnB,8BAA8B,EAAE,SAAS;QACzC,WAAW,EAAE,aAAa,OAAO,UAAU;QAC3C,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,iFAAiF;QACjF,sFAAsF;QACtF,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;KACtD,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,UAAU,EAAE,CACrC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAC7G,0FAA0F;IAC1F,oEAAoE;IACpE,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpF,yFAAyF;IACzF,wFAAwF;IACxF,0FAA0F;IAC1F,oFAAoF;IACpF,yFAAyF;IACzF,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,EAAG,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,SAAS;QACjB,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,EAAG;QACnB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,kBAAkB,IAAI,IAAI;QACjF,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI;QAClD,OAAO;KACR,CAAC;AACJ,CAAC;AAcD;;;;;;;6CAO6C;AAC7C,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,gBAAwB,EACxB,SAAiB,EACjB,OAAuD,EAAE;IAEzD,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9D,QAAQ,EAAE,gBAAgB;QAC1B,UAAU,EAAE,SAAS;QACrB,GAAG,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC;gBACE,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,uBAAuB;oBAC/C,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAgC,EAAE;oBAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB;wBACnC,CAAC,CAAC;4BACE,IAAI,EAAE,qBAA8B;4BACpC,mBAAmB,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,cAAe,EAAE;yBAC5D;wBACH,CAAC,CAAC;4BACE,IAAI,EAAE,qBAA8B;4BACpC,mBAAmB,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,cAAe,EAAE;yBAC5D,CAAsD;aAC9D;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,CAAC;AACrB,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,wDAAwD;AACxD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,gEAAgE;AAEhE,yEAAyE;AACzE,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAS/C;oEACoE;AACpE,MAAM,UAAU,eAAe,CAAC,QAA4C;IAC1E,MAAM,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO;QACL,wEAAwE;QACxE,wEAAwE;QACxE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAChE,YAAY,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aACvC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,gBAAwB;AACxB,iFAAiF;AACjF,UAAmC;IAEnC,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAkB,EAAE,YAAuB;IAC3E,IAAI,SAAS,IAAI,CAAC,YAAY,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,CACL,mFAAmF;QACnF,wFAAwF;QACxF,qDAAqD,CACtD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,gBAAwB,EACxB,KAAgE;IAEhE,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC5B,QAAQ,CAAC,eAAe,CAAC;YACvB,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC;gBAC1C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IACD,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,QAAQ,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,gBAAwB;IAKlE,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC/B,IAAI,IAAI,CAAC,mBAAmB,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,IAAI,GAAG,EAAE,EAAE,CAAC;QAC1D,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,EAAE,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,gBAAwB,EACxB,SAAiB,EACjB,QAAgB,EAChB,OAAgB;IAEhB,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE;QACnD,QAAQ,EAAE;YACR,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC;YACpC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC;YACxC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;SACjC;KACF,CAAC,CAAC;AACL,CAAC;AAuBD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAAwB,EACxB,MAAwD;IAExD,MAAM,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC1D,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAAwB,EACxB,QAAgB;AAChB;qEACqE;AACrE,OAA+C,EAAE;IAEjD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO;IAE3C,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACnE,IAAI,OAAO,GAAG,QAAQ,CAAC,SAAS;QAAE,OAAO;IAEzC,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC;IACnD,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO;IAE/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QAC3C,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,mFAAmF;IACnF,+EAA+E;IAC/E,qFAAqF;IACrF,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7D,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,cAAc,gBAAgB,IAAI,QAAQ,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAC9B;YACE,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ;YACR,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,gBAAgB,aAAa,UAAU;YACpD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,EAAE,CAClC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAC1C;YACE,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ;YACR,iBAAiB,EAAE,sBAAsB;YACzC,sBAAsB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACtC,YAAY,EAAE,KAAK;YACnB,qEAAqE;YACrE,uEAAuE;YACvE,uEAAuE;YACvE,0EAA0E;YAC1E,yCAAyC;YACzC,8BAA8B,EAAE,SAAS;YACzC,WAAW,EAAE,gBAAgB,aAAa,UAAU;YACpD,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;SAClE,EACD,EAAE,cAAc,EAAE,GAAG,GAAG,UAAU,EAAE,CACrC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO;QAExB,sFAAsF;QACtF,wFAAwF;QACxF,oDAAoD;QACpD,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,qFAAqF;YACrF,oFAAoF;YACpF,qFAAqF;YACrF,yEAAyE;YACzE,MAAM,mBAAmB,CACvB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EACjH,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;IAC1E,CAAC;AACH,CAAC;AAiCD,SAAS,cAAc,CAAC,GAAmB;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAG;QACX,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU;QAC/C,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI;QACJ,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;QACnD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;QAC3E,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,IAAI;QACvE,WAAW,EAAE,GAAG,CAAC,kBAAkB,IAAI,IAAI;QAC3C,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EAAiB;IACtC,OAAO;QACL,EAAE,EAAE,EAAE,CAAC,EAAG;QACV,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,WAAW,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtD,UAAU,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;QACrD,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,iEAAiE;QACjE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACnD,IAAI,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW;QAC/B,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;QAClD,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI;QACnC,gEAAgE;QAChE,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI;QACnC,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,gBAAwB,EAAE,KAAK,GAAG,EAAE;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;KAC3D,CAAC,CAAC;IAEH,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI;SACnC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC;SAChF,GAAG,CAAC,aAAa,CAAC,CAAC;IAEtB,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,iBAAiB,CAAC;SAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SAC7E,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,oEAAoE;AACpE,SAAS,YAAY,CAAC,GAA6D;IACjF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,gBAAwB,EACxB,SAAiB;IAEjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,gBAAgB;gBAAE,OAAO,IAAI,CAAC;YACpE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,gBAAgB;YAAE,OAAO,IAAI,CAAC;QACrE,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,yBAAyB;YAAE,OAAO,IAAI,CAAC;QACtE,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAAwB,EACxB,SAAiB;IAEjB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC5D,OAAO,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAEhF,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAuB,EACvB,KAAa,EACb,KAAK,GAAG,EAAE;IAEV,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,KAAa,EACb,SAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAuB,EACvB,KAAa,EACb,SAAiB;IAEjB,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7D,OAAO,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-cli.d.ts","sourceRoot":"","sources":["../../src/dev/stripe-cli.ts"],"names":[],"mappings":"AA6DA;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAClE,OAAO,CAAC,MAAM,CAAC,CAwDjB;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+CpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE;IACJ,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;0EACsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;mDAE+C;IAC/C,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACxB,GACL,OAAO,CAAC,QAAQ,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA0BnE;
|
|
1
|
+
{"version":3,"file":"stripe-cli.d.ts","sourceRoot":"","sources":["../../src/dev/stripe-cli.ts"],"names":[],"mappings":"AA6DA;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAClE,OAAO,CAAC,MAAM,CAAC,CAwDjB;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+CpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE;IACJ,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;0EACsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;mDAE+C;IAC/C,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACxB,GACL,OAAO,CAAC,QAAQ,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA0BnE;AAcD;;8CAE8C;AAC9C,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQvF;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAc1F"}
|
package/dist/dev/stripe-cli.js
CHANGED
|
@@ -195,10 +195,11 @@ export async function startLocalWebhooks(opts = {}) {
|
|
|
195
195
|
// Duplicated from webhook-setup.ts rather than imported: that module pulls in
|
|
196
196
|
// `billing.ts` → the Stripe SDK, and this entry point is deliberately reachable
|
|
197
197
|
// with nothing installed but Node (it is also the only module here allowed to
|
|
198
|
-
// touch child_process and fs).
|
|
198
|
+
// touch child_process and fs). Five strings are a cheaper price than that edge.
|
|
199
199
|
const LOCAL_WEBHOOK_EVENTS = [
|
|
200
200
|
"checkout.session.completed",
|
|
201
201
|
"checkout.session.async_payment_succeeded",
|
|
202
|
+
"invoice.created",
|
|
202
203
|
"invoice.paid",
|
|
203
204
|
"invoice.payment_failed",
|
|
204
205
|
];
|