From 0abe121b8e6abd760330d087d930df3859940cd9 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 12:49:37 -0500 Subject: [PATCH 01/19] Add tests for entry type method generation - Add test file to verify generated Post methods for entry types - Test hyphenated, camelCase, and underscore naming conventions - Test schemas with entry types that have lines defined - Verify method existence and functionality when methods are generated --- tests/entry-type-methods.test.ts | 577 +++++++++++++++++++++++++++++++ 1 file changed, 577 insertions(+) create mode 100644 tests/entry-type-methods.test.ts diff --git a/tests/entry-type-methods.test.ts b/tests/entry-type-methods.test.ts new file mode 100644 index 0000000..17c5c6f --- /dev/null +++ b/tests/entry-type-methods.test.ts @@ -0,0 +1,577 @@ +import { expect, test } from "vitest"; + +import { v4 as uuidv4 } from "uuid"; +import { createFragmentClient } from "../src/client.js"; +import { + CurrencyCode, + CurrencyMode, + LedgerAccountTypes, +} from "../generated/generated.js"; + +// Type for client with potential dynamic methods +type ClientWithDynamicMethods = ReturnType & { + [key: string]: unknown; +}; + +const clientId = process.env.CLIENT_ID; +const clientSecret = process.env.CLIENT_SECRET; +const scope = process.env.SCOPE; +const authUrl = process.env.AUTH_URL; +const apiUrl = process.env.API_URL; + +const getClient = async () => { + if (!clientId || !clientSecret || !scope || !authUrl || !apiUrl) { + throw new Error( + "Please provide CLIENT_ID, CLIENT_SECRET, SCOPE, AUTH_URL, and API_URL as environment variables" + ); + } + return createFragmentClient({ + params: { + clientId, + clientSecret, + scope, + authUrl, + apiUrl, + }, + }); +}; + +test("Test entry type methods with hyphenated naming", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "user-funds-account", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger - Hyphenated", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + // Check if type-specific method exists + const expectedMethodName = "PostUserFundsAccount"; + const methodExists = + typeof (client as ClientWithDynamicMethods)[expectedMethodName] === + "function"; + + if (methodExists) { + // Test calling the method if it exists + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + expectedMethodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "200", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + expect(result.addLedgerEntry.entry.type).toEqual("user-funds-account"); + } + + // Verify the entry was created correctly + const getEntryResponse = await client.getLedgerEntry({ + ik: entryIk, + ledgerIk, + }); + + expect(getEntryResponse.ledgerEntry).toBeDefined(); + } else { + // Log that method doesn't exist (test still passes to document current behavior) + console.log( + `Method ${expectedMethodName} does not exist on client. Current methods:`, + Object.keys(client as ClientWithDynamicMethods).filter( + (key) => key.startsWith("post") || key.startsWith("Post") + ) + ); + } +}); + +test("Test entry type methods with camelCase naming", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "fundingSettlement", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger - CamelCase", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + // Check if type-specific method exists + const expectedMethodName = "PostFundingSettlement"; + const methodExists = + typeof (client as ClientWithDynamicMethods)[expectedMethodName] === + "function"; + + if (methodExists) { + // Test calling the method if it exists + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + expectedMethodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "300", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + expect(result.addLedgerEntry.entry.type).toEqual("fundingSettlement"); + } + + // Verify the entry was created correctly + const getEntryResponse = await client.getLedgerEntry({ + ik: entryIk, + ledgerIk, + }); + + expect(getEntryResponse.ledgerEntry).toBeDefined(); + } else { + // Log that method doesn't exist (test still passes to document current behavior) + console.log( + `Method ${expectedMethodName} does not exist on client. Current methods:`, + Object.keys(client as ClientWithDynamicMethods).filter( + (key) => key.startsWith("post") || key.startsWith("Post") + ) + ); + } +}); + +test("Test entry type methods with underscore naming", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "payment_processing", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger - Underscore", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + // Check if type-specific method exists + const expectedMethodName = "PostPaymentProcessing"; + const methodExists = + typeof (client as ClientWithDynamicMethods)[expectedMethodName] === + "function"; + + if (methodExists) { + // Test calling the method if it exists + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + expectedMethodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "400", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + expect(result.addLedgerEntry.entry.type).toEqual("payment_processing"); + } + + // Verify the entry was created correctly + const getEntryResponse = await client.getLedgerEntry({ + ik: entryIk, + ledgerIk, + }); + + expect(getEntryResponse.ledgerEntry).toBeDefined(); + } else { + // Log that method doesn't exist (test still passes to document current behavior) + console.log( + `Method ${expectedMethodName} does not exist on client. Current methods:`, + Object.keys(client as ClientWithDynamicMethods).filter( + (key) => key.startsWith("post") || key.startsWith("Post") + ) + ); + } +}); + +test("Test multiple entry types in single schema", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "user-funds-account", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + { + type: "fundingSettlement", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + { + type: "payment_processing", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger - Multiple Types", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + // Check all expected methods + const expectedMethods = [ + "PostUserFundsAccount", + "PostFundingSettlement", + "PostPaymentProcessing", + ]; + + const methodResults = expectedMethods.map((methodName) => ({ + methodName, + exists: + typeof (client as ClientWithDynamicMethods)[methodName] === "function", + })); + + // Log results for documentation + console.log("Method existence check:", methodResults); + + // Test calling Post methods if they exist + for (const { methodName, exists } of methodResults) { + if (exists) { + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + methodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "500", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + // Verify the entry was created successfully + expect(result.addLedgerEntry.entry.type).toBeDefined(); + } + } + } +}); + From e71ff7d278a451d1abc11f5117f930d471ab0cfa Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 12:51:05 -0500 Subject: [PATCH 02/19] Move entry type method tests to basic-test.test.ts - Consolidate tests into basic-test.test.ts to match existing test structure - Remove console.log statements to match existing test style - Simplify test names and variable names to match existing patterns - Test entry type methods with hyphenated, camelCase, and underscore naming --- tests/basic-test.test.ts | 521 ++++++++++++++++++++++++++++ tests/entry-type-methods.test.ts | 577 ------------------------------- 2 files changed, 521 insertions(+), 577 deletions(-) delete mode 100644 tests/entry-type-methods.test.ts diff --git a/tests/basic-test.test.ts b/tests/basic-test.test.ts index 58dbe41..d314857 100644 --- a/tests/basic-test.test.ts +++ b/tests/basic-test.test.ts @@ -9,6 +9,10 @@ import { } from "../generated/generated.js"; import { BadRequestError } from "../src/errors.js"; +type ClientWithDynamicMethods = ReturnType & { + [key: string]: unknown; +}; + const clientId = process.env.CLIENT_ID; const clientSecret = process.env.CLIENT_SECRET; const scope = process.env.SCOPE; @@ -196,3 +200,520 @@ test("Handles mutation operations", async () => { }) ).rejects.toThrowError(BadRequestError); }); + +test("Entry type methods with hyphenated naming", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "user-funds-account", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + const expectedMethodName = "PostUserFundsAccount"; + const methodExists = + typeof (client as ClientWithDynamicMethods)[expectedMethodName] === + "function"; + + if (methodExists) { + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + expectedMethodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ + addLedgerEntry: { + __typename: string; + entry?: { type?: string | null }; + }; + }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "200", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + expect(result.addLedgerEntry.entry.type).toEqual("user-funds-account"); + } + + const getEntryResponse = await client.getLedgerEntry({ + ik: entryIk, + ledgerIk, + }); + + expect(getEntryResponse.ledgerEntry).toBeDefined(); + } +}); + +test("Entry type methods with camelCase naming", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "fundingSettlement", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + const expectedMethodName = "PostFundingSettlement"; + const methodExists = + typeof (client as ClientWithDynamicMethods)[expectedMethodName] === + "function"; + + if (methodExists) { + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + expectedMethodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ + addLedgerEntry: { + __typename: string; + entry?: { type?: string | null }; + }; + }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "300", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + expect(result.addLedgerEntry.entry.type).toEqual("fundingSettlement"); + } + + const getEntryResponse = await client.getLedgerEntry({ + ik: entryIk, + ledgerIk, + }); + + expect(getEntryResponse.ledgerEntry).toBeDefined(); + } +}); + +test("Entry type methods with underscore naming", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "payment_processing", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + const expectedMethodName = "PostPaymentProcessing"; + const methodExists = + typeof (client as ClientWithDynamicMethods)[expectedMethodName] === + "function"; + + if (methodExists) { + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + expectedMethodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ + addLedgerEntry: { + __typename: string; + entry?: { type?: string | null }; + }; + }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "400", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + expect(result.addLedgerEntry.entry.type).toEqual("payment_processing"); + } + + const getEntryResponse = await client.getLedgerEntry({ + ik: entryIk, + ledgerIk, + }); + + expect(getEntryResponse.ledgerEntry).toBeDefined(); + } +}); + +test("Multiple entry types in single schema", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "user-funds-account", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + { + type: "fundingSettlement", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + { + type: "payment_processing", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + const expectedMethods = [ + "PostUserFundsAccount", + "PostFundingSettlement", + "PostPaymentProcessing", + ]; + + for (const methodName of expectedMethods) { + const methodExists = + typeof (client as ClientWithDynamicMethods)[methodName] === "function"; + + if (methodExists) { + const entryIk = uuidv4(); + const method = (client as ClientWithDynamicMethods)[ + methodName + ] as (args: { + ik: string; + ledgerIk: string; + parameters: Record; + }) => Promise<{ + addLedgerEntry: { + __typename: string; + entry?: { type?: string | null }; + }; + }>; + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "500", + }, + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if ( + result.addLedgerEntry.__typename === "AddLedgerEntryResult" && + result.addLedgerEntry.entry + ) { + expect(result.addLedgerEntry.entry.type).toBeDefined(); + } + } + } +}); diff --git a/tests/entry-type-methods.test.ts b/tests/entry-type-methods.test.ts deleted file mode 100644 index 17c5c6f..0000000 --- a/tests/entry-type-methods.test.ts +++ /dev/null @@ -1,577 +0,0 @@ -import { expect, test } from "vitest"; - -import { v4 as uuidv4 } from "uuid"; -import { createFragmentClient } from "../src/client.js"; -import { - CurrencyCode, - CurrencyMode, - LedgerAccountTypes, -} from "../generated/generated.js"; - -// Type for client with potential dynamic methods -type ClientWithDynamicMethods = ReturnType & { - [key: string]: unknown; -}; - -const clientId = process.env.CLIENT_ID; -const clientSecret = process.env.CLIENT_SECRET; -const scope = process.env.SCOPE; -const authUrl = process.env.AUTH_URL; -const apiUrl = process.env.API_URL; - -const getClient = async () => { - if (!clientId || !clientSecret || !scope || !authUrl || !apiUrl) { - throw new Error( - "Please provide CLIENT_ID, CLIENT_SECRET, SCOPE, AUTH_URL, and API_URL as environment variables" - ); - } - return createFragmentClient({ - params: { - clientId, - clientSecret, - scope, - authUrl, - apiUrl, - }, - }); -}; - -test("Test entry type methods with hyphenated naming", async () => { - const client = await getClient(); - - const schemaKey = uuidv4(); - const storeSchemaResponse = await client.storeSchema({ - schema: { - key: schemaKey, - chartOfAccounts: { - defaultCurrencyMode: CurrencyMode.Multi, - accounts: [ - { - key: "asset-root", - name: "Asset Root", - type: LedgerAccountTypes.Asset, - children: [], - }, - { - key: "liability-root", - name: "Liability Root", - type: LedgerAccountTypes.Liability, - children: [], - }, - ], - }, - ledgerEntries: { - types: [ - { - type: "user-funds-account", - lines: [ - { - key: "asset-line", - account: { - path: "asset-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - { - key: "liability-line", - account: { - path: "liability-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - ], - }, - ], - }, - }, - }); - - expect(storeSchemaResponse.storeSchema.__typename).toEqual( - "StoreSchemaResult" - ); - - const ledgerIk = uuidv4(); - const createLedgerResponse = await client.createLedger({ - ik: ledgerIk, - ledger: { - name: "Test SDK Ledger - Hyphenated", - }, - schemaKey, - }); - - expect(createLedgerResponse.createLedger.__typename).toEqual( - "CreateLedgerResult" - ); - - // Check if type-specific method exists - const expectedMethodName = "PostUserFundsAccount"; - const methodExists = - typeof (client as ClientWithDynamicMethods)[expectedMethodName] === - "function"; - - if (methodExists) { - // Test calling the method if it exists - const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - expectedMethodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "200", - }, - }); - - expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); - if ( - result.addLedgerEntry.__typename === "AddLedgerEntryResult" && - result.addLedgerEntry.entry - ) { - expect(result.addLedgerEntry.entry.type).toEqual("user-funds-account"); - } - - // Verify the entry was created correctly - const getEntryResponse = await client.getLedgerEntry({ - ik: entryIk, - ledgerIk, - }); - - expect(getEntryResponse.ledgerEntry).toBeDefined(); - } else { - // Log that method doesn't exist (test still passes to document current behavior) - console.log( - `Method ${expectedMethodName} does not exist on client. Current methods:`, - Object.keys(client as ClientWithDynamicMethods).filter( - (key) => key.startsWith("post") || key.startsWith("Post") - ) - ); - } -}); - -test("Test entry type methods with camelCase naming", async () => { - const client = await getClient(); - - const schemaKey = uuidv4(); - const storeSchemaResponse = await client.storeSchema({ - schema: { - key: schemaKey, - chartOfAccounts: { - defaultCurrencyMode: CurrencyMode.Multi, - accounts: [ - { - key: "asset-root", - name: "Asset Root", - type: LedgerAccountTypes.Asset, - children: [], - }, - { - key: "liability-root", - name: "Liability Root", - type: LedgerAccountTypes.Liability, - children: [], - }, - ], - }, - ledgerEntries: { - types: [ - { - type: "fundingSettlement", - lines: [ - { - key: "asset-line", - account: { - path: "asset-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - { - key: "liability-line", - account: { - path: "liability-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - ], - }, - ], - }, - }, - }); - - expect(storeSchemaResponse.storeSchema.__typename).toEqual( - "StoreSchemaResult" - ); - - const ledgerIk = uuidv4(); - const createLedgerResponse = await client.createLedger({ - ik: ledgerIk, - ledger: { - name: "Test SDK Ledger - CamelCase", - }, - schemaKey, - }); - - expect(createLedgerResponse.createLedger.__typename).toEqual( - "CreateLedgerResult" - ); - - // Check if type-specific method exists - const expectedMethodName = "PostFundingSettlement"; - const methodExists = - typeof (client as ClientWithDynamicMethods)[expectedMethodName] === - "function"; - - if (methodExists) { - // Test calling the method if it exists - const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - expectedMethodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "300", - }, - }); - - expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); - if ( - result.addLedgerEntry.__typename === "AddLedgerEntryResult" && - result.addLedgerEntry.entry - ) { - expect(result.addLedgerEntry.entry.type).toEqual("fundingSettlement"); - } - - // Verify the entry was created correctly - const getEntryResponse = await client.getLedgerEntry({ - ik: entryIk, - ledgerIk, - }); - - expect(getEntryResponse.ledgerEntry).toBeDefined(); - } else { - // Log that method doesn't exist (test still passes to document current behavior) - console.log( - `Method ${expectedMethodName} does not exist on client. Current methods:`, - Object.keys(client as ClientWithDynamicMethods).filter( - (key) => key.startsWith("post") || key.startsWith("Post") - ) - ); - } -}); - -test("Test entry type methods with underscore naming", async () => { - const client = await getClient(); - - const schemaKey = uuidv4(); - const storeSchemaResponse = await client.storeSchema({ - schema: { - key: schemaKey, - chartOfAccounts: { - defaultCurrencyMode: CurrencyMode.Multi, - accounts: [ - { - key: "asset-root", - name: "Asset Root", - type: LedgerAccountTypes.Asset, - children: [], - }, - { - key: "liability-root", - name: "Liability Root", - type: LedgerAccountTypes.Liability, - children: [], - }, - ], - }, - ledgerEntries: { - types: [ - { - type: "payment_processing", - lines: [ - { - key: "asset-line", - account: { - path: "asset-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - { - key: "liability-line", - account: { - path: "liability-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - ], - }, - ], - }, - }, - }); - - expect(storeSchemaResponse.storeSchema.__typename).toEqual( - "StoreSchemaResult" - ); - - const ledgerIk = uuidv4(); - const createLedgerResponse = await client.createLedger({ - ik: ledgerIk, - ledger: { - name: "Test SDK Ledger - Underscore", - }, - schemaKey, - }); - - expect(createLedgerResponse.createLedger.__typename).toEqual( - "CreateLedgerResult" - ); - - // Check if type-specific method exists - const expectedMethodName = "PostPaymentProcessing"; - const methodExists = - typeof (client as ClientWithDynamicMethods)[expectedMethodName] === - "function"; - - if (methodExists) { - // Test calling the method if it exists - const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - expectedMethodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "400", - }, - }); - - expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); - if ( - result.addLedgerEntry.__typename === "AddLedgerEntryResult" && - result.addLedgerEntry.entry - ) { - expect(result.addLedgerEntry.entry.type).toEqual("payment_processing"); - } - - // Verify the entry was created correctly - const getEntryResponse = await client.getLedgerEntry({ - ik: entryIk, - ledgerIk, - }); - - expect(getEntryResponse.ledgerEntry).toBeDefined(); - } else { - // Log that method doesn't exist (test still passes to document current behavior) - console.log( - `Method ${expectedMethodName} does not exist on client. Current methods:`, - Object.keys(client as ClientWithDynamicMethods).filter( - (key) => key.startsWith("post") || key.startsWith("Post") - ) - ); - } -}); - -test("Test multiple entry types in single schema", async () => { - const client = await getClient(); - - const schemaKey = uuidv4(); - const storeSchemaResponse = await client.storeSchema({ - schema: { - key: schemaKey, - chartOfAccounts: { - defaultCurrencyMode: CurrencyMode.Multi, - accounts: [ - { - key: "asset-root", - name: "Asset Root", - type: LedgerAccountTypes.Asset, - children: [], - }, - { - key: "liability-root", - name: "Liability Root", - type: LedgerAccountTypes.Liability, - children: [], - }, - ], - }, - ledgerEntries: { - types: [ - { - type: "user-funds-account", - lines: [ - { - key: "asset-line", - account: { - path: "asset-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - { - key: "liability-line", - account: { - path: "liability-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - ], - }, - { - type: "fundingSettlement", - lines: [ - { - key: "asset-line", - account: { - path: "asset-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - { - key: "liability-line", - account: { - path: "liability-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - ], - }, - { - type: "payment_processing", - lines: [ - { - key: "asset-line", - account: { - path: "asset-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - { - key: "liability-line", - account: { - path: "liability-root", - }, - amount: "{{amount}}", - currency: { - code: CurrencyCode.Usd, - }, - }, - ], - }, - ], - }, - }, - }); - - expect(storeSchemaResponse.storeSchema.__typename).toEqual( - "StoreSchemaResult" - ); - - const ledgerIk = uuidv4(); - const createLedgerResponse = await client.createLedger({ - ik: ledgerIk, - ledger: { - name: "Test SDK Ledger - Multiple Types", - }, - schemaKey, - }); - - expect(createLedgerResponse.createLedger.__typename).toEqual( - "CreateLedgerResult" - ); - - // Check all expected methods - const expectedMethods = [ - "PostUserFundsAccount", - "PostFundingSettlement", - "PostPaymentProcessing", - ]; - - const methodResults = expectedMethods.map((methodName) => ({ - methodName, - exists: - typeof (client as ClientWithDynamicMethods)[methodName] === "function", - })); - - // Log results for documentation - console.log("Method existence check:", methodResults); - - // Test calling Post methods if they exist - for (const { methodName, exists } of methodResults) { - if (exists) { - const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - methodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null } } }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "500", - }, - }); - - expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); - if ( - result.addLedgerEntry.__typename === "AddLedgerEntryResult" && - result.addLedgerEntry.entry - ) { - // Verify the entry was created successfully - expect(result.addLedgerEntry.entry.type).toBeDefined(); - } - } - } -}); - From e5f7aa6b4b85492436fa59fe387fa3104a35ffd1 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 12:54:10 -0500 Subject: [PATCH 03/19] Update generated files --- dist/cjs/generated/generated.js | 12 ++++- dist/cjs/types/generated/generated.d.ts | 48 +++++++++++++------ dist/cjs/types/generated/generated.d.ts.map | 2 +- dist/esm/generated/generated.js | 8 ++++ dist/esm/types/generated/generated.d.ts | 48 +++++++++++++------ dist/esm/types/generated/generated.d.ts.map | 2 +- generated/generated.ts | 52 +++++++++++++++------ 7 files changed, 128 insertions(+), 44 deletions(-) diff --git a/dist/cjs/generated/generated.js b/dist/cjs/generated/generated.js index e77e6be..0724af5 100644 --- a/dist/cjs/generated/generated.js +++ b/dist/cjs/generated/generated.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetEntryDataMigrationsDocument = exports.ListLedgerEntryGroupBalancesDocument = exports.GetWorkspaceDocument = exports.ListLedgerEntriesDocument = exports.GetSchemaDocument = exports.GetLedgerAccountBalanceWithChildRollupDocument = exports.GetLedgerAccountBalanceDocument = exports.GetLedgerAccountLinesDocument = exports.ListMultiCurrencyLedgerAccountBalancesDocument = exports.ListLedgerAccountBalancesDocument = exports.ListLedgerAccountsDocument = exports.GetLedgerEntryDocument = exports.GetLedgerDocument = exports.DeleteCustomTxsDocument = exports.SyncCustomTxsDocument = exports.SyncCustomAccountsDocument = exports.CreateCustomLinkDocument = exports.UpdateLedgerDocument = exports.UpdateLedgerEntryDocument = exports.ReconcileTxRuntimeDocument = exports.ReconcileTxDocument = exports.AddLedgerEntryRuntimeDocument = exports.MigrateLedgerEntryDocument = exports.ReverseLedgerEntryDocument = exports.AddLedgerEntryDocument = exports.DeleteLedgerDocument = exports.CreateLedgerDocument = exports.DeleteSchemaDocument = exports.StoreSchemaDocument = exports.UnitEnv = exports.TxType = exports.StripeEnv = exports.SchemaLedgerEntryStatus = exports.SchemaLedgerAccountStatus = exports.SchemaConsistencyMode = exports.SceneEventType = exports.ReadBalanceConsistencyMode = exports.LinkType = exports.LedgerTypes = exports.LedgerMigrationStatus = exports.LedgerLinesConsistencyMode = exports.LedgerDataMigrationStatus = exports.LedgerAccountTypes = exports.IncreaseEnv = exports.Granularity = exports.ExternalTxSource = exports.ExternalTransferType = exports.CurrencyMode = exports.CurrencyCode = exports.BalanceUpdateConsistencyMode = void 0; -exports.getSdk = exports.CreateCustomCurrencyDocument = exports.GetEntriesToMigrateForLedgerAccountDataMigrationDocument = exports.GetAccountDataMigrationsDocument = exports.GetEntriesToMigrateForLedgerEntryDataMigrationDocument = void 0; +exports.ListLedgerEntryGroupBalancesDocument = exports.GetWorkspaceDocument = exports.ListLedgerEntriesDocument = exports.GetSchemaDocument = exports.GetLedgerAccountBalanceWithChildRollupDocument = exports.GetLedgerAccountBalanceDocument = exports.GetLedgerAccountLinesDocument = exports.ListMultiCurrencyLedgerAccountBalancesDocument = exports.ListLedgerAccountBalancesDocument = exports.ListLedgerAccountsDocument = exports.GetLedgerEntryDocument = exports.GetLedgerDocument = exports.DeleteCustomTxsDocument = exports.SyncCustomTxsDocument = exports.SyncCustomAccountsDocument = exports.CreateCustomLinkDocument = exports.UpdateLedgerDocument = exports.UpdateLedgerEntryDocument = exports.ReconcileTxRuntimeDocument = exports.ReconcileTxDocument = exports.AddLedgerEntryRuntimeDocument = exports.MigrateLedgerEntryDocument = exports.ReverseLedgerEntryDocument = exports.AddLedgerEntryDocument = exports.DeleteLedgerDocument = exports.CreateLedgerDocument = exports.DeleteSchemaDocument = exports.StoreSchemaDocument = exports.UnitEnv = exports.TxType = exports.StripeEnv = exports.SchemaLedgerEntryStatus = exports.SchemaLedgerAccountStatus = exports.SchemaConsistencyMode = exports.SceneEventType = exports.ReadBalanceConsistencyMode = exports.LinkType = exports.LedgerTypes = exports.LedgerMigrationStatus = exports.LedgerLinesConsistencyMode = exports.LedgerDataMigrationStatus = exports.LedgerAccountTypes = exports.LedgerAccountClearingStatus = exports.IncreaseEnv = exports.Granularity = exports.ExternalTxSource = exports.ExternalTransferType = exports.CurrencyMode = exports.CurrencyCode = exports.BalanceUpdateConsistencyMode = void 0; +exports.getSdk = exports.CreateCustomCurrencyDocument = exports.GetEntriesToMigrateForLedgerAccountDataMigrationDocument = exports.GetAccountDataMigrationsDocument = exports.GetEntriesToMigrateForLedgerEntryDataMigrationDocument = exports.GetEntryDataMigrationsDocument = void 0; const graphql_tag_1 = require("graphql-tag"); /** Used to configure the write-consistency of a Ledger Account's balance. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ var BalanceUpdateConsistencyMode; @@ -216,6 +216,14 @@ var IncreaseEnv; IncreaseEnv["Production"] = "production"; IncreaseEnv["Sandbox"] = "sandbox"; })(IncreaseEnv || (exports.IncreaseEnv = IncreaseEnv = {})); +/** The clearing status of a Ledger Account. */ +var LedgerAccountClearingStatus; +(function (LedgerAccountClearingStatus) { + /** The account has no outstanding balances. */ + LedgerAccountClearingStatus["Cleared"] = "cleared"; + /** The account has outstanding balances that have not been cleared. */ + LedgerAccountClearingStatus["Pending"] = "pending"; +})(LedgerAccountClearingStatus || (exports.LedgerAccountClearingStatus = LedgerAccountClearingStatus = {})); var LedgerAccountTypes; (function (LedgerAccountTypes) { LedgerAccountTypes["Asset"] = "asset"; diff --git a/dist/cjs/types/generated/generated.d.ts b/dist/cjs/types/generated/generated.d.ts index 1ea5ee6..0ac279c 100644 --- a/dist/cjs/types/generated/generated.d.ts +++ b/dist/cjs/types/generated/generated.d.ts @@ -68,7 +68,7 @@ export type Scalars = { input: string; output: string; }; - /** A string representing integers as big as 2^96-1. The number is signed so the range is from -79,228,162,514,264,337,593,543,950,336 to 79,228,162,514,264,337,593,543,950,336. */ + /** A string representing integers as big as 2^120-1. The number is signed so the range is from -1,329,227,995,784,915,872,903,807,060,280,344,575 to 1,329,227,995,784,915,872,903,807,060,280,344,575. */ Int96: { input: string; output: string; @@ -581,13 +581,6 @@ export type EntryGroupMatchInput = { key: Scalars["SafeString"]["input"]; value: Scalars["SafeString"]["input"]; }; -/** A key used to identify Entries in an group */ -export type EntryKeyInput = { - /** The type of the Entry */ - type: Scalars["SafeString"]["input"]; - /** The version of the Entry */ - typeVersion: Scalars["Int"]["input"]; -}; /** Base error interface */ export type Error = { /** The status code of error. For example, 'ledger_not_found'. */ @@ -702,14 +695,10 @@ export type GroupFilter = { export type GroupInput = { /** Human-readable description of the Group. */ description?: InputMaybe; - /** The entries that make up this group. */ - entries: Array; /** The key of this Group. This combined with its value is a stable, unique identifier for this group. */ key: Scalars["SafeString"]["input"]; /** The parameters that are used to enable reconciliation abilities in a group. */ reconciliation?: InputMaybe; - /** The value of this Group, can be a parameterized string to allow for dynamic values. */ - value: Scalars["ParameterizedString"]["input"]; }; /** Input type for matching a specific group by key and value */ export type GroupMatchInput = { @@ -947,6 +936,12 @@ export type LedgerAccount = { childBalancesDuring: HistoricalBalanceConnection; /** The child Ledger Accounts of this Ledger Accountw */ childLedgerAccounts: LedgerAccountsConnection; + /** + * The clearing status of the Ledger Account. + * + * This field is null when the Ledger Account is not configured to be a Clearing account. + */ + clearingStatus?: Maybe; /** The consistency configuration for this Ledger Account. This defines how updates to this Ledger Account's ownBalance are handled. */ consistencyConfig: LedgerAccountConsistencyConfig; created: Scalars["DateTime"]["output"]; @@ -961,6 +956,8 @@ export type LedgerAccount = { ik: Scalars["String"]["output"]; /** Ledger this account is in */ ledger: Ledger; + /** All Ledger Entries that have posted to this Ledger Account. Ledger Entries are paginated and sorted in reverse-chronological order by posted date. */ + ledgerEntries: LedgerEntriesConnection; /** ID of the ledger this account is in */ ledgerId: Scalars["ID"]["output"]; /** List Ledger Lines in this account, sorted by `posted` in reverse chronological order. Does not include Ledger Lines from child Ledger Accounts. */ @@ -1085,6 +1082,13 @@ export type LedgerAccountChildLedgerAccountsArgs = { last?: InputMaybe; }; /** A ledger account is a container for money */ +export type LedgerAccountLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; +/** A ledger account is a container for money */ export type LedgerAccountLinesArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1137,6 +1141,17 @@ export type LedgerAccountUnreconciledTxsArgs = { first?: InputMaybe; last?: InputMaybe; }; +/** The clearing status of a Ledger Account. */ +export declare enum LedgerAccountClearingStatus { + /** The account has no outstanding balances. */ + Cleared = "cleared", + /** The account has outstanding balances that have not been cleared. */ + Pending = "pending" +} +export type LedgerAccountClearingStatusFilter = { + /** Results must match the specified clearing account status */ + equalTo?: InputMaybe; +}; /** A set of conditions that a Ledger Account must meet for an operation to succeed. */ export type LedgerAccountCondition = { __typename?: "LedgerAccountCondition"; @@ -1247,7 +1262,7 @@ export type LedgerAccountFilter = { /** The consistency configuration for a specific Ledger Entry Group in this account. */ export type LedgerAccountGroupConsistencyConfigInput = { /** The group key for this configuration. */ - key: Scalars["String"]["input"]; + key: Scalars["SafeString"]["input"]; /** * If set to `strong`, then Ledger Entry Group `ownBalance`s updates for this account will be strongly consistent with the API response. * This Ledger Account's Ledger Entry Group balances will be updated and available for strongly consistent reads before you receive an API response. @@ -1295,6 +1310,8 @@ export type LedgerAccountsConnection = { pageInfo: PageInfo; }; export type LedgerAccountsFilterSet = { + /** Use this to filter Ledger Accounts by their clearing account status */ + clearingStatus?: InputMaybe; /** Use this to filter Ledger Accounts by their parent status */ hasParentLedgerAccount?: InputMaybe; /** Use this to filter Ledger Accounts by their linked status */ @@ -2375,6 +2392,11 @@ export type SchemaInt96ConditionInput = { export type SchemaLedgerAccountInput = { /** Ledger Accounts to create as children of this Ledger Account. Ledger Accounts may be nested up to a maximum depth of 10. */ children?: InputMaybe>; + /** + * EXPERIMENTAL: Whether or not this Ledger Account is a Clearing Account. + * Clearing Accounts have balances that should tend to zero. They are used to track in-progress workflows and payments. + */ + clearing?: InputMaybe; /** The consistency configuration for this ledger account. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ consistencyConfig?: InputMaybe; /** diff --git a/dist/cjs/types/generated/generated.d.ts.map b/dist/cjs/types/generated/generated.d.ts.map index 5b25fd9..079504b 100644 --- a/dist/cjs/types/generated/generated.d.ts.map +++ b/dist/cjs/types/generated/generated.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../../../generated/generated.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../../../generated/generated.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KACvD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAC3D,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KACxD,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACpC,CAAC,SAAS,MAAM,CAAC,IACf;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAC;AACzB,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC1E,CAAC;AACN,KAAK,2BAA2B,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;AACpE,qEAAqE;AACrE,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,yCAAyC;IACzC,kBAAkB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,sCAAsC;IACtC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,8JAA8J;IAC9J,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,wLAAwL;IACxL,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,mFAAmF;IACnF,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,2MAA2M;IAC3M,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,2JAA2J;IAC3J,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAC1E,kKAAkK;IAClK,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,8LAA8L;IAC9L,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,+HAA+H;IAC/H,mBAAmB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,6CAA6C;IAC7C,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,qHAAqH;IACrH,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,sHAAsH;IACtH,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,sHAAsH;IACtH,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,uCAAuC;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,qGAAqG;IACrG,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,uDAAuD;IACvD,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1B,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG;IACpC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,iEAAiE;IACjE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,oCAAoC;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,CAAC,EAAE,+BAA+B,CAAC;IAC7C,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,yCAAyC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClC,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;IACnB,kFAAkF;IAClF,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC7C,CAAC;AAEF,2JAA2J;AAC3J,oBAAY,4BAA4B;IACtC,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,wDAAwD;AACxD,MAAM,MAAM,oBAAoB,GAAG;IACjC,6GAA6G;IAC7G,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAC3E;;;;OAIG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjD,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,sHAAsH;IACtH,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACvC,8OAA8O;IAC9O,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACjD,6GAA6G;IAC7G,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,sOAAsO;IACtO,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GACpC,eAAe,GACf,0BAA0B,GAC1B,aAAa,CAAC;AAElB,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,qCAAqC;IACrC,cAAc,EAAE,QAAQ,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,eAAe,GACf,sBAAsB,GACtB,aAAa,CAAC;AAElB,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,sFAAsF;IACtF,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,oIAAoI;IACpI,iBAAiB,CAAC,EAAE,UAAU,CAAC,mCAAmC,CAAC,CAAC;IACpE;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,gIAAgI;IAChI,YAAY,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,2DAA2D;IAC3D,aAAa,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACtD,sDAAsD;IACtD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,yCAAyC;IACzC,MAAM,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC7C,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GACnC,eAAe,GACf,yBAAyB,GACzB,aAAa,CAAC;AAElB,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,0CAA0C;IAC1C,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnE,2IAA2I;IAC3I,iBAAiB,CAAC,EAAE,UAAU,CAAC,mCAAmC,CAAC,CAAC;IACpE,oGAAoG;IACpG,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,yGAAyG;IACzG,YAAY,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,4DAA4D;IAC5D,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,uLAAuL;IACvL,aAAa,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACtD,sCAAsC;IACtC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,4GAA4G;IAC5G,MAAM,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC7C,6JAA6J;IAC7J,IAAI,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GACpC,eAAe,GACf,0BAA0B,GAC1B,aAAa,CAAC;AAElB,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,kFAAkF;IAClF,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,4CAA4C;IAC5C,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,qGAAqG;IACrG,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,+HAA+H;IAC/H,IAAI,EAAE,YAAY,CAAC;IACnB,oIAAoI;IACpI,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,0MAA0M;IAC1M,gBAAgB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,6GAA6G;IAC7G,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,sOAAsO;IACtO,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7B,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,oCAAoC;IACpC,OAAO,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACzC,2EAA2E;IAC3E,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,8HAA8H;IAC9H,IAAI,EAAE,YAAY,CAAC;IACnB,0MAA0M;IAC1M,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,0IAA0I;AAC1I,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6JAA6J;IAC7J,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,qGAAqG;IACrG,YAAY,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,+HAA+H;IAC/H,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,sDAAsD;IACtD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,sCAAsC;IACtC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,gEAAgE;IAChE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,yBAAyB,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACxC,6HAA6H;IAC7H,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,2EAA2E;IAC3E,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG;IAC3B,6GAA6G;IAC7G,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,8GAA8G;IAC9G,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,eAAe,GACf,qBAAqB,GACrB,aAAa,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,4CAA4C;IAC5C,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,mBAAmB;IACnB,EAAE,EAAE,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,KAAK,GAAG;IAClB,iEAAiE;IACjE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,gGAAgG;IAChG,YAAY,EAAE,YAAY,CAAC;IAC3B,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,sCAAsC;IACtC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,gJAAgJ;IAChJ,cAAc,EAAE,wBAAwB,CAAC;IACzC,sDAAsD;IACtD,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxD,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,wCAAwC;IACxC,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,uEAAuE;IACvE,OAAO,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAChD,4GAA4G;IAC5G,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,yBAAyB,GAAG;IACtC,yJAAyJ;IACzJ,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,qJAAqJ;IACrJ,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,mKAAmK;IACnK,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9B,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,oBAAY,oBAAoB;IAC9B,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,oBAAY,gBAAgB;IAC1B,QAAQ,aAAa;CACtB;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,kEAAkE;AAClE,MAAM,MAAM,yBAAyB,GAAG;IACtC,8CAA8C;IAC9C,EAAE,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC9B,sJAAsJ;IACtJ,IAAI,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;CACtC,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG;IACxB,gDAAgD;IAChD,OAAO,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACtC,iDAAiD;IACjD,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACxC,sCAAsC;IACtC,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,yCAAyC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D;;;OAGG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACjC,uDAAuD;IACvD,UAAU,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACzC,wDAAwD;IACxD,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3C,kDAAkD;IAClD,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,qDAAqD;IACrD,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,4GAA4G;AAC5G,MAAM,MAAM,UAAU,GAAG;IACvB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,yGAAyG;IACzG,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,kFAAkF;IAClF,cAAc,CAAC,EAAE,UAAU,CAAC,kCAAkC,CAAC,CAAC;CACjE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,eAAe,GAAG;IAC5B,oCAAoC;IACpC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,sCAAsC;IACtC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,qIAAqI;AACrI,MAAM,MAAM,cAAc,GAAG;IAC3B,mGAAmG;IACnG,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,sNAAsN;IACtN,mBAAmB,EAAE,6BAA6B,CAAC;CACpD,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,oCAAoC;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,6CAA6C;IAC7C,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,yCAAyC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;IACnB,kFAAkF;IAClF,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC1C,CAAC;AAEF,oBAAY,WAAW;IACrB,UAAU,eAAe;IACzB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IAChC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,wCAAwC;IACxC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,0EAA0E;IAC1E,WAAW,EAAE,WAAW,CAAC;IACzB,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,+FAA+F;IAC/F,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,0DAA0D;IAC1D,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,uDAAuD;IACvD,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CACzC,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GAAG;IAChC,+FAA+F;IAC/F,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,0DAA0D;IAC1D,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,uDAAuD;IACvD,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,wDAAwD;IACxD,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,qDAAqD;IACrD,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,sCAAsC;IACtC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG;IAClC,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,iEAAiE;IACjE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,MAAM,GAAG;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,8IAA8I;IAC9I,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,qDAAqD;IACrD,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,wCAAwC;IACxC,UAAU,EAAE,0BAA0B,CAAC;IACvC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,yJAAyJ;IACzJ,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,4DAA4D;IAC5D,2BAA2B,EAAE,oCAAoC,CAAC;IAClE,uIAAuI;IACvI,cAAc,EAAE,wBAAwB,CAAC;IACzC,+HAA+H;IAC/H,aAAa,EAAE,uBAAuB,CAAC;IACvC,0DAA0D;IAC1D,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,0EAA0E;IAC1E,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,8JAA8J;IAC9J,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,+CAA+C;IAC/C,UAAU,EAAE,yBAAyB,CAAC;IACtC,0HAA0H;IAC1H,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;CACtC,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,qCAAqC,GAAG;IAClD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,mCAAmC,GAAG;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,kCAAkC,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,EAAE,oBAAoB,CAAC;CACxC,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,sHAAsH;IACtH,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,iLAAiL;IACjL,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,wJAAwJ;IACxJ,cAAc,EAAE,wBAAwB,CAAC;IACzC;;;OAGG;IACH,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,4FAA4F;IAC5F,QAAQ,EAAE,wBAAwB,CAAC;IACnC;;;OAGG;IACH,cAAc,EAAE,2BAA2B,CAAC;IAC5C,8FAA8F;IAC9F,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,2PAA2P;IAC3P,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/C,wKAAwK;IACxK,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C;;;OAGG;IACH,yBAAyB,EAAE,6BAA6B,CAAC;IACzD,mFAAmF;IACnF,aAAa,EAAE,wBAAwB,CAAC;IACxC;;;OAGG;IACH,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,wDAAwD;IACxD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C;;;;OAIG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACpD,uIAAuI;IACvI,iBAAiB,EAAE,8BAA8B,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,gGAAgG;IAChG,YAAY,EAAE,YAAY,CAAC;IAC3B,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,sDAAsD;IACtD,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,yJAAyJ;IACzJ,aAAa,EAAE,uBAAuB,CAAC;IACvC,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,sJAAsJ;IACtJ,KAAK,EAAE,qBAAqB,CAAC;IAC7B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC;IAChE,6DAA6D;IAC7D,aAAa,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACvC,sCAAsC;IACtC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,qFAAqF;IACrF,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,wIAAwI;IACxI,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,uLAAuL;IACvL,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C;;;OAGG;IACH,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,2GAA2G;IAC3G,WAAW,EAAE,wBAAwB,CAAC;IACtC;;;OAGG;IACH,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,EAAE,kBAAkB,CAAC;IACzB,yNAAyN;IACzN,eAAe,EAAE,aAAa,CAAC;IAC/B,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;CACtC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAC3C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAC3C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,oCAAoC,GAAG;IACjD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,0CAA0C,GAAG;IACvD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,oCAAoC,GAAG;IACjD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,oCAAoC,GAAG;IACjD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAC3C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,kCAAkC,GAAG;IAC/C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,wCAAwC,GAAG;IACrD,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,+CAA+C;AAC/C,oBAAY,2BAA2B;IACrC,+CAA+C;IAC/C,OAAO,YAAY;IACnB,uEAAuE;IACvE,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,+DAA+D;IAC/D,OAAO,CAAC,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAC;CACnD,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,gSAAgS;IAChS,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;CACpC,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,2BAA2B,GAAG;IACxC,yRAAyR;IACzR,UAAU,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,UAAU,CAAC,EAAE,gCAAgC,CAAC;IAC9C,KAAK,EAAE,0BAA0B,CAAC;IAClC;;;;;;;;;OASG;IACH,iBAAiB,EAAE,4BAA4B,CAAC;CACjD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACrE;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;IAC/C;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAC,4BAA4B,CAAC,CAAC;CAC9D,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG;IAC7D,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,qDAAqD;IACrD,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC1D,oDAAoD;IACpD,OAAO,EAAE,oCAAoC,CAAC;IAC9C,yCAAyC;IACzC,aAAa,EAAE,uBAAuB,CAAC;IACvC,wCAAwC;IACxC,MAAM,EAAE,yBAAyB,CAAC;CACnC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,qCAAqC,GAAG;IAClD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,2CAA2C,GAAG;IACxD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,UAAU,CAAC,EAAE,sCAAsC,CAAC;IACpD,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACzC,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,qCAAqC;IACrC,WAAW,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,qDAAqD;IACrD,OAAO,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC9C,yDAAyD;IACzD,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,wCAAwC,GAAG;IACrD,4CAA4C;IAC5C,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC;;;;;;;OAOG;IACH,iBAAiB,EAAE,4BAA4B,CAAC;CACjD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,4CAA4C;IAC5C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,4HAA4H;IAC5H,MAAM,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACtC;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACzC,iEAAiE;IACjE,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,0CAA0C;AAC1C,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5B,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC/D,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,gEAAgE;IAChE,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,6DAA6D;IAC7D,aAAa,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAChD,6EAA6E;IAC7E,aAAa,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACtD;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACrC,uDAAuD;IACvD,IAAI,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG;IAChC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC1D,oDAAoD;IACpD,OAAO,EAAE,oCAAoC,CAAC;IAC9C,yCAAyC;IACzC,aAAa,EAAE,uBAAuB,CAAC;IACvC,wCAAwC;IACxC,MAAM,EAAE,yBAAyB,CAAC;CACnC,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,oCAAoC,GAAG;IACjD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,oCAAoC,GAAG;IACjD,UAAU,CAAC,EAAE,sCAAsC,CAAC;IACpD,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC9C,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,UAAU,CAAC,EAAE,iCAAiC,CAAC;IAC/C,0BAA0B;IAC1B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxC,yHAAyH;IACzH,MAAM,EAAE,yBAAyB,CAAC;CACnC,CAAC;AAEF,6CAA6C;AAC7C,oBAAY,yBAAyB;IACnC,+BAA+B;IAC/B,MAAM,WAAW;IACjB,iCAAiC;IACjC,QAAQ,aAAa;CACtB;AAED,yCAAyC;AACzC,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1B,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9B,qIAAqI;IACrI,KAAK,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAChC,qFAAqF;IACrF,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,wDAAwD;IACxD,WAAW,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACpC,qDAAqD;IACrD,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,0HAA0H;IAC1H,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5B,4FAA4F;IAC5F,IAAI,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAChC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,kFAAkF;IAClF,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,2DAA2D;IAC3D,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,oEAAoE;IACpE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,gDAAgD;IAChD,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,uDAAuD;IACvD,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,kCAAkC;IAClC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,yDAAyD;IACzD,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,yCAAyC;IACzC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,qDAAqD;IACrD,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,mGAAmG;IACnG,eAAe,EAAE,uBAAuB,CAAC;IACzC,gJAAgJ;IAChJ,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,iEAAiE;IACjE,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,wDAAwD;IACxD,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9B,qDAAqD;IACrD,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5B,oCAAoC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,oEAAoE;IACpE,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;CACtC,CAAC;AAEF,gLAAgL;AAChL,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,sEAAsE;IACtE,OAAO,EAAE,aAAa,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,EAAE,QAAQ,CAAC;IACnB,iEAAiE;IACjE,aAAa,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9C,oEAAoE;IACpE,YAAY,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;CAC9C,CAAC;AAEF,8MAA8M;AAC9M,MAAM,MAAM,yBAAyB,GAAG;IACtC,oEAAoE;IACpE,OAAO,EAAE,uBAAuB,CAAC;IACjC,iMAAiM;IACjM,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,yDAAyD;IACzD,aAAa,CAAC,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAC;IACxD,4DAA4D;IAC5D,YAAY,CAAC,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAC;CACxD,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG;IAC3D,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC1D,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,oDAAoD;IACpD,OAAO,EAAE,oCAAoC,CAAC;IAC9C,yCAAyC;IACzC,aAAa,EAAE,uBAAuB,CAAC;IACvC,wCAAwC;IACxC,MAAM,EAAE,yBAAyB,CAAC;IAClC,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;CACvC,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,mCAAmC,GAAG;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,yCAAyC,GAAG;IACtD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,UAAU,CAAC,EAAE,oCAAoC,CAAC;IAClD,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvC,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,mCAAmC;IACnC,SAAS,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC/C,2CAA2C;IAC3C,WAAW,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iDAAiD;IACjD,OAAO,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAC5C,uFAAuF;IACvF,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,iCAAiC,CAAC;IAC5C,wEAAwE;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,iEAAiE;IACjE,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,0CAA0C;IAC1C,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,uBAAuB,CAAC;IACvC,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;CACxC,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,iCAAiC,GAAG;IAC9C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,6GAA6G;AAC7G,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,oDAAoD;IACpD,OAAO,EAAE,aAAa,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,EAAE,QAAQ,CAAC;IACnB,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;CACxC,CAAC;AAEF,6GAA6G;AAC7G,MAAM,MAAM,qCAAqC,GAAG;IAClD,eAAe,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;CAC1D,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,iCAAiC,GAAG;IAC9C,UAAU,CAAC,EAAE,mCAAmC,CAAC;IACjD,KAAK,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,sLAAsL;AACtL,MAAM,MAAM,6BAA6B,GAAG;IAC1C,0MAA0M;IAC1M,OAAO,EAAE,yBAAyB,CAAC;IACnC,+MAA+M;IAC/M,QAAQ,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACtC,gXAAgX;IAChX,UAAU,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CACtC,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,gCAAgC,GAAG;IAC7C,qCAAqC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAChD,uCAAuC;IACvC,QAAQ,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACtC,iDAAiD;IACjD,UAAU,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,+DAA+D;IAC/D,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,oFAAoF;IACpF,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC/B,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,sLAAsL;IACtL,OAAO,CAAC,EAAE,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACpD,mEAAmE;IACnE,OAAO,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACrC,qDAAqD;IACrD,GAAG,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,uDAAuD;IACvD,KAAK,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;CAClC,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6OAA6O;IAC7O,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC1D,oHAAoH;IACpH,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,gEAAgE;IAChE,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClD,6HAA6H;IAC7H,MAAM,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACtC,4SAA4S;IAC5S,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3C,gLAAgL;IAChL,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,8MAA8M;IAC9M,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,mDAAmD;IACnD,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC9C,wGAAwG;IACxG,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,6FAA6F;IAC7F,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,0CAA0C;IAC1C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,iKAAiK;IACjK,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,wHAAwH;IACxH,MAAM,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;CACvC,CAAC;AAEF,yFAAyF;AACzF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,6CAA6C;IAC7C,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,yDAAyD;IACzD,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;CACvC,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC/B,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,2BAA2B;IAC3B,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,6DAA6D;IAC7D,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,kFAAkF;IAClF,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,sHAAsH;IACtH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,iEAAiE;IACjE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,kCAAkC;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,yEAAyE;IACzE,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,qCAAqC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,kHAAkH;IAClH,kBAAkB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACnD,6EAA6E;IAC7E,YAAY,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,EAAE,WAAW,CAAC;IACzB,oDAAoD;IACpD,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,sJAAsJ;IACtJ,gCAAgC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,0GAA0G;IAC1G,wBAAwB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,2IAA2I;IAC3I,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,0PAA0P;IAC1P,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,gEAAgE;IAChE,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,6EAA6E;IAC7E,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,gDAAgD;IAChD,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACf,+DAA+D;IAC/D,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,oDAAoD;IACpD,OAAO,EAAE,uBAAuB,CAAC;IACjC,+HAA+H;IAC/H,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,yCAAyC;IACzC,QAAQ,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC1C,qFAAqF;IACrF,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,qLAAqL;IACrL,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,qJAAqJ;IACrJ,EAAE,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;CAC/B,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,oBAAoB,GAAG;IACjC,yCAAyC;IACzC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,oBAAY,0BAA0B;IACpC,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,wHAAwH;IACxH,OAAO,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACrC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACtC,kIAAkI;IAClI,IAAI,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9B,2GAA2G;IAC3G,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,uFAAuF;IACvF,GAAG,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,yDAAyD;IACzD,MAAM,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACpC,mDAAmD;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;CACjC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,oCAAoC;IACpC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,gKAAgK;IAChK,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,0CAA0C;IAC1C,MAAM,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9B,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,wCAAwC;AACxC,oBAAY,qBAAqB;IAC/B;;;OAGG;IACH,SAAS,cAAc;IACvB;;;;OAIG;IACH,MAAM,WAAW;IACjB,4CAA4C;IAC5C,MAAM,WAAW;IACjB;;;OAGG;IACH,OAAO,YAAY;IACnB,6CAA6C;IAC7C,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAClC,2EAA2E;IAC3E,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;CACrC,CAAC;AAEF,oBAAY,WAAW;IACrB,MAAM,WAAW;CAClB;AAED,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,+BAA+B;IAC/B,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC;AAEF,uDAAuD;AACvD,oBAAY,QAAQ;IAClB,oBAAoB;IACpB,UAAU,eAAe;IACzB,uBAAuB;IACvB,YAAY,iBAAiB;IAC7B,oBAAoB;IACpB,UAAU,eAAe;IACzB,kBAAkB;IAClB,QAAQ,aAAa;CACtB;AAED,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC;IAChE,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,uBAAuB,GAAG;IACpC,kCAAkC;IAClC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3B,iDAAiD;IACjD,cAAc,EAAE,gBAAgB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,aAAa,GACb,wBAAwB,CAAC;AAE7B,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,qDAAqD;IACrD,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,+DAA+D;IAC/D,cAAc,EAAE,WAAW,CAAC;IAC5B,yCAAyC;IACzC,mBAAmB,EAAE,WAAW,CAAC;IACjC,2FAA2F;IAC3F,oBAAoB,EAAE,WAAW,CAAC;CACnC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,2LAA2L;IAC3L,cAAc,EAAE,sBAAsB,CAAC;IACvC,kCAAkC;IAClC,oBAAoB,EAAE,4BAA4B,CAAC;IACnD,8JAA8J;IAC9J,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,yBAAyB;IACzB,YAAY,EAAE,oBAAoB,CAAC;IACnC,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,uXAAuX;IACvX,oBAAoB,EAAE,4BAA4B,CAAC;IACnD,oJAAoJ;IACpJ,eAAe,EAAE,uBAAuB,CAAC;IACzC;;;;OAIG;IACH,YAAY,EAAE,oBAAoB,CAAC;IACnC,sBAAsB;IACtB,YAAY,EAAE,oBAAoB,CAAC;IACnC;;;;;;OAMG;IACH,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C,2dAA2d;IAC3d,WAAW,EAAE,mBAAmB,CAAC;IACjC,8BAA8B;IAC9B,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C;;;OAGG;IACH,WAAW,EAAE,mBAAmB,CAAC;IACjC,8SAA8S;IAC9S,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C,iVAAiV;IACjV,aAAa,EAAE,qBAAqB,CAAC;IACrC,0EAA0E;IAC1E,YAAY,EAAE,oBAAoB,CAAC;IACnC,8DAA8D;IAC9D,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,4BAA4B;IAC5B,iBAAiB,EAAE,yBAAyB,CAAC;CAC9C,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,gBAAgB,CAAC;IACxB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,cAAc,EAAE,yBAAyB,CAAC;CAC3C,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,4BAA4B,GAAG;IACzC,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;CACvC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,wBAAwB,CAAC;CACzC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,gBAAgB,CAAC;IACzB,cAAc,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;CAClD,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACpC,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CAC3B,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,aAAa,EAAE,uBAAuB,CAAC;IACvC,MAAM,EAAE,wBAAwB,CAAC;CAClC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,WAAW,EAAE,qBAAqB,CAAC;IACnC,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG;IAClC,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,iEAAiE;IACjE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF,yGAAyG;AACzG,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,mEAAmE;IACnE,eAAe,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACzC,yBAAyB;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACrC,8BAA8B;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3C,kDAAkD;IAClD,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,2BAA2B;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,2HAA2H;IAC3H,OAAO,EAAE,iBAAiB,CAAC;IAC3B,4EAA4E;IAC5E,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC;IAChE,mCAAmC;IACnC,KAAK,EAAE,eAAe,CAAC;IACvB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,oDAAoD;IACpD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,qBAAqB;IACrB,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACf,gCAAgC;IAChC,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,yBAAyB,CAAC;CAC5C,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,EAAE,0BAA0B,CAAC;CAC9C,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,YAAY,CAAC;CAClB,CAAC;AAEF,4QAA4Q;AAC5Q,oBAAY,0BAA0B;IACpC,6RAA6R;IAC7R,QAAQ,aAAa;IACrB,uKAAuK;IACvK,MAAM,WAAW;IACjB,mHAAmH;IACnH,UAAU,gBAAgB;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,aAAa,GACb,iBAAiB,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,uCAAuC;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,qGAAqG;IACrG,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,uDAAuD;IACvD,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,aAAa,GACb,wBAAwB,CAAC;AAE7B,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,4CAA4C;IAC5C,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,yCAAyC;IACzC,mBAAmB,EAAE,WAAW,CAAC;IACjC,iDAAiD;IACjD,oBAAoB,EAAE,WAAW,CAAC;CACnC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG;IAC5B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,kHAAkH;IAClH,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACrC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,kCAAkC;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,0EAA0E;IAC1E,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,oBAAY,cAAc;IACxB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,iEAAiE;IACjE,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,4CAA4C;IAC5C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,oEAAoE;IACpE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,0FAA0F;IAC1F,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,iDAAiD;IACjD,OAAO,EAAE,aAAa,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,EAAE,uBAAuB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;CACpD,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;GAIG;AACH,oBAAY,qBAAqB;IAC/B,2CAA2C;IAC3C,QAAQ,aAAa;IACrB,yCAAyC;IACzC,MAAM,WAAW;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,uMAAuM;IACvM,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,0MAA0M;IAC1M,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,8CAA8C;IAC9C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,kCAAkC;IAClC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,4HAA4H;IAC5H,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CACjC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,WAAW,GAAG;IACxB,4CAA4C;IAC5C,eAAe,EAAE,oBAAoB,CAAC;IACtC,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,UAAU,CAAC,4BAA4B,CAAC,CAAC;IAC7D,8CAA8C;IAC9C,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC,gIAAgI;IAChI,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACrD,6CAA6C;IAC7C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,8CAA8C;IAC9C,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,yBAAyB,GAAG;IACtC,qGAAqG;IACrG,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,0DAA0D;IAC1D,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,uDAAuD;IACvD,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,+HAA+H;IAC/H,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,2IAA2I;IAC3I,iBAAiB,CAAC,EAAE,UAAU,CAAC,mCAAmC,CAAC,CAAC;IACpE;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAChD,gIAAgI;IAChI,YAAY,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC;;;OAGG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC,+BAA+B,CAAC,CAAC;IAC5D,sDAAsD;IACtD,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,6DAA6D;IAC7D,MAAM,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC/C,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACvC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;OAMG;IACH,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC;CAC/C,CAAC;AAEF,sCAAsC;AACtC,oBAAY,yBAAyB;IACnC,oCAAoC;IACpC,MAAM,WAAW;IACjB,sCAAsC;IACtC,QAAQ,aAAa;IACrB,sCAAsC;IACtC,QAAQ,aAAa;CACtB;AAED,yCAAyC;AACzC,MAAM,MAAM,wBAAwB,GAAG;IACrC,0CAA0C;IAC1C,KAAK,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;CACtC,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,oDAAoD;IACpD,OAAO,EAAE,6BAA6B,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAChD,gFAAgF;IAChF,aAAa,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,gFAAgF;IAChF,YAAY,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;CACjD,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,2BAA2B,GAAG;IACxC,2CAA2C;IAC3C,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,yDAAyD;IACzD,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,sBAAsB,GAAG;IACnC,6OAA6O;IAC7O,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAChE,sDAAsD;IACtD,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,iFAAiF;IACjF,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACxD;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACjD,kFAAkF;IAClF,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,2DAA2D;IAC3D,MAAM,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC7C,+EAA+E;IAC/E,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACpD;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACrC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,oCAAoC;AACpC,oBAAY,uBAAuB;IACjC,kCAAkC;IAClC,MAAM,WAAW;IACjB,oCAAoC;IACpC,QAAQ,aAAa;IACrB,oCAAoC;IACpC,QAAQ,aAAa;CACtB;AAED,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG;IACtC,4BAA4B;IAC5B,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,OAAO,EAAE,6BAA6B,CAAC;IACvC,4HAA4H;IAC5H,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAChD,8CAA8C;IAC9C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,sJAAsJ;IACtJ,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACrC,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,2KAA2K;IAC3K,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,2CAA2C;IAC3C,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,UAAU,EAAE,yBAAyB,CAAC;IACtC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,4GAA4G;AAC5G,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,aAAa,GACb,iBAAiB,CAAC;AAEtB,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,2EAA2E;IAC3E,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,uCAAuC;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,+EAA+E;IAC/E,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wIAAwI;IACxI,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,4CAA4C;IAC5C,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,mFAAmF;IACnF,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,gFAAgF;IAChF,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,oBAAY,SAAS;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,sCAAsC;IACtC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,gEAAgE;IAChE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,uEAAuE;IACvE,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,aAAa,GACb,wBAAwB,CAAC;AAE7B,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,8CAA8C;IAC9C,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,aAAa,GACb,mBAAmB,CAAC;AAExB,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;CAChB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG;IACtB,yHAAyH;IACzH,QAAQ,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACrC,kGAAkG;IAClG,OAAO,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACpC,sIAAsI;IACtI,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACtC,oEAAoE;IACpE,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,mGAAmG;IACnG,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D,qGAAqG;IACrG,UAAU,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACvC,2IAA2I;IAC3I,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,oEAAoE;IACpE,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,0GAA0G;IAC1G,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,8GAA8G;AAC9G,MAAM,MAAM,aAAa,GAAG;IAC1B,2BAA2B;IAC3B,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,EAAE,GAAG;IACf,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,wHAAwH;IACxH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,kDAAkD;IAClD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,kDAAkD;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,6DAA6D;IAC7D,eAAe,EAAE,eAAe,CAAC;IACjC,uEAAuE;IACvE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,4QAA4Q;IAC5Q,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxC,gRAAgR;IAChR,aAAa,EAAE,uBAAuB,CAAC;IACvC,iEAAiE;IACjE,cAAc,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvD,+DAA+D;IAC/D,aAAa,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,2QAA2Q;IAC3Q,WAAW,EAAE,qBAAqB,CAAC;IACnC,+BAA+B;IAC/B,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxD,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,wNAAwN;IACxN,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;CACtC,CAAC;AAEF,sKAAsK;AACtK,MAAM,MAAM,YAAY,GAAG;IACzB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,mDAAmD;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,yCAAyC;IACzC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,kCAAkC;IAClC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,oBAAY,MAAM;IAChB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7B,2EAA2E;IAC3E,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACjB,kHAAkH;IAClH,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,oBAAY,OAAO;IACjB,UAAU,eAAe;IACzB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,6DAA6D;IAC7D,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oCAAoC;IACpC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,oIAAoI;IACpI,iBAAiB,CAAC,EAAE,UAAU,CAAC,mCAAmC,CAAC,CAAC;IACpE,+CAA+C;IAC/C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GACnC,eAAe,GACf,aAAa,GACb,yBAAyB,CAAC;AAE9B,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,0CAA0C;IAC1C,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,sDAAsD;IACtD,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClD,kEAAkE;IAClE,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC9C,yDAAyD;IACzD,YAAY,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,aAAa,GACb,uBAAuB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,yCAAyC;IACzC,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,aAAa,GACb,kBAAkB,CAAC;AAEvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,8BAA8B;IAC9B,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAC/C,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,EACP;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,mBAAmB,CAAC;QAChC,MAAM,EAAE;YACN,UAAU,CAAC,EAAE,QAAQ,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE;gBACP,UAAU,CAAC,EAAE,eAAe,CAAC;gBAC7B,OAAO,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,KAAK,CAAC;IAChD,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,EACR;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QAAE,UAAU,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GACtD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,KAAK,CAAC;IAChD,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,EACR;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,oBAAoB,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE;YACN,UAAU,CAAC,EAAE,QAAQ,CAAC;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE;gBAAE,UAAU,CAAC,EAAE,QAAQ,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC;SACxD,CAAC;KACH,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,KAAK,CAAC;IAChD,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,EACR;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QAAE,UAAU,EAAE,oBAAoB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GACtD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,KAAK,CAAC;IAClD,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,EACV;QACE,UAAU,EAAE,sBAAsB,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC;YACX,UAAU,CAAC,EAAE,YAAY,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE;gBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SACzD,CAAC,CAAC;KACJ,GACD;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC;IACtD,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kBAAkB,EACd;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,0BAA0B,CAAC;QACvC,UAAU,EAAE,OAAO,CAAC;QACpB,oBAAoB,EAAE;YACpB,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE;gBACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC;oBACX,UAAU,CAAC,EAAE,YAAY,CAAC;oBAC1B,EAAE,EAAE,MAAM,CAAC;oBACX,MAAM,EAAE,MAAM,CAAC;oBACf,OAAO,EAAE;wBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;wBAAC,IAAI,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACzD,CAAC,CAAC;aACJ,CAAC;SACH,CAAC;QACF,mBAAmB,EAAE;YACnB,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE;gBACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC;oBACX,UAAU,CAAC,EAAE,YAAY,CAAC;oBAC1B,EAAE,EAAE,MAAM,CAAC;oBACX,MAAM,EAAE,MAAM,CAAC;oBACf,OAAO,EAAE;wBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;wBAAC,IAAI,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACzD,CAAC,CAAC;aACJ,CAAC;SACH,CAAC;KACH,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC;IACtD,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3B,cAAc,EAAE,gBAAgB,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kBAAkB,EACd;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,0BAA0B,CAAC;QACvC,UAAU,EAAE,OAAO,CAAC;QACpB,oBAAoB,EAAE;YACpB,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE;gBACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC;oBACX,UAAU,CAAC,EAAE,YAAY,CAAC;oBAC1B,EAAE,EAAE,MAAM,CAAC;oBACX,MAAM,EAAE,MAAM,CAAC;oBACf,OAAO,EAAE;wBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;wBAAC,IAAI,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACzD,CAAC,CAAC;aACJ,CAAC;SACH,CAAC;QACF,mBAAmB,EAAE;YACnB,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE;gBACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC;oBACX,UAAU,CAAC,EAAE,YAAY,CAAC;oBAC1B,EAAE,EAAE,MAAM,CAAC;oBACX,MAAM,EAAE,MAAM,CAAC;oBACf,OAAO,EAAE;wBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;wBAAC,IAAI,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACzD,CAAC,CAAC;aACJ,CAAC;SACH,CAAC;QACF,cAAc,EAAE;YACd,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE;gBACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC;oBACX,UAAU,CAAC,EAAE,YAAY,CAAC;oBAC1B,EAAE,EAAE,MAAM,CAAC;oBACX,MAAM,EAAE,MAAM,CAAC;oBACf,OAAO,EAAE;wBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;wBAAC,IAAI,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACzD,CAAC,CAAC;aACJ,CAAC;SACH,CAAC;KACH,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG,KAAK,CAAC;IACzD,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,EACV;QACE,UAAU,EAAE,sBAAsB,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC;YACX,UAAU,CAAC,EAAE,YAAY,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE;gBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SACzD,CAAC,CAAC;KACJ,GACD;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,EACP;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,mBAAmB,CAAC;QAChC,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;QACF,KAAK,EAAE,KAAK,CAAC;YACX,UAAU,CAAC,EAAE,YAAY,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC7B,OAAO,EAAE;gBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SACzD,CAAC,CAAC;KACJ,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC;IACtD,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,EACP;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,mBAAmB,CAAC;QAChC,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;QACF,KAAK,EAAE,KAAK,CAAC;YACX,UAAU,CAAC,EAAE,YAAY,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC7B,OAAO,EAAE;gBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SACzD,CAAC,CAAC;KACJ,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,KAAK,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,EACb;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,yBAAyB,CAAC;QACtC,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,aAAa,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,KAAK,EAAE;gBACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;gBACrC,KAAK,EAAE,KAAK,CAAC;oBACX,UAAU,CAAC,EAAE,YAAY,CAAC;oBAC1B,EAAE,EAAE,MAAM,CAAC;oBACX,MAAM,EAAE,MAAM,CAAC;oBACf,OAAO,EAAE;wBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;wBAAC,IAAI,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACzD,CAAC,CAAC;aACJ,CAAC;YACF,MAAM,EAAE,KAAK,CAAC;gBACZ,UAAU,CAAC,EAAE,kBAAkB,CAAC;gBAChC,GAAG,EAAE,MAAM,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC;aACf,CAAC,CAAC;YACH,IAAI,EAAE,KAAK,CAAC;gBACV,UAAU,CAAC,EAAE,gBAAgB,CAAC;gBAC9B,GAAG,EAAE,MAAM,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC;aACf,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,KAAK,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,EACR;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,oBAAoB,CAAC;QACjC,MAAM,EAAE;YAAE,UAAU,CAAC,EAAE,QAAQ,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KACzE,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC;IACpD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gBAAgB,EACZ;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,wBAAwB,CAAC;QACrC,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE;YACJ,UAAU,CAAC,EAAE,YAAY,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC;IACtD,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kBAAkB,EACd;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,0BAA0B,CAAC;QACvC,QAAQ,EAAE,KAAK,CAAC;YACd,UAAU,CAAC,EAAE,iBAAiB,CAAC;YAC/B,EAAE,EAAE,MAAM,CAAC;YACX,UAAU,EAAE,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE;gBACT,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,IAAI,EAAE,YAAY,CAAC;gBACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAClC,GAAG,IAAI,CAAC;SACV,CAAC,CAAC;KACJ,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAAC;IACjD,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,EACT;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,qBAAqB,CAAC;QAClC,GAAG,EAAE,KAAK,CAAC;YACT,UAAU,EAAE,IAAI,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;YACf,EAAE,EAAE,MAAM,CAAC;YACX,UAAU,EAAE,MAAM,CAAC;YACnB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,KAAK,CAAC;IACnD,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,EACX;QACE,UAAU,EAAE,iBAAiB,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,EAAE,uBAAuB,CAAC;QACpC,GAAG,EAAE,KAAK,CAAC;YACT,UAAU,CAAC,EAAE,iBAAiB,CAAC;YAC/B,EAAE,EAAE;gBACF,UAAU,CAAC,EAAE,IAAI,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC;gBACf,EAAE,EAAE,MAAM,CAAC;gBACX,UAAU,EAAE,MAAM,CAAC;gBACnB,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC;gBACf,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC;gBACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC3B,CAAC;SACH,CAAC,CAAC;KACJ,GACD;QACE,UAAU,EAAE,eAAe,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC;IAC1C,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAC/C,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,YAAY,CAAC;gBAC1B,EAAE,EAAE,MAAM,CAAC;gBACX,MAAM,EAAE,MAAM,CAAC;gBACf,OAAO,EAAE;oBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;oBAAC,IAAI,EAAE,MAAM,CAAA;iBAAE,CAAC;aACzD,CAAC,CAAC;SACJ,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,KAAK,CAAC;IACnD,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE;YACd,UAAU,CAAC,EAAE,0BAA0B,CAAC;YACxC,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,eAAe,CAAC;gBAC7B,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACrB,IAAI,EAAE,kBAAkB,CAAC;gBACzB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG,KAAK,CAAC;IAC1D,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,eAAe,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,yBAAyB,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;CACpE,CAAC,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE;YACd,UAAU,CAAC,EAAE,0BAA0B,CAAC;YACxC,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,eAAe,CAAC;gBAC7B,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACrB,IAAI,EAAE,kBAAkB,CAAC;gBACzB,OAAO,EAAE,MAAM,CAAC;gBAChB,UAAU,EAAE,MAAM,CAAC;gBACnB,YAAY,EAAE,MAAM,CAAC;gBACrB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,oDAAoD,GAAG,KAAK,CAAC;IACvE,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,0BAA0B,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;CACrE,CAAC,CAAC;AAEH,MAAM,MAAM,2CAA2C,GAAG;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE;YACd,UAAU,CAAC,EAAE,0BAA0B,CAAC;YACxC,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,eAAe,CAAC;gBAC7B,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACrB,IAAI,EAAE,kBAAkB,CAAC;gBACzB,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE;oBACX,UAAU,CAAC,EAAE,0BAA0B,CAAC;oBACxC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,gBAAgB,CAAC;wBAC9B,MAAM,EAAE,MAAM,CAAC;wBACf,QAAQ,EAAE;4BACR,UAAU,CAAC,EAAE,UAAU,CAAC;4BACxB,IAAI,EAAE,YAAY,CAAC;4BACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;yBAClC,CAAC;qBACH,CAAC,CAAC;iBACJ,CAAC;gBACF,aAAa,EAAE;oBACb,UAAU,CAAC,EAAE,0BAA0B,CAAC;oBACxC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,gBAAgB,CAAC;wBAC9B,MAAM,EAAE,MAAM,CAAC;wBACf,QAAQ,EAAE;4BACR,UAAU,CAAC,EAAE,UAAU,CAAC;4BACxB,IAAI,EAAE,YAAY,CAAC;4BACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;yBAClC,CAAC;qBACH,CAAC,CAAC;iBACJ,CAAC;gBACF,QAAQ,EAAE;oBACR,UAAU,CAAC,EAAE,0BAA0B,CAAC;oBACxC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,gBAAgB,CAAC;wBAC9B,MAAM,EAAE,MAAM,CAAC;wBACf,QAAQ,EAAE;4BACR,UAAU,CAAC,EAAE,UAAU,CAAC;4BACxB,IAAI,EAAE,YAAY,CAAC;4BACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;yBAClC,CAAC;qBACH,CAAC,CAAC;iBACJ,CAAC;aACH,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC;IACtD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,YAAY,CAAC;gBAC1B,EAAE,EAAE,MAAM,CAAC;gBACX,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACxB,MAAM,EAAE,MAAM,CAAC;gBACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG,KAAK,CAAC;IACxD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,yBAAyB,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;CACpE,CAAC,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,oDAAoD,GAAG,KAAK,CAAC;IACvE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACxD,CAAC,CAAC;AAEH,MAAM,MAAM,2CAA2C,GAAG;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC;IAC1C,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACP,UAAU,CAAC,EAAE,eAAe,CAAC;YAC7B,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC/B,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,KAAK,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE;YACb,UAAU,CAAC,EAAE,yBAAyB,CAAC;YACvC,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,aAAa,CAAC;gBAC3B,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBACrB,MAAM,EAAE,MAAM,CAAC;gBACf,KAAK,EAAE;oBACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;oBACrC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,YAAY,CAAC;wBAC1B,MAAM,EAAE,MAAM,CAAC;wBACf,OAAO,EAAE;4BAAE,UAAU,CAAC,EAAE,eAAe,CAAC;4BAAC,IAAI,EAAE,MAAM,CAAA;yBAAE,CAAC;qBACzD,CAAC,CAAC;iBACJ,CAAC;aACH,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC,CAAC;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE;QAAE,UAAU,CAAC,EAAE,WAAW,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,KAAK,CAAC;IAC7D,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,UAAU,CAAC,gCAAgC,CAAC,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,kBAAkB,CAAC;QAChC,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,EAAE;YACR,UAAU,CAAC,EAAE,mCAAmC,CAAC;YACjD,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,yBAAyB,CAAC;gBACvC,UAAU,EAAE,MAAM,CAAC;gBACnB,OAAO,EAAE;oBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;oBAAC,IAAI,EAAE,MAAM,CAAA;iBAAE,CAAC;gBACxD,QAAQ,EAAE;oBACR,UAAU,CAAC,EAAE,UAAU,CAAC;oBACxB,IAAI,EAAE,YAAY,CAAC;oBACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;iBAClC,CAAC;aACH,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG,KAAK,CAAC;IACvD,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,UAAU,CAAC,kCAAkC,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,yBAAyB,EAAE;YACzB,UAAU,CAAC,EAAE,oCAAoC,CAAC;YAClD,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,0BAA0B,CAAC;gBACxC,SAAS,EAAE,MAAM,CAAC;gBAClB,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,yBAAyB,CAAC;gBAClC,gBAAgB,CAAC,EAAE;oBACjB,UAAU,CAAC,EAAE,iCAAiC,CAAC;oBAC/C,aAAa,EAAE,MAAM,CAAC;oBACtB,MAAM,EAAE,yBAAyB,CAAC;iBACnC,GAAG,IAAI,CAAC;gBACT,aAAa,EAAE;oBACb,UAAU,CAAC,EAAE,yBAAyB,CAAC;oBACvC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,aAAa,CAAC;wBAC3B,EAAE,EAAE,MAAM,CAAC;wBACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBACrB,MAAM,EAAE,MAAM,CAAC;wBACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC5B,CAAC,CAAC;oBACH,QAAQ,EAAE;wBACR,UAAU,CAAC,EAAE,UAAU,CAAC;wBACxB,WAAW,EAAE,OAAO,CAAC;wBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC1B,eAAe,EAAE,OAAO,CAAC;wBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC7B,CAAC;iBACH,CAAC;gBACF,OAAO,EAAE;oBACP,UAAU,CAAC,EAAE,sCAAsC,CAAC;oBACpD,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,iCAAiC,CAAC;wBAC/C,aAAa,EAAE,MAAM,CAAC;wBACtB,MAAM,EAAE,yBAAyB,CAAC;qBACnC,CAAC,CAAC;oBACH,QAAQ,EAAE;wBACR,UAAU,CAAC,EAAE,UAAU,CAAC;wBACxB,WAAW,EAAE,OAAO,CAAC;wBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC1B,eAAe,EAAE,OAAO,CAAC;wBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC7B,CAAC;iBACH,CAAC;aACH,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,4DAA4D,GACtE,KAAK,CAAC;IACJ,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEL,MAAM,MAAM,mDAAmD,GAAG;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,yBAAyB,EAAE;YACzB,UAAU,CAAC,EAAE,oCAAoC,CAAC;YAClD,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,0BAA0B,CAAC;gBACxC,aAAa,EAAE;oBACb,UAAU,CAAC,EAAE,yBAAyB,CAAC;oBACvC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,aAAa,CAAC;wBAC3B,EAAE,EAAE,MAAM,CAAC;wBACX,EAAE,EAAE,MAAM,CAAC;wBACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC5B,MAAM,EAAE,MAAM,CAAC;wBACf,OAAO,EAAE,MAAM,CAAC;wBAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC3B,KAAK,EAAE;4BACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;4BACrC,KAAK,EAAE,KAAK,CAAC;gCACX,UAAU,CAAC,EAAE,YAAY,CAAC;gCAC1B,EAAE,EAAE,MAAM,CAAC;gCACX,MAAM,EAAE,MAAM,CAAC;gCACf,OAAO,EAAE;oCAAE,UAAU,CAAC,EAAE,eAAe,CAAC;oCAAC,IAAI,EAAE,MAAM,CAAA;iCAAE,CAAC;6BACzD,CAAC,CAAC;yBACJ,CAAC;qBACH,CAAC,CAAC;oBACH,QAAQ,EAAE;wBACR,UAAU,CAAC,EAAE,UAAU,CAAC;wBACxB,WAAW,EAAE,OAAO,CAAC;wBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC1B,eAAe,EAAE,OAAO,CAAC;wBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC7B,CAAC;iBACH,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG,KAAK,CAAC;IACzD,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,2BAA2B,EAAE;YAC3B,UAAU,CAAC,EAAE,sCAAsC,CAAC;YACpD,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,4BAA4B,CAAC;gBAC1C,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,yBAAyB,CAAC;gBAClC,gBAAgB,CAAC,EAAE;oBACjB,UAAU,CAAC,EAAE,iCAAiC,CAAC;oBAC/C,aAAa,EAAE,MAAM,CAAC;oBACtB,MAAM,EAAE,yBAAyB,CAAC;iBACnC,GAAG,IAAI,CAAC;gBACT,aAAa,EAAE;oBACb,UAAU,CAAC,EAAE,yBAAyB,CAAC;oBACvC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,aAAa,CAAC;wBAC3B,EAAE,EAAE,MAAM,CAAC;wBACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBACrB,MAAM,EAAE,MAAM,CAAC;wBACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC5B,CAAC,CAAC;oBACH,QAAQ,EAAE;wBACR,UAAU,CAAC,EAAE,UAAU,CAAC;wBACxB,WAAW,EAAE,OAAO,CAAC;wBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC1B,eAAe,EAAE,OAAO,CAAC;wBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC7B,CAAC;iBACH,CAAC;gBACF,OAAO,EAAE;oBACP,UAAU,CAAC,EAAE,sCAAsC,CAAC;oBACpD,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,iCAAiC,CAAC;wBAC/C,aAAa,EAAE,MAAM,CAAC;wBACtB,MAAM,EAAE,yBAAyB,CAAC;qBACnC,CAAC,CAAC;oBACH,QAAQ,EAAE;wBACR,UAAU,CAAC,EAAE,UAAU,CAAC;wBACxB,WAAW,EAAE,OAAO,CAAC;wBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC1B,eAAe,EAAE,OAAO,CAAC;wBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC7B,CAAC;iBACH,CAAC;aACH,CAAC,CAAC;YACH,QAAQ,EAAE;gBACR,UAAU,CAAC,EAAE,UAAU,CAAC;gBACxB,WAAW,EAAE,OAAO,CAAC;gBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,eAAe,EAAE,OAAO,CAAC;gBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC7B,CAAC;SACH,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,8DAA8D,GACxE,KAAK,CAAC;IACJ,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEL,MAAM,MAAM,qDAAqD,GAAG;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,CAAC;QACtB,2BAA2B,EAAE;YAC3B,UAAU,CAAC,EAAE,sCAAsC,CAAC;YACpD,KAAK,EAAE,KAAK,CAAC;gBACX,UAAU,CAAC,EAAE,4BAA4B,CAAC;gBAC1C,aAAa,EAAE;oBACb,UAAU,CAAC,EAAE,yBAAyB,CAAC;oBACvC,KAAK,EAAE,KAAK,CAAC;wBACX,UAAU,CAAC,EAAE,aAAa,CAAC;wBAC3B,EAAE,EAAE,MAAM,CAAC;wBACX,EAAE,EAAE,MAAM,CAAC;wBACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC5B,MAAM,EAAE,MAAM,CAAC;wBACf,OAAO,EAAE,MAAM,CAAC;wBAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC3B,KAAK,EAAE;4BACL,UAAU,CAAC,EAAE,uBAAuB,CAAC;4BACrC,KAAK,EAAE,KAAK,CAAC;gCACX,UAAU,CAAC,EAAE,YAAY,CAAC;gCAC1B,EAAE,EAAE,MAAM,CAAC;gCACX,MAAM,EAAE,MAAM,CAAC;gCACf,OAAO,EAAE;oCAAE,UAAU,CAAC,EAAE,eAAe,CAAC;oCAAC,IAAI,EAAE,MAAM,CAAA;iCAAE,CAAC;6BACzD,CAAC,CAAC;yBACJ,CAAC;qBACH,CAAC,CAAC;oBACH,QAAQ,EAAE;wBACR,UAAU,CAAC,EAAE,UAAU,CAAC;wBACxB,WAAW,EAAE,OAAO,CAAC;wBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;wBAC1B,eAAe,EAAE,OAAO,CAAC;wBACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;qBAC7B,CAAC;iBACH,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG,KAAK,CAAC;IACxD,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG;IACzC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oBAAoB,EAChB;QACE,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,GACD;QACE,UAAU,CAAC,EAAE,4BAA4B,CAAC;QAC1C,cAAc,EAAE;YACd,UAAU,CAAC,EAAE,UAAU,CAAC;YACxB,IAAI,EAAE,YAAY,CAAC;YACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACjC,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC5B,CAAC;KACH,GACD;QACE,UAAU,CAAC,EAAE,eAAe,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,eAAO,MAAM,mBAAmB,gCA0B/B,CAAC;AACF,eAAO,MAAM,oBAAoB,gCAmBhC,CAAC;AACF,eAAO,MAAM,oBAAoB,gCAgChC,CAAC;AACF,eAAO,MAAM,oBAAoB,gCAmBhC,CAAC;AACF,eAAO,MAAM,sBAAsB,gCAqDlC,CAAC;AACF,eAAO,MAAM,0BAA0B,gCAuDtC,CAAC;AACF,eAAO,MAAM,0BAA0B,gCA4EtC,CAAC;AACF,eAAO,MAAM,6BAA6B,gCAqDzC,CAAC;AACF,eAAO,MAAM,mBAAmB,gCAkD/B,CAAC;AACF,eAAO,MAAM,0BAA0B,gCAkDtC,CAAC;AACF,eAAO,MAAM,yBAAyB,gCAiDrC,CAAC;AACF,eAAO,MAAM,oBAAoB,gCAuBhC,CAAC;AACF,eAAO,MAAM,wBAAwB,gCAwBpC,CAAC;AACF,eAAO,MAAM,0BAA0B,gCA2BtC,CAAC;AACF,eAAO,MAAM,qBAAqB,gCA4BjC,CAAC;AACF,eAAO,MAAM,uBAAuB,gCA8BnC,CAAC;AACF,eAAO,MAAM,iBAAiB,gCAU7B,CAAC;AACF,eAAO,MAAM,sBAAsB,gCAmBlC,CAAC;AACF,eAAO,MAAM,0BAA0B,gCA6BtC,CAAC;AACF,eAAO,MAAM,iCAAiC,gCAuC7C,CAAC;AACF,eAAO,MAAM,8CAA8C,gCA6D1D,CAAC;AACF,eAAO,MAAM,6BAA6B,gCA6BzC,CAAC;AACF,eAAO,MAAM,+BAA+B,gCAkB3C,CAAC;AACF,eAAO,MAAM,8CAA8C,gCAa1D,CAAC;AACF,eAAO,MAAM,iBAAiB,gCAY7B,CAAC;AACF,eAAO,MAAM,yBAAyB,gCAqCrC,CAAC;AACF,eAAO,MAAM,oBAAoB,gCAOhC,CAAC;AACF,eAAO,MAAM,oCAAoC,gCAgDhD,CAAC;AACF,eAAO,MAAM,8BAA8B,gCA6D1C,CAAC;AACF,eAAO,MAAM,sDAAsD,gCAsDlE,CAAC;AACF,eAAO,MAAM,gCAAgC,gCA4D5C,CAAC;AACF,eAAO,MAAM,wDAAwD,gCAkDpE,CAAC;AACF,eAAO,MAAM,4BAA4B,gCAoCxC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/D,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,GAAG,KACZ,OAAO,CAAC,CAAC,CAAC,CAAC;AAShB,wBAAgB,MAAM,CACpB,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,kBAAmC;2BAIjC,4BAA4B,mBACtB,2BAA2B,GAC3C,QAAQ,mBAAmB,CAAC;4BAalB,6BAA6B,mBACvB,2BAA2B,GAC3C,QAAQ,oBAAoB,CAAC;4BAcnB,6BAA6B,mBACvB,2BAA2B,GAC3C,QAAQ,oBAAoB,CAAC;4BAcnB,6BAA6B,mBACvB,2BAA2B,GAC3C,QAAQ,oBAAoB,CAAC;8BAcnB,+BAA+B,mBACzB,2BAA2B,GAC3C,QAAQ,sBAAsB,CAAC;kCAcrB,mCAAmC,mBAC7B,2BAA2B,GAC3C,QAAQ,0BAA0B,CAAC;kCAczB,mCAAmC,mBAC7B,2BAA2B,GAC3C,QAAQ,0BAA0B,CAAC;qCAczB,sCAAsC,mBAChC,2BAA2B,GAC3C,QAAQ,6BAA6B,CAAC;2BAc5B,4BAA4B,mBACtB,2BAA2B,GAC3C,QAAQ,mBAAmB,CAAC;kCAalB,mCAAmC,mBAC7B,2BAA2B,GAC3C,QAAQ,0BAA0B,CAAC;iCAczB,kCAAkC,mBAC5B,2BAA2B,GAC3C,QAAQ,yBAAyB,CAAC;4BAcxB,6BAA6B,mBACvB,2BAA2B,GAC3C,QAAQ,oBAAoB,CAAC;gCAcnB,iCAAiC,mBAC3B,2BAA2B,GAC3C,QAAQ,wBAAwB,CAAC;kCAcvB,mCAAmC,mBAC7B,2BAA2B,GAC3C,QAAQ,0BAA0B,CAAC;6BAczB,8BAA8B,mBACxB,2BAA2B,GAC3C,QAAQ,qBAAqB,CAAC;+BAcpB,gCAAgC,mBAC1B,2BAA2B,GAC3C,QAAQ,uBAAuB,CAAC;yBActB,uBAAuB,mBACjB,2BAA2B,GAC3C,QAAQ,cAAc,CAAC;8BAab,4BAA4B,mBACtB,2BAA2B,GAC3C,QAAQ,mBAAmB,CAAC;kCAclB,gCAAgC,mBAC1B,2BAA2B,GAC3C,QAAQ,uBAAuB,CAAC;yCActB,uCAAuC,mBACjC,2BAA2B,GAC3C,QAAQ,8BAA8B,CAAC;sDAc7B,oDAAoD,mBAC9C,2BAA2B,GAC3C,QAAQ,2CAA2C,CAAC;qCAc1C,mCAAmC,mBAC7B,2BAA2B,GAC3C,QAAQ,0BAA0B,CAAC;uCAczB,qCAAqC,mBAC/B,2BAA2B,GAC3C,QAAQ,4BAA4B,CAAC;sDAc3B,oDAAoD,mBAC9C,2BAA2B,GAC3C,QAAQ,2CAA2C,CAAC;yBAc1C,uBAAuB,mBACjB,2BAA2B,GAC3C,QAAQ,cAAc,CAAC;iCAab,+BAA+B,mBACzB,2BAA2B,GAC3C,QAAQ,sBAAsB,CAAC;6BAcpB,0BAA0B,mBACrB,2BAA2B,GAC3C,QAAQ,iBAAiB,CAAC;4CAahB,0CAA0C,mBACpC,2BAA2B,GAC3C,QAAQ,iCAAiC,CAAC;sCAchC,oCAAoC,mBAC9B,2BAA2B,GAC3C,QAAQ,2BAA2B,CAAC;8DAc1B,4DAA4D,mBACtD,2BAA2B,GAC3C,QAAQ,mDAAmD,CAAC;wCAclD,sCAAsC,mBAChC,2BAA2B,GAC3C,QAAQ,6BAA6B,CAAC;gEAc5B,8DAA8D,mBACxD,2BAA2B,GAC3C,QAAQ,qDAAqD,CAAC;oCAcpD,qCAAqC,mBAC/B,2BAA2B,GAC3C,QAAQ,4BAA4B,CAAC;EAc3C;AACD,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/esm/generated/generated.js b/dist/esm/generated/generated.js index 8b48d14..f192255 100644 --- a/dist/esm/generated/generated.js +++ b/dist/esm/generated/generated.js @@ -212,6 +212,14 @@ export var IncreaseEnv; IncreaseEnv["Production"] = "production"; IncreaseEnv["Sandbox"] = "sandbox"; })(IncreaseEnv || (IncreaseEnv = {})); +/** The clearing status of a Ledger Account. */ +export var LedgerAccountClearingStatus; +(function (LedgerAccountClearingStatus) { + /** The account has no outstanding balances. */ + LedgerAccountClearingStatus["Cleared"] = "cleared"; + /** The account has outstanding balances that have not been cleared. */ + LedgerAccountClearingStatus["Pending"] = "pending"; +})(LedgerAccountClearingStatus || (LedgerAccountClearingStatus = {})); export var LedgerAccountTypes; (function (LedgerAccountTypes) { LedgerAccountTypes["Asset"] = "asset"; diff --git a/dist/esm/types/generated/generated.d.ts b/dist/esm/types/generated/generated.d.ts index 1ea5ee6..0ac279c 100644 --- a/dist/esm/types/generated/generated.d.ts +++ b/dist/esm/types/generated/generated.d.ts @@ -68,7 +68,7 @@ export type Scalars = { input: string; output: string; }; - /** A string representing integers as big as 2^96-1. The number is signed so the range is from -79,228,162,514,264,337,593,543,950,336 to 79,228,162,514,264,337,593,543,950,336. */ + /** A string representing integers as big as 2^120-1. The number is signed so the range is from -1,329,227,995,784,915,872,903,807,060,280,344,575 to 1,329,227,995,784,915,872,903,807,060,280,344,575. */ Int96: { input: string; output: string; @@ -581,13 +581,6 @@ export type EntryGroupMatchInput = { key: Scalars["SafeString"]["input"]; value: Scalars["SafeString"]["input"]; }; -/** A key used to identify Entries in an group */ -export type EntryKeyInput = { - /** The type of the Entry */ - type: Scalars["SafeString"]["input"]; - /** The version of the Entry */ - typeVersion: Scalars["Int"]["input"]; -}; /** Base error interface */ export type Error = { /** The status code of error. For example, 'ledger_not_found'. */ @@ -702,14 +695,10 @@ export type GroupFilter = { export type GroupInput = { /** Human-readable description of the Group. */ description?: InputMaybe; - /** The entries that make up this group. */ - entries: Array; /** The key of this Group. This combined with its value is a stable, unique identifier for this group. */ key: Scalars["SafeString"]["input"]; /** The parameters that are used to enable reconciliation abilities in a group. */ reconciliation?: InputMaybe; - /** The value of this Group, can be a parameterized string to allow for dynamic values. */ - value: Scalars["ParameterizedString"]["input"]; }; /** Input type for matching a specific group by key and value */ export type GroupMatchInput = { @@ -947,6 +936,12 @@ export type LedgerAccount = { childBalancesDuring: HistoricalBalanceConnection; /** The child Ledger Accounts of this Ledger Accountw */ childLedgerAccounts: LedgerAccountsConnection; + /** + * The clearing status of the Ledger Account. + * + * This field is null when the Ledger Account is not configured to be a Clearing account. + */ + clearingStatus?: Maybe; /** The consistency configuration for this Ledger Account. This defines how updates to this Ledger Account's ownBalance are handled. */ consistencyConfig: LedgerAccountConsistencyConfig; created: Scalars["DateTime"]["output"]; @@ -961,6 +956,8 @@ export type LedgerAccount = { ik: Scalars["String"]["output"]; /** Ledger this account is in */ ledger: Ledger; + /** All Ledger Entries that have posted to this Ledger Account. Ledger Entries are paginated and sorted in reverse-chronological order by posted date. */ + ledgerEntries: LedgerEntriesConnection; /** ID of the ledger this account is in */ ledgerId: Scalars["ID"]["output"]; /** List Ledger Lines in this account, sorted by `posted` in reverse chronological order. Does not include Ledger Lines from child Ledger Accounts. */ @@ -1085,6 +1082,13 @@ export type LedgerAccountChildLedgerAccountsArgs = { last?: InputMaybe; }; /** A ledger account is a container for money */ +export type LedgerAccountLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; +/** A ledger account is a container for money */ export type LedgerAccountLinesArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1137,6 +1141,17 @@ export type LedgerAccountUnreconciledTxsArgs = { first?: InputMaybe; last?: InputMaybe; }; +/** The clearing status of a Ledger Account. */ +export declare enum LedgerAccountClearingStatus { + /** The account has no outstanding balances. */ + Cleared = "cleared", + /** The account has outstanding balances that have not been cleared. */ + Pending = "pending" +} +export type LedgerAccountClearingStatusFilter = { + /** Results must match the specified clearing account status */ + equalTo?: InputMaybe; +}; /** A set of conditions that a Ledger Account must meet for an operation to succeed. */ export type LedgerAccountCondition = { __typename?: "LedgerAccountCondition"; @@ -1247,7 +1262,7 @@ export type LedgerAccountFilter = { /** The consistency configuration for a specific Ledger Entry Group in this account. */ export type LedgerAccountGroupConsistencyConfigInput = { /** The group key for this configuration. */ - key: Scalars["String"]["input"]; + key: Scalars["SafeString"]["input"]; /** * If set to `strong`, then Ledger Entry Group `ownBalance`s updates for this account will be strongly consistent with the API response. * This Ledger Account's Ledger Entry Group balances will be updated and available for strongly consistent reads before you receive an API response. @@ -1295,6 +1310,8 @@ export type LedgerAccountsConnection = { pageInfo: PageInfo; }; export type LedgerAccountsFilterSet = { + /** Use this to filter Ledger Accounts by their clearing account status */ + clearingStatus?: InputMaybe; /** Use this to filter Ledger Accounts by their parent status */ hasParentLedgerAccount?: InputMaybe; /** Use this to filter Ledger Accounts by their linked status */ @@ -2375,6 +2392,11 @@ export type SchemaInt96ConditionInput = { export type SchemaLedgerAccountInput = { /** Ledger Accounts to create as children of this Ledger Account. Ledger Accounts may be nested up to a maximum depth of 10. */ children?: InputMaybe>; + /** + * EXPERIMENTAL: Whether or not this Ledger Account is a Clearing Account. + * Clearing Accounts have balances that should tend to zero. They are used to track in-progress workflows and payments. + */ + clearing?: InputMaybe; /** The consistency configuration for this ledger account. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ consistencyConfig?: InputMaybe; /** diff --git a/dist/esm/types/generated/generated.d.ts.map b/dist/esm/types/generated/generated.d.ts.map index 5b25fd9..079504b 100644 --- a/dist/esm/types/generated/generated.d.ts.map +++ b/dist/esm/types/generated/generated.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../../../generated/generated.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../../../generated/generated.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/generated/generated.ts b/generated/generated.ts index 919fad2..1a2d0be 100644 --- a/generated/generated.ts +++ b/generated/generated.ts @@ -40,7 +40,7 @@ export type Scalars = { FirstMoment: { input: string; output: string }; /** A string representing integers up to 9,223,372,036,854,775,807 (i.e. 2^63-1) */ Int64: { input: string; output: string }; - /** A string representing integers as big as 2^96-1. The number is signed so the range is from -79,228,162,514,264,337,593,543,950,336 to 79,228,162,514,264,337,593,543,950,336. */ + /** A string representing integers as big as 2^120-1. The number is signed so the range is from -1,329,227,995,784,915,872,903,807,060,280,344,575 to 1,329,227,995,784,915,872,903,807,060,280,344,575. */ Int96: { input: string; output: string }; /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: { input: Record; output: Record }; @@ -596,14 +596,6 @@ export type EntryGroupMatchInput = { value: Scalars["SafeString"]["input"]; }; -/** A key used to identify Entries in an group */ -export type EntryKeyInput = { - /** The type of the Entry */ - type: Scalars["SafeString"]["input"]; - /** The version of the Entry */ - typeVersion: Scalars["Int"]["input"]; -}; - /** Base error interface */ export type Error = { /** The status code of error. For example, 'ledger_not_found'. */ @@ -730,14 +722,10 @@ export type GroupFilter = { export type GroupInput = { /** Human-readable description of the Group. */ description?: InputMaybe; - /** The entries that make up this group. */ - entries: Array; /** The key of this Group. This combined with its value is a stable, unique identifier for this group. */ key: Scalars["SafeString"]["input"]; /** The parameters that are used to enable reconciliation abilities in a group. */ reconciliation?: InputMaybe; - /** The value of this Group, can be a parameterized string to allow for dynamic values. */ - value: Scalars["ParameterizedString"]["input"]; }; /** Input type for matching a specific group by key and value */ @@ -997,6 +985,12 @@ export type LedgerAccount = { childBalancesDuring: HistoricalBalanceConnection; /** The child Ledger Accounts of this Ledger Accountw */ childLedgerAccounts: LedgerAccountsConnection; + /** + * The clearing status of the Ledger Account. + * + * This field is null when the Ledger Account is not configured to be a Clearing account. + */ + clearingStatus?: Maybe; /** The consistency configuration for this Ledger Account. This defines how updates to this Ledger Account's ownBalance are handled. */ consistencyConfig: LedgerAccountConsistencyConfig; created: Scalars["DateTime"]["output"]; @@ -1011,6 +1005,8 @@ export type LedgerAccount = { ik: Scalars["String"]["output"]; /** Ledger this account is in */ ledger: Ledger; + /** All Ledger Entries that have posted to this Ledger Account. Ledger Entries are paginated and sorted in reverse-chronological order by posted date. */ + ledgerEntries: LedgerEntriesConnection; /** ID of the ledger this account is in */ ledgerId: Scalars["ID"]["output"]; /** List Ledger Lines in this account, sorted by `posted` in reverse chronological order. Does not include Ledger Lines from child Ledger Accounts. */ @@ -1148,6 +1144,14 @@ export type LedgerAccountChildLedgerAccountsArgs = { last?: InputMaybe; }; +/** A ledger account is a container for money */ +export type LedgerAccountLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + /** A ledger account is a container for money */ export type LedgerAccountLinesArgs = { after?: InputMaybe; @@ -1209,6 +1213,19 @@ export type LedgerAccountUnreconciledTxsArgs = { last?: InputMaybe; }; +/** The clearing status of a Ledger Account. */ +export enum LedgerAccountClearingStatus { + /** The account has no outstanding balances. */ + Cleared = "cleared", + /** The account has outstanding balances that have not been cleared. */ + Pending = "pending", +} + +export type LedgerAccountClearingStatusFilter = { + /** Results must match the specified clearing account status */ + equalTo?: InputMaybe; +}; + /** A set of conditions that a Ledger Account must meet for an operation to succeed. */ export type LedgerAccountCondition = { __typename?: "LedgerAccountCondition"; @@ -1329,7 +1346,7 @@ export type LedgerAccountFilter = { /** The consistency configuration for a specific Ledger Entry Group in this account. */ export type LedgerAccountGroupConsistencyConfigInput = { /** The group key for this configuration. */ - key: Scalars["String"]["input"]; + key: Scalars["SafeString"]["input"]; /** * If set to `strong`, then Ledger Entry Group `ownBalance`s updates for this account will be strongly consistent with the API response. * This Ledger Account's Ledger Entry Group balances will be updated and available for strongly consistent reads before you receive an API response. @@ -1382,6 +1399,8 @@ export type LedgerAccountsConnection = { }; export type LedgerAccountsFilterSet = { + /** Use this to filter Ledger Accounts by their clearing account status */ + clearingStatus?: InputMaybe; /** Use this to filter Ledger Accounts by their parent status */ hasParentLedgerAccount?: InputMaybe; /** Use this to filter Ledger Accounts by their linked status */ @@ -2585,6 +2604,11 @@ export type SchemaInt96ConditionInput = { export type SchemaLedgerAccountInput = { /** Ledger Accounts to create as children of this Ledger Account. Ledger Accounts may be nested up to a maximum depth of 10. */ children?: InputMaybe>; + /** + * EXPERIMENTAL: Whether or not this Ledger Account is a Clearing Account. + * Clearing Accounts have balances that should tend to zero. They are used to track in-progress workflows and payments. + */ + clearing?: InputMaybe; /** The consistency configuration for this ledger account. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ consistencyConfig?: InputMaybe; /** From c98ceb4a8ae0980d8cea65eb9b6b40a2d0a21634 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 12:57:22 -0500 Subject: [PATCH 04/19] Add documentation for Post type-specific methods - Document how type-specific methods are generated for entry types with lines - Show examples with different naming conventions (hyphenated, camelCase, underscore) - Explain when methods are available and fallback to addLedgerEntry --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index 66ef23d..c06e31d 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,29 @@ await fragment.addLedgerEntryRuntime({ }); ``` +### Post a Ledger Entry using type-specific methods + +When your schema defines entry types with lines, the SDK generates type-specific methods for posting those entries. These methods follow the naming convention `Post` where the entry type name is converted to PascalCase. + +For example, an entry type `user-funds-account` generates a method `PostUserFundsAccount`: + +```typescript +await fragment.PostUserFundsAccount({ + ik: "some-ik", + ledgerIk: "your-ledger-ik", + parameters: { + amount: "200", + }, +}); +``` + +The SDK handles different naming conventions: +- Hyphenated: `user-funds-account` → `PostUserFundsAccount` +- CamelCase: `fundingSettlement` → `PostFundingSettlement` +- Underscore: `payment_processing` → `PostPaymentProcessing` + +These methods are only available when the entry type has lines defined in the schema. If the methods don't exist, you can still use `addLedgerEntry` with the entry type name. + ### Sync transactions To sync transaction using a [Custom Link](https://fragment.dev/docs#reconcile-transactions-link-any-system): From c4339b5f6988ad969f9146b347b9240aac0646dd Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:03:01 -0500 Subject: [PATCH 05/19] Update tests to handle both parameter styles for Post methods - Try individual parameters first (amount as direct arg) - Fall back to parameters object if individual params fail - All entry types have required 'amount' parameter from {{amount}} template --- tests/basic-test.test.ts | 156 ++++++++++++++++++++++++++------------- 1 file changed, 104 insertions(+), 52 deletions(-) diff --git a/tests/basic-test.test.ts b/tests/basic-test.test.ts index d314857..0e8ea0a 100644 --- a/tests/basic-test.test.ts +++ b/tests/basic-test.test.ts @@ -281,25 +281,38 @@ test("Entry type methods with hyphenated naming", async () => { if (methodExists) { const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - expectedMethodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ + const method = (client as ClientWithDynamicMethods)[expectedMethodName] as ( + args: { + ik: string; + ledgerIk: string; + amount?: string; + parameters?: Record; + } + ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { + // Try both parameter styles: individual args or parameters object + let result; + try { + // First try with individual parameter (amount as direct arg) + result = await method({ + ik: entryIk, + ledgerIk, amount: "200", - }, - }); + }); + } catch { + // If that fails, try with parameters object + result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "200", + }, + }); + } expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -398,25 +411,38 @@ test("Entry type methods with camelCase naming", async () => { if (methodExists) { const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - expectedMethodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ + const method = (client as ClientWithDynamicMethods)[expectedMethodName] as ( + args: { + ik: string; + ledgerIk: string; + amount?: string; + parameters?: Record; + } + ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { + // Try both parameter styles: individual args or parameters object + let result; + try { + // First try with individual parameter (amount as direct arg) + result = await method({ + ik: entryIk, + ledgerIk, amount: "300", - }, - }); + }); + } catch { + // If that fails, try with parameters object + result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "300", + }, + }); + } expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -515,25 +541,38 @@ test("Entry type methods with underscore naming", async () => { if (methodExists) { const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - expectedMethodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ + const method = (client as ClientWithDynamicMethods)[expectedMethodName] as ( + args: { + ik: string; + ledgerIk: string; + amount?: string; + parameters?: Record; + } + ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { + // Try both parameter styles: individual args or parameters object + let result; + try { + // First try with individual parameter (amount as direct arg) + result = await method({ + ik: entryIk, + ledgerIk, amount: "400", - }, - }); + }); + } catch { + // If that fails, try with parameters object + result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "400", + }, + }); + } expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -687,25 +726,38 @@ test("Multiple entry types in single schema", async () => { if (methodExists) { const entryIk = uuidv4(); - const method = (client as ClientWithDynamicMethods)[ - methodName - ] as (args: { - ik: string; - ledgerIk: string; - parameters: Record; - }) => Promise<{ + const method = (client as ClientWithDynamicMethods)[methodName] as ( + args: { + ik: string; + ledgerIk: string; + amount?: string; + parameters?: Record; + } + ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - const result = await method({ - ik: entryIk, - ledgerIk, - parameters: { + // Try both parameter styles: individual args or parameters object + let result; + try { + // First try with individual parameter (amount as direct arg) + result = await method({ + ik: entryIk, + ledgerIk, amount: "500", - }, - }); + }); + } catch { + // If that fails, try with parameters object + result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "500", + }, + }); + } expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( From adabb7ffda4f7395935daa39a07976ef40c00bf9 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:04:25 -0500 Subject: [PATCH 06/19] Add parameter style detection and verification tests - Add detectParameterStyle helper that throws if method signature is unexpected - Tests now explicitly fail if parameter style can't be determined - Add dedicated test to verify parameter style and ensure wrong style fails - Tests will catch API changes or incorrect method signatures --- tests/basic-test.test.ts | 358 ++++++++++++++++++++++++++++----------- 1 file changed, 258 insertions(+), 100 deletions(-) diff --git a/tests/basic-test.test.ts b/tests/basic-test.test.ts index 0e8ea0a..9efeb69 100644 --- a/tests/basic-test.test.ts +++ b/tests/basic-test.test.ts @@ -13,6 +13,59 @@ type ClientWithDynamicMethods = ReturnType & { [key: string]: unknown; }; +// Helper to detect parameter style by checking which call succeeds +// This will fail the test if neither style works, ensuring we catch API changes +async function detectParameterStyle( + method: (args: unknown) => Promise, + ik: string, + ledgerIk: string, +): Promise<"individual" | "parameters-object"> { + let individualWorked = false; + let parametersObjectWorked = false; + + // Try individual parameter style + try { + await method({ + ik, + ledgerIk, + amount: "1", + }); + individualWorked = true; + } catch { + // Individual style didn't work + } + + // Try parameters object style + try { + await method({ + ik, + ledgerIk, + parameters: { + amount: "1", + }, + }); + parametersObjectWorked = true; + } catch { + // Parameters object style didn't work + } + + // Fail if neither works - this indicates the method signature is unexpected + if (!individualWorked && !parametersObjectWorked) { + throw new Error( + `Method does not accept either individual parameters or parameters object. This indicates the method signature is different than expected.` + ); + } + + // Fail if both work - this would be ambiguous + if (individualWorked && parametersObjectWorked) { + throw new Error( + `Method accepts both parameter styles. This is ambiguous and should be fixed.` + ); + } + + return individualWorked ? "individual" : "parameters-object"; +} + const clientId = process.env.CLIENT_ID; const clientSecret = process.env.CLIENT_SECRET; const scope = process.env.SCOPE; @@ -282,37 +335,33 @@ test("Entry type methods with hyphenated naming", async () => { if (methodExists) { const entryIk = uuidv4(); const method = (client as ClientWithDynamicMethods)[expectedMethodName] as ( - args: { - ik: string; - ledgerIk: string; - amount?: string; - parameters?: Record; - } + args: unknown ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - // Try both parameter styles: individual args or parameters object - let result; - try { - // First try with individual parameter (amount as direct arg) - result = await method({ - ik: entryIk, - ledgerIk, - amount: "200", - }); - } catch { - // If that fails, try with parameters object - result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "200", - }, - }); - } + + // Detect which parameter style the method uses + // This will throw if the method signature is unexpected + const parameterStyle = await detectParameterStyle(method, entryIk, ledgerIk); + + // Call with the detected style + const result = + parameterStyle === "individual" + ? await method({ + ik: entryIk, + ledgerIk, + amount: "200", + }) + : await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "200", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -412,37 +461,33 @@ test("Entry type methods with camelCase naming", async () => { if (methodExists) { const entryIk = uuidv4(); const method = (client as ClientWithDynamicMethods)[expectedMethodName] as ( - args: { - ik: string; - ledgerIk: string; - amount?: string; - parameters?: Record; - } + args: unknown ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - // Try both parameter styles: individual args or parameters object - let result; - try { - // First try with individual parameter (amount as direct arg) - result = await method({ - ik: entryIk, - ledgerIk, - amount: "300", - }); - } catch { - // If that fails, try with parameters object - result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "300", - }, - }); - } + + // Detect which parameter style the method uses + // This will throw if the method signature is unexpected + const parameterStyle = await detectParameterStyle(method, entryIk, ledgerIk); + + // Call with the detected style + const result = + parameterStyle === "individual" + ? await method({ + ik: entryIk, + ledgerIk, + amount: "300", + }) + : await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "300", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -542,37 +587,33 @@ test("Entry type methods with underscore naming", async () => { if (methodExists) { const entryIk = uuidv4(); const method = (client as ClientWithDynamicMethods)[expectedMethodName] as ( - args: { - ik: string; - ledgerIk: string; - amount?: string; - parameters?: Record; - } + args: unknown ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - // Try both parameter styles: individual args or parameters object - let result; - try { - // First try with individual parameter (amount as direct arg) - result = await method({ - ik: entryIk, - ledgerIk, - amount: "400", - }); - } catch { - // If that fails, try with parameters object - result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "400", - }, - }); - } + + // Detect which parameter style the method uses + // This will throw if the method signature is unexpected + const parameterStyle = await detectParameterStyle(method, entryIk, ledgerIk); + + // Call with the detected style + const result = + parameterStyle === "individual" + ? await method({ + ik: entryIk, + ledgerIk, + amount: "400", + }) + : await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "400", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -727,37 +768,37 @@ test("Multiple entry types in single schema", async () => { if (methodExists) { const entryIk = uuidv4(); const method = (client as ClientWithDynamicMethods)[methodName] as ( - args: { - ik: string; - ledgerIk: string; - amount?: string; - parameters?: Record; - } + args: unknown ) => Promise<{ addLedgerEntry: { __typename: string; entry?: { type?: string | null }; }; }>; - // Try both parameter styles: individual args or parameters object - let result; - try { - // First try with individual parameter (amount as direct arg) - result = await method({ - ik: entryIk, - ledgerIk, - amount: "500", - }); - } catch { - // If that fails, try with parameters object - result = await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "500", - }, - }); - } + + // Detect which parameter style the method uses + // This will throw if the method signature is unexpected + const parameterStyle = await detectParameterStyle( + method, + entryIk, + ledgerIk, + ); + + // Call with the detected style + const result = + parameterStyle === "individual" + ? await method({ + ik: entryIk, + ledgerIk, + amount: "500", + }) + : await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "500", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -769,3 +810,120 @@ test("Multiple entry types in single schema", async () => { } } }); + +test("Post method parameter style verification", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "test-entry", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + const expectedMethodName = "PostTestEntry"; + const methodExists = + typeof (client as ClientWithDynamicMethods)[expectedMethodName] === + "function"; + + if (methodExists) { + const method = (client as ClientWithDynamicMethods)[ + expectedMethodName + ] as (args: unknown) => Promise; + + const entryIk = uuidv4(); + // This will throw if the method signature is unexpected + const parameterStyle = await detectParameterStyle( + method, + entryIk, + ledgerIk, + ); + + // Verify we detected a valid style + expect(parameterStyle).toMatch(/^(individual|parameters-object)$/); + + // Verify that calling with the wrong style fails + if (parameterStyle === "individual") { + // Should fail with parameters object if method expects individual params + await expect( + method({ + ik: uuidv4(), + ledgerIk, + parameters: { amount: "100" }, + }) + ).rejects.toThrow(); + } else { + // Should fail with individual params if method expects parameters object + await expect( + method({ + ik: uuidv4(), + ledgerIk, + amount: "100", + }) + ).rejects.toThrow(); + } + } +}); From 838db6e9411fff9c41fa063818653b93496715a6 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:05:17 -0500 Subject: [PATCH 07/19] Make tests fail if using wrong parameter signature - Add EXPECTED_PARAMETER_STYLE constant to document expected signature - Replace detectParameterStyle with verifyParameterStyle that fails if signature doesn't match - Tests now explicitly use expected style and fail if it's wrong - Remove fallback logic - tests will fail if signature is unexpected --- tests/basic-test.test.ts | 187 ++++++++++++++++----------------------- 1 file changed, 75 insertions(+), 112 deletions(-) diff --git a/tests/basic-test.test.ts b/tests/basic-test.test.ts index 9efeb69..f590a81 100644 --- a/tests/basic-test.test.ts +++ b/tests/basic-test.test.ts @@ -13,13 +13,18 @@ type ClientWithDynamicMethods = ReturnType & { [key: string]: unknown; }; -// Helper to detect parameter style by checking which call succeeds -// This will fail the test if neither style works, ensuring we catch API changes -async function detectParameterStyle( +// Expected parameter style for Post methods +// Change this if the SDK generates methods with a different signature +const EXPECTED_PARAMETER_STYLE: "individual" | "parameters-object" = + "parameters-object"; + +// Helper to verify the method uses the expected parameter style +// This will fail the test if the signature doesn't match expectations +async function verifyParameterStyle( method: (args: unknown) => Promise, ik: string, ledgerIk: string, -): Promise<"individual" | "parameters-object"> { +): Promise { let individualWorked = false; let parametersObjectWorked = false; @@ -63,7 +68,14 @@ async function detectParameterStyle( ); } - return individualWorked ? "individual" : "parameters-object"; + const actualStyle = individualWorked ? "individual" : "parameters-object"; + + // Fail if the actual style doesn't match what we expect + if (actualStyle !== EXPECTED_PARAMETER_STYLE) { + throw new Error( + `Method uses "${actualStyle}" parameter style, but we expected "${EXPECTED_PARAMETER_STYLE}". Update EXPECTED_PARAMETER_STYLE if this is intentional.` + ); + } } const clientId = process.env.CLIENT_ID; @@ -343,25 +355,18 @@ test("Entry type methods with hyphenated naming", async () => { }; }>; - // Detect which parameter style the method uses - // This will throw if the method signature is unexpected - const parameterStyle = await detectParameterStyle(method, entryIk, ledgerIk); - - // Call with the detected style - const result = - parameterStyle === "individual" - ? await method({ - ik: entryIk, - ledgerIk, - amount: "200", - }) - : await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "200", - }, - }); + // Verify the method uses the expected parameter style + // This will throw if the signature doesn't match expectations + await verifyParameterStyle(method, entryIk, ledgerIk); + + // Call with the expected style + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "200", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -469,25 +474,18 @@ test("Entry type methods with camelCase naming", async () => { }; }>; - // Detect which parameter style the method uses - // This will throw if the method signature is unexpected - const parameterStyle = await detectParameterStyle(method, entryIk, ledgerIk); - - // Call with the detected style - const result = - parameterStyle === "individual" - ? await method({ - ik: entryIk, - ledgerIk, - amount: "300", - }) - : await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "300", - }, - }); + // Verify the method uses the expected parameter style + // This will throw if the signature doesn't match expectations + await verifyParameterStyle(method, entryIk, ledgerIk); + + // Call with the expected style + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "300", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -595,25 +593,18 @@ test("Entry type methods with underscore naming", async () => { }; }>; - // Detect which parameter style the method uses - // This will throw if the method signature is unexpected - const parameterStyle = await detectParameterStyle(method, entryIk, ledgerIk); - - // Call with the detected style - const result = - parameterStyle === "individual" - ? await method({ - ik: entryIk, - ledgerIk, - amount: "400", - }) - : await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "400", - }, - }); + // Verify the method uses the expected parameter style + // This will throw if the signature doesn't match expectations + await verifyParameterStyle(method, entryIk, ledgerIk); + + // Call with the expected style + const result = await method({ + ik: entryIk, + ledgerIk, + parameters: { + amount: "400", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -776,29 +767,18 @@ test("Multiple entry types in single schema", async () => { }; }>; - // Detect which parameter style the method uses - // This will throw if the method signature is unexpected - const parameterStyle = await detectParameterStyle( - method, - entryIk, + // Verify the method uses the expected parameter style + // This will throw if the signature doesn't match expectations + await verifyParameterStyle(method, entryIk, ledgerIk); + + // Call with the expected style + const result = await method({ + ik: entryIk, ledgerIk, - ); - - // Call with the detected style - const result = - parameterStyle === "individual" - ? await method({ - ik: entryIk, - ledgerIk, - amount: "500", - }) - : await method({ - ik: entryIk, - ledgerIk, - parameters: { - amount: "500", - }, - }); + parameters: { + amount: "500", + }, + }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if ( @@ -895,35 +875,18 @@ test("Post method parameter style verification", async () => { ] as (args: unknown) => Promise; const entryIk = uuidv4(); - // This will throw if the method signature is unexpected - const parameterStyle = await detectParameterStyle( - method, - entryIk, - ledgerIk, - ); - - // Verify we detected a valid style - expect(parameterStyle).toMatch(/^(individual|parameters-object)$/); + // Verify the method uses the expected parameter style + // This will throw if the signature doesn't match expectations + await verifyParameterStyle(method, entryIk, ledgerIk); // Verify that calling with the wrong style fails - if (parameterStyle === "individual") { - // Should fail with parameters object if method expects individual params - await expect( - method({ - ik: uuidv4(), - ledgerIk, - parameters: { amount: "100" }, - }) - ).rejects.toThrow(); - } else { - // Should fail with individual params if method expects parameters object - await expect( - method({ - ik: uuidv4(), - ledgerIk, - amount: "100", - }) - ).rejects.toThrow(); - } + // Since EXPECTED_PARAMETER_STYLE is "parameters-object", test that individual params fail + await expect( + method({ + ik: uuidv4(), + ledgerIk, + amount: "100", + }) + ).rejects.toThrow(); } }); From f3fe7b25212f05db4cb36e89544af0b5a2cf87a0 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:14:57 -0500 Subject: [PATCH 08/19] Add test schema with generated SDK and CI verification - Add tests/fixtures/test-schema.json with entry types - Generate GraphQL queries using Fragment CLI - Generate SDK from GraphQL queries - Add scripts/update-test-schema.sh for easy updates - Add CI check to verify generated files match schema - Add tests/generated-sdk.test.ts that imports generated SDK directly - Update EXPECTED_PARAMETER_STYLE to 'individual' (Fragment CLI generates individual params) - Update README to show correct parameter style --- .github/workflows/tests.yml | 7 + README.md | 4 +- package.json | 1 + scripts/update-test-schema.sh | 18 + tests/basic-test.test.ts | 31 +- tests/fixtures/generated-test-client.ts | 3296 ++++++++++++++++++++ tests/fixtures/test-schema-queries.graphql | 153 + tests/fixtures/test-schema.json | 100 + tests/generated-sdk.test.ts | 304 ++ 9 files changed, 3892 insertions(+), 22 deletions(-) create mode 100755 scripts/update-test-schema.sh create mode 100644 tests/fixtures/generated-test-client.ts create mode 100644 tests/fixtures/test-schema-queries.graphql create mode 100644 tests/fixtures/test-schema.json create mode 100644 tests/generated-sdk.test.ts diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7bc95a0..5e2f9d6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -56,3 +56,10 @@ jobs: yarn build git diff --exit-code exit $? + + - name: Verify test schema generated files are up-to-date + run: | + fragment gen-graphql --path tests/fixtures/test-schema.json --output tests/fixtures/test-schema-queries.graphql + yarn fragment-node-client-codegen -i tests/fixtures/test-schema-queries.graphql -o tests/fixtures/generated-test-client.ts + git diff --exit-code tests/fixtures/test-schema-queries.graphql tests/fixtures/generated-test-client.ts + exit $? diff --git a/README.md b/README.md index c06e31d..efbf01f 100644 --- a/README.md +++ b/README.md @@ -91,9 +91,7 @@ For example, an entry type `user-funds-account` generates a method `PostUserFund await fragment.PostUserFundsAccount({ ik: "some-ik", ledgerIk: "your-ledger-ik", - parameters: { - amount: "200", - }, + amount: "200", }); ``` diff --git a/package.json b/package.json index 271caba..da626b4 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "prepack": "yarn build", "postversion": "yarn gen-version", "fragment-node-client-codegen": "node --loader ts-node/esm --no-warnings=ExperimentalWarning src/bin.ts", + "update-test-schema": "./scripts/update-test-schema.sh", "prepublishOnly": "yarn build" }, "resolutions": { diff --git a/scripts/update-test-schema.sh b/scripts/update-test-schema.sh new file mode 100755 index 0000000..a128dc0 --- /dev/null +++ b/scripts/update-test-schema.sh @@ -0,0 +1,18 @@ +#!/bin/bash +set -e + +# Script to regenerate the test schema GraphQL queries and SDK +# Run this when you update tests/fixtures/test-schema.json + +echo "Generating GraphQL queries from test schema..." +fragment gen-graphql \ + --path tests/fixtures/test-schema.json \ + --output tests/fixtures/test-schema-queries.graphql + +echo "Generating SDK from GraphQL queries..." +yarn fragment-node-client-codegen \ + -i tests/fixtures/test-schema-queries.graphql \ + -o tests/fixtures/generated-test-client.ts + +echo "Done! Don't forget to commit the updated files." + diff --git a/tests/basic-test.test.ts b/tests/basic-test.test.ts index f590a81..0d3f13e 100644 --- a/tests/basic-test.test.ts +++ b/tests/basic-test.test.ts @@ -14,9 +14,10 @@ type ClientWithDynamicMethods = ReturnType & { }; // Expected parameter style for Post methods +// The Fragment CLI generates methods with individual parameters (ik, ledgerIk, amount, etc.) // Change this if the SDK generates methods with a different signature const EXPECTED_PARAMETER_STYLE: "individual" | "parameters-object" = - "parameters-object"; + "individual"; // Helper to verify the method uses the expected parameter style // This will fail the test if the signature doesn't match expectations @@ -359,13 +360,11 @@ test("Entry type methods with hyphenated naming", async () => { // This will throw if the signature doesn't match expectations await verifyParameterStyle(method, entryIk, ledgerIk); - // Call with the expected style + // Call with the expected style (individual parameters) const result = await method({ ik: entryIk, ledgerIk, - parameters: { - amount: "200", - }, + amount: "200", }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); @@ -478,13 +477,11 @@ test("Entry type methods with camelCase naming", async () => { // This will throw if the signature doesn't match expectations await verifyParameterStyle(method, entryIk, ledgerIk); - // Call with the expected style + // Call with the expected style (individual parameters) const result = await method({ ik: entryIk, ledgerIk, - parameters: { - amount: "300", - }, + amount: "300", }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); @@ -597,13 +594,11 @@ test("Entry type methods with underscore naming", async () => { // This will throw if the signature doesn't match expectations await verifyParameterStyle(method, entryIk, ledgerIk); - // Call with the expected style + // Call with the expected style (individual parameters) const result = await method({ ik: entryIk, ledgerIk, - parameters: { - amount: "400", - }, + amount: "400", }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); @@ -771,13 +766,11 @@ test("Multiple entry types in single schema", async () => { // This will throw if the signature doesn't match expectations await verifyParameterStyle(method, entryIk, ledgerIk); - // Call with the expected style + // Call with the expected style (individual parameters) const result = await method({ ik: entryIk, ledgerIk, - parameters: { - amount: "500", - }, + amount: "500", }); expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); @@ -880,12 +873,12 @@ test("Post method parameter style verification", async () => { await verifyParameterStyle(method, entryIk, ledgerIk); // Verify that calling with the wrong style fails - // Since EXPECTED_PARAMETER_STYLE is "parameters-object", test that individual params fail + // Since EXPECTED_PARAMETER_STYLE is "individual", test that parameters object fails await expect( method({ ik: uuidv4(), ledgerIk, - amount: "100", + parameters: { amount: "100" }, }) ).rejects.toThrow(); } diff --git a/tests/fixtures/generated-test-client.ts b/tests/fixtures/generated-test-client.ts new file mode 100644 index 0000000..3af2347 --- /dev/null +++ b/tests/fixtures/generated-test-client.ts @@ -0,0 +1,3296 @@ +/* This file is auto-generated by @fragment-dev/node-client. Don't edit it directly. */ +import { GraphQLClient, RequestOptions } from '@fragment-dev/node-client'; +import { gql } from '@fragment-dev/node-client'; +export type Maybe = T | null; +export type InputMaybe = Maybe; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type MakeEmpty = { [_ in K]?: never }; +export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; +type GraphQLClientRequestHeaders = RequestOptions['requestHeaders']; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: { input: string; output: string; } + String: { input: string; output: string; } + Boolean: { input: boolean; output: boolean; } + Int: { input: number; output: number; } + Float: { input: number; output: number; } + /** A string that must be alphanumeric */ + AlphaNumericString: { input: string; output: string; } + /** ISO 8601 Date e.g. `1969-07-21` */ + Date: { input: string; output: string; } + /** ISO 8601 DateTime e.g. `1969-07-16T13:32:00.000Z`. You can also provide a date e.g. `1969-01-01` and it will be converted to `1969-01-01T00:00:00.000Z` */ + DateTime: { input: string; output: string; } + /** The first moment of a specific year, month or day or hour e.g. 1969 or 1969-1 or 1969-1-1 or 1969-1-1T00. All of the previous examples are equivalent to `1969-1-1T00:00:00.000`. */ + FirstMoment: { input: any; output: any; } + /** A string representing integers up to 9,223,372,036,854,775,807 (i.e. 2^63-1) */ + Int64: { input: string; output: string; } + /** A string representing integers as big as 2^120-1. The number is signed so the range is from -1,329,227,995,784,915,872,903,807,060,280,344,575 to 1,329,227,995,784,915,872,903,807,060,280,344,575. */ + Int96: { input: string; output: string; } + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ + JSON: { input: Record; output: Record; } + /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ + JSONObject: { input: Record; output: Record; } + /** The last moment of a specific year, month or day or hour e.g. 1969 or 1969-12 or 1969-12-31 or 1969-12-31T23. All of the previous examples are equivalent to `1969-12-31T23:59:59.999`. */ + LastMoment: { input: string; output: string; } + /** A string of non-zero length that can contain parameterized values via handlebars syntax. ex: `"Hello from {{country}}"`. */ + ParameterizedString: { input: string; output: string; } + /** A mapping of parameter keys to values. */ + Parameters: { input: any; output: any; } + /** A specific year ("2021"), quarter ("2021-Q1"), month ("2021-02"), day ("2021-02-03") or hour ("2021-02-03T04") */ + Period: { input: string; output: string; } + /** A string with delimiter characters `/`, `#`, and `:` disallowed, as well as parameters in {{handlebar}} syntax. */ + SafeString: { input: string; output: string; } + /** All hour-aligned offsets from -11:00 to +12:00 are supported, e.g. "-08:00" (PT), "-05:00" (ET), "+00:00" (UTC) */ + UTCOffset: { input: string; output: string; } +}; + +export type AddLedgerEntryResponse = AddLedgerEntryResult | BadRequestError | InternalError; + +export type AddLedgerEntryResult = { + __typename?: 'AddLedgerEntryResult'; + /** The ledger entry that was posted */ + entry: LedgerEntry; + /** True if this request successfully completed before and the previous response is being returned */ + isIkReplay: Scalars['Boolean']['output']; + /** The ledger lines that were created in that entry */ + lines: Array; +}; + +/** Equivalent to an HTTP 400 - request either has missing or incorrect data */ +export type BadRequestError = Error & { + __typename?: 'BadRequestError'; + /** The status code of error. For example, 'ledger_not_found'. */ + code: Scalars['String']['output']; + /** The error message */ + message: Scalars['String']['output']; + /** Whether or not the operation is retryable */ + retryable: Scalars['Boolean']['output']; +}; + +/** A single amount and the timestamp requested */ +export type BalanceChangeDuring = { + __typename?: 'BalanceChangeDuring'; + /** The balance or balance change */ + amount: CurrencyAmount; + /** The period of the requested balance change */ + period: Scalars['Period']['output']; +}; + +/** A paginated list of amounts and their periods */ +export type BalanceChangeDuringConnection = { + __typename?: 'BalanceChangeDuringConnection'; + /** The end time of the period across which the balance changes are requested */ + endTime: Scalars['LastMoment']['output']; + /** The granularity of the return data */ + granularity: Granularity; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; + /** The start time of the period across which the balance changes are requested */ + startTime: Scalars['FirstMoment']['output']; +}; + +/** Used to configure the write-consistency of a Ledger Account's balance. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ +export enum BalanceUpdateConsistencyMode { + Eventual = 'eventual', + Strong = 'strong' +} + +/** The input for your Chart of Accounts in a Schema. */ +export type ChartOfAccountsInput = { + /** The Ledger Accounts modeled by your Schema. Ledger Accounts may be nested up to a maximum depth of 10. */ + accounts: Array; + /** + * The default consistency configuration for all Ledger Accounts in this Schema. + * If a Ledger Account does not specify its own consistency configuration, it will use the default values provided here. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ + defaultConsistencyConfig?: InputMaybe; + /** + * The default currency of each Ledger Account in the Chart Of Accounts. + * It must be provided if `defaultCurrencyMode` is set to `single`. + * Additionally, `defaultCurrency` must be omitted if `defaultCurrencyMode` is set to `multi`. + */ + defaultCurrency?: InputMaybe; + /** The default currency mode of each Ledger Account in the Chart Of Accounts. */ + defaultCurrencyMode?: InputMaybe; +}; + +export type CreateCustomCurrencyInput = { + /** The currency code for custom currencies. It can be up to 36 characters long. This is used for display purposes. */ + customCode: Scalars['String']['input']; + /** The ID for a custom currency. This is specified when creating the custom currency using the [createCustomCurrency](https://fragment.dev/api-reference/api-mutations#createcustomcurrency) mutation. It can be up to 36 characters long. */ + customCurrencyId: Scalars['SafeString']['input']; + /** A human readable name for the currency (e.g. United States Dollar). This is used for display purposes. */ + name: Scalars['String']['input']; + /** The number of decimal places this currency goes to. For example, United States Dollars have a precision of 2 (i.e. 100 cents in a dollar), whereas the Jordanian Dinar has a precision of 3. This is used for display purposes. */ + precision: Scalars['Int']['input']; +}; + +export type CreateCustomCurrencyResponse = BadRequestError | CreateCustomCurrencyResult | InternalError; + +export type CreateCustomCurrencyResult = { + __typename?: 'CreateCustomCurrencyResult'; + /** The Currency that was created. */ + customCurrency: Currency; +}; + +export type CreateCustomLinkResponse = BadRequestError | CreateCustomLinkResult | InternalError; + +export type CreateCustomLinkResult = { + __typename?: 'CreateCustomLinkResult'; + isIkReplay: Scalars['Boolean']['output']; + /** The custom link that was created. Represents an instance of an external system. */ + link: CustomLink; +}; + +export type CreateLedgerAccountInput = { + /** The consistency configuration for this Ledger Account. This defines how updates to this Ledger Account's balance are handled. */ + consistencyConfig?: InputMaybe; + /** + * The currency of this Ledger Account. If this is not set, and `currencyMode` is + * not set to `multi`, the workspace-level default is used. + */ + currency?: InputMaybe; + /** If set to `multi`, creates a multi-currency Ledger Account. If set to `single`, creates a single-currency Ledger Account. */ + currencyMode?: InputMaybe; + /** The External Account to link to this Ledger Account. */ + linkedAccount?: InputMaybe; + /** The human-readable name of this Ledger Account. */ + name: Scalars['String']['input']; + /** The parent of this Ledger Account. */ + parent?: InputMaybe; + /** The type of ledger account to create. Required if this is a top-level Ledger Account. If not provided, the type will be inferred from the parent. */ + type?: InputMaybe; +}; + +export type CreateLedgerAccountResponse = BadRequestError | CreateLedgerAccountResult | InternalError; + +export type CreateLedgerAccountResult = { + __typename?: 'CreateLedgerAccountResult'; + /** true if a previous request successfully created this ledger account */ + isIkReplay: Scalars['Boolean']['output']; + /** The ledger account that was created */ + ledgerAccount: LedgerAccount; +}; + +export type CreateLedgerAccountsInput = { + /** Ledger Accounts to create as children of this Ledger Account. */ + childLedgerAccounts?: InputMaybe>; + /** The consistency configuration for this ledger account. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ + consistencyConfig?: InputMaybe; + /** The currency of this Ledger Account. If this is not set, the workspace level default is used. */ + currency?: InputMaybe; + /** The currency mode of this Ledger Account. If this is not set, the workspace level default is used. */ + currencyMode?: InputMaybe; + /** The idempotency key for creating this Ledger Account. */ + ik: Scalars['SafeString']['input']; + /** The External Account to link to this Ledger Account. This can only be specified on leaf Ledger Accounts. See [Reconcile payments](https://fragment.dev/docs/reconcile-payments). */ + linkedAccount?: InputMaybe; + /** The name of the Ledger Account. */ + name: Scalars['String']['input']; + /** The parent of this Ledger Account. This is only valid on the top level Ledger Account in the payload. */ + parent?: InputMaybe; + /** The type of this Ledger Account. This field is only required if this is a root Ledger Account. Otherwise, the type will get inherited from its parent. */ + type?: InputMaybe; +}; + +export type CreateLedgerAccountsResponse = BadRequestError | CreateLedgerAccountsResult | InternalError; + +export type CreateLedgerAccountsResult = { + __typename?: 'CreateLedgerAccountsResult'; + /** Whether the ledger accounts were successfully created by a previous request */ + ikReplays: Array; + /** The ledger accounts that were created */ + ledgerAccounts: Array; +}; + +export type CreateLedgerInput = { + /** + * Use this field to specify a timezone for queries to your Ledger. + * + * When aggregating balances, all transactions within a 24 hour period starting at midnight UTC are included in each day. + * You can specify a different starting hour for balances. For example, use "-08:00" to align balances with Pacific Standard Time. + * Balance queries would then consider the start of each local day to be at 8am UTC the next day in UTC. + * The default timezone is UTC. + */ + balanceUTCOffset?: InputMaybe; + name: Scalars['String']['input']; + type?: InputMaybe; +}; + +export type CreateLedgerResponse = BadRequestError | CreateLedgerResult | InternalError; + +export type CreateLedgerResult = { + __typename?: 'CreateLedgerResult'; + /** true if this request successfully completed before and the previous response is being returned */ + isIkReplay: Scalars['Boolean']['output']; + /** The Ledger that was created */ + ledger: Ledger; +}; + +export type Currency = { + __typename?: 'Currency'; + /** The currency code. This is an [enum type](https://fragment.dev/api-reference/api-types#scalars-and-enums-currencycode) . */ + code: CurrencyCode; + /** The currency code for custom currencies. This is only set if 'currency' is set to CUSTOM. It can be up to 36 characters long. */ + customCode?: Maybe; + /** The ID for a custom currency. This is specified when creating the custom currency using the [createCustomCurrency](https://fragment.dev/api-reference/api-mutations#createcustomcurrency) mutation. */ + customCurrencyId?: Maybe; + /** A human readable name for the currency (e.g. United States Dollar). This is used for display purposes. */ + name: Scalars['String']['output']; + /** The number of decimal places this currency goes to. For example, United States Dollars have a precision of 2 (i.e. 100 cents in a dollar), whereas the Jordanian Dinar has a precision of 3. This is used for display purposes. */ + precision: Scalars['Int']['output']; +}; + +/** A single amount accompanied by its currency */ +export type CurrencyAmount = { + __typename?: 'CurrencyAmount'; + /** Numerical integer value, serialized as a string */ + amount: Scalars['Int96']['output']; + /** The currency this amount is in */ + currency: Currency; +}; + +/** A paginated list of amounts with their currencies */ +export type CurrencyAmountConnection = { + __typename?: 'CurrencyAmountConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export enum CurrencyCode { + Aave = 'AAVE', + Ada = 'ADA', + Aed = 'AED', + Afn = 'AFN', + All = 'ALL', + Amd = 'AMD', + Ang = 'ANG', + Aoa = 'AOA', + Ars = 'ARS', + Aud = 'AUD', + Awg = 'AWG', + Azn = 'AZN', + Bam = 'BAM', + Bbd = 'BBD', + Bch = 'BCH', + Bdt = 'BDT', + Bgn = 'BGN', + Bhd = 'BHD', + Bif = 'BIF', + Bmd = 'BMD', + Bnd = 'BND', + Bob = 'BOB', + Brl = 'BRL', + Bsd = 'BSD', + Btc = 'BTC', + Btn = 'BTN', + Bwp = 'BWP', + Byr = 'BYR', + Bzd = 'BZD', + Cad = 'CAD', + Cdf = 'CDF', + Chf = 'CHF', + Clp = 'CLP', + Cny = 'CNY', + Cop = 'COP', + Crc = 'CRC', + Cuc = 'CUC', + Cup = 'CUP', + Custom = 'CUSTOM', + Cve = 'CVE', + Czk = 'CZK', + Dai = 'DAI', + Djf = 'DJF', + Dkk = 'DKK', + Dop = 'DOP', + Dzd = 'DZD', + Egp = 'EGP', + Ern = 'ERN', + Etb = 'ETB', + Eth = 'ETH', + Eur = 'EUR', + Fjd = 'FJD', + Fkp = 'FKP', + Gbp = 'GBP', + Gel = 'GEL', + Ggp = 'GGP', + Ghs = 'GHS', + Gip = 'GIP', + Gmd = 'GMD', + Gnf = 'GNF', + Gtq = 'GTQ', + Gyd = 'GYD', + Hkd = 'HKD', + Hnl = 'HNL', + Hrk = 'HRK', + Htg = 'HTG', + Huf = 'HUF', + Idr = 'IDR', + Ils = 'ILS', + Imp = 'IMP', + Inr = 'INR', + Iqd = 'IQD', + Irr = 'IRR', + Isk = 'ISK', + Jmd = 'JMD', + Jod = 'JOD', + Jpy = 'JPY', + Kes = 'KES', + Kgs = 'KGS', + Khr = 'KHR', + Kmf = 'KMF', + Kpw = 'KPW', + Krw = 'KRW', + Kwd = 'KWD', + Kyd = 'KYD', + Kzt = 'KZT', + Lak = 'LAK', + Lbp = 'LBP', + Link = 'LINK', + Lkr = 'LKR', + Logical = 'LOGICAL', + Lrd = 'LRD', + Lsl = 'LSL', + Ltc = 'LTC', + Lyd = 'LYD', + Mad = 'MAD', + Matic = 'MATIC', + Mdl = 'MDL', + Mga = 'MGA', + Mkd = 'MKD', + Mmk = 'MMK', + Mnt = 'MNT', + Mop = 'MOP', + Mur = 'MUR', + Mvr = 'MVR', + Mwk = 'MWK', + Mxn = 'MXN', + Myr = 'MYR', + Mzn = 'MZN', + Nad = 'NAD', + Ngn = 'NGN', + Nio = 'NIO', + Nok = 'NOK', + Npr = 'NPR', + Nzd = 'NZD', + Omr = 'OMR', + Pab = 'PAB', + Pen = 'PEN', + Pgk = 'PGK', + Php = 'PHP', + Pkr = 'PKR', + Pln = 'PLN', + Pts = 'PTS', + Pyg = 'PYG', + Qar = 'QAR', + Ron = 'RON', + Rsd = 'RSD', + Rub = 'RUB', + Rwf = 'RWF', + Sar = 'SAR', + Sbd = 'SBD', + Scr = 'SCR', + Sdg = 'SDG', + Sek = 'SEK', + Sgd = 'SGD', + Shp = 'SHP', + Sll = 'SLL', + Sol = 'SOL', + Sos = 'SOS', + Spl = 'SPL', + Srd = 'SRD', + Stn = 'STN', + Svc = 'SVC', + Syp = 'SYP', + Szl = 'SZL', + Thb = 'THB', + Tjs = 'TJS', + Tmt = 'TMT', + Tnd = 'TND', + Top = 'TOP', + Try = 'TRY', + Ttd = 'TTD', + Tvd = 'TVD', + Twd = 'TWD', + Tzs = 'TZS', + Uah = 'UAH', + Ugx = 'UGX', + Uni = 'UNI', + Usd = 'USD', + Usdc = 'USDC', + Usdt = 'USDT', + Uyu = 'UYU', + Uzs = 'UZS', + Vef = 'VEF', + Vnd = 'VND', + Vuv = 'VUV', + Wst = 'WST', + Xaf = 'XAF', + Xcd = 'XCD', + Xlm = 'XLM', + Xof = 'XOF', + Xpf = 'XPF', + Yer = 'YER', + Zar = 'ZAR', + Zmw = 'ZMW' +} + +export type CurrencyFilter = { + /** Must match the value provided */ + equalTo?: InputMaybe; + /** Must match one of the values provided. Limited to 100 items maximum. */ + in?: InputMaybe>; +}; + +export type CurrencyMatchInput = { + /** The currency code. This is an [enum type](https://fragment.dev/api-reference/api-types#scalars-and-enums-currencycode). */ + code: CurrencyCode; + /** The ID for a custom currency. This is specified when creating the custom currency using the [createCustomCurrency](https://fragment.dev/api-reference/api-mutations#createcustomcurrency) mutation. */ + customCurrencyId?: InputMaybe; +}; + +/** Defines the currency handling of a LedgerAccount, which can either be restricted to a single currency or allow multiple currencies. */ +export enum CurrencyMode { + Multi = 'multi', + Single = 'single' +} + +export type CustomAccountInput = { + /** The currency of this external account. If this is not set, the workspace level default is used. 'currency' cannot be set if 'currencyMode' is 'multi'. */ + currency?: InputMaybe; + /** The currency mode of this external account. If set to multi, creates a multi-currency account. */ + currencyMode?: InputMaybe; + /** The ID of this account at the external system. This is used as the idempotency key, within the scope of its Custom Link. */ + externalId: Scalars['SafeString']['input']; + /** The name of the account at the external system. */ + name: Scalars['String']['input']; +}; + +/** A paginated list of Custom Currencies */ +export type CustomCurrenciesConnection = { + __typename?: 'CustomCurrenciesConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export type CustomLink = Link & { + __typename?: 'CustomLink'; + /** ISO-8601 timestamp when the Link was created. */ + created: Scalars['String']['output']; + /** URL to the Fragment Dashboard for this Link. */ + dashboardUrl: Scalars['String']['output']; + /** A list of External Accounts associated with this Link. */ + externalAccounts: ExternalAccountsConnection; + /** FRAGMENT ID of the Custom Link. */ + id: Scalars['ID']['output']; + /** Name of the Link as it appears in the Fragment Dashboard. */ + name: Scalars['String']['output']; +}; + +export type CustomTxInput = { + account: ExternalAccountMatchInput; + amount: Scalars['Int96']['input']; + /** The currency of this tx. Should be set for multi-currency accounts. */ + currency?: InputMaybe; + description: Scalars['String']['input']; + /** The ID of this tx at the external system. This is used as the idempotency key, within the scope of its Custom Account. */ + externalId: Scalars['SafeString']['input']; + posted: Scalars['DateTime']['input']; +}; + +export type DateFilter = { + equalTo?: InputMaybe; + /** Must match one of the values provided. Limited to 100 items maximum. */ + in?: InputMaybe>; +}; + +/** Filters a timestamp field between two moments in time */ +export type DateTimeFilter = { + /** The timestamp value must be after this moment. Specified in ISO 8601 format e.g "1968-01-01T16:45:00Z" */ + after?: InputMaybe; + /** The timestamp value must be before this moment. Specified in ISO 8601 format e.g "1968-01-01T16:45:00Z" */ + before?: InputMaybe; +}; + +export type DeleteCustomTxsResponse = BadRequestError | DeleteCustomTxsResult | InternalError; + +export type DeleteCustomTxsResult = { + __typename?: 'DeleteCustomTxsResult'; + /** List of Txs deleted in this operation */ + txs: Array; +}; + +export type DeleteLedgerResponse = BadRequestError | DeleteLedgerResult | InternalError; + +export type DeleteLedgerResult = { + __typename?: 'DeleteLedgerResult'; + success: Scalars['Boolean']['output']; +}; + +export type DeleteSchemaResponse = BadRequestError | DeleteSchemaResult | InternalError; + +export type DeleteSchemaResult = { + __typename?: 'DeleteSchemaResult'; + success: Scalars['Boolean']['output']; +}; + +export type DeletedCustomTx = { + __typename?: 'DeletedCustomTx'; + /** A deleted Tx */ + tx: Tx; +}; + +export type EntryGroupMatchInput = { + key: Scalars['SafeString']['input']; + value: Scalars['SafeString']['input']; +}; + +/** Base error interface */ +export type Error = { + /** The status code of error. For example, 'ledger_not_found'. */ + code: Scalars['String']['output']; + /** The error message */ + message: Scalars['String']['output']; + /** Whether or not the operation is retryable */ + retryable: Scalars['Boolean']['output']; +}; + +export type ExternalAccount = { + __typename?: 'ExternalAccount'; + /** The currency of this external account. */ + currency?: Maybe; + /** Indicates if the account allows multiple currencies or is restricted to a single currency */ + currencyMode: CurrencyMode; + /** ID used for the external account */ + externalId: Scalars['ID']['output']; + /** FRAGMENT ID of External Account */ + id: Scalars['ID']['output']; + /** Ledger Accounts linked to this External Account. Ledger Accounts are paginated and sorted in reverse-chronological order by created date. */ + ledgerAccounts: LedgerAccountsConnection; + /** The Link that this External Account belongs to. */ + link: Link; + /** FRAGMENT ID of this transaction's external link */ + linkId: Scalars['ID']['output']; + name: Scalars['String']['output']; + /** All Txs in this External Account. */ + txs: TxsConnection; +}; + + +export type ExternalAccountLedgerAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +export type ExternalAccountTxsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +export type ExternalAccountFilter = { + /** Ledger Account must linked to the the specified external account */ + equalTo?: InputMaybe; + /** Ledger Account can be linked to any of the specified external accounts. Limited to 100 items maximum. */ + in?: InputMaybe>; +}; + +/** Specify an External Account by using `id`, or `linkId` and `externalId`. */ +export type ExternalAccountMatchInput = { + /** The external system's ID of the External Account. If this is specified, `linkId` is required. `id` is optional, but will be validated if provided. */ + externalId?: InputMaybe; + /** The FRAGMENT ID of the External Account. If this is specified, both `linkId` and `externalId` are optional, but will be validated if provided. */ + id?: InputMaybe; + /** The FRAGMENT ID of the Link the External Account is in. If this is specified, `externalId` is required. `id` is optional, but will be validated if provided. */ + linkId?: InputMaybe; +}; + +/** A paginated list of External Accounts */ +export type ExternalAccountsConnection = { + __typename?: 'ExternalAccountsConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export enum ExternalTransferType { + Ach = 'ach', + Card = 'card', + Check = 'check', + Internal = 'internal', + Wire = 'wire' +} + +export enum ExternalTxSource { + Increase = 'increase' +} + +export enum Granularity { + Daily = 'daily', + Hourly = 'hourly', + Monthly = 'monthly' +} + +/** A filter to query balances of a specific subset of accounts */ +export type GroupBalanceAccountFilter = { + /** A filter that must match the account ID */ + id?: InputMaybe; + /** A filter that must match the account path. Wildcards ('*') may be used only for template variables, and will only match a single variable each. */ + path?: InputMaybe; +}; + +/** Filter for finding entries by group membership */ +export type GroupFilter = { + /** Find groups that exactly match this group */ + equalTo?: InputMaybe; + /** Find groups that match any of these groups */ + in?: InputMaybe>; + /** Find groups with a specific key */ + keyEqualTo?: InputMaybe; + /** Find groups with any of these keys */ + keyIn?: InputMaybe>; + /** + * Find groups that do not match this predicate + * @deprecated not filter is deprecated. Use notKeyIn or notKeyEqualTo instead. + */ + not?: InputMaybe; + /** Find groups that do not exactly match this group */ + notEqualTo?: InputMaybe; + /** Find groups that do not match any of these groups */ + notIn?: InputMaybe>; + /** Find groups that do not have a specific key */ + notKeyEqualTo?: InputMaybe; + /** Find groups that do not have any of these keys */ + notKeyIn?: InputMaybe>; +}; + +/** A Group in a Schema. Group define sequences of Ledger Entries and can help with reconciliation tasks. */ +export type GroupInput = { + /** Human-readable description of the Group. */ + description?: InputMaybe; + /** The key of this Group. This combined with its value is a stable, unique identifier for this group. */ + key: Scalars['SafeString']['input']; + /** The parameters that are used to enable reconciliation abilities in a group. */ + reconciliation?: InputMaybe; +}; + +/** Input type for matching a specific group by key and value */ +export type GroupMatchInput = { + /** The key of the group to match */ + key: Scalars['SafeString']['input']; + /** The value of the group to match */ + value: Scalars['SafeString']['input']; +}; + +/** DEPRECATED: Use GroupFilter and notKeyIn or notKeyEqualTo instead. Filter for finding entries that do not match this predicate */ +export type GroupNotFilter = { + /** DEPRECATED: Find entries that are not members of all of these groups. This is an AND filter. */ + keyIn?: InputMaybe>; +}; + +/** A set of parameters that are used to enable reconciliation abilities in a group */ +export type GroupReconciliationParametersInput = { + /** The path to the clearing account for this group. A clearing account is an account that is used to indicate funds that are in transit. Also called a suspense account, pending account, or zero balance account. */ + clearingAccountPath: SchemaLedgerAccountMatchInput; +}; + +/** A single amount and the timestamp requested */ +export type HistoricalBalance = { + __typename?: 'HistoricalBalance'; + /** The balance or balance change */ + amount: CurrencyAmount; + /** The timestamp of the requested balance */ + at: Scalars['LastMoment']['output']; +}; + +/** A paginated list of amounts and their periods */ +export type HistoricalBalanceConnection = { + __typename?: 'HistoricalBalanceConnection'; + /** The end time of the period across which the balance changes are requested */ + endTime: Scalars['LastMoment']['output']; + /** The granularity of the return data */ + granularity: Granularity; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; + /** The start time of the period across which the balance changes are requested */ + startTime: Scalars['FirstMoment']['output']; +}; + +export type IkReplay = { + __typename?: 'IkReplay'; + ik: Scalars['SafeString']['output']; + isIkReplay: Scalars['Boolean']['output']; +}; + +export enum IncreaseEnv { + Production = 'production', + Sandbox = 'sandbox' +} + +export type IncreaseLink = Link & { + __typename?: 'IncreaseLink'; + /** ISO-8601 timestamp when the Link was created. */ + created: Scalars['String']['output']; + /** URL to the Fragment Dashboard for this Link. */ + dashboardUrl: Scalars['String']['output']; + /** A list of External Accounts associated with this Link. */ + externalAccounts: ExternalAccountsConnection; + /** FRAGMENT ID of the Increase Link. */ + id: Scalars['ID']['output']; + /** The environment of the Increase Link, either sandbox or production. */ + increaseEnv: IncreaseEnv; + /** Name of the Link as it appears in the Dashboard. */ + name: Scalars['String']['output']; +}; + +/** A condition that must be met on an `Int96` field. */ +export type Int96Condition = { + __typename?: 'Int96Condition'; + /** Amount must exactly match this value. You may not specify this alongside `gte` or `lte`. */ + eq?: Maybe; + /** Amount must be greater than or equal to this value. */ + gte?: Maybe; + /** Amount must be less than or equal to this value. */ + lte?: Maybe; +}; + +/** A condition that must be met on an `Int96` field. */ +export type Int96ConditionInput = { + /** Amount must exactly match this value. You may not specify this alongside `gte` or `lte`. */ + eq?: InputMaybe; + /** Amount must be greater than or equal to this value. */ + gte?: InputMaybe; + /** Amount must be less than or equal to this value. */ + lte?: InputMaybe; +}; + +export type Int96Filter = { + /** Must exactly equal this Int96 value */ + eq?: InputMaybe; + /** Must be greater than or equal to this Int96 value */ + gte?: InputMaybe; + /** Must be less than or equal to this Int96 value */ + lte?: InputMaybe; + /** Must not equal this Int96 value */ + ne?: InputMaybe; +}; + +/** Equivalent to an HTTP 5XX - something went wrong with our API. */ +export type InternalError = Error & { + __typename?: 'InternalError'; + /** The status code of error. For example, 'ledger_not_found'. */ + code: Scalars['String']['output']; + /** The error message */ + message: Scalars['String']['output']; + /** Whether or not the operation is retryable */ + retryable: Scalars['Boolean']['output']; +}; + +/** Ledgers are databases designed for managing money */ +export type Ledger = { + __typename?: 'Ledger'; + /** When aggregating balances, all transactions within a 24 hour period starting at midnight UTC plus this offset are included in each day. */ + balanceUTCOffset: Scalars['UTCOffset']['output']; + created: Scalars['DateTime']['output']; + /** URL to the Fragment Dashboard for this Ledger. */ + dashboardUrl: Scalars['String']['output']; + /** Entry statistics for this Ledger. */ + entryStats: LedgerEntryStatsConnection; + id: Scalars['ID']['output']; + /** The IK passed into the [createLedger](/api-reference/api-mutations#createledger) mutation. This is treated as a unique identifier for this Ledger. */ + ik: Scalars['SafeString']['output']; + /** Ledger Account data migrations affecting this Ledger. */ + ledgerAccountDataMigrations: LedgerAccountDataMigrationConnection; + /** Query LedgerAccounts in Ledger. Ledger Accounts are paginated and returned in reverse-chronological order by their created date. */ + ledgerAccounts: LedgerAccountsConnection; + /** Query Ledger Entries in a Ledger. Ledger Entries are paginated and sorted in reverse-chronological order by posted date. */ + ledgerEntries: LedgerEntriesConnection; + /** Ledger Entry data migrations affecting this Ledger. */ + ledgerEntryDataMigrations: LedgerEntryDataMigrationConnection; + /** Query a Ledger Entry Group for this Ledger given its key and value. */ + ledgerEntryGroup: LedgerEntryGroup; + /** Query LedgerEntryGroups in Ledger. Ledger Entry Groups are paginated and returned in order lexigraphically key then inverse chronologically by created. */ + ledgerEntryGroups: LedgerEntryGroupsConnection; + /** Schema migrations affecting this Ledger. */ + migrations: LedgerMigrationConnection; + /** The name of the Ledger. Can be updated with the [updateLedger](/api-reference/api-mutations#updateledger) mutation. */ + name: Scalars['String']['output']; + /** Schema key associated with this Ledger. */ + schema?: Maybe; + type: LedgerTypes; + /** @deprecated Callers should not need to query or store this value. */ + workspaceId: Scalars['ID']['output']; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerEntryStatsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerLedgerAccountDataMigrationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerLedgerAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerLedgerEntryDataMigrationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerLedgerEntryGroupArgs = { + ledgerEntryGroup: EntryGroupMatchInput; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerLedgerEntryGroupsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Ledgers are databases designed for managing money */ +export type LedgerMigrationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** A ledger account is a container for money */ +export type LedgerAccount = { + __typename?: 'LedgerAccount'; + /** Total of all lines in this ledger account and child ledger accounts of the same currency as this ledger account */ + balance: Scalars['Int96']['output']; + /** How much did the this ledger account's balance change during the specified period. This query will include all child accounts in the same currency as this ledger account. */ + balanceChange: Scalars['Int96']['output']; + /** How much did the this ledger account's balances change during the specified period. This query will include all child accounts of all currencies. */ + balanceChanges: CurrencyAmountConnection; + /** + * How much did the ledger account's balances change over a time period with a specified granularity. + * For example, if the period is 1969-07 and the granularity is daily, the query will return the balance changes for each day in the month. + */ + balanceChangesDuring: BalanceChangeDuringConnection; + /** Total of all lines in this ledger account and child ledger accounts in all currencies */ + balances: CurrencyAmountConnection; + /** + * The ledger account's balances over a time period with a specified granularity. + * For example, if the period is 1969-07 and the granularity is daily, the query will return the balance for each day in the month. + */ + balancesDuring: HistoricalBalanceConnection; + /** Total of all lines in child ledger accounts of the same currency as this ledger account */ + childBalance: Scalars['Int96']['output']; + /** How much did the this ledger account's childBalance change during the specified period. This query will only include child accounts which are in the same currency as this one. See childBalanceChanges to include children of different currencies. */ + childBalanceChange: Scalars['Int96']['output']; + /** How much did the this ledger account's child accounts' balances change during the specified period. This query will include all child accounts of all currencies. */ + childBalanceChanges: CurrencyAmountConnection; + /** + * How much did the ledger account's childBalances change over a time period with a specified granularity. + * For example, if the period is 1969-07 and the granularity is daily, the query will return the balance changes for each day in the month. + */ + childBalanceChangesDuring: BalanceChangeDuringConnection; + /** Total of all lines in child ledger accounts of this ledger in all currencies */ + childBalances: CurrencyAmountConnection; + /** + * The ledger account's childBalances over a time period with a specified granularity. + * For example, if the period is 1969-07 and the granularity is daily, the query will return the balance for each day in the month. + */ + childBalancesDuring: HistoricalBalanceConnection; + /** The child Ledger Accounts of this Ledger Accountw */ + childLedgerAccounts: LedgerAccountsConnection; + /** + * The clearing status of the Ledger Account. + * + * This field is null when the Ledger Account is not configured to be a Clearing account. + */ + clearingStatus?: Maybe; + /** The consistency configuration for this Ledger Account. This defines how updates to this Ledger Account's ownBalance are handled. */ + consistencyConfig: LedgerAccountConsistencyConfig; + created: Scalars['DateTime']['output']; + /** Currency of this ledger account */ + currency?: Maybe; + /** Indicates if the account allows multiple currencies or is restricted to a single currency */ + currencyMode: CurrencyMode; + /** URL to the Fragment Dashboard for this Ledger Account. */ + dashboardUrl: Scalars['String']['output']; + id: Scalars['ID']['output']; + /** The idempotency key used to create this account */ + ik: Scalars['String']['output']; + /** Ledger this account is in */ + ledger: Ledger; + /** All Ledger Entries that have posted to this Ledger Account. Ledger Entries are paginated and sorted in reverse-chronological order by posted date. */ + ledgerEntries: LedgerEntriesConnection; + /** ID of the ledger this account is in */ + ledgerId: Scalars['ID']['output']; + /** List Ledger Lines in this account, sorted by `posted` in reverse chronological order. Does not include Ledger Lines from child Ledger Accounts. */ + lines: LedgerLinesConnection; + /** The Link for the External Account that is linked to this ledger account */ + link?: Maybe; + /** External Account that is linked to this ledger account */ + linkedAccount?: Maybe; + /** The name of your Ledger Account */ + name?: Maybe; + /** Total of all lines in this ledger account, excluding all child ledger accounts */ + ownBalance: Scalars['Int96']['output']; + /** How much did the this ledger account's ownBalance change during the specified period. This query will exclude all child accounts. */ + ownBalanceChange: Scalars['Int96']['output']; + /** How much did the this ledger account's ownBalance change during the specified period. This is the total of all lines in this ledger account, excluding all child ledger accounts */ + ownBalanceChanges: CurrencyAmountConnection; + /** + * How much did the ledger account's ownBalances change over a time period with a specified granularity. + * For example, if the period is 1969-07 and the granularity is daily, the query will return the balance changes for each day in the month. + */ + ownBalanceChangesDuring: BalanceChangeDuringConnection; + /** Total of all lines across all currencies in this ledger account, excluding all child ledger accounts */ + ownBalances: CurrencyAmountConnection; + /** + * The ledger account's ownBalances over a time period with a specified granularity. + * For example, if the period is 1969-07 and the granularity is daily, the query will return the balance for each day in the month. + */ + ownBalancesDuring: HistoricalBalanceConnection; + /** The parent ledger account of this ledger account */ + parentLedgerAccount?: Maybe; + /** ID of the parent ledger account of this ledger account */ + parentLedgerAccountId?: Maybe; + /** + * The unique Path of the ledger account. This is a slash-delimited string containing the location of an account in its chart of accounts. + * For accounts created with a schema, this will be composed of account keys. Else, for accounts created with the createLedgerAccounts API, + * this will be composed of the IKs of an account and its ancestors. + */ + path: Scalars['String']['output']; + type: LedgerAccountTypes; + /** A list of external account transactions that haven't been reconciled to this ledger account yet. Only populated for linked ledger accounts. Transactions are sorted in reverse chronological order by posted date. */ + unreconciledTxs: TxsConnection; + /** @deprecated Callers should not need to query or store this value. */ + workspaceId: Scalars['ID']['output']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountBalanceArgs = { + at?: InputMaybe; + currency?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountBalanceChangeArgs = { + currency?: InputMaybe; + period: Scalars['Period']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountBalanceChangesArgs = { + period: Scalars['Period']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountBalanceChangesDuringArgs = { + currency?: InputMaybe; + duration: Scalars['Int']['input']; + granularity: Granularity; + startTime: Scalars['FirstMoment']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountBalancesArgs = { + after?: InputMaybe; + at?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountBalancesDuringArgs = { + currency?: InputMaybe; + duration: Scalars['Int']['input']; + granularity: Granularity; + startTime: Scalars['FirstMoment']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountChildBalanceArgs = { + at?: InputMaybe; + currency?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountChildBalanceChangeArgs = { + currency?: InputMaybe; + period: Scalars['Period']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountChildBalanceChangesArgs = { + period: Scalars['Period']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountChildBalanceChangesDuringArgs = { + currency?: InputMaybe; + duration: Scalars['Int']['input']; + granularity: Granularity; + startTime: Scalars['FirstMoment']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountChildBalancesArgs = { + after?: InputMaybe; + at?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountChildBalancesDuringArgs = { + currency?: InputMaybe; + duration: Scalars['Int']['input']; + granularity: Granularity; + startTime: Scalars['FirstMoment']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountChildLedgerAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountOwnBalanceArgs = { + at?: InputMaybe; + consistencyMode?: InputMaybe; + currency?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountOwnBalanceChangeArgs = { + currency?: InputMaybe; + period: Scalars['Period']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountOwnBalanceChangesArgs = { + period: Scalars['Period']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountOwnBalanceChangesDuringArgs = { + currency?: InputMaybe; + duration: Scalars['Int']['input']; + granularity: Granularity; + startTime: Scalars['FirstMoment']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountOwnBalancesArgs = { + after?: InputMaybe; + at?: InputMaybe; + before?: InputMaybe; + consistencyMode?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountOwnBalancesDuringArgs = { + currency?: InputMaybe; + duration: Scalars['Int']['input']; + granularity: Granularity; + startTime: Scalars['FirstMoment']['input']; +}; + + +/** A ledger account is a container for money */ +export type LedgerAccountUnreconciledTxsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The clearing status of a Ledger Account. */ +export enum LedgerAccountClearingStatus { + /** The account has no outstanding balances. */ + Cleared = 'cleared', + /** The account has outstanding balances that have not been cleared. */ + Pending = 'pending' +} + +export type LedgerAccountClearingStatusFilter = { + /** Results must match the specified clearing account status */ + equalTo?: InputMaybe; +}; + +/** A set of conditions that a Ledger Account must meet for an operation to succeed. */ +export type LedgerAccountCondition = { + __typename?: 'LedgerAccountCondition'; + /** A condition that the `ownBalance` field must satisfy. Note that this condition always applies to the latest balance, not to balances at a specific date or time. See [Read balances](https://fragment.dev/docs/read-balances) for more on the different types of Ledger Account balances. */ + ownBalance?: Maybe; +}; + +/** A set of conditions that a Ledger Account must meet for an operation to succeed. */ +export type LedgerAccountConditionInput = { + /** A condition that the ownBalance field must satisfy. Note that this condition always applies to the latest balance, not to balances at a specific date or time. See [Read balances](https://fragment.dev/read-balances) for more on the different types of Ledger Account balances. */ + ownBalance: Int96ConditionInput; +}; + +/** + * The consistency configuration of a Ledger Account's balance updates. + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ +export type LedgerAccountConsistencyConfig = { + __typename?: 'LedgerAccountConsistencyConfig'; + lines: LedgerLinesConsistencyMode; + /** + * If set to `strong`, then a Ledger Account's `ownBalance` updates will be strongly consistent with + * the API response. This Ledger Account's balance will be updated and + * available for strongly consistent reads once you receive an API response. + * + * Otherwise if not set or set to `eventual`, `ownBalance` updates are applied + * asynchronously and may not be immediately reflected in queries. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ + ownBalanceUpdates: BalanceUpdateConsistencyMode; +}; + +/** + * The payload configuring the consistency for this Ledger Account. + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ +export type LedgerAccountConsistencyConfigInput = { + /** + * The consistency configuration for Ledger Entry Groups affecting this account. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ + groups?: InputMaybe>; + /** + * If set to `strong`, then a Ledger Account's `lines` updates will be strongly consistent with the API response. + * This Ledger Account's balance will be updated and available for strongly consistent reads before you receive an API response. + * + * Otherwise if unset or set to `eventual`, `lines` updates are applied asynchronously and may not be immediately reflected in queries. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ + lines?: InputMaybe; + /** + * If set to `strong`, then a Ledger Account's `ownBalance` updates will be strongly consistent with the API response. + * This Ledger Account's balance will be updated and available for strongly consistent reads before you receive an API response. + * + * Otherwise if unset or set to `eventual`, `ownBalance` updates are applied asynchronously and may not be immediately reflected in queries. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ + ownBalanceUpdates?: InputMaybe; +}; + +/** Represents a data migration for a specific Ledger Account in a Ledger. */ +export type LedgerAccountDataMigration = LedgerDataMigration & { + __typename?: 'LedgerAccountDataMigration'; + /** The path of the Ledger Account being migrated. */ + accountPath: Scalars['String']['output']; + /** Current active migration info (null if migration is inactive). */ + currentMigration?: Maybe; + /** The historical transitions of this migration. */ + history: LedgerDataMigrationHistoryConnection; + /** The ledger entries to be migrated. */ + ledgerEntries: LedgerEntriesConnection; + /** The status of the data migration. */ + status: LedgerDataMigrationStatus; +}; + + +/** Represents a data migration for a specific Ledger Account in a Ledger. */ +export type LedgerAccountDataMigrationHistoryArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Represents a data migration for a specific Ledger Account in a Ledger. */ +export type LedgerAccountDataMigrationLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +export type LedgerAccountDataMigrationConnection = { + __typename?: 'LedgerAccountDataMigrationConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +export type LedgerAccountDataMigrationsFilterSet = { + /** Filter by Ledger Account path. */ + accountPath?: InputMaybe; + /** Filter by the status of the data migration. */ + status?: InputMaybe; +}; + +export type LedgerAccountFilter = { + /** Result must match the specified Ledger Account */ + equalTo?: InputMaybe; + /** Results can match any of specified Ledger Accounts */ + in?: InputMaybe>; +}; + +/** The consistency configuration for a specific Ledger Entry Group in this account. */ +export type LedgerAccountGroupConsistencyConfigInput = { + /** The group key for this configuration. */ + key: Scalars['SafeString']['input']; + /** + * If set to `strong`, then Ledger Entry Group `ownBalance`s updates for this account will be strongly consistent with the API response. + * This Ledger Account's Ledger Entry Group balances will be updated and available for strongly consistent reads before you receive an API response. + * + * Otherwise if unset or set to `eventual`, Ledger Entry Group `ownBalance` updates are applied asynchronously and may not be immediately reflected in queries. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ + ownBalanceUpdates: BalanceUpdateConsistencyMode; +}; + +/** + * Specify a Ledger Account by using `id` or `path`. + * + * When specifying a Ledger Account by `path`, you must provide `ledger`. + */ +export type LedgerAccountMatchInput = { + /** The FRAGMENT ID of the Ledger Account */ + id?: InputMaybe; + /** The Ledger to which this Ledger Account belongs. This is required if you are specifying the Ledger Account by `path`. */ + ledger?: InputMaybe; + /** + * The unique path of the Ledger Account. + * This is a slash-delimited string containing the keys of an account and all its direct ancestors. + */ + path?: InputMaybe; +}; + +export type LedgerAccountTypeFilter = { + /** Results must be of the specified Ledger Account type */ + equalTo?: InputMaybe; + /** Results can have any of the specified Ledger Account types */ + in?: InputMaybe>; +}; + +export enum LedgerAccountTypes { + Asset = 'asset', + Expense = 'expense', + Income = 'income', + Liability = 'liability' +} + +/** A paginated list of Ledger Accounts */ +export type LedgerAccountsConnection = { + __typename?: 'LedgerAccountsConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export type LedgerAccountsFilterSet = { + /** Use this to filter Ledger Accounts by their clearing account status */ + clearingStatus?: InputMaybe; + /** Use this to filter Ledger Accounts by their parent status */ + hasParentLedgerAccount?: InputMaybe; + /** Use this to filter Ledger Accounts by their linked status */ + isLinkedAccount?: InputMaybe; + /** Use this to filter Ledger Accounts by their ID or path */ + ledgerAccount?: InputMaybe; + /** Use this to filter Ledger Accounts by their external linked account ID */ + linkedAccount?: InputMaybe; + /** Use this to filter Ledger Accounts by their parent account IDs */ + parentLedgerAccount?: InputMaybe; + /** + * A filter that must match the account path. Wildcards ('*') may be used only for template variables, and will only match a single variable each. + * For example: 'assets-root/accounts-receivable/merchant:*' would match: 'assets-root/accounts-receivable/merchant:1' and 'assets-root/accounts-receivable/merchant:1/child'. + * Wildcards may not be used outside of template variables. For example, passing in 'assets-root/*' as a filter is invalid and would raise a GraphQL error. + */ + path?: InputMaybe; + /** Use this to filter Ledger Accounts by their type */ + type?: InputMaybe; +}; + +/** Represents a data migration for a Ledger. */ +export type LedgerDataMigration = { + /** Current active migration info (null if migration is inactive). */ + currentMigration?: Maybe; + /** The historical transitions of this migration. */ + history: LedgerDataMigrationHistoryConnection; + /** The ledger entries to be migrated. */ + ledgerEntries: LedgerEntriesConnection; + /** The status of the data migration. */ + status: LedgerDataMigrationStatus; +}; + + +/** Represents a data migration for a Ledger. */ +export type LedgerDataMigrationHistoryArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Represents a data migration for a Ledger. */ +export type LedgerDataMigrationLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** A paginated list of migration history entries. */ +export type LedgerDataMigrationHistoryConnection = { + __typename?: 'LedgerDataMigrationHistoryConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +/** A single schema version in the migration history. */ +export type LedgerDataMigrationHistoryEntry = { + __typename?: 'LedgerDataMigrationHistoryEntry'; + /** The schema version. */ + schemaVersion: Scalars['Int']['output']; + /** The current status of this schema version (active if it's the latest and migration is active, otherwise inactive). */ + status: LedgerDataMigrationStatus; +}; + +/** The status of a ledger data migration. */ +export enum LedgerDataMigrationStatus { + /** The migration is active. */ + Active = 'active', + /** The migration is inactive. */ + Inactive = 'inactive' +} + +/** A paginated list of Ledger Entries */ +export type LedgerEntriesConnection = { + __typename?: 'LedgerEntriesConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export type LedgerEntriesFilterSet = { + date?: InputMaybe; + /** Use this to filter Ledger Entries by groups. The response will include entries that contain or do not contain specific groups. */ + group?: InputMaybe; + /** Use this to filter Ledger Entries that were posted using `reverseLedgerEntry`. */ + isReversal?: InputMaybe; + /** Use this to filter Ledger Entries that have been reversed. */ + isReversed?: InputMaybe; + /** Use to filter Ledger Entries by their IDs or IKs. */ + ledgerEntry?: InputMaybe; + posted?: InputMaybe; + /** Use this filter to show hidden Ledger Entries. */ + showHidden?: InputMaybe; + /** Use this to filter Ledger Entries by tags. The response will include entries that contain tags matching the filter. */ + tag?: InputMaybe; + /** Use this to filter Ledger Entries by type. Ledger Entry types are defined in Schemas. */ + type?: InputMaybe; + /** Use this to filter Ledger Entries by their type version. */ + typeVersion?: InputMaybe; +}; + +export type LedgerEntry = { + __typename?: 'LedgerEntry'; + /** The conditions that were satisfied by this Ledger Entry when it was posted. */ + conditions: Array; + /** ISO-8601 timestamp this LedgerEntry was created in Fragment. */ + created: Scalars['DateTime']['output']; + /** URL to the Fragment Dashboard for this Ledger Entry. */ + dashboardUrl: Scalars['String']['output']; + /** Date this LedgerEntry posted to its Ledger e.g. "2021-01-01". */ + date: Scalars['Date']['output']; + /** Description posted for this Ledger Entry. */ + description?: Maybe; + /** The Ledger Entry Groups this Ledger Entry is in. */ + groups: Array; + /** + * Indicates whether this Ledger Entry is hidden when listing Ledger Entries. + * Reversed and Reversal Ledger Entries are hidden by default because taken together they have no impact on a Ledger's balances. + */ + hidden: Scalars['Boolean']['output']; + /** The ID of this LedgerEntry. */ + id: Scalars['ID']['output']; + /** The idempotency key used to post this ledger entry */ + ik: Scalars['String']['output']; + /** + * Indicates whether this Ledger Entry is a reversal of another Ledger Entry. + * If so, reverses will point to that Ledger Entry. + */ + isReversal: Scalars['Boolean']['output']; + /** + * Indicates whether this Ledger Entry has been reversed by another Ledger Entry. + * If so, reversedBy will point to that Ledger Entry. + */ + isReversed: Scalars['Boolean']['output']; + /** The Ledger that this Ledger Entry is posted to. */ + ledger: Ledger; + /** The ID of the Ledger this Ledger Entry is posted to. */ + ledgerId: Scalars['ID']['output']; + /** Lines posted in this Ledger Entry. */ + lines: LedgerLinesConnection; + /** The parameters used to post this Ledger Entry. */ + parameters?: Maybe; + /** ISO-8601 timestamp this LedgerEntry posted to its Ledger. */ + posted: Scalars['DateTime']['output']; + /** The reversal history of this Ledger Entry. Each entry in this connection shares the same IK. */ + reversalHistory: LedgerEntriesConnection; + /** The position of this Ledger Entry in its reversalHistory. This is a one-indexed value, so the initial entry will have reversalPosition 1. */ + reversalPosition: Scalars['Int']['output']; + /** ISO-8601 timestamp of when this Ledger Entry was reversed. */ + reversedAt?: Maybe; + /** The Ledger Entry that reversed this Ledger Entry. */ + reversedBy?: Maybe; + /** The Ledger Entry that was reversed by this Ledger Entry. */ + reverses?: Maybe; + /** The set of tags attached to this Ledger Entry. */ + tags: Array; + /** The type of the Ledger Entry. */ + type?: Maybe; + /** The version of the Ledger Entry type used when it was posted. */ + typeVersion?: Maybe; + /** @deprecated Callers should not need to query or store this value. */ + workspaceId: Scalars['ID']['output']; +}; + +/** A set of pre-conditions and post-conditions that a Ledger Account must have satisfied. Each `LedgerEntryCondition` has at least one of `precondition` or `postcondition`. */ +export type LedgerEntryCondition = { + __typename?: 'LedgerEntryCondition'; + /** The Ledger Account that must satisfied the provided conditions. */ + account: LedgerAccount; + /** The currency of the balance associated with this `LedgerEntryCondition`. */ + currency: Currency; + /** The conditions that must be satisfied after the operation. */ + postcondition?: Maybe; + /** The conditions that must be satisfied prior to the operation. */ + precondition?: Maybe; +}; + +/** A set of pre-conditions and post-conditions that a Ledger Account balance must meet for an operation to succeed. You must specify at least one of `precondition` or `postcondition` for each condition. */ +export type LedgerEntryConditionInput = { + /** The Ledger Account that must satisfy the provided conditions. */ + account: LedgerAccountMatchInput; + /** For Ledger Accounts in the `multi` currency mode, you must specify the currency of the balance affected by the condition. You only need to specify this field for multi-currency accounts. */ + currency?: InputMaybe; + /** The conditions that must hold after the operation. */ + postcondition?: InputMaybe; + /** The conditions that must hold prior to the operation. */ + precondition?: InputMaybe; +}; + +/** Represents a data migration for a specific entry type in a Ledger. */ +export type LedgerEntryDataMigration = LedgerDataMigration & { + __typename?: 'LedgerEntryDataMigration'; + /** Current active migration info (null if migration is inactive). */ + currentMigration?: Maybe; + /** The entry type being migrated. */ + entryType: Scalars['SafeString']['output']; + /** The historical transitions of this migration. */ + history: LedgerDataMigrationHistoryConnection; + /** The ledger entries to be migrated. */ + ledgerEntries: LedgerEntriesConnection; + /** The status of the data migration. */ + status: LedgerDataMigrationStatus; + /** The version of the entry type being migrated. */ + typeVersion: Scalars['Int']['output']; +}; + + +/** Represents a data migration for a specific entry type in a Ledger. */ +export type LedgerEntryDataMigrationHistoryArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Represents a data migration for a specific entry type in a Ledger. */ +export type LedgerEntryDataMigrationLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +export type LedgerEntryDataMigrationConnection = { + __typename?: 'LedgerEntryDataMigrationConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +export type LedgerEntryDataMigrationsFilterSet = { + /** Filter by Ledger Entry type. */ + entryType?: InputMaybe; + /** Filter by the status of the data migration. */ + status?: InputMaybe; + /** Filter by Ledger Entry type version. */ + typeVersion?: InputMaybe; +}; + +export type LedgerEntryFilter = { + /** Result must be the specified Ledger Entry. */ + equalTo?: InputMaybe; + /** Result can be any of the specified Ledger Entries. Limited to 100 items maximum. */ + in?: InputMaybe>; +}; + +/** A group of Ledger Entries */ +export type LedgerEntryGroup = { + __typename?: 'LedgerEntryGroup'; + balances: LedgerEntryGroupBalanceConnection; + /** ISO-8601 timestamp this LedgerEntryGroup was created in Fragment. */ + created?: Maybe; + /** URL to the Fragment Dashboard for this Ledger Entry Group. */ + dashboardUrl: Scalars['String']['output']; + /** The key of this Ledger Entry Group. */ + key: Scalars['SafeString']['output']; + /** The Ledger that this Ledger Entry Group is within. */ + ledger: Ledger; + ledgerEntries: LedgerEntriesConnection; + /** The ID of the Ledger this Ledger Entry Group is within. */ + ledgerId: Scalars['ID']['output']; + /** The value associated with Ledger Entry Group. */ + value: Scalars['SafeString']['output']; +}; + + +/** A group of Ledger Entries */ +export type LedgerEntryGroupBalancesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A group of Ledger Entries */ +export type LedgerEntryGroupLedgerEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** Represents the total effect of a Ledger Entry Group on a Ledger Account balance for a single currency. */ +export type LedgerEntryGroupBalance = { + __typename?: 'LedgerEntryGroupBalance'; + /** The Ledger Account whose balance is affected. */ + account: LedgerAccount; + /** The currency of the affected balance. */ + currency: Currency; + /** The total balance change for this Ledger Account and currency. */ + ownBalance: Scalars['Int96']['output']; +}; + + +/** Represents the total effect of a Ledger Entry Group on a Ledger Account balance for a single currency. */ +export type LedgerEntryGroupBalanceOwnBalanceArgs = { + consistencyMode?: InputMaybe; +}; + +/** A set of balance changes for a specific Ledger Entry Group. */ +export type LedgerEntryGroupBalanceConnection = { + __typename?: 'LedgerEntryGroupBalanceConnection'; + nodes: Array; + pageInfo: PageInfo; +}; + +/** Filter Ledger Entry Groups by their balance impact on a Ledger Account. If a group has a matching balance for the specified account, the group will be included in the results. */ +export type LedgerEntryGroupBalanceFilter = { + /** A Ledger Entry Group will be included in the result if it has a balance for the specified account. If 'account' is the only filter specified, then any non-null balance in any currency will match. */ + account: GroupBalanceAccountFilter; + /** A Ledger Entry Group will be included in the result if it has a balance for the specified account in the specified currency. If the 'ownBalance' filter is omitted then any non-null balance will match. */ + currency?: InputMaybe; + /** A Ledger Entry Group will be included in the result if it has a balance for the specified account that passes the specified value predicate. If the 'currency' filter is omitted then any balance in any currency that passes the predicate will match. If the 'currency' filter is included, the value predicate will only be evaluated against the specified currency. */ + ownBalance?: InputMaybe; +}; + +/** Optional filters for querying balances on a Ledger Entry Group. */ +export type LedgerEntryGroupBalanceFilterSet = { + /** Filter to a subset of accounts */ + account?: InputMaybe; + /** Filter to one or more currencies */ + currency?: InputMaybe; + /** Filter to only balances in a certain range */ + ownBalance?: InputMaybe; +}; + +export type LedgerEntryGroupInput = { + /** The key of this group. Can be up to 128 characters long. */ + key: Scalars['SafeString']['input']; + /** The value associated with this group's key. Can be up to 128 characters long. */ + value: Scalars['SafeString']['input']; +}; + +export type LedgerEntryGroupMatchInput = { + key: Scalars['SafeString']['input']; + ledger: LedgerMatchInput; + value: Scalars['SafeString']['input']; +}; + +/** A paginated list of Ledger Entry Groups */ +export type LedgerEntryGroupsConnection = { + __typename?: 'LedgerEntryGroupsConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +export type LedgerEntryGroupsFilterSet = { + /** Filter Ledger Entry Groups by their balance impact on a Ledger Account. If a group has a matching balance for the specified account, the group will be included in the results. */ + balance?: InputMaybe; + /** Use to filter Ledger Entry Groups by their created timestamp */ + created?: InputMaybe; + /** Use to filter Ledger Entry Groups by their key */ + key?: InputMaybe; + /** Use to filter Ledger Entry Groups by their value */ + value?: InputMaybe; +}; + +/** Ledger Entries are limited to 30 Ledger Lines. */ +export type LedgerEntryInput = { + /** Conditions that must be satisfied to post this Ledger Entry. The Ledger Entry will reject with a BadRequestError if any condition is not met. You can only add a condition on a Ledger Account containing a Line in this Ledger Entry. */ + conditions?: InputMaybe>; + /** If specified, will also be used as the description for LedgerLines unless they specify their own description. */ + description?: InputMaybe; + /** Adds this Ledger Entry to this set of Ledger Entry Groups */ + groups?: InputMaybe>; + /** The Ledger to which to post this Ledger Entry. Must be linked to a Schema that defines the provided Ledger Entry type. */ + ledger?: InputMaybe; + /** The Ledger Lines to create as part of this Ledger Entry. This cannot be used with Ledger Entries that have a 'type' i.e. Ledger Entries defined in the Schema. This can be useful during non-routine operations such as an incident. It is not recommended to use 'lines' during routine operations. */ + lines?: InputMaybe>; + /** Parameters to be included in a templated Ledger Entry. All provided parameters must be present in the typed Ledger Entry within the Schema linked to the provided Ledger. */ + parameters?: InputMaybe; + /** ISO 8601 timestamp to post this Ledger Entry e.g. "2021-01-01" or "2021-01-01T16:45:00Z". Will error out if supplied to reconcileTx or createOrder since the transaction timestamp will be used instead */ + posted?: InputMaybe; + /** A set of tags attached to this Ledger Entry. */ + tags?: InputMaybe>; + /** The type of the Ledger Entry. Must be defined in the Schema linked to the Ledger specified below. */ + type?: InputMaybe; + /** Experimental: This field is reserved for an upcoming feature and is not yet supported. */ + typeVersion?: InputMaybe; +}; + +/** Specify a Ledger Entry by using `id`. */ +export type LedgerEntryMatchInput = { + /** The FRAGMENT ID of the Ledger Entry */ + id?: InputMaybe; + /** The IK provided to the `addLedgerEntry` mutation or the `ik` field returned from a `reconcileTx` mutation. This is required if you have not provided `id`. */ + ik?: InputMaybe; + /** The FRAGMENT ID of the Ledger to which this Ledger Entry belongs. This is required if you have not provided `id`. */ + ledger?: InputMaybe; +}; + +/** Posting count statistics for a specific type and typeVersion of entry in a Ledger. */ +export type LedgerEntryStats = { + __typename?: 'LedgerEntryStats'; + /** The total number of entries of this type. */ + count: Scalars['Int96']['output']; + /** The ledger ID these stats are for. */ + ledgerId: Scalars['SafeString']['output']; + /** The net number of entries (count - reversalsCount). */ + netCount: Scalars['Int96']['output']; + /** The number of entries that are reversals. */ + reversalsCount: Scalars['Int96']['output']; + /** The schema key associated with these stats. */ + schemaKey: Scalars['SafeString']['output']; + /** The type of entry these stats are for. */ + type: Scalars['SafeString']['output']; + /** The version of the entry type these stats are for. */ + typeVersion: Scalars['Int']['output']; +}; + +/** A paginated list of Ledger Entry Stats */ +export type LedgerEntryStatsConnection = { + __typename?: 'LedgerEntryStatsConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +/** A tag attached to a Ledger Entry. */ +export type LedgerEntryTag = { + __typename?: 'LedgerEntryTag'; + /** The key of this tag. */ + key: Scalars['SafeString']['output']; + /** The value associated with this tag's key. */ + value: Scalars['SafeString']['output']; +}; + +export type LedgerEntryTagInput = { + /** The key of this tag. Can be up to 128 characters long. */ + key: Scalars['SafeString']['input']; + /** The value associated with this tag's key. Can be up to 128 characters long. */ + value: Scalars['SafeString']['input']; +}; + +export type LedgerLine = { + __typename?: 'LedgerLine'; + /** LedgerAccount that contains this line */ + account: LedgerAccount; + accountId: Scalars['ID']['output']; + /** How much this line's LedgerAccount's balance changed in integer cents (i.e. in USD 100 is 1 dollar, 100 cents) */ + amount: Scalars['Int96']['output']; + /** ISO-8601 timestamp this LedgerLine was created in Fragment */ + created?: Maybe; + /** Currency of this LedgerLine */ + currency?: Maybe; + /** Date this LedgerLine posted to its LedgerAccount e.g. "2021-01-01" */ + date?: Maybe; + /** Description of this LedgerLine */ + description?: Maybe; + /** ID in the external system of the payment or transfer that created the transaction linked to this LedgerLine */ + externalTransferId?: Maybe; + /** Whether the transaction linked to this LedgerLine was a payment or transfer */ + externalTransferType?: Maybe; + /** ID in the external system of the transaction linked to this LedgerLine */ + externalTxId?: Maybe; + /** + * Indicates whether this Ledger Line is hidden when listing Ledger Lines. + * Reversed and Reversal Ledger Lines are hidden by default because taken together they have no impact on a Ledger Account's balance + */ + hidden: Scalars['Boolean']['output']; + id: Scalars['ID']['output']; + /** + * Indicates whether this Ledger Line is a reversal of another Ledger Line. + * If so, reverses will point to that Ledger Line. + */ + isReversal: Scalars['Boolean']['output']; + /** + * Indicates whether this Ledger Line has been reversed by another Ledger Line. + * If so, reversedBy will point to that Ledger Line. + */ + isReversed: Scalars['Boolean']['output']; + key?: Maybe; + ledger: Ledger; + /** LedgerEntry that contains this line */ + ledgerEntry: LedgerEntry; + /** ID of the LedgerEntry that contains this line */ + ledgerEntryId: Scalars['ID']['output']; + /** Ledger that contains this line */ + ledgerId: Scalars['ID']['output']; + /** ID in the external system of destination or source bank account for an internal bank transfer. Only for internal bank transfers - see otherTxId */ + otherTxExternalAccountExternalId?: Maybe; + /** FRAGMENT ID of destination or source bank account. Only for internal bank transfers - see otherTxId */ + otherTxExternalAccountId?: Maybe; + /** ID in the external system of transaction in the destination or source bank account. Only for internal bank transfers - see otherTxId */ + otherTxExternalId?: Maybe; + /** FRAGMENT ID of the transaction in the destination account (if sending money from this account) or source account (if pulling money into this account). Only applicable if this line is linked to a transaction created through an internal transfer */ + otherTxId?: Maybe; + /** ISO-8601 timestamp this LedgerLine posted to its LedgerAccount */ + posted?: Maybe; + /** ISO-8601 timestamp of when this Ledger Line was reversed. */ + reversedAt?: Maybe; + /** The Ledger Line that reverses the balance changes of this Ledger Line. */ + reversedBy?: Maybe; + /** The Ledger Line whose balance changes are reversed by this Ledger Line. */ + reverses?: Maybe; + /** The transaction linked to this LedgerLine */ + tx?: Maybe; + /** Fragment ID of the transaction linked to this LedgerLine */ + txId?: Maybe; + /** credit or debit */ + type: TxType; + /** @deprecated Callers should not need to query or store this value. */ + workspaceId: Scalars['ID']['output']; +}; + + +export type LedgerLineAmountArgs = { + absolute?: InputMaybe; +}; + +export type LedgerLineInput = { + /** The LedgerAccount this line is being added to */ + account: LedgerAccountMatchInput; + /** A positive amount increases the balance of its LedgerAccount, a negative amount reduces the balance of its LedgerAccount */ + amount?: InputMaybe; + /** The currency the ledger line is in */ + currency?: InputMaybe; + /** If not specified the description from the parent LedgerEntryInput will be used */ + description?: InputMaybe; + /** Optional identifier for Ledger Line. You can filter lines by key using [LedgerLinesFilterSet](https://fragment.dev/api-reference/api-types#filter-types-ledgerlinesfilterset). */ + key?: InputMaybe; + /** Required for reconcileTx to specify the transaction being reconciled, you can specify either the FRAGMENT ID or external ID of the transaction */ + tx?: InputMaybe; +}; + +/** Specify a Ledger Line by using `id`. */ +export type LedgerLineMatchInput = { + /** The FRAGMENT ID of the ledger line */ + id: Scalars['ID']['input']; +}; + +/** A paginated list of Ledger Lines */ +export type LedgerLinesConnection = { + __typename?: 'LedgerLinesConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export enum LedgerLinesConsistencyMode { + Eventual = 'eventual', + Strong = 'strong' +} + +export type LedgerLinesFilterSet = { + /** Filter by the created timestamp of the Ledger Line. This is the wall-clock time when the Ledger Line was created. */ + created?: InputMaybe; + /** Filter by the currency of the Ledger Line. */ + currency?: InputMaybe; + /** Filter by the posted date of the Ledger Line. This is identical to using `posted`, but only supports day-level granularity. */ + date?: InputMaybe; + /** Use this to filter Ledger Lines that were posted to this Ledger Account, using `reverseLedgerEntry`. */ + isReversal?: InputMaybe; + /** Use this to filter Ledger Lines that have been reversed. */ + isReversed?: InputMaybe; + /** Use this to filter Ledger Lines by key. Ledger Line keys are defined in Schemas. */ + key?: InputMaybe; + /** Filter by the posted timestamp of the Ledger Line. */ + posted?: InputMaybe; + /** Use this filter to find hidden Ledger Lines. */ + showHidden?: InputMaybe; + type?: InputMaybe; +}; + +/** Specify a Ledger by using `id` or `ik`. */ +export type LedgerMatchInput = { + /** The FRAGMENT ID of the Ledger */ + id?: InputMaybe; + /** The IK passed into the [createLedger](/api-reference/api-mutations#createledger) mutation. This is treated as a second unique identifier for this Ledger. */ + ik?: InputMaybe; +}; + +/** + * Represents a Schema being applied to a Ledger. + * It contains metadata about the Ledger, the Schema, and the status of the migration. + */ +export type LedgerMigration = { + __typename?: 'LedgerMigration'; + /** The Ledger that the migration is run on. */ + ledger: Ledger; + schemaVersion: SchemaVersion; + /** The status of the Ledger Migration. */ + status: LedgerMigrationStatus; +}; + +/** A paginated list of Ledger Migrations */ +export type LedgerMigrationConnection = { + __typename?: 'LedgerMigrationConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +/** The status of a ledger migration. */ +export enum LedgerMigrationStatus { + /** + * The Ledger Migration has been successfully completed. + * This is a terminal state. + */ + Completed = 'completed', + /** + * The Ledger Migration has failed. + * This can happen either due to an invalid schema or an internal error. + * This is a terminal state. + */ + Failed = 'failed', + /** The Ledger Migration has been queued. */ + Queued = 'queued', + /** + * The Ledger Migration has been skipped because a newer version is available. + * This is a terminal state. + */ + Skipped = 'skipped', + /** The Ledger Migration has been started. */ + Started = 'started' +} + +export type LedgerTypeFilter = { + equalTo?: InputMaybe; + /** Must match one of the values provided. Limited to 100 items maximum. */ + in?: InputMaybe>; +}; + +export enum LedgerTypes { + Double = 'double' +} + +/** A paginated list of Ledgers */ +export type LedgersConnection = { + __typename?: 'LedgersConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export type LedgersFilterSet = { + hasSchema?: InputMaybe; + type?: InputMaybe; +}; + +export type Link = { + /** ISO-8601 timestamp when the Link was created. */ + created: Scalars['String']['output']; + /** URL to the Fragment Dashboard for this Link. */ + dashboardUrl: Scalars['String']['output']; + /** A list of External Accounts associated with this Link. */ + externalAccounts: ExternalAccountsConnection; + /** FRAGMENT ID of the Link. */ + id: Scalars['ID']['output']; + /** Name of the Link as it appears in the Dashboard. */ + name: Scalars['String']['output']; +}; + +export type LinkMatchInput = { + id: Scalars['ID']['input']; +}; + +/** The type of Link an external account belongs to. */ +export enum LinkType { + /** A Custom Link */ + CustomLink = 'CustomLink', + /** An Increase Link */ + IncreaseLink = 'IncreaseLink', + /** A Stripe Link */ + StripeLink = 'StripeLink', + /** A Unit Link */ + UnitLink = 'UnitLink' +} + +/** A paginated list of Links */ +export type LinksConnection = { + __typename?: 'LinksConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +/** An object defining the input for migrating a Ledger Entry. */ +export type MigrateLedgerEntryInput = { + /** The Ledger Entry to migrate */ + id: Scalars['ID']['input']; + /** The Ledger Entry you want to migrate it to */ + newLedgerEntry: LedgerEntryInput; +}; + +export type MigrateLedgerEntryResponse = BadRequestError | InternalError | MigrateLedgerEntryResult; + +export type MigrateLedgerEntryResult = { + __typename?: 'MigrateLedgerEntryResult'; + /** Whether this migration was an IK replay or not */ + isIkReplay: Scalars['Boolean']['output']; + /** The new Ledger Entry posted as a result of the migration */ + newLedgerEntry: LedgerEntry; + /** The Ledger Entry that was migrated */ + reversedLedgerEntry: LedgerEntry; + /** The reversal Ledger Entry that was posted to reverse the Ledger Entry being migrated */ + reversingLedgerEntry: LedgerEntry; +}; + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type Mutation = { + __typename?: 'Mutation'; + _empty?: Maybe; + /** Adds a Ledger Entry to a Ledger. This Ledger Entry cannot be into a Linked Ledger Account. For that, use [reconcileTx](https://fragment.dev/api-reference/api-mutations#reconciletx) */ + addLedgerEntry: AddLedgerEntryResponse; + /** Creates a custom currency. */ + createCustomCurrency: CreateCustomCurrencyResponse; + /** Custom Links let you integrate external systems that don't have native support. See [Custom Links](https://fragment.dev/docs/sync-payments#custom-link) */ + createCustomLink: CreateCustomLinkResponse; + /** Creates a Ledger. */ + createLedger: CreateLedgerResponse; + createLedgerAccount: CreateLedgerAccountResponse; + /** This API call is used to create Ledger Accounts. It is only used if you are not using a Schema. Unlike other mutations that take a single IK, 'createLedgerAccount' accepts an IK for each of the ledger accounts in the request payload. This is so you can recover in the case of a partial failure. One API call can create up to 200 Ledger Accounts, up to 10 levels deep. */ + createLedgerAccounts: CreateLedgerAccountsResponse; + /** Delete Txs on a Custom Link. Once deleted, a Tx will not show up in listing queries, but can be resolved by if you lookup by its Fragment ID. */ + deleteCustomTxs: DeleteCustomTxsResponse; + /** + * Delete a Ledger. + * + * After using the deleteLedger mutation you can re-use the ik in a new ledger after a 30 second wait. + */ + deleteLedger: DeleteLedgerResponse; + /** Delete a Schema */ + deleteSchema: DeleteSchemaResponse; + /** + * Migrate an existing Ledger Entry to a new type and typeVersion. + * + * Migrating a Ledger Entry will do the following: + * 1. Reverse the existing Ledger Entry + * 2. Post a new Ledger Entry with the new type, typeVersion, and parameters provided + */ + migrateLedgerEntry: MigrateLedgerEntryResponse; + /** This mutation is used to [reconcile](https://fragment.dev/docs/reconcile-payments#reconcile-a-tx) transactions from an external system into a Ledger Entry. This mutation does not require an idempotency key since a transaction can only be reconciled once per Linked Ledger Account. If you are reconciling a transfer between two Link Accounts which are both linked to the same Ledger, use a transit account in between to split the transfer into two `reconcileTx` calls. */ + reconcileTx: ReconcileTxResponse; + /** Reverses a Ledger Entry */ + reverseLedgerEntry: ReverseLedgerEntryResponse; + /** + * Stores a Schema in your workspace. If no Schema with the same key exists in your worksapce, a new Schema is created. + * Else, the Schema is updated, and every Ledger associated with it is migrated to the latest version. + */ + storeSchema: StoreSchemaResponse; + /** Once you've created a [Custom Link](https://fragment.dev/docs/sync-payments#custom-link), create accounts under it using this mutation. Each Custom Account is an immutable, single-entry view of all the transactions in the external account. You can sync up to 100 Custom Accounts in one API call. */ + syncCustomAccounts: SyncCustomAccountsResponse; + /** You can create transactions under a Custom Account in a [Custom Link](https://fragment.dev/docs/sync-payments#custom-link) using this mutation. Once you've imported transactions, you can use the reconcileTx mutation to add them to a Ledger via the Linked Ledger Account. You can sync up to 100 Custom Transactions in one API call. */ + syncCustomTxs: SyncCustomTxsResponse; + /** Updates a Ledger. Currently, you can change only the Ledger 'name'. */ + updateLedger: UpdateLedgerResponse; + /** Updates a ledger account. Only supports name right now. */ + updateLedgerAccount: UpdateLedgerAccountResponse; + /** Update a ledger entry */ + updateLedgerEntry: UpdateLedgerEntryResponse; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationAddLedgerEntryArgs = { + entry: LedgerEntryInput; + ik: Scalars['SafeString']['input']; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationCreateCustomCurrencyArgs = { + customCurrency: CreateCustomCurrencyInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationCreateCustomLinkArgs = { + ik: Scalars['SafeString']['input']; + name: Scalars['String']['input']; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationCreateLedgerArgs = { + ik: Scalars['SafeString']['input']; + ledger: CreateLedgerInput; + schema?: InputMaybe; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationCreateLedgerAccountArgs = { + ik: Scalars['SafeString']['input']; + ledger: LedgerMatchInput; + ledgerAccount: CreateLedgerAccountInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationCreateLedgerAccountsArgs = { + ledger: LedgerMatchInput; + ledgerAccounts: Array; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationDeleteCustomTxsArgs = { + txs: Array; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationDeleteLedgerArgs = { + ledger: LedgerMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationDeleteSchemaArgs = { + schema: SchemaMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationMigrateLedgerEntryArgs = { + input: MigrateLedgerEntryInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationReconcileTxArgs = { + entry: LedgerEntryInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationReverseLedgerEntryArgs = { + id: Scalars['ID']['input']; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationStoreSchemaArgs = { + schema: SchemaInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationSyncCustomAccountsArgs = { + accounts: Array; + link: LinkMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationSyncCustomTxsArgs = { + link: LinkMatchInput; + txs: Array; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationUpdateLedgerArgs = { + ledger: LedgerMatchInput; + update: UpdateLedgerInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationUpdateLedgerAccountArgs = { + ledgerAccount: LedgerAccountMatchInput; + update: UpdateLedgerAccountInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-mutations) */ +export type MutationUpdateLedgerEntryArgs = { + ledgerEntry: LedgerEntryMatchInput; + update: UpdateLedgerEntryInput; +}; + +/** Equivalent to an HTTP 404 */ +export type NotFoundError = Error & { + __typename?: 'NotFoundError'; + /** The status code of error. For example, 'ledger_not_found'. */ + code: Scalars['String']['output']; + /** The error message */ + message: Scalars['String']['output']; + /** Whether or not the operation is retryable */ + retryable: Scalars['Boolean']['output']; +}; + +/** An object containing [pagination](https://fragment.dev/docs/query-data#basics-pagination) details. */ +export type PageInfo = { + __typename?: 'PageInfo'; + endCursor?: Maybe; + hasNextPage: Scalars['Boolean']['output']; + hasPreviousPage: Scalars['Boolean']['output']; + startCursor?: Maybe; +}; + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type Query = { + __typename?: 'Query'; + _empty?: Maybe; + /** Query Custom Currencies in the workspace */ + customCurrencies: CustomCurrenciesConnection; + /** Get External Account by Link and External ID or FRAGMENT ID. */ + externalAccount?: Maybe; + /** Get a Ledger by ID */ + ledger?: Maybe; + /** Get a Ledger Account by ID */ + ledgerAccount?: Maybe; + /** Get Ledger Entry by ID. */ + ledgerEntry?: Maybe; + /** Query a Ledger Entry Group given its Ledger, key, and value. */ + ledgerEntryGroup?: Maybe; + /** Get the reversal history of a Ledger Entry. */ + ledgerEntryHistory: LedgerEntriesConnection; + /** Get LedgerLine by ID */ + ledgerLine?: Maybe; + /** Query Ledgers in workspace. Ledgers are paginated and returned in reverse-chronological order by their created date. */ + ledgers: LedgersConnection; + /** Get a Link by ID. Returns a BadRequestError if the Link is not found. */ + link?: Maybe; + /** Get all links in a workspace */ + links: LinksConnection; + /** Get a Schema by key. */ + schema?: Maybe; + /** Retrieve all of the Schemas in the workspace. */ + schemas: SchemaConnection; + /** Get a Tx by ID */ + tx?: Maybe; + /** Get the current Workspace */ + workspace: Workspace; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryCustomCurrenciesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryExternalAccountArgs = { + externalAccount: ExternalAccountMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLedgerArgs = { + ledger: LedgerMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLedgerAccountArgs = { + ledgerAccount: LedgerAccountMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLedgerEntryArgs = { + ledgerEntry: LedgerEntryMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLedgerEntryGroupArgs = { + ledgerEntryGroup: LedgerEntryGroupMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLedgerEntryHistoryArgs = { + ledgerEntry: LedgerEntryMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLedgerLineArgs = { + ledgerLine: LedgerLineMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLedgersArgs = { + after?: InputMaybe; + before?: InputMaybe; + filter?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryLinkArgs = { + link: LinkMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QuerySchemaArgs = { + schema: SchemaMatchInput; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QuerySchemasArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** View the API guide [here](https://fragment.dev/api-reference/api-queries) */ +export type QueryTxArgs = { + tx: TxMatchInput; +}; + +/** The consistency configuration of a Ledger Account's balance queries. If not provided as an argument to a balance query, the default behavior is to read eventually consistent balances. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ +export enum ReadBalanceConsistencyMode { + /** Balance queries will read eventually consistent balances. This is the default behavior if `ReadBalanceConsistencyMode` is not provided as an argument to the balance field. Both Ledger Accounts configured with strongly and eventually consistent balance updates support this enum. */ + Eventual = 'eventual', + /** Balance queries will read strongly consistent balances. This is only allowed if the Ledger Account's `ownBalanceUpdates` in its `consistencyConfig` is `strong`. */ + Strong = 'strong', + /** Balance queries will use the value from the Ledger Account's `ownBalanceUpdates` in its `consistencyConfig`. */ + UseAccount = 'use_account' +} + +export type ReconcileTxResponse = BadRequestError | InternalError | ReconcileTxResult; + +export type ReconcileTxResult = { + __typename?: 'ReconcileTxResult'; + /** The ledger entry that was posted */ + entry: LedgerEntry; + /** True if this request successfully completed before and the previous response is being returned */ + isIkReplay: Scalars['Boolean']['output']; + /** The ledger lines that were created in that entry */ + lines: Array; +}; + +export type ReverseLedgerEntryResponse = BadRequestError | InternalError | ReverseLedgerEntryResult; + +export type ReverseLedgerEntryResult = { + __typename?: 'ReverseLedgerEntryResult'; + /** Whether the reversal was an IK replay */ + isIkReplay: Scalars['Boolean']['output']; + /** The Ledger Entry that was reversed */ + reversedLedgerEntry: LedgerEntry; + /** The reversal Ledger Entry that was created */ + reversingLedgerEntry: LedgerEntry; +}; + +/** A simulated Ledger Entry posted as a part of a Scene. */ +export type SceneEntryInput = { + /** Any parameters to be used as inputs to this simulated Ledger Entry. */ + parameters?: InputMaybe; + /** The type of the simulated Ledger Entry. Must match one of the types provided in schema.ledgerEntries.types. */ + type: Scalars['SafeString']['input']; + /** The version of the Ledger Entry type. */ + typeVersion?: InputMaybe; +}; + +export type SceneEventInput = { + /** The simulated Ledger Entry. */ + entry: SceneEntryInput; + /** The type of the Scene Event. Currently, only entries are supported. */ + eventType: SceneEventType; +}; + +export enum SceneEventType { + Entry = 'entry' +} + +export type SceneInput = { + /** A list of simulated ledger entries that make up the Scene. */ + events: Array; + /** The human-readable name of the Scene. */ + name: Scalars['String']['input']; +}; + +export type Schema = { + __typename?: 'Schema'; + /** + * The identifier for a Schema. + * `key` is unique to a Workspace. + */ + key: Scalars['SafeString']['output']; + /** The paginated list of ledgers the Schema has been applied to. */ + ledgers: LedgersConnection; + /** The name of a Schema. It defaults to the `key` if not provided in your SchemaInput. */ + name: Scalars['String']['output']; + /** The metadata for a specific SchemaVersion. */ + version: SchemaVersion; + /** A paginated list of SchemaVersions. */ + versions: SchemaVersionConnection; +}; + + +export type SchemaLedgersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +export type SchemaVersionArgs = { + version?: InputMaybe; +}; + + +export type SchemaVersionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** + * A condition that must be met on a Ledger Account balance. The condition can be + * either a `precondition` or `postcondition`. + */ +export type SchemaConditionInput = { + /** A condition on the `ownBalance` of the Ledger Account. */ + ownBalance?: InputMaybe; +}; + +/** A paginated list of Schemas in a Workspace. */ +export type SchemaConnection = { + __typename?: 'SchemaConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +/** + * The consistency configuration for entities created within Ledgers created by this Schema. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ +export type SchemaConsistencyConfigInput = { + /** + * The consistency mode for the Ledger Entries list query within Ledgers created by this Schema. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ + entries?: InputMaybe; +}; + +/** + * The consistency modes available for entities created within this Schema. + * + * See [Configure consistency](https://fragment.dev/docs/configure-consistency). + */ +export enum SchemaConsistencyMode { + /** Eventually consistent entity updates */ + Eventual = 'eventual', + /** Strongly consistent entity updates */ + Strong = 'strong' +} + +/** + * Matches a Currency. Can be a built-in [CurrencyCode](https://fragment.dev/api-reference/api-types#scalars-and-enums-currencycode), custom Currency, or a parameterized string. + * If you supply a parameterized string, you must pass in a valid CurrencyCode as a parameter when posting a Ledger Entry. + */ +export type SchemaCurrencyMatchInput = { + /** The currency code. This must either be a [CurrencyCode](https://fragment.dev/api-reference/api-types#scalars-and-enums-currencycode) or a parameterized string that resolves to a CurrencyCode . */ + code: Scalars['ParameterizedString']['input']; + /** The ID for a custom currency. This is specified when creating the custom currency using the [createCustomCurrency](https://fragment.dev/api-reference/api-mutations#createcustomcurrency) mutation. */ + customCurrencyId?: InputMaybe; +}; + +export type SchemaExternalAccountMatchInput = { + /** The External systems's ID of the account */ + externalId?: InputMaybe; + /** The FRAGMENT ID of the external account */ + id?: InputMaybe; + /** The FRAGMENT ID of the link */ + linkId?: InputMaybe; + /** The type of Link this external account belongs to. Must be one of: IncreaseLink, UnitLink, CustomLink, or StripeLink. */ + linkType?: InputMaybe; +}; + +/** Input to the API for creating a Schema. */ +export type SchemaInput = { + /** The Chart of Accounts for the Schema. */ + chartOfAccounts: ChartOfAccountsInput; + /** The consistency configuration for this Schema. */ + consistencyConfig?: InputMaybe; + /** Any groups associated with this Schema. */ + groups?: InputMaybe>; + /** The key of the Schema. This is a stable, unique identifier for the Schema. Uniqueness is enforced at the Workspace level. */ + key: Scalars['SafeString']['input']; + /** The Ledger Entries to add to the Schema. */ + ledgerEntries?: InputMaybe; + /** The human-readable name of the Schema. */ + name?: InputMaybe; + /** Any scenes associated with this Schema. */ + scenes?: InputMaybe>; +}; + +/** A condition that must be met on a field. */ +export type SchemaInt96ConditionInput = { + /** Amount must be exactly equal to this value. You may not specify this alongside `gte` or `lte`. */ + eq?: InputMaybe; + /** Amount must be greater than or equal to this value. */ + gte?: InputMaybe; + /** Amount must be less than or equal to this value. */ + lte?: InputMaybe; +}; + +/** + * Models a Ledger Account in a Schema. + * Upon successfully storing a [Schema](https://fragment.dev/api-reference/api-types#core-types-schema), a [LedgerAccount](https://fragment.dev/api-reference/api-types#core-types-ledgeraccount) will be created for + * each corresponding non-templated `SchemaLedgerAccountInput` in your Chart of Accounts. + */ +export type SchemaLedgerAccountInput = { + /** Ledger Accounts to create as children of this Ledger Account. Ledger Accounts may be nested up to a maximum depth of 10. */ + children?: InputMaybe>; + /** + * EXPERIMENTAL: Whether or not this Ledger Account is a Clearing Account. + * Clearing Accounts have balances that should tend to zero. They are used to track in-progress workflows and payments. + */ + clearing?: InputMaybe; + /** The consistency configuration for this ledger account. See [Configure consistency](https://fragment.dev/docs/configure-consistency). */ + consistencyConfig?: InputMaybe; + /** + * The currency of this Ledger Account. If this is not set, and `currencyMode` is + * not set to `multi`, it is derived from the Chart of Accounts' default. + */ + currency?: InputMaybe; + /** If set to `multi`, creates a multi-currency Ledger Account. If set to `single`, creates a single-currency Ledger Account. */ + currencyMode?: InputMaybe; + /** + * The key of this Ledger Account. Keys are used to formulate the unique path of the Ledger Account in your Chart of Accounts. + * Siblings must have unique keys. + */ + key: Scalars['SafeString']['input']; + /** + * The External Account to link to this Ledger Account. + * It must be provided of `linked` is true. + */ + linkedAccount?: InputMaybe; + /** The human-readable name of this Ledger Account. */ + name?: InputMaybe; + /** The status of this Ledger Account. Defaults to active. */ + status?: InputMaybe; + /** Whether or not this Ledger Account should be templated. */ + template?: InputMaybe; + /** The type of ledger account to create. Required if this is a top-level Ledger Account. If not provided, the type will be inferred from the parent. */ + type?: InputMaybe; +}; + +/** Matches a Ledger Account in a Schema. */ +export type SchemaLedgerAccountMatchInput = { + /** + * The unique path of the Ledger Account in the Schema. + * This is a slash-delimited string containing the keys of a Ledger Account and all its direct ancestors. + * ex: expense-root/subscriptions/netflix + * For Templated Ledger Accounts, you must supply a parameter in the path that will be used to name an instance of the template. + * ex: `"expense-root/subscriptions/vendor:{{vendor_name}}"` + */ + path: Scalars['ParameterizedString']['input']; +}; + +/** The status of a Ledger Account. */ +export enum SchemaLedgerAccountStatus { + /** The Ledger Account is active. */ + Active = 'active', + /** The Ledger Account is archived. */ + Archived = 'archived', + /** The Ledger Account is disabled. */ + Disabled = 'disabled' +} + +/** The Ledger Entries in your Schema. */ +export type SchemaLedgerEntriesInput = { + /** A list of Ledger Entry definitions. */ + types: Array; +}; + +/** A condition that must be met on a Ledger Account when a Ledger Entry is posted. */ +export type SchemaLedgerEntryConditionInput = { + /** The Ledger Account to apply the condition to. */ + account: SchemaLedgerAccountMatchInput; + /** + * The currency of the balance to apply the condition to. Required if the Ledger Account matched is a multi-currency Ledger Account. + * Otherwise, this field is defaults to the Ledger Account's currency. + */ + currency?: InputMaybe; + /** A `postcondition` must be met after the Ledger Entry updates are applied. */ + postcondition?: InputMaybe; + /** A `precondition` must be met before any Ledger Entry updates are applied. */ + precondition?: InputMaybe; +}; + +/** A Ledger Entry Group associated with a Ledger Entry type. */ +export type SchemaLedgerEntryGroupInput = { + /** The key for this Ledger Entry Group. */ + key: Scalars['SafeString']['input']; + /** The value associated with this Ledger Entry Group. */ + value: Scalars['ParameterizedString']['input']; +}; + +/** A Ledger Entry in a Schema. All Ledger Entries defined in a Schema must have a unique `type`. */ +export type SchemaLedgerEntryInput = { + /** Conditions that must be satisfied to post this Ledger Entry. The Ledger Entry will reject with a BadRequestError if any condition is not met. You can only add a condition on a Ledger Account containing a Line in this Ledger Entry. */ + conditions?: InputMaybe>; + /** Human-readable description of the Ledger Entry. */ + description?: InputMaybe; + /** Ledger Entries posted with this type will be in these Ledger Entry Groups. */ + groups?: InputMaybe>; + /** + * The Ledger Lines in the Ledger Entry. + * If provided, when posting a Typed Entry, a [LedgerEntry](https://fragment.dev/api-reference/api-types#core-types-ledgerline) will be posted containing [LedgerLines](https://fragment.dev/api-reference/api-types#core-types-ledgerline) corresponding + * to the values you provide here. If your lines contain parameters, you must supply values for those parameters that balance out the Ledger Entry. If not provided, lines will be required when posting a Typed Entry. + */ + lines?: InputMaybe>; + /** Fixed partial set of parameters to be included in a templated Ledger Entry. */ + parameters?: InputMaybe; + /** The status of this Ledger Entry. Defaults to active. */ + status?: InputMaybe; + /** Ledger Entries posted with this type will be associated with these tags. */ + tags?: InputMaybe>; + /** + * The type of this Ledger Entry. This is a stable, unique identifier for this entry. Uniqueness is enforced at the Schema level. + * You can filter on this field when querying for Ledger Entries. See the docs on [LedgerEntryFilterSet](https://fragment.dev/api-reference/api-types#filter-types-ledgerentriesfilterset) + */ + type: Scalars['SafeString']['input']; + /** The version of the Ledger Entry type. */ + typeVersion?: InputMaybe; +}; + +/** The status of a Ledger Entry. */ +export enum SchemaLedgerEntryStatus { + /** The Ledger Entry is active. */ + Active = 'active', + /** The Ledger Entry is archived. */ + Archived = 'archived', + /** The Ledger Entry is disabled. */ + Disabled = 'disabled' +} + +/** A tag associated with a Ledger Entry type. */ +export type SchemaLedgerEntryTagInput = { + /** The key for this tag. */ + key: Scalars['SafeString']['input']; + /** The value associated with the given key for this tag. */ + value: Scalars['ParameterizedString']['input']; +}; + +/** A Ledger Line in a Ledger Entry. */ +export type SchemaLedgerLineInput = { + /** + * The Ledger Account this Ledger Line will be posted to. + * It supports parameters in its attributes via handlebars syntax. + */ + account: SchemaLedgerAccountMatchInput; + /** The amount of the Ledger Line. It supports parameters via the handlebars syntax and addition (+) and subtraction (-). */ + amount?: InputMaybe; + /** + * The currency of the Ledger Line. This is required if the Ledger Account has currencyMode multi. + * It supports parameters in its attributes via handlebars syntax. + */ + currency?: InputMaybe; + /** Human-readable description of the line. */ + description?: InputMaybe; + /** The key for the Ledger Line. Ledger Line keys must be unique within a Ledger Entry. Key can be filtered on as part of the LedgerLinesFilterSet. */ + key: Scalars['SafeString']['input']; + /** + * The external transaction to reconcile. + * This field is required if the Ledger Account being posted to is a Linked Ledger Account. Otherwise, this field is disallowed. + * It supports parameters in its attributes via handlebars syntax. + * + * See the docs on [reconciling payments](https://fragment.dev/docs/reconcile-payments). + */ + tx?: InputMaybe; +}; + +/** An object used to retrieve a Schema. */ +export type SchemaMatchInput = { + /** + * The key to retrieve a Schema by. + * `key` is unique to a Workspace. + */ + key: Scalars['SafeString']['input']; + /** Optional parameter to specify version of requested Schema. If not provided, it defaults to 0, representing the latest available version for the provided Schema key. */ + version?: InputMaybe; +}; + +/** + * Matches a transaction at an external system. + * This is used to specify the transaction being reconciled into a Linked Ledger Account + */ +export type SchemaTxMatchInput = { + /** The external system's ID for the transaction. */ + externalId?: InputMaybe; + /** The FRAGMENT ID for the transaction. */ + id?: InputMaybe; +}; + +/** + * An instance of a Schema stored in a Workspace. + * A new SchemaVersion is created each time a Schema is stored. + * It stores the Chart of Accounts and list of Ledger Entries as well as a history of its Ledger migrations. + */ +export type SchemaVersion = { + __typename?: 'SchemaVersion'; + created: Scalars['DateTime']['output']; + json: Scalars['JSON']['output']; + migrations: LedgerMigrationConnection; + /** The version of the schema. */ + version: Scalars['Int']['output']; +}; + +/** A paginated list of SchemaVersions for a given Schema. */ +export type SchemaVersionConnection = { + __typename?: 'SchemaVersionConnection'; + /** The current page of results */ + nodes: Array; + /** Pagination info for this list. */ + pageInfo: PageInfo; +}; + +/** Returned by the [storeSchema](https://fragment.dev/api-reference/api-mutations#storeschema) mutation. */ +export type StoreSchemaResponse = BadRequestError | InternalError | StoreSchemaResult; + +/** `StoreSchemaResult` represents a successful execution of `storeSchema`. */ +export type StoreSchemaResult = { + __typename?: 'StoreSchemaResult'; + /** The Schema that was stored as a result of calling `storeSchema`. */ + schema: Schema; +}; + +export type StringFilter = { + equalTo?: InputMaybe; + /** Must match one of the values provided. Limited to 100 items maximum. */ + in?: InputMaybe>; + /** Must not equal this string value */ + notEqualTo?: InputMaybe; + /** Must not match any of the values provided. Limited to 100 items maximum. */ + notIn?: InputMaybe>; +}; + +export type StringMatchFilter = { + /** Must contain the provided pattern somewhere within the string. For example, 'contains: hat' will match 'hat', 'chat', and 'hate'. */ + contains?: InputMaybe; + /** Must exactly equal the provided value */ + equalTo?: InputMaybe; + /** Must exactly equal one of the provided values. Limited to 100 items maximum. */ + in?: InputMaybe>; + /** Must match the provided pattern. Wildcards ("*") will match any substring */ + matches?: InputMaybe; +}; + +export enum StripeEnv { + Livemode = 'livemode', + Testmode = 'testmode' +} + +export type StripeLink = Link & { + __typename?: 'StripeLink'; + /** ISO-8601 timestamp when the Link was created. */ + created: Scalars['String']['output']; + /** URL to the Fragment Dashboard for this Link. */ + dashboardUrl: Scalars['String']['output']; + /** A list of External Accounts associated with this Link. */ + externalAccounts: ExternalAccountsConnection; + /** FRAGMENT ID of the Custom Link. */ + id: Scalars['ID']['output']; + /** Name of the Link as it appears in the Fragment Dashboard. */ + name: Scalars['String']['output']; + /** The environment of the Stripe Link, either testmode or livemode. */ + stripeEnv: StripeEnv; +}; + +export type SyncCustomAccountsResponse = BadRequestError | InternalError | SyncCustomAccountsResult; + +export type SyncCustomAccountsResult = { + __typename?: 'SyncCustomAccountsResult'; + /** The external accounts that were synced. */ + accounts: Array; +}; + +export type SyncCustomTxsResponse = BadRequestError | InternalError | SyncCustomTxsResult; + +export type SyncCustomTxsResult = { + __typename?: 'SyncCustomTxsResult'; + txs: Array; +}; + +/** Filters a result set based on the tags it contains. */ +export type TagFilter = { + /** Matches tag values based on the existence of the provided string within the tag value. The key is matched exactly. */ + contains?: InputMaybe; + /** Matches tags based on the exact value provided. The key and value are both matched exactly. */ + equalTo?: InputMaybe; + /** Matches tags based on a list of possible tag matches. The key and value are both matched exactly. Limited to 100 items maximum. */ + in?: InputMaybe>; + /** Matches tags where the key exactly equals the provided value. */ + keyEqualTo?: InputMaybe; + /** Matches tags where the key matches any of the provided values. Limited to 100 items maximum. */ + keyIn?: InputMaybe>; + /** Matches tags that do not equal the provided value. The key and value are both matched exactly. */ + notEqualTo?: InputMaybe; + /** Matches tags that do not match any of the provided values. The key and value are both matched exactly. Limited to 100 items maximum. */ + notIn?: InputMaybe>; + /** Matches tags where the key does not equal the provided value. */ + notKeyEqualTo?: InputMaybe; + /** Matches tags where the key does not match any of the provided values. Limited to 100 items maximum. */ + notKeyIn?: InputMaybe>; +}; + +/** Specifies a single tag that an entity is expected to have. You must specify both the key and the value. */ +export type TagMatchInput = { + /** The key of this tag. */ + key: Scalars['SafeString']['input']; + /** The value associated with this tag's key. */ + value: Scalars['SafeString']['input']; +}; + +export type Tx = { + __typename?: 'Tx'; + /** FRAGMENT ID of this transaction's external account */ + accountId: Scalars['ID']['output']; + /** Integer amount in cents. Positive indicates money entering the external account, negative indicates money leaving */ + amount: Scalars['Int96']['output']; + /** Currency of this Tx */ + currency?: Maybe; + /** Date this Tx posted to the external account */ + date: Scalars['Date']['output']; + /** ISO-8601 timestamp when this Tx was deleted */ + deletedAt?: Maybe; + /** Description at the external account */ + description: Scalars['String']['output']; + /** The External Account that this transaction belongs to. */ + externalAccount: ExternalAccount; + /** ID in the external system of this transaction's external account */ + externalAccountId: Scalars['ID']['output']; + /** ID of this transaction in the external system */ + externalId: Scalars['ID']['output']; + /** FRAGMENT ID of this Tx. If you delete a Tx via deleteCustomTxs, it will not show up in listing queries, but can be resolved by if you lookup by its Fragment ID. If you resync a Tx with the same externalId, its Fragment ID will be different than the previous Tx. */ + id: Scalars['ID']['output']; + /** Whether this Tx has been deleted via deleteCustomTxs */ + isDeleted: Scalars['Boolean']['output']; + /** Returns ledger entries that are linked to this transaction. You can link the same external account to multiple ledgers, so there could be multiple entries associated with one transaction - one for each linked ledger account this transaction has been reconciled with */ + ledgerEntries: LedgerEntriesConnection; + /** Same as ledgerEntries, but returns an array of IDs instead */ + ledgerEntryIds?: Maybe>; + /** Same as ledgerLines, but returns an array of IDs instead */ + ledgerLineIds?: Maybe>; + /** Returns ledger lines that are linked to this transaction. You can link the same external account to multiple ledgers, so there could be multipe lines associated with one transaction - one for each linked ledger account this transaction has been reconciled with */ + ledgerLines: LedgerLinesConnection; + /** This transaction's Link. */ + link: Link; + /** FRAGMENT ID of this transaction's Link */ + linkId: Scalars['ID']['output']; + /** ISO-8601 timestamp when this Tx posted to the external account */ + posted: Scalars['DateTime']['output']; + /** When a Tx is deleted and a new Tx is synced with the same externalId, its sequence will be higher than the previous Tx. You can use this to distinguish different instances of Txs that have the same externalId. */ + sequence: Scalars['Int']['output']; + /** @deprecated Callers should not need to query or store this value. */ + workspaceId: Scalars['ID']['output']; +}; + +/** Specify a Tx by using `id` or `externalId`, the Link it belongs to by `linkId`, and the External Account it is a part of by `accountId` or `externalAccountId`. */ +export type TxMatchInput = { + /** The FRAGMENT ID of the external account */ + accountId?: InputMaybe; + /** The external system's ID for the account */ + externalAccountId?: InputMaybe; + /** The external system's ID for the transaction */ + externalId?: InputMaybe; + /** The FRAGMENT ID of the transaction */ + id?: InputMaybe; + /** The FRAGMENT ID of the link */ + linkId?: InputMaybe; +}; + +export enum TxType { + Credit = 'credit', + Debit = 'debit' +} + +export type TxTypeFilter = { + equalTo?: InputMaybe; + /** Must match one of the values provided. Limited to 100 items maximum. */ + in?: InputMaybe>; +}; + +/** A paginated list of Txs */ +export type TxsConnection = { + __typename?: 'TxsConnection'; + /** The current page of results */ + nodes: Array; + /** The [pagination info](https://fragment.dev/api-reference/api-types#connection-types-pageinfo) for this list */ + pageInfo: PageInfo; +}; + +export enum UnitEnv { + Production = 'production', + Sandbox = 'sandbox' +} + +export type UnitLink = Link & { + __typename?: 'UnitLink'; + /** ISO-8601 timestamp when the Link was created. */ + created: Scalars['String']['output']; + /** URL to the Fragment Dashboard for this Link. */ + dashboardUrl: Scalars['String']['output']; + /** A list of External Accounts associated with this Link. */ + externalAccounts: ExternalAccountsConnection; + /** FRAGMENT ID of the Unit Link. */ + id: Scalars['ID']['output']; + /** Name of the Link as it appears in the Dashboard. */ + name: Scalars['String']['output']; + /** The environment of the Unit Link, either sandbox or production. */ + unitEnv: UnitEnv; +}; + +export type UpdateLedgerAccountInput = { + /** The consistency configuration for this ledger account. This defines how updates to this ledger account's balance are handled. */ + consistencyConfig?: InputMaybe; + /** The name to update the ledger account to */ + name?: InputMaybe; +}; + +export type UpdateLedgerAccountResponse = BadRequestError | InternalError | UpdateLedgerAccountResult; + +export type UpdateLedgerAccountResult = { + __typename?: 'UpdateLedgerAccountResult'; + /** The ledger account that was updated */ + ledgerAccount: LedgerAccount; +}; + +export type UpdateLedgerEntryInput = { + /** The list of Groups to add to this Ledger Entry. */ + groups?: InputMaybe>; + /** The list of Tags to add and/or update on this Ledger Entry. */ + tags?: InputMaybe>; + /** The list of Tags to remove from this Ledger Entry. */ + tagsToRemove?: InputMaybe>; +}; + +export type UpdateLedgerEntryResponse = BadRequestError | InternalError | UpdateLedgerEntryResult; + +export type UpdateLedgerEntryResult = { + __typename?: 'UpdateLedgerEntryResult'; + /** The Ledger Entry that was updated. */ + entry: LedgerEntry; +}; + +export type UpdateLedgerInput = { + /** The new Ledger name. */ + name?: InputMaybe; +}; + +export type UpdateLedgerResponse = BadRequestError | InternalError | UpdateLedgerResult; + +export type UpdateLedgerResult = { + __typename?: 'UpdateLedgerResult'; + /** The updated Ledger. */ + ledger: Ledger; +}; + +export type Workspace = { + __typename?: 'Workspace'; + /** The ID of the Workspace */ + id: Scalars['String']['output']; + /** The name of the Workspace */ + name: Scalars['String']['output']; +}; + +export type PostUserFundsAccountMutationVariables = Exact<{ + ik: Scalars['SafeString']['input']; + posted?: InputMaybe; + ledgerIk: Scalars['SafeString']['input']; + amount: Scalars['String']['input']; +}>; + + +export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; + +export type PostFundingSettlementMutationVariables = Exact<{ + ik: Scalars['SafeString']['input']; + posted?: InputMaybe; + ledgerIk: Scalars['SafeString']['input']; + amount: Scalars['String']['input']; +}>; + + +export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; + +export type PostPaymentProcessingMutationVariables = Exact<{ + ik: Scalars['SafeString']['input']; + posted?: InputMaybe; + ledgerIk: Scalars['SafeString']['input']; + amount: Scalars['String']['input']; +}>; + + +export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; + + +export const PostUserFundsAccountDocument = gql` + mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} + `; +export const PostFundingSettlementDocument = gql` + mutation PostFundingSettlement($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "fundingSettlement", posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} + `; +export const PostPaymentProcessingDocument = gql` + mutation PostPaymentProcessing($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "payment_processing", posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} + `; + +export type SdkFunctionWrapper = (action: (requestHeaders?:Record) => Promise, operationName: string, operationType?: string, variables?: any) => Promise; + + +const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) => action(); + +export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) { + return { + PostUserFundsAccount(variables: PostUserFundsAccountMutationVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise { + return withWrapper((wrappedRequestHeaders) => client.request(PostUserFundsAccountDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'PostUserFundsAccount', 'mutation', variables); + }, + PostFundingSettlement(variables: PostFundingSettlementMutationVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise { + return withWrapper((wrappedRequestHeaders) => client.request(PostFundingSettlementDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'PostFundingSettlement', 'mutation', variables); + }, + PostPaymentProcessing(variables: PostPaymentProcessingMutationVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise { + return withWrapper((wrappedRequestHeaders) => client.request(PostPaymentProcessingDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'PostPaymentProcessing', 'mutation', variables); + } + }; +} +export type Sdk = ReturnType; \ No newline at end of file diff --git a/tests/fixtures/test-schema-queries.graphql b/tests/fixtures/test-schema-queries.graphql new file mode 100644 index 0000000..7e1ed9c --- /dev/null +++ b/tests/fixtures/test-schema-queries.graphql @@ -0,0 +1,153 @@ +mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} +mutation PostFundingSettlement($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "fundingSettlement", posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} +mutation PostPaymentProcessing($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "payment_processing", posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} diff --git a/tests/fixtures/test-schema.json b/tests/fixtures/test-schema.json new file mode 100644 index 0000000..99c631a --- /dev/null +++ b/tests/fixtures/test-schema.json @@ -0,0 +1,100 @@ +{ + "key": "test-schema", + "chartOfAccounts": { + "defaultCurrencyMode": "multi", + "accounts": [ + { + "key": "asset-root", + "name": "Asset Root", + "type": "asset", + "children": [] + }, + { + "key": "liability-root", + "name": "Liability Root", + "type": "liability", + "children": [] + } + ] + }, + "ledgerEntries": { + "types": [ + { + "type": "user-funds-account", + "lines": [ + { + "key": "asset-line", + "account": { + "path": "asset-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + }, + { + "key": "liability-line", + "account": { + "path": "liability-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + } + ] + }, + { + "type": "fundingSettlement", + "lines": [ + { + "key": "asset-line", + "account": { + "path": "asset-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + }, + { + "key": "liability-line", + "account": { + "path": "liability-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + } + ] + }, + { + "type": "payment_processing", + "lines": [ + { + "key": "asset-line", + "account": { + "path": "asset-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + }, + { + "key": "liability-line", + "account": { + "path": "liability-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + } + ] + } + ] + } +} + diff --git a/tests/generated-sdk.test.ts b/tests/generated-sdk.test.ts new file mode 100644 index 0000000..a6026e2 --- /dev/null +++ b/tests/generated-sdk.test.ts @@ -0,0 +1,304 @@ +import { expect, test } from "vitest"; + +import { v4 as uuidv4 } from "uuid"; +import { createFragmentClient } from "../src/client.js"; +import { + CurrencyCode, + CurrencyMode, + LedgerAccountTypes, +} from "../generated/generated.js"; +import { getSdk } from "./fixtures/generated-test-client.js"; + +const clientId = process.env.CLIENT_ID; +const clientSecret = process.env.CLIENT_SECRET; +const scope = process.env.SCOPE; +const authUrl = process.env.AUTH_URL; +const apiUrl = process.env.API_URL; + +const getClient = async () => { + if (!clientId || !clientSecret || !scope || !authUrl || !apiUrl) { + throw new Error( + "Please provide CLIENT_ID, CLIENT_SECRET, SCOPE, AUTH_URL, and API_URL as environment variables" + ); + } + return createFragmentClient({ + params: { + clientId, + clientSecret, + scope, + authUrl, + apiUrl, + }, + getSdk, + }); +}; + +test("PostUserFundsAccount method from generated SDK", async () => { + const client = await getClient(); + + // Create schema matching the test schema + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "user-funds-account", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + // Use the generated PostUserFundsAccount method directly + const entryIk = uuidv4(); + const result = await client.PostUserFundsAccount({ + ik: entryIk, + ledgerIk, + amount: "200", + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if (result.addLedgerEntry.__typename === "AddLedgerEntryResult") { + expect(result.addLedgerEntry.entry.type).toEqual("user-funds-account"); + } + + const getEntryResponse = await client.getLedgerEntry({ + ik: entryIk, + ledgerIk, + }); + + expect(getEntryResponse.ledgerEntry).toBeDefined(); +}); + +test("PostFundingSettlement method from generated SDK", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "fundingSettlement", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + // Use the generated PostFundingSettlement method directly + const entryIk = uuidv4(); + const result = await client.PostFundingSettlement({ + ik: entryIk, + ledgerIk, + amount: "300", + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if (result.addLedgerEntry.__typename === "AddLedgerEntryResult") { + expect(result.addLedgerEntry.entry.type).toEqual("fundingSettlement"); + } +}); + +test("PostPaymentProcessing method from generated SDK", async () => { + const client = await getClient(); + + const schemaKey = uuidv4(); + const storeSchemaResponse = await client.storeSchema({ + schema: { + key: schemaKey, + chartOfAccounts: { + defaultCurrencyMode: CurrencyMode.Multi, + accounts: [ + { + key: "asset-root", + name: "Asset Root", + type: LedgerAccountTypes.Asset, + children: [], + }, + { + key: "liability-root", + name: "Liability Root", + type: LedgerAccountTypes.Liability, + children: [], + }, + ], + }, + ledgerEntries: { + types: [ + { + type: "payment_processing", + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + ], + }, + }, + }); + + expect(storeSchemaResponse.storeSchema.__typename).toEqual( + "StoreSchemaResult" + ); + + const ledgerIk = uuidv4(); + const createLedgerResponse = await client.createLedger({ + ik: ledgerIk, + ledger: { + name: "Test SDK Ledger", + }, + schemaKey, + }); + + expect(createLedgerResponse.createLedger.__typename).toEqual( + "CreateLedgerResult" + ); + + // Use the generated PostPaymentProcessing method directly + const entryIk = uuidv4(); + const result = await client.PostPaymentProcessing({ + ik: entryIk, + ledgerIk, + amount: "400", + }); + + expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if (result.addLedgerEntry.__typename === "AddLedgerEntryResult") { + expect(result.addLedgerEntry.entry.type).toEqual("payment_processing"); + } +}); + From db6230f79a6d2be46491c347d302d4e3aad6eed8 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:15:45 -0500 Subject: [PATCH 09/19] Install Fragment CLI via Homebrew in CI - Install Homebrew on Ubuntu runner - Install Fragment CLI from fragment-dev/tap - Use full path to fragment command in verification step --- .github/workflows/tests.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5e2f9d6..afb7a93 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -45,6 +45,13 @@ jobs: max_attempts: 2 command: yarn + - name: Install Fragment CLI + run: | + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + echo "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" >> $GITHUB_ENV + /home/linuxbrew/.linuxbrew/bin/brew tap fragment-dev/tap + /home/linuxbrew/.linuxbrew/bin/brew install fragment-dev/tap/fragment-cli + - name: Typecheck run: yarn typecheck From d77466f41a120d18bdf071e874a34ae1119cc5d8 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:15:49 -0500 Subject: [PATCH 10/19] Use full path to fragment command in verification step --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index afb7a93..445946b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -66,7 +66,7 @@ jobs: - name: Verify test schema generated files are up-to-date run: | - fragment gen-graphql --path tests/fixtures/test-schema.json --output tests/fixtures/test-schema-queries.graphql + /home/linuxbrew/.linuxbrew/bin/fragment gen-graphql --path tests/fixtures/test-schema.json --output tests/fixtures/test-schema-queries.graphql yarn fragment-node-client-codegen -i tests/fixtures/test-schema-queries.graphql -o tests/fixtures/generated-test-client.ts git diff --exit-code tests/fixtures/test-schema-queries.graphql tests/fixtures/generated-test-client.ts exit $? From 89af2218261050d13e2e527e25c34fb1cb396026 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:17:07 -0500 Subject: [PATCH 11/19] Add caching for Homebrew and Fragment CLI - Cache Homebrew installation directory and cache - Only install Homebrew if not cached - Check if Fragment CLI is installed before installing - Set up brew shellenv properly for cached installations --- .github/workflows/tests.yml | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 445946b..cc03684 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -45,12 +45,28 @@ jobs: max_attempts: 2 command: yarn + - name: Cache Homebrew + id: cache-homebrew + uses: actions/cache@v4 + with: + path: | + /home/linuxbrew/.linuxbrew + ~/.cache/Homebrew + key: ${{ runner.os }}-homebrew-fragment-cli + restore-keys: | + ${{ runner.os }}-homebrew- + - name: Install Fragment CLI run: | - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + if [ ! -d "/home/linuxbrew/.linuxbrew" ]; then + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + fi echo "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" >> $GITHUB_ENV - /home/linuxbrew/.linuxbrew/bin/brew tap fragment-dev/tap - /home/linuxbrew/.linuxbrew/bin/brew install fragment-dev/tap/fragment-cli + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + /home/linuxbrew/.linuxbrew/bin/brew tap fragment-dev/tap || true + if ! /home/linuxbrew/.linuxbrew/bin/brew list fragment-dev/tap/fragment-cli &>/dev/null; then + /home/linuxbrew/.linuxbrew/bin/brew install fragment-dev/tap/fragment-cli + fi - name: Typecheck run: yarn typecheck From f310b56ebab3d47bc52c61b983c1d410a9fdfdf2 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:29:04 -0500 Subject: [PATCH 12/19] Remove sentence about methods availability from README --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index efbf01f..4cef6ff 100644 --- a/README.md +++ b/README.md @@ -100,8 +100,6 @@ The SDK handles different naming conventions: - CamelCase: `fundingSettlement` → `PostFundingSettlement` - Underscore: `payment_processing` → `PostPaymentProcessing` -These methods are only available when the entry type has lines defined in the schema. If the methods don't exist, you can still use `addLedgerEntry` with the entry type name. - ### Sync transactions To sync transaction using a [Custom Link](https://fragment.dev/docs#reconcile-transactions-link-any-system): From 8298a815f9d2cd9540806212daa2729bca6f6970 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:40:13 -0500 Subject: [PATCH 13/19] Add typeVersion support to test schema and tests - Update test schema to include user-funds-account with typeVersion 1 and 2 - Regenerate GraphQL queries and SDK (includes PostUserFundsAccount_v2) - Add typeVersion to GraphQL query response fields - Update test to verify both version 1 and version 2 entries can be posted - Test verifies typeVersion in response matches expected version --- tests/fixtures/generated-test-client.ts | 78 ++++++++++++++++++++-- tests/fixtures/test-schema-queries.graphql | 57 +++++++++++++++- tests/fixtures/test-schema.json | 27 ++++++++ tests/generated-sdk.test.ts | 72 ++++++++++++++++---- 4 files changed, 217 insertions(+), 17 deletions(-) diff --git a/tests/fixtures/generated-test-client.ts b/tests/fixtures/generated-test-client.ts index 3af2347..b631839 100644 --- a/tests/fixtures/generated-test-client.ts +++ b/tests/fixtures/generated-test-client.ts @@ -3092,7 +3092,17 @@ export type PostUserFundsAccountMutationVariables = Exact<{ }>; -export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; + +export type PostUserFundsAccount_V2MutationVariables = Exact<{ + ik: Scalars['SafeString']['input']; + posted?: InputMaybe; + ledgerIk: Scalars['SafeString']['input']; + amount: Scalars['String']['input']; +}>; + + +export type PostUserFundsAccount_V2Mutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostFundingSettlementMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3102,7 +3112,7 @@ export type PostFundingSettlementMutationVariables = Exact<{ }>; -export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostPaymentProcessingMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3112,14 +3122,14 @@ export type PostPaymentProcessingMutationVariables = Exact<{ }>; -export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export const PostUserFundsAccountDocument = gql` mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { addLedgerEntry( ik: $ik - entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", posted: $posted, parameters: {amount: $amount}} + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 1, posted: $posted, parameters: {amount: $amount}} ) { __typename ... on AddLedgerEntryResult { @@ -3128,6 +3138,61 @@ export const PostUserFundsAccountDocument = gql` id created type + typeVersion + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} + `; +export const PostUserFundsAccount_V2Document = gql` + mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 2, posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + typeVersion posted description ledger { @@ -3181,6 +3246,7 @@ export const PostFundingSettlementDocument = gql` id created type + typeVersion posted description ledger { @@ -3234,6 +3300,7 @@ export const PostPaymentProcessingDocument = gql` id created type + typeVersion posted description ledger { @@ -3285,6 +3352,9 @@ export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = PostUserFundsAccount(variables: PostUserFundsAccountMutationVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise { return withWrapper((wrappedRequestHeaders) => client.request(PostUserFundsAccountDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'PostUserFundsAccount', 'mutation', variables); }, + PostUserFundsAccount_v2(variables: PostUserFundsAccount_V2MutationVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise { + return withWrapper((wrappedRequestHeaders) => client.request(PostUserFundsAccount_V2Document, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'PostUserFundsAccount_v2', 'mutation', variables); + }, PostFundingSettlement(variables: PostFundingSettlementMutationVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise { return withWrapper((wrappedRequestHeaders) => client.request(PostFundingSettlementDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'PostFundingSettlement', 'mutation', variables); }, diff --git a/tests/fixtures/test-schema-queries.graphql b/tests/fixtures/test-schema-queries.graphql index 7e1ed9c..20ba76a 100644 --- a/tests/fixtures/test-schema-queries.graphql +++ b/tests/fixtures/test-schema-queries.graphql @@ -1,7 +1,7 @@ mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { addLedgerEntry( ik: $ik - entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", posted: $posted, parameters: {amount: $amount}} + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 1, posted: $posted, parameters: {amount: $amount}} ) { __typename ... on AddLedgerEntryResult { @@ -10,6 +10,59 @@ mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: Sa id created type + typeVersion + posted + description + ledger { + ik + } + tags { + key + value + } + groups { + key + value + } + } + lines { + account { + path + } + amount + currency { + code + customCurrencyId + } + key + } + isIkReplay + } + ... on BadRequestError { + code + message + retryable + } + ... on InternalError { + code + message + retryable + } + } +} +mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + addLedgerEntry( + ik: $ik + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 2, posted: $posted, parameters: {amount: $amount}} + ) { + __typename + ... on AddLedgerEntryResult { + entry { + ik + id + created + type + typeVersion posted description ledger { @@ -61,6 +114,7 @@ mutation PostFundingSettlement($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type + typeVersion posted description ledger { @@ -112,6 +166,7 @@ mutation PostPaymentProcessing($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type + typeVersion posted description ledger { diff --git a/tests/fixtures/test-schema.json b/tests/fixtures/test-schema.json index 99c631a..d2f2d93 100644 --- a/tests/fixtures/test-schema.json +++ b/tests/fixtures/test-schema.json @@ -21,6 +21,33 @@ "types": [ { "type": "user-funds-account", + "typeVersion": 1, + "lines": [ + { + "key": "asset-line", + "account": { + "path": "asset-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + }, + { + "key": "liability-line", + "account": { + "path": "liability-root" + }, + "amount": "{{amount}}", + "currency": { + "code": "USD" + } + } + ] + }, + { + "type": "user-funds-account", + "typeVersion": 2, "lines": [ { "key": "asset-line", diff --git a/tests/generated-sdk.test.ts b/tests/generated-sdk.test.ts index a6026e2..9993c34 100644 --- a/tests/generated-sdk.test.ts +++ b/tests/generated-sdk.test.ts @@ -33,10 +33,10 @@ const getClient = async () => { }); }; -test("PostUserFundsAccount method from generated SDK", async () => { +test("PostUserFundsAccount method from generated SDK (version 1 and 2)", async () => { const client = await getClient(); - // Create schema matching the test schema + // Create schema matching the test schema with both typeVersions const schemaKey = uuidv4(); const storeSchemaResponse = await client.storeSchema({ schema: { @@ -62,6 +62,33 @@ test("PostUserFundsAccount method from generated SDK", async () => { types: [ { type: "user-funds-account", + typeVersion: 1, + lines: [ + { + key: "asset-line", + account: { + path: "asset-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + { + key: "liability-line", + account: { + path: "liability-root", + }, + amount: "{{amount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, + ], + }, + { + type: "user-funds-account", + typeVersion: 2, lines: [ { key: "asset-line", @@ -107,25 +134,46 @@ test("PostUserFundsAccount method from generated SDK", async () => { "CreateLedgerResult" ); - // Use the generated PostUserFundsAccount method directly - const entryIk = uuidv4(); - const result = await client.PostUserFundsAccount({ - ik: entryIk, + // Use the generated PostUserFundsAccount method for version 1 + const entryIk1 = uuidv4(); + const result1 = await client.PostUserFundsAccount({ + ik: entryIk1, ledgerIk, amount: "200", }); - expect(result.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); - if (result.addLedgerEntry.__typename === "AddLedgerEntryResult") { - expect(result.addLedgerEntry.entry.type).toEqual("user-funds-account"); + expect(result1.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if (result1.addLedgerEntry.__typename === "AddLedgerEntryResult") { + expect(result1.addLedgerEntry.entry.type).toEqual("user-funds-account"); + expect(result1.addLedgerEntry.entry.typeVersion).toEqual(1); } - const getEntryResponse = await client.getLedgerEntry({ - ik: entryIk, + // Use the generated PostUserFundsAccount_v2 method for version 2 + const entryIk2 = uuidv4(); + const result2 = await client.PostUserFundsAccount_v2({ + ik: entryIk2, ledgerIk, + amount: "300", }); - expect(getEntryResponse.ledgerEntry).toBeDefined(); + expect(result2.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); + if (result2.addLedgerEntry.__typename === "AddLedgerEntryResult") { + expect(result2.addLedgerEntry.entry.type).toEqual("user-funds-account"); + expect(result2.addLedgerEntry.entry.typeVersion).toEqual(2); + } + + // Verify both entries exist + const getEntryResponse1 = await client.getLedgerEntry({ + ik: entryIk1, + ledgerIk, + }); + expect(getEntryResponse1.ledgerEntry).toBeDefined(); + + const getEntryResponse2 = await client.getLedgerEntry({ + ik: entryIk2, + ledgerIk, + }); + expect(getEntryResponse2.ledgerEntry).toBeDefined(); }); test("PostFundingSettlement method from generated SDK", async () => { From 8e24b43778fd398f7b43e79cad0c46c2cd23ab30 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:41:08 -0500 Subject: [PATCH 14/19] Add fee line to typeVersion 2 with feeAmount parameter - Add expense-root account to schema - Add fee-line to typeVersion 2 entry type using {{feeAmount}} parameter - Adjust asset-line to account for fee: {{amount}} - {{feeAmount}} - Update test to include expense account and pass feeAmount parameter - Generated SDK now includes feeAmount as a required parameter for PostUserFundsAccount_v2 --- tests/fixtures/generated-test-client.ts | 17 +++++++---------- tests/fixtures/test-schema-queries.graphql | 8 ++------ tests/fixtures/test-schema.json | 18 +++++++++++++++++- tests/generated-sdk.test.ts | 21 +++++++++++++++++++-- 4 files changed, 45 insertions(+), 19 deletions(-) diff --git a/tests/fixtures/generated-test-client.ts b/tests/fixtures/generated-test-client.ts index b631839..ed513c3 100644 --- a/tests/fixtures/generated-test-client.ts +++ b/tests/fixtures/generated-test-client.ts @@ -3092,17 +3092,18 @@ export type PostUserFundsAccountMutationVariables = Exact<{ }>; -export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostUserFundsAccount_V2MutationVariables = Exact<{ ik: Scalars['SafeString']['input']; posted?: InputMaybe; ledgerIk: Scalars['SafeString']['input']; amount: Scalars['String']['input']; + feeAmount: Scalars['String']['input']; }>; -export type PostUserFundsAccount_V2Mutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostUserFundsAccount_V2Mutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostFundingSettlementMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3112,7 +3113,7 @@ export type PostFundingSettlementMutationVariables = Exact<{ }>; -export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostPaymentProcessingMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3122,7 +3123,7 @@ export type PostPaymentProcessingMutationVariables = Exact<{ }>; -export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export const PostUserFundsAccountDocument = gql` @@ -3138,7 +3139,6 @@ export const PostUserFundsAccountDocument = gql` id created type - typeVersion posted description ledger { @@ -3180,10 +3180,10 @@ export const PostUserFundsAccountDocument = gql` } `; export const PostUserFundsAccount_V2Document = gql` - mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { + mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!, $feeAmount: String!) { addLedgerEntry( ik: $ik - entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 2, posted: $posted, parameters: {amount: $amount}} + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 2, posted: $posted, parameters: {amount: $amount, feeAmount: $feeAmount}} ) { __typename ... on AddLedgerEntryResult { @@ -3192,7 +3192,6 @@ export const PostUserFundsAccount_V2Document = gql` id created type - typeVersion posted description ledger { @@ -3246,7 +3245,6 @@ export const PostFundingSettlementDocument = gql` id created type - typeVersion posted description ledger { @@ -3300,7 +3298,6 @@ export const PostPaymentProcessingDocument = gql` id created type - typeVersion posted description ledger { diff --git a/tests/fixtures/test-schema-queries.graphql b/tests/fixtures/test-schema-queries.graphql index 20ba76a..e0b1fd6 100644 --- a/tests/fixtures/test-schema-queries.graphql +++ b/tests/fixtures/test-schema-queries.graphql @@ -10,7 +10,6 @@ mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: Sa id created type - typeVersion posted description ledger { @@ -50,10 +49,10 @@ mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: Sa } } } -mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!) { +mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: SafeString!, $amount: String!, $feeAmount: String!) { addLedgerEntry( ik: $ik - entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 2, posted: $posted, parameters: {amount: $amount}} + entry: {ledger: {ik: $ledgerIk}, type: "user-funds-account", typeVersion: 2, posted: $posted, parameters: {amount: $amount, feeAmount: $feeAmount}} ) { __typename ... on AddLedgerEntryResult { @@ -62,7 +61,6 @@ mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: id created type - typeVersion posted description ledger { @@ -114,7 +112,6 @@ mutation PostFundingSettlement($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type - typeVersion posted description ledger { @@ -166,7 +163,6 @@ mutation PostPaymentProcessing($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type - typeVersion posted description ledger { diff --git a/tests/fixtures/test-schema.json b/tests/fixtures/test-schema.json index d2f2d93..23e9c76 100644 --- a/tests/fixtures/test-schema.json +++ b/tests/fixtures/test-schema.json @@ -14,6 +14,12 @@ "name": "Liability Root", "type": "liability", "children": [] + }, + { + "key": "expense-root", + "name": "Expense Root", + "type": "expense", + "children": [] } ] }, @@ -54,7 +60,7 @@ "account": { "path": "asset-root" }, - "amount": "{{amount}}", + "amount": "{{amount}} - {{feeAmount}}", "currency": { "code": "USD" } @@ -68,6 +74,16 @@ "currency": { "code": "USD" } + }, + { + "key": "fee-line", + "account": { + "path": "expense-root" + }, + "amount": "{{feeAmount}}", + "currency": { + "code": "USD" + } } ] }, diff --git a/tests/generated-sdk.test.ts b/tests/generated-sdk.test.ts index 9993c34..8d4caeb 100644 --- a/tests/generated-sdk.test.ts +++ b/tests/generated-sdk.test.ts @@ -56,6 +56,12 @@ test("PostUserFundsAccount method from generated SDK (version 1 and 2)", async ( type: LedgerAccountTypes.Liability, children: [], }, + { + key: "expense-root", + name: "Expense Root", + type: LedgerAccountTypes.Expense, + children: [], + }, ], }, ledgerEntries: { @@ -95,7 +101,7 @@ test("PostUserFundsAccount method from generated SDK (version 1 and 2)", async ( account: { path: "asset-root", }, - amount: "{{amount}}", + amount: "{{amount}} - {{feeAmount}}", currency: { code: CurrencyCode.Usd, }, @@ -110,6 +116,16 @@ test("PostUserFundsAccount method from generated SDK (version 1 and 2)", async ( code: CurrencyCode.Usd, }, }, + { + key: "fee-line", + account: { + path: "expense-root", + }, + amount: "{{feeAmount}}", + currency: { + code: CurrencyCode.Usd, + }, + }, ], }, ], @@ -148,12 +164,13 @@ test("PostUserFundsAccount method from generated SDK (version 1 and 2)", async ( expect(result1.addLedgerEntry.entry.typeVersion).toEqual(1); } - // Use the generated PostUserFundsAccount_v2 method for version 2 + // Use the generated PostUserFundsAccount_v2 method for version 2 (with feeAmount) const entryIk2 = uuidv4(); const result2 = await client.PostUserFundsAccount_v2({ ik: entryIk2, ledgerIk, amount: "300", + feeAmount: "10", }); expect(result2.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); From 723c48b72ecdab458b8263ea5170543499240bd2 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:41:23 -0500 Subject: [PATCH 15/19] Add documentation for typeVersion in Post methods - Explain how typeVersion affects method naming - Show examples of version 1 vs version 2 method calls - Document that different versions can have different parameters --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index 4cef6ff..c78e9b3 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,33 @@ The SDK handles different naming conventions: - CamelCase: `fundingSettlement` → `PostFundingSettlement` - Underscore: `payment_processing` → `PostPaymentProcessing` +#### Entry Type Versions + +When your schema defines multiple versions of the same entry type using `typeVersion`, the SDK generates separate methods for each version. Version 1 uses the base method name, and subsequent versions append `_v2`, `_v3`, etc. + +For example, an entry type `user-funds-account` with `typeVersion: 1` and `typeVersion: 2` generates: +- `PostUserFundsAccount` for version 1 +- `PostUserFundsAccount_v2` for version 2 + +```typescript +// Post version 1 entry +await fragment.PostUserFundsAccount({ + ik: "entry-ik-1", + ledgerIk: "your-ledger-ik", + amount: "200", +}); + +// Post version 2 entry (with additional feeAmount parameter) +await fragment.PostUserFundsAccount_v2({ + ik: "entry-ik-2", + ledgerIk: "your-ledger-ik", + amount: "200", + feeAmount: "10", +}); +``` + +Each version can have different parameters and line structures, and the generated methods will reflect those differences. + ### Sync transactions To sync transaction using a [Custom Link](https://fragment.dev/docs#reconcile-transactions-link-any-system): From 0dabf7545212ec7c9b7fe94f47d596cd59c30dec Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:43:26 -0500 Subject: [PATCH 16/19] Fix: Add typeVersion to GraphQL query response fields - Add typeVersion field to all entry response blocks in GraphQL queries - Regenerate SDK to include typeVersion in TypeScript types - Fixes TypeScript errors in tests that check typeVersion --- tests/fixtures/generated-test-client.ts | 12 ++++++++---- tests/fixtures/test-schema-queries.graphql | 4 ++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/fixtures/generated-test-client.ts b/tests/fixtures/generated-test-client.ts index ed513c3..b20dd83 100644 --- a/tests/fixtures/generated-test-client.ts +++ b/tests/fixtures/generated-test-client.ts @@ -3092,7 +3092,7 @@ export type PostUserFundsAccountMutationVariables = Exact<{ }>; -export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostUserFundsAccount_V2MutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3103,7 +3103,7 @@ export type PostUserFundsAccount_V2MutationVariables = Exact<{ }>; -export type PostUserFundsAccount_V2Mutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostUserFundsAccount_V2Mutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostFundingSettlementMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3113,7 +3113,7 @@ export type PostFundingSettlementMutationVariables = Exact<{ }>; -export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostPaymentProcessingMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3123,7 +3123,7 @@ export type PostPaymentProcessingMutationVariables = Exact<{ }>; -export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export const PostUserFundsAccountDocument = gql` @@ -3139,6 +3139,7 @@ export const PostUserFundsAccountDocument = gql` id created type + typeVersion posted description ledger { @@ -3192,6 +3193,7 @@ export const PostUserFundsAccount_V2Document = gql` id created type + typeVersion posted description ledger { @@ -3245,6 +3247,7 @@ export const PostFundingSettlementDocument = gql` id created type + typeVersion posted description ledger { @@ -3298,6 +3301,7 @@ export const PostPaymentProcessingDocument = gql` id created type + typeVersion posted description ledger { diff --git a/tests/fixtures/test-schema-queries.graphql b/tests/fixtures/test-schema-queries.graphql index e0b1fd6..4a055f2 100644 --- a/tests/fixtures/test-schema-queries.graphql +++ b/tests/fixtures/test-schema-queries.graphql @@ -10,6 +10,7 @@ mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: Sa id created type + typeVersion posted description ledger { @@ -61,6 +62,7 @@ mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: id created type + typeVersion posted description ledger { @@ -112,6 +114,7 @@ mutation PostFundingSettlement($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type + typeVersion posted description ledger { @@ -163,6 +166,7 @@ mutation PostPaymentProcessing($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type + typeVersion posted description ledger { From 0ed7103f9aee20766704c36f9692370435eaebf9 Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:47:19 -0500 Subject: [PATCH 17/19] Update generation script to add typeVersion to response fields - Fragment CLI doesn't include typeVersion in response by default - Add sed command to insert typeVersion after type field in all entry blocks - This ensures generated SDK includes typeVersion in TypeScript types - Regenerate files to match CI expectations --- scripts/update-test-schema.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/update-test-schema.sh b/scripts/update-test-schema.sh index a128dc0..c67ccbb 100755 --- a/scripts/update-test-schema.sh +++ b/scripts/update-test-schema.sh @@ -9,6 +9,11 @@ fragment gen-graphql \ --path tests/fixtures/test-schema.json \ --output tests/fixtures/test-schema-queries.graphql +echo "Adding typeVersion to GraphQL query response fields..." +# Fragment CLI doesn't include typeVersion in response by default, so we add it +sed -i.bak 's/ type$/ type\n typeVersion/g' tests/fixtures/test-schema-queries.graphql +rm tests/fixtures/test-schema-queries.graphql.bak + echo "Generating SDK from GraphQL queries..." yarn fragment-node-client-codegen \ -i tests/fixtures/test-schema-queries.graphql \ From 9182d84a83d39e749ca8e31bcc5ebccb44088bbd Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 13:49:03 -0500 Subject: [PATCH 18/19] Remove typeVersion from tests - verify versions by line structure instead - Remove sed command that added typeVersion to GraphQL queries - Tests now verify version differences by checking line structure - Version 1 has 2 lines, version 2 has 3 lines (including fee-line) - This tests what Fragment CLI actually generates, not modified output --- scripts/update-test-schema.sh | 5 ----- tests/fixtures/generated-test-client.ts | 12 ++++-------- tests/fixtures/test-schema-queries.graphql | 4 ---- tests/generated-sdk.test.ts | 12 ++++++++++-- 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/scripts/update-test-schema.sh b/scripts/update-test-schema.sh index c67ccbb..a128dc0 100755 --- a/scripts/update-test-schema.sh +++ b/scripts/update-test-schema.sh @@ -9,11 +9,6 @@ fragment gen-graphql \ --path tests/fixtures/test-schema.json \ --output tests/fixtures/test-schema-queries.graphql -echo "Adding typeVersion to GraphQL query response fields..." -# Fragment CLI doesn't include typeVersion in response by default, so we add it -sed -i.bak 's/ type$/ type\n typeVersion/g' tests/fixtures/test-schema-queries.graphql -rm tests/fixtures/test-schema-queries.graphql.bak - echo "Generating SDK from GraphQL queries..." yarn fragment-node-client-codegen \ -i tests/fixtures/test-schema-queries.graphql \ diff --git a/tests/fixtures/generated-test-client.ts b/tests/fixtures/generated-test-client.ts index b20dd83..ed513c3 100644 --- a/tests/fixtures/generated-test-client.ts +++ b/tests/fixtures/generated-test-client.ts @@ -3092,7 +3092,7 @@ export type PostUserFundsAccountMutationVariables = Exact<{ }>; -export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostUserFundsAccountMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostUserFundsAccount_V2MutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3103,7 +3103,7 @@ export type PostUserFundsAccount_V2MutationVariables = Exact<{ }>; -export type PostUserFundsAccount_V2Mutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostUserFundsAccount_V2Mutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostFundingSettlementMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3113,7 +3113,7 @@ export type PostFundingSettlementMutationVariables = Exact<{ }>; -export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostFundingSettlementMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export type PostPaymentProcessingMutationVariables = Exact<{ ik: Scalars['SafeString']['input']; @@ -3123,7 +3123,7 @@ export type PostPaymentProcessingMutationVariables = Exact<{ }>; -export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, typeVersion?: number | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; +export type PostPaymentProcessingMutation = { __typename?: 'Mutation', addLedgerEntry: { __typename: 'AddLedgerEntryResult', isIkReplay: boolean, entry: { __typename?: 'LedgerEntry', ik: string, id: string, created: string, type?: string | null, posted: string, description?: string | null, ledger: { __typename?: 'Ledger', ik: string }, tags: Array<{ __typename?: 'LedgerEntryTag', key: string, value: string }>, groups: Array<{ __typename?: 'LedgerEntryGroup', key: string, value: string }> }, lines: Array<{ __typename?: 'LedgerLine', amount: string, key?: string | null, account: { __typename?: 'LedgerAccount', path: string }, currency?: { __typename?: 'Currency', code: CurrencyCode, customCurrencyId?: string | null } | null }> } | { __typename: 'BadRequestError', code: string, message: string, retryable: boolean } | { __typename: 'InternalError', code: string, message: string, retryable: boolean } }; export const PostUserFundsAccountDocument = gql` @@ -3139,7 +3139,6 @@ export const PostUserFundsAccountDocument = gql` id created type - typeVersion posted description ledger { @@ -3193,7 +3192,6 @@ export const PostUserFundsAccount_V2Document = gql` id created type - typeVersion posted description ledger { @@ -3247,7 +3245,6 @@ export const PostFundingSettlementDocument = gql` id created type - typeVersion posted description ledger { @@ -3301,7 +3298,6 @@ export const PostPaymentProcessingDocument = gql` id created type - typeVersion posted description ledger { diff --git a/tests/fixtures/test-schema-queries.graphql b/tests/fixtures/test-schema-queries.graphql index 4a055f2..e0b1fd6 100644 --- a/tests/fixtures/test-schema-queries.graphql +++ b/tests/fixtures/test-schema-queries.graphql @@ -10,7 +10,6 @@ mutation PostUserFundsAccount($ik: SafeString!, $posted: DateTime, $ledgerIk: Sa id created type - typeVersion posted description ledger { @@ -62,7 +61,6 @@ mutation PostUserFundsAccount_v2($ik: SafeString!, $posted: DateTime, $ledgerIk: id created type - typeVersion posted description ledger { @@ -114,7 +112,6 @@ mutation PostFundingSettlement($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type - typeVersion posted description ledger { @@ -166,7 +163,6 @@ mutation PostPaymentProcessing($ik: SafeString!, $posted: DateTime, $ledgerIk: S id created type - typeVersion posted description ledger { diff --git a/tests/generated-sdk.test.ts b/tests/generated-sdk.test.ts index 8d4caeb..447d021 100644 --- a/tests/generated-sdk.test.ts +++ b/tests/generated-sdk.test.ts @@ -161,7 +161,8 @@ test("PostUserFundsAccount method from generated SDK (version 1 and 2)", async ( expect(result1.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if (result1.addLedgerEntry.__typename === "AddLedgerEntryResult") { expect(result1.addLedgerEntry.entry.type).toEqual("user-funds-account"); - expect(result1.addLedgerEntry.entry.typeVersion).toEqual(1); + // Version 1 has 2 lines (asset-line and liability-line) + expect(result1.addLedgerEntry.lines).toHaveLength(2); } // Use the generated PostUserFundsAccount_v2 method for version 2 (with feeAmount) @@ -176,7 +177,14 @@ test("PostUserFundsAccount method from generated SDK (version 1 and 2)", async ( expect(result2.addLedgerEntry.__typename).toEqual("AddLedgerEntryResult"); if (result2.addLedgerEntry.__typename === "AddLedgerEntryResult") { expect(result2.addLedgerEntry.entry.type).toEqual("user-funds-account"); - expect(result2.addLedgerEntry.entry.typeVersion).toEqual(2); + // Version 2 has 3 lines (asset-line, liability-line, and fee-line) + expect(result2.addLedgerEntry.lines).toHaveLength(3); + // Verify fee-line exists + const feeLine = result2.addLedgerEntry.lines.find( + (line) => line.key === "fee-line" + ); + expect(feeLine).toBeDefined(); + expect(feeLine?.amount).toEqual("10"); } // Verify both entries exist From 72733c1657597325ab33a18381691b3221dfb79d Mon Sep 17 00:00:00 2001 From: Steven Klaiber-Noble Date: Thu, 11 Dec 2025 12:08:35 -0800 Subject: [PATCH 19/19] Update README.md Co-authored-by: Vigneshwer Vaidyanathan --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c78e9b3..622a28f 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ await fragment.addLedgerEntryRuntime({ ### Post a Ledger Entry using type-specific methods -When your schema defines entry types with lines, the SDK generates type-specific methods for posting those entries. These methods follow the naming convention `Post` where the entry type name is converted to PascalCase. +When your Schema defines Ledger Entry types with lines, the SDK generates type-specific methods for posting those entries. These methods follow the naming convention `Post` where the entry type name is converted to PascalCase. For example, an entry type `user-funds-account` generates a method `PostUserFundsAccount`: