@advplyr/partner-hub-embedded 0.2.3 → 0.3.0
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/helpers.d.ts +14 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +30 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +10 -3
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +44 -15
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CatalogPlan, FeatureValue, PlanFeature } from "./types.js";
|
|
2
|
+
/** Returns the resolved value for a feature key, or undefined if not found. */
|
|
3
|
+
export declare function featureValue(features: PlanFeature[], key: string): FeatureValue | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Returns the first plan that has the given feature enabled.
|
|
6
|
+
* Useful for upgrade prompts, e.g. "upgrade to {plan.name} to unlock this feature".
|
|
7
|
+
*/
|
|
8
|
+
export declare function findPlanWithFeature(plans: CatalogPlan[], key: string): CatalogPlan | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Returns whether a boolean feature is enabled for the current customer.
|
|
11
|
+
* Throws if the feature exists but is not a boolean type.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isFeatureEnabled(features: PlanFeature[], key: string): boolean;
|
|
14
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE3F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAK9F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAc9E"}
|
package/dist/helpers.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PartnerHubEmbeddedError } from "./types.js";
|
|
2
|
+
/** Returns the resolved value for a feature key, or undefined if not found. */
|
|
3
|
+
export function featureValue(features, key) {
|
|
4
|
+
return features.find((entry) => entry.key === key)?.value;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Returns the first plan that has the given feature enabled.
|
|
8
|
+
* Useful for upgrade prompts, e.g. "upgrade to {plan.name} to unlock this feature".
|
|
9
|
+
*/
|
|
10
|
+
export function findPlanWithFeature(plans, key) {
|
|
11
|
+
return plans.find((plan) => {
|
|
12
|
+
const feature = plan.features.find((entry) => entry.key === key);
|
|
13
|
+
return feature !== undefined && feature.type === "boolean" && feature.value === true;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Returns whether a boolean feature is enabled for the current customer.
|
|
18
|
+
* Throws if the feature exists but is not a boolean type.
|
|
19
|
+
*/
|
|
20
|
+
export function isFeatureEnabled(features, key) {
|
|
21
|
+
const feature = features.find((entry) => entry.key === key);
|
|
22
|
+
if (!feature) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (feature.type !== "boolean") {
|
|
26
|
+
throw new PartnerHubEmbeddedError(`Feature "${key}" is type "${feature.type}"; isFeatureEnabled only supports boolean features`, 400);
|
|
27
|
+
}
|
|
28
|
+
return feature.value === true;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAGrD,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,QAAuB,EAAE,GAAW;IAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB,EAAE,GAAW;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACjE,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAuB,EAAE,GAAW;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,uBAAuB,CAC/B,YAAY,GAAG,cAAc,OAAO,CAAC,IAAI,oDAAoD,EAC7F,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;AAChC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { createPartnerHubEmbeddedClient, type PartnerHubEmbeddedClient
|
|
2
|
-
export {
|
|
1
|
+
export { createPartnerHubEmbeddedClient, type PartnerHubEmbeddedClient } from "./client.js";
|
|
2
|
+
export { featureValue, findPlanWithFeature, isFeatureEnabled } from "./helpers.js";
|
|
3
|
+
export { PartnerHubEmbeddedError, type CancelResult, type CatalogPlan, type PlanFeature, type PlanFeatureOverage, type PlanFeatureUsage, type EmbeddedSubscription, type FeatureType, type FeatureValue, type GetSubscriptionResult, type ListPlansResult, type PartnerHubEmbeddedClientOptions, type ResolvedFeature, type SubscribeResult, } from "./types.js";
|
|
3
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,
|
|
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,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEnF,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,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { createPartnerHubEmbeddedClient
|
|
1
|
+
export { createPartnerHubEmbeddedClient } from "./client.js";
|
|
2
|
+
export { featureValue, findPlanWithFeature, isFeatureEnabled } from "./helpers.js";
|
|
2
3
|
export { PartnerHubEmbeddedError, } from "./types.js";
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAiC,MAAM,aAAa,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEnF,OAAO,EACL,uBAAuB,GAcxB,MAAM,YAAY,CAAC"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import type { CancelResult, CatalogPlan, PlanFeature, EmbeddedSubscription, FeatureValue, PartnerHubEmbeddedClientOptions, SubscribeResult } from "./types.js";
|
|
3
3
|
export interface UsePartnerHubResult {
|
|
4
4
|
subscription: EmbeddedSubscription | null;
|
|
5
5
|
features: PlanFeature[];
|
|
@@ -13,6 +13,13 @@ export interface UsePartnerHubResult {
|
|
|
13
13
|
cancel: (input?: {
|
|
14
14
|
cancelAtPeriodEnd?: boolean;
|
|
15
15
|
}) => Promise<CancelResult>;
|
|
16
|
+
isFeatureEnabled: (key: string) => boolean;
|
|
17
|
+
featureValue: (key: string) => FeatureValue | undefined;
|
|
18
|
+
findPlanWithFeature: (key: string) => CatalogPlan | undefined;
|
|
16
19
|
}
|
|
17
|
-
export
|
|
20
|
+
export type PartnerHubProviderProps = PartnerHubEmbeddedClientOptions & {
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
};
|
|
23
|
+
export declare function PartnerHubProvider({ baseUrl, getSessionToken, fetch: fetchOverride, children, }: PartnerHubProviderProps): import("react").JSX.Element;
|
|
24
|
+
export declare function usePartnerHub(): UsePartnerHubResult;
|
|
18
25
|
//# sourceMappingURL=react.d.ts.map
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"
|
|
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,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,+BA4JzB;AAED,wBAAgB,aAAa,IAAI,mBAAmB,CAQnD"}
|
package/dist/react.js
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
|
|
2
3
|
import { createPartnerHubEmbeddedClient } from "./client.js";
|
|
4
|
+
import { findPlanWithFeature as findPlanWithFeatureInCatalog, isFeatureEnabled as checkFeatureEnabled, featureValue as getFeatureValue } from "./helpers.js";
|
|
3
5
|
import { PartnerHubEmbeddedError } from "./types.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
getSessionTokenRef
|
|
7
|
-
|
|
8
|
-
fetchRef
|
|
6
|
+
const PartnerHubContext = createContext(undefined);
|
|
7
|
+
export function PartnerHubProvider({ baseUrl, getSessionToken, fetch: fetchOverride, children, }) {
|
|
8
|
+
const getSessionTokenRef = useRef(getSessionToken);
|
|
9
|
+
getSessionTokenRef.current = getSessionToken;
|
|
10
|
+
const fetchRef = useRef(fetchOverride);
|
|
11
|
+
fetchRef.current = fetchOverride;
|
|
9
12
|
const client = useMemo(() => createPartnerHubEmbeddedClient({
|
|
10
|
-
baseUrl
|
|
13
|
+
baseUrl,
|
|
11
14
|
getSessionToken: () => getSessionTokenRef.current(),
|
|
12
15
|
fetch: (input, init) => {
|
|
13
16
|
const fetchImpl = fetchRef.current ?? fetch;
|
|
14
17
|
return fetchImpl(input, init);
|
|
15
18
|
},
|
|
16
|
-
}), [
|
|
19
|
+
}), [baseUrl]);
|
|
17
20
|
const [subscription, setSubscription] = useState(null);
|
|
18
21
|
const [features, setFeatures] = useState([]);
|
|
19
22
|
const [plans, setPlans] = useState([]);
|
|
20
|
-
const [loading, setLoading] = useState(
|
|
23
|
+
const [loading, setLoading] = useState(() => Boolean(baseUrl));
|
|
21
24
|
const [error, setError] = useState(null);
|
|
22
25
|
const refetch = useCallback(async () => {
|
|
23
|
-
if (!
|
|
26
|
+
if (!baseUrl) {
|
|
24
27
|
return;
|
|
25
28
|
}
|
|
26
29
|
setLoading(true);
|
|
@@ -46,15 +49,15 @@ export function usePartnerHub(options) {
|
|
|
46
49
|
finally {
|
|
47
50
|
setLoading(false);
|
|
48
51
|
}
|
|
49
|
-
}, [
|
|
52
|
+
}, [baseUrl, client]);
|
|
50
53
|
useEffect(() => {
|
|
51
|
-
if (!
|
|
54
|
+
if (!baseUrl) {
|
|
52
55
|
return;
|
|
53
56
|
}
|
|
54
57
|
void refetch().catch(() => {
|
|
55
58
|
// Errors are captured in state by refetch.
|
|
56
59
|
});
|
|
57
|
-
}, [
|
|
60
|
+
}, [baseUrl, refetch]);
|
|
58
61
|
const subscribe = useCallback(async (input) => {
|
|
59
62
|
try {
|
|
60
63
|
const result = await client.subscribe(input);
|
|
@@ -90,7 +93,10 @@ export function usePartnerHub(options) {
|
|
|
90
93
|
throw err;
|
|
91
94
|
}
|
|
92
95
|
}, [client, refetch]);
|
|
93
|
-
|
|
96
|
+
const isFeatureEnabled = useCallback((key) => checkFeatureEnabled(features, key), [features]);
|
|
97
|
+
const featureValue = useCallback((key) => getFeatureValue(features, key), [features]);
|
|
98
|
+
const findPlanWithFeature = useCallback((key) => findPlanWithFeatureInCatalog(plans, key), [plans]);
|
|
99
|
+
const value = useMemo(() => ({
|
|
94
100
|
subscription,
|
|
95
101
|
features,
|
|
96
102
|
plans,
|
|
@@ -99,6 +105,29 @@ export function usePartnerHub(options) {
|
|
|
99
105
|
refetch,
|
|
100
106
|
subscribe,
|
|
101
107
|
cancel,
|
|
102
|
-
|
|
108
|
+
isFeatureEnabled,
|
|
109
|
+
featureValue,
|
|
110
|
+
findPlanWithFeature,
|
|
111
|
+
}), [
|
|
112
|
+
subscription,
|
|
113
|
+
features,
|
|
114
|
+
plans,
|
|
115
|
+
loading,
|
|
116
|
+
error,
|
|
117
|
+
refetch,
|
|
118
|
+
subscribe,
|
|
119
|
+
cancel,
|
|
120
|
+
isFeatureEnabled,
|
|
121
|
+
featureValue,
|
|
122
|
+
findPlanWithFeature,
|
|
123
|
+
]);
|
|
124
|
+
return _jsx(PartnerHubContext.Provider, { value: value, children: children });
|
|
125
|
+
}
|
|
126
|
+
export function usePartnerHub() {
|
|
127
|
+
const context = useContext(PartnerHubContext);
|
|
128
|
+
if (context === undefined) {
|
|
129
|
+
throw new Error("usePartnerHub must be used within a PartnerHubProvider");
|
|
130
|
+
}
|
|
131
|
+
return context;
|
|
103
132
|
}
|
|
104
133
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,6 +5,11 @@ export interface PlanFeatureOverage {
|
|
|
5
5
|
unitAmountCents: number;
|
|
6
6
|
currencyCode: string;
|
|
7
7
|
}
|
|
8
|
+
export interface PlanFeatureUsage {
|
|
9
|
+
count: number;
|
|
10
|
+
remaining: number;
|
|
11
|
+
periodEnd: string;
|
|
12
|
+
}
|
|
8
13
|
export interface PlanFeature {
|
|
9
14
|
key: string;
|
|
10
15
|
name: string;
|
|
@@ -13,6 +18,8 @@ export interface PlanFeature {
|
|
|
13
18
|
value: FeatureValue;
|
|
14
19
|
/** Per-unit overage when usage exceeds the included limit (number features only). */
|
|
15
20
|
overage?: PlanFeatureOverage;
|
|
21
|
+
/** Current-period usage for the customer (number features only, subscription endpoint). */
|
|
22
|
+
usage?: PlanFeatureUsage;
|
|
16
23
|
}
|
|
17
24
|
export type PlanCustomFieldType = "number" | "text" | "checkbox";
|
|
18
25
|
export type PlanCustomFieldValue = number | string | boolean;
|
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,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,qFAAqF;IACrF,OAAO,CAAC,EAAE,kBAAkB,CAAC;
|
|
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":"AAoGA,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"}
|