@advplyr/partner-hub-embedded 0.3.2 → 0.4.1
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/client.d.ts +2 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +35 -2
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +7 -9
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +4 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CancelResult,
|
|
1
|
+
import type { CancelResult, GetCustomerResult, ListPlansResult, PartnerHubEmbeddedClientOptions, SubscribeResult } from "./types.js";
|
|
2
2
|
export declare function createPartnerHubEmbeddedClient(options: PartnerHubEmbeddedClientOptions): {
|
|
3
|
-
|
|
3
|
+
getCustomer(): Promise<GetCustomerResult>;
|
|
4
4
|
listPlans(): Promise<ListPlansResult>;
|
|
5
5
|
subscribe(input: {
|
|
6
6
|
planHandle: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAkFpB,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B;;;qBAUlE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;mBAOzB;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;EAOhD;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
import { PartnerHubEmbeddedError } from "./types.js";
|
|
2
|
+
/** Backoff after failed attempts 1–3; fourth attempt has no following delay. */
|
|
3
|
+
const GET_CUSTOMER_RETRY_DELAYS_MS = [400, 800, 1600];
|
|
4
|
+
function sleep(ms) {
|
|
5
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
6
|
+
}
|
|
7
|
+
function isRetryableGetCustomerError(error) {
|
|
8
|
+
if (error instanceof PartnerHubEmbeddedError) {
|
|
9
|
+
return (error.statusCode === 401 ||
|
|
10
|
+
error.statusCode === 429 ||
|
|
11
|
+
error.statusCode === 502 ||
|
|
12
|
+
error.statusCode === 503 ||
|
|
13
|
+
error.statusCode === 504);
|
|
14
|
+
}
|
|
15
|
+
// Transient network failures (fetch throws before a response).
|
|
16
|
+
return error instanceof Error;
|
|
17
|
+
}
|
|
18
|
+
async function embeddedFetchGetCustomer(options, path) {
|
|
19
|
+
let lastError;
|
|
20
|
+
for (let attempt = 0; attempt <= GET_CUSTOMER_RETRY_DELAYS_MS.length; attempt++) {
|
|
21
|
+
try {
|
|
22
|
+
return await embeddedFetch(options, path);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
lastError = error;
|
|
26
|
+
const delay = GET_CUSTOMER_RETRY_DELAYS_MS[attempt];
|
|
27
|
+
if (delay === undefined || !isRetryableGetCustomerError(error)) {
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
await sleep(delay);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
throw lastError;
|
|
34
|
+
}
|
|
2
35
|
async function embeddedFetch(options, path, init) {
|
|
3
36
|
const fetchImpl = options.fetch ?? fetch;
|
|
4
37
|
const base = `${options.baseUrl.replace(/\/$/, "")}/api/embedded/legacy-billing`;
|
|
@@ -23,8 +56,8 @@ async function embeddedFetch(options, path, init) {
|
|
|
23
56
|
}
|
|
24
57
|
export function createPartnerHubEmbeddedClient(options) {
|
|
25
58
|
return {
|
|
26
|
-
|
|
27
|
-
return
|
|
59
|
+
getCustomer() {
|
|
60
|
+
return embeddedFetchGetCustomer(options, "/customer");
|
|
28
61
|
},
|
|
29
62
|
listPlans() {
|
|
30
63
|
return embeddedFetch(options, "/plans");
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,KAAK,UAAU,aAAa,CAC1B,OAAwC,EACxC,IAAY,EACZ,IAAkB;IAElB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC;IACjF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IACpD,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,KAAK,EAAE;QAChC,GAAI,IAAI,EAAE,OAA8C;KACzD,CAAC;IACF,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACjD,GAAG,IAAI;QACP,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;IAE7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,uBAAuB,CAC/B,IAAI,CAAC,KAAK,IAAI,mBAAmB,QAAQ,CAAC,MAAM,GAAG,EACnD,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAwC;IACrF,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createPartnerHubEmbeddedClient, type PartnerHubEmbeddedClient } from "./client.js";
|
|
2
2
|
export { featureValue, findPlanWithFeature, getSubscribedPlan, isFeatureEnabled, visiblePlanFeatures } from "./helpers.js";
|
|
3
|
-
export { PartnerHubEmbeddedError, type CancelResult, type CatalogPlan, type PlanFeature, type PlanFeatureOverage, type PlanFeatureUsage, type EmbeddedSubscription, type FeatureType, type FeatureValue, type
|
|
3
|
+
export { PartnerHubEmbeddedError, type CancelResult, type CatalogPlan, type PlanFeature, type PlanFeatureOverage, type PlanFeatureUsage, type EmbeddedSubscription, type FeatureType, type FeatureValue, type GetCustomerResult, type ListPlansResult, type PartnerHubEmbeddedClientOptions, type ResolvedFeature, type SubscribeResult, } from "./types.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,KAAK,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE3H,OAAO,EACL,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,KAAK,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE3H,OAAO,EACL,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gGAAgG;IAChG,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3E,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IACxD,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,GAAG;IACtE,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAIF,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,eAAe,EACf,KAAK,EAAE,aAAa,EACpB,QAAQ,GACT,EAAE,uBAAuB,+
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gGAAgG;IAChG,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3E,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;IACxD,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,GAAG;IACtE,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAIF,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,eAAe,EACf,KAAK,EAAE,aAAa,EACpB,QAAQ,GACT,EAAE,uBAAuB,+BA6JzB;AAED,wBAAgB,aAAa,IAAI,mBAAmB,CAQnD"}
|
package/dist/react.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
|
|
3
3
|
import { createPartnerHubEmbeddedClient } from "./client.js";
|
|
4
|
-
import { findPlanWithFeature as findPlanWithFeatureInCatalog,
|
|
4
|
+
import { findPlanWithFeature as findPlanWithFeatureInCatalog, isFeatureEnabled as checkFeatureEnabled, featureValue as getFeatureValue } from "./helpers.js";
|
|
5
5
|
import { PartnerHubEmbeddedError } from "./types.js";
|
|
6
6
|
const PartnerHubContext = createContext(undefined);
|
|
7
7
|
export function PartnerHubProvider({ baseUrl, getSessionToken, fetch: fetchOverride, children, }) {
|
|
@@ -20,6 +20,7 @@ export function PartnerHubProvider({ baseUrl, getSessionToken, fetch: fetchOverr
|
|
|
20
20
|
const [subscription, setSubscription] = useState(null);
|
|
21
21
|
const [features, setFeatures] = useState([]);
|
|
22
22
|
const [plans, setPlans] = useState([]);
|
|
23
|
+
const [currentPlan, setCurrentPlan] = useState(null);
|
|
23
24
|
const [loading, setLoading] = useState(() => Boolean(baseUrl));
|
|
24
25
|
const [error, setError] = useState(null);
|
|
25
26
|
const refetch = useCallback(async () => {
|
|
@@ -29,13 +30,11 @@ export function PartnerHubProvider({ baseUrl, getSessionToken, fetch: fetchOverr
|
|
|
29
30
|
setLoading(true);
|
|
30
31
|
setError(null);
|
|
31
32
|
try {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
setFeatures(subscriptionResult.features);
|
|
38
|
-
setPlans(plansResult.plans);
|
|
33
|
+
const customer = await client.getCustomer();
|
|
34
|
+
setSubscription(customer.subscription);
|
|
35
|
+
setFeatures(customer.features);
|
|
36
|
+
setPlans(customer.plans);
|
|
37
|
+
setCurrentPlan(customer.plan);
|
|
39
38
|
}
|
|
40
39
|
catch (err) {
|
|
41
40
|
const message = err instanceof PartnerHubEmbeddedError
|
|
@@ -96,7 +95,6 @@ export function PartnerHubProvider({ baseUrl, getSessionToken, fetch: fetchOverr
|
|
|
96
95
|
const isFeatureEnabled = useCallback((key) => checkFeatureEnabled(features, key), [features]);
|
|
97
96
|
const featureValue = useCallback((key) => getFeatureValue(features, key), [features]);
|
|
98
97
|
const findPlanWithFeature = useCallback((key) => findPlanWithFeatureInCatalog(plans, key), [plans]);
|
|
99
|
-
const currentPlan = useMemo(() => getSubscribedPlanFromCatalog(plans, subscription) ?? null, [plans, subscription]);
|
|
100
98
|
const value = useMemo(() => ({
|
|
101
99
|
subscription,
|
|
102
100
|
features,
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,mBAAmB,IAAI,4BAA4B,EAAE,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface PlanFeature {
|
|
|
23
23
|
visible: boolean;
|
|
24
24
|
/** Per-unit overage when usage exceeds the included limit (number features only). */
|
|
25
25
|
overage?: PlanFeatureOverage;
|
|
26
|
-
/** Current-period usage for the customer (number features only,
|
|
26
|
+
/** Current-period usage for the customer (number features only, customer endpoint). */
|
|
27
27
|
usage?: PlanFeatureUsage;
|
|
28
28
|
}
|
|
29
29
|
export type PlanCustomFieldType = "number" | "text" | "checkbox";
|
|
@@ -47,9 +47,11 @@ export interface EmbeddedSubscription {
|
|
|
47
47
|
currency: string | null;
|
|
48
48
|
recurringAmountCents: number | null;
|
|
49
49
|
}
|
|
50
|
-
export interface
|
|
50
|
+
export interface GetCustomerResult {
|
|
51
51
|
subscription: EmbeddedSubscription | null;
|
|
52
52
|
features: PlanFeature[];
|
|
53
|
+
plan: CatalogPlan | null;
|
|
54
|
+
plans: CatalogPlan[];
|
|
53
55
|
}
|
|
54
56
|
export interface CatalogPlan {
|
|
55
57
|
id: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA2GA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAGrC;IAFX,YACE,OAAe,EACN,UAAkB;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,eAAU,GAAV,UAAU,CAAQ;QAG3B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
|