@pax2pay/model-banking 0.1.232 → 0.1.234
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/Amounts.ts +5 -0
- package/Identity.ts +11 -4
- package/Settlement/Total.ts +1 -10
- package/dist/Amounts.d.ts +1 -0
- package/dist/Amounts.js +4 -0
- package/dist/Amounts.js.map +1 -1
- package/dist/Identity.d.ts +2 -2
- package/dist/Identity.js +4 -3
- package/dist/Identity.js.map +1 -1
- package/dist/Settlement/Total.js +1 -2
- package/dist/Settlement/Total.js.map +1 -1
- package/package.json +1 -1
package/Amounts.ts
CHANGED
|
@@ -13,6 +13,11 @@ export namespace Amounts {
|
|
|
13
13
|
addendee
|
|
14
14
|
)
|
|
15
15
|
}
|
|
16
|
+
export function compare(left: Amounts, right: Amounts) {
|
|
17
|
+
return ([...new Set([...Object.keys(left), ...Object.keys(right)])] as isoly.Currency[]).every(
|
|
18
|
+
currency => left[currency] == right[currency]
|
|
19
|
+
)
|
|
20
|
+
}
|
|
16
21
|
export const type = isly.record<Amounts>(isly.string(isoly.Currency.types), isly.number())
|
|
17
22
|
export const is = type.is
|
|
18
23
|
export const flaw = type.flaw
|
package/Identity.ts
CHANGED
|
@@ -23,24 +23,31 @@ export class Identity {
|
|
|
23
23
|
)
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
static async authenticate(
|
|
26
|
+
static async authenticate<T extends Partial<Record<"realm" | "organization", true>> = Record<string, never>>(
|
|
27
27
|
header: { authorization?: string | undefined; realm?: Realm; organization?: string },
|
|
28
28
|
constraint: Key.Permissions,
|
|
29
|
+
requires?: T,
|
|
29
30
|
verifier: userwidgets.User.Key.Verifier<Key> = productionVerifier
|
|
30
|
-
): Promise<Identity | undefined> {
|
|
31
|
+
): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined> {
|
|
31
32
|
const authorization = header.authorization?.startsWith("Bearer ")
|
|
32
33
|
? header.authorization.replace("Bearer ", "")
|
|
33
34
|
: undefined
|
|
34
35
|
const key = await Identity.verify(authorization, verifier)
|
|
35
36
|
const realms = key && Identity.getRealms(key.permissions)
|
|
36
|
-
const
|
|
37
|
+
const identity =
|
|
37
38
|
key &&
|
|
38
39
|
new Identity(
|
|
39
40
|
key,
|
|
40
41
|
(realms?.length == 1 ? realms[0] : header.realm) as Realm,
|
|
41
42
|
(key.organization ?? header.organization) as string
|
|
42
43
|
)
|
|
43
|
-
|
|
44
|
+
const requirement = (
|
|
45
|
+
value: Identity | undefined
|
|
46
|
+
): value is
|
|
47
|
+
| (keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity)
|
|
48
|
+
| undefined =>
|
|
49
|
+
(requires?.organization ? !!identity?.organization : true) && (requires?.realm ? Realm.is(identity?.realm) : true)
|
|
50
|
+
return (!constraint || identity?.check(constraint)) && requirement(identity) ? identity : undefined
|
|
44
51
|
}
|
|
45
52
|
static async verify(
|
|
46
53
|
authorization: string | undefined,
|
package/Settlement/Total.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { isoly } from "isoly"
|
|
2
1
|
import { isly } from "isly"
|
|
3
2
|
import { Amounts } from "../Amounts"
|
|
4
3
|
import { Transaction } from "../Transaction"
|
|
@@ -8,7 +7,6 @@ export type Total = {
|
|
|
8
7
|
amount: Amounts
|
|
9
8
|
fee: Fee
|
|
10
9
|
}
|
|
11
|
-
|
|
12
10
|
export namespace Total {
|
|
13
11
|
export function initiate(partial?: Partial<Total>): Total {
|
|
14
12
|
return { amount: partial?.amount ?? {}, fee: partial?.fee ?? { other: {} } }
|
|
@@ -17,14 +15,7 @@ export namespace Total {
|
|
|
17
15
|
return { amount: Amounts.add(addendee.amount, addend.amount), fee: Fee.add(addendee.fee, addend.fee) }
|
|
18
16
|
}
|
|
19
17
|
export function compare(expected: Total, outcome: Total): boolean {
|
|
20
|
-
return (
|
|
21
|
-
([...new Set([...Object.keys(expected.amount), ...Object.keys(outcome.amount)])] as isoly.Currency[]).every(
|
|
22
|
-
currency => expected.amount[currency] == outcome.amount[currency]
|
|
23
|
-
) &&
|
|
24
|
-
([...new Set([...Object.keys(expected.fee.other), ...Object.keys(outcome.fee.other)])] as isoly.Currency[]).every(
|
|
25
|
-
currency => expected.fee.other[currency] == outcome.fee.other[currency]
|
|
26
|
-
)
|
|
27
|
-
)
|
|
18
|
+
return Amounts.compare(expected.amount, outcome.amount) && Amounts.compare(expected.fee.other, outcome.fee.other)
|
|
28
19
|
}
|
|
29
20
|
export function from(collect: Transaction.Collect, collected: Total = initiate()): Total {
|
|
30
21
|
let result: Total = collected
|
package/dist/Amounts.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { isly } from "isly";
|
|
|
3
3
|
export type Amounts = Partial<Record<isoly.Currency, number>>;
|
|
4
4
|
export declare namespace Amounts {
|
|
5
5
|
function add(addendee: Amounts, addend: Amounts): Amounts;
|
|
6
|
+
function compare(left: Amounts, right: Amounts): boolean;
|
|
6
7
|
const type: isly.Type<Partial<Record<"BTN" | "CHE" | "MKD" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL", number>>>;
|
|
7
8
|
const is: isly.Type.IsFunction<Partial<Record<"BTN" | "CHE" | "MKD" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL", number>>>;
|
|
8
9
|
const flaw: isly.Type.FlawFunction;
|
package/dist/Amounts.js
CHANGED
|
@@ -9,6 +9,10 @@ export var Amounts;
|
|
|
9
9
|
}), addendee);
|
|
10
10
|
}
|
|
11
11
|
Amounts.add = add;
|
|
12
|
+
function compare(left, right) {
|
|
13
|
+
return [...new Set([...Object.keys(left), ...Object.keys(right)])].every(currency => left[currency] == right[currency]);
|
|
14
|
+
}
|
|
15
|
+
Amounts.compare = compare;
|
|
12
16
|
Amounts.type = isly.record(isly.string(isoly.Currency.types), isly.number());
|
|
13
17
|
Amounts.is = Amounts.type.is;
|
|
14
18
|
Amounts.flaw = Amounts.type.flaw;
|
package/dist/Amounts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Amounts.js","sourceRoot":"../","sources":["Amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,OAAO,
|
|
1
|
+
{"version":3,"file":"Amounts.js","sourceRoot":"../","sources":["Amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,OAAO,CAkBvB;AAlBD,WAAiB,OAAO;IACvB,SAAgB,GAAG,CAAC,QAAiB,EAAE,MAAe;QACrD,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAgC,CAAC,MAAM,CACnE,CAAC,CAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC;YACJ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACzE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,WAAG,MAQlB,CAAA;IACD,SAAgB,OAAO,CAAC,IAAa,EAAE,KAAc;QACpD,OAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAsB,CAAC,KAAK,CAC7F,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAC7C,CAAA;IACF,CAAC;IAJe,eAAO,UAItB,CAAA;IACY,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7E,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAlBgB,OAAO,KAAP,OAAO,QAkBvB"}
|
package/dist/Identity.d.ts
CHANGED
|
@@ -10,11 +10,11 @@ export declare class Identity {
|
|
|
10
10
|
constructor(key: Key, realm?: "eu" | "uk" | "test" | "testUK" | "upcheck" | undefined, organization?: string | undefined);
|
|
11
11
|
check(constraint: Key.Permissions, realm?: Realm, organization?: string): boolean;
|
|
12
12
|
collectionCheck(collection: string): boolean;
|
|
13
|
-
static authenticate(header: {
|
|
13
|
+
static authenticate<T extends Partial<Record<"realm" | "organization", true>> = Record<string, never>>(header: {
|
|
14
14
|
authorization?: string | undefined;
|
|
15
15
|
realm?: Realm;
|
|
16
16
|
organization?: string;
|
|
17
|
-
}, constraint: Key.Permissions, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<Identity | undefined>;
|
|
17
|
+
}, constraint: Key.Permissions, requires?: T, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined>;
|
|
18
18
|
static verify(authorization: string | undefined, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<Key | undefined>;
|
|
19
19
|
static getRealms(permissions: Key.Permissions): ("eu" | "uk" | "test" | "testUK" | "upcheck")[];
|
|
20
20
|
}
|
package/dist/Identity.js
CHANGED
|
@@ -33,15 +33,16 @@ export class Identity {
|
|
|
33
33
|
collectionCheck(collection) {
|
|
34
34
|
return Object.values(this.key.permissions).some(value => (typeof value == "object" && value[collection]) || value == true);
|
|
35
35
|
}
|
|
36
|
-
static async authenticate(header, constraint, verifier = productionVerifier) {
|
|
36
|
+
static async authenticate(header, constraint, requires, verifier = productionVerifier) {
|
|
37
37
|
const authorization = header.authorization?.startsWith("Bearer ")
|
|
38
38
|
? header.authorization.replace("Bearer ", "")
|
|
39
39
|
: undefined;
|
|
40
40
|
const key = await Identity.verify(authorization, verifier);
|
|
41
41
|
const realms = key && Identity.getRealms(key.permissions);
|
|
42
|
-
const
|
|
42
|
+
const identity = key &&
|
|
43
43
|
new Identity(key, (realms?.length == 1 ? realms[0] : header.realm), (key.organization ?? header.organization));
|
|
44
|
-
|
|
44
|
+
const requirement = (value) => (requires?.organization ? !!identity?.organization : true) && (requires?.realm ? Realm.is(identity?.realm) : true);
|
|
45
|
+
return (!constraint || identity?.check(constraint)) && requirement(identity) ? identity : undefined;
|
|
45
46
|
}
|
|
46
47
|
static async verify(authorization, verifier = productionVerifier) {
|
|
47
48
|
return await verifier.verify(authorization);
|
package/dist/Identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,QAAQ;IAEpB,IAAI,MAAM;QACT,OAAO,CAAC,sGAAiB,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAA,CAAC,CAAA;IACnE,CAAC;IAED,YAAqB,GAAQ,EAAW,KAAa,EAAW,YAAqB;QAAhE,QAAG,GAAH,GAAG,CAAK;QAAW,UAAK,GAAL,KAAK,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAS;QALrF,mCAA4B;IAK4D,CAAC;IACzF,KAAK,CAAC,UAA2B,EAAE,KAAa,EAAE,YAAqB;QACtE,OAAO;YACN,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/E,EAAE,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YACxD,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,UAAU,EAAE;YAC5C,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE;SACvB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IACD,eAAe,CAAC,UAAkB;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9C,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CACzE,CAAA;IACF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,MAAoF,EACpF,UAA2B,EAC3B,WAA+C,kBAAkB;QAEjE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC;YAChE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;QACZ,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACzD,MAAM,
|
|
1
|
+
{"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":"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"}
|
package/dist/Settlement/Total.js
CHANGED
|
@@ -12,8 +12,7 @@ export var Total;
|
|
|
12
12
|
}
|
|
13
13
|
Total.add = add;
|
|
14
14
|
function compare(expected, outcome) {
|
|
15
|
-
return
|
|
16
|
-
[...new Set([...Object.keys(expected.fee.other), ...Object.keys(outcome.fee.other)])].every(currency => expected.fee.other[currency] == outcome.fee.other[currency]));
|
|
15
|
+
return Amounts.compare(expected.amount, outcome.amount) && Amounts.compare(expected.fee.other, outcome.fee.other);
|
|
17
16
|
}
|
|
18
17
|
Total.compare = compare;
|
|
19
18
|
function from(collect, collected = initiate()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Total.js","sourceRoot":"../","sources":["Settlement/Total.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Total.js","sourceRoot":"../","sources":["Settlement/Total.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAM3B,MAAM,KAAW,KAAK,CAwBrB;AAxBD,WAAiB,KAAK;IACrB,SAAgB,QAAQ,CAAC,OAAwB;QAChD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAA;IAC7E,CAAC;IAFe,cAAQ,WAEvB,CAAA;IACD,SAAgB,GAAG,CAAC,QAAe,EAAE,MAAa;QACjD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACvG,CAAC;IAFe,SAAG,MAElB,CAAA;IACD,SAAgB,OAAO,CAAC,QAAe,EAAE,OAAc;QACtD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAClH,CAAC;IAFe,aAAO,UAEtB,CAAA;IACD,SAAgB,IAAI,CAAC,OAA4B,EAAE,YAAmB,QAAQ,EAAE;QAC/E,IAAI,MAAM,GAAU,SAAS,CAAA;QAC7B,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAClF,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC1B,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;qBACtE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAClC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAVe,UAAI,OAUnB,CAAA;IACY,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAClE,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;IACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAxBgB,KAAK,KAAL,KAAK,QAwBrB"}
|