tapimo 0.0.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -16
- package/dist/ApiKey.d.ts +14 -11
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKey.js +11 -12
- package/dist/ApiKey.js.map +1 -1
- package/dist/ApiKeys.d.ts +207 -0
- package/dist/ApiKeys.d.ts.map +1 -0
- package/dist/ApiKeys.js +282 -0
- package/dist/ApiKeys.js.map +1 -0
- package/dist/App.d.ts +6771 -3819
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +145 -317
- package/dist/App.js.map +1 -1
- package/dist/Handler.d.ts +86 -0
- package/dist/Handler.d.ts.map +1 -0
- package/dist/Handler.js +83 -0
- package/dist/Handler.js.map +1 -0
- package/dist/Scope.d.ts +14 -4
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +16 -4
- package/dist/Scope.js.map +1 -1
- package/dist/Webhooks.d.ts +5 -7
- package/dist/Webhooks.d.ts.map +1 -1
- package/dist/Webhooks.js +11 -4
- package/dist/Webhooks.js.map +1 -1
- package/dist/admin/Access.d.ts +1 -3
- package/dist/admin/Access.d.ts.map +1 -1
- package/dist/admin/Access.js +1 -3
- package/dist/admin/Access.js.map +1 -1
- package/dist/admin/App.d.ts +167 -205
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/App.js +2 -4
- package/dist/admin/App.js.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +105 -5
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +75 -9
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/scopes.d.ts +6 -0
- package/dist/admin/apps/scopes.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.d.ts +35 -149
- package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.js +18 -39
- package/dist/admin/apps/verified-tokens.js.map +1 -1
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.js +1 -1
- package/dist/apps/data/App.d.ts +19176 -0
- package/dist/apps/data/App.d.ts.map +1 -0
- package/dist/apps/data/App.js +236 -0
- package/dist/apps/data/App.js.map +1 -0
- package/dist/apps/data/index.d.ts +3 -0
- package/dist/apps/data/index.d.ts.map +1 -0
- package/dist/apps/data/index.js +3 -0
- package/dist/apps/data/index.js.map +1 -0
- package/dist/apps/{activities.d.ts → data/routes/activities.d.ts} +32 -32
- package/dist/apps/{activities.d.ts.map → data/routes/activities.d.ts.map} +1 -1
- package/dist/apps/{activities.js → data/routes/activities.js} +13 -13
- package/dist/apps/data/routes/activities.js.map +1 -0
- package/dist/apps/{addresses.d.ts → data/routes/addresses.d.ts} +22 -22
- package/dist/apps/{addresses.d.ts.map → data/routes/addresses.d.ts.map} +1 -1
- package/dist/apps/{addresses.js → data/routes/addresses.js} +5 -5
- package/dist/apps/data/routes/addresses.js.map +1 -0
- package/dist/apps/{balances.d.ts → data/routes/balances.d.ts} +49 -49
- package/dist/apps/data/routes/balances.d.ts.map +1 -0
- package/dist/apps/{balances.js → data/routes/balances.js} +42 -11
- package/dist/apps/data/routes/balances.js.map +1 -0
- package/dist/apps/{blocks.d.ts → data/routes/blocks.d.ts} +47 -47
- package/dist/apps/data/routes/blocks.d.ts.map +1 -0
- package/dist/apps/{blocks.js → data/routes/blocks.js} +13 -13
- package/dist/apps/data/routes/blocks.js.map +1 -0
- package/dist/apps/{coingecko.d.ts → data/routes/coingecko.d.ts} +183 -183
- package/dist/apps/data/routes/coingecko.d.ts.map +1 -0
- package/dist/apps/{coingecko.js → data/routes/coingecko.js} +13 -13
- package/dist/apps/data/routes/coingecko.js.map +1 -0
- package/dist/apps/{exchanges.d.ts → data/routes/exchanges.d.ts} +460 -460
- package/dist/apps/data/routes/exchanges.d.ts.map +1 -0
- package/dist/apps/{exchanges.js → data/routes/exchanges.js} +19 -19
- package/dist/apps/data/routes/exchanges.js.map +1 -0
- package/dist/apps/{fee-amm.d.ts → data/routes/fee-amm.d.ts} +94 -94
- package/dist/apps/data/routes/fee-amm.d.ts.map +1 -0
- package/dist/apps/{fee-amm.js → data/routes/fee-amm.js} +17 -17
- package/dist/apps/data/routes/fee-amm.js.map +1 -0
- package/dist/apps/{indexer.d.ts → data/routes/indexer.d.ts} +4 -4
- package/dist/apps/data/routes/indexer.d.ts.map +1 -0
- package/dist/apps/{indexer.js → data/routes/indexer.js} +13 -9
- package/dist/apps/data/routes/indexer.js.map +1 -0
- package/dist/apps/{receipts.d.ts → data/routes/receipts.d.ts} +6 -6
- package/dist/apps/data/routes/receipts.d.ts.map +1 -0
- package/dist/apps/{receipts.js → data/routes/receipts.js} +12 -12
- package/dist/apps/data/routes/receipts.js.map +1 -0
- package/dist/apps/{rpc.d.ts → data/routes/rpc.d.ts} +4 -4
- package/dist/apps/data/routes/rpc.d.ts.map +1 -0
- package/dist/apps/{rpc.js → data/routes/rpc.js} +6 -6
- package/dist/apps/data/routes/rpc.js.map +1 -0
- package/dist/apps/{tokenlist.d.ts → data/routes/tokenlist.d.ts} +4 -4
- package/dist/apps/data/routes/tokenlist.d.ts.map +1 -0
- package/dist/apps/{tokenlist.js → data/routes/tokenlist.js} +8 -8
- package/dist/apps/data/routes/tokenlist.js.map +1 -0
- package/dist/apps/{tokens.d.ts → data/routes/tokens.d.ts} +11 -11
- package/dist/apps/data/routes/tokens.d.ts.map +1 -0
- package/dist/apps/{tokens.js → data/routes/tokens.js} +19 -19
- package/dist/apps/data/routes/tokens.js.map +1 -0
- package/dist/apps/{transactions.d.ts → data/routes/transactions.d.ts} +288 -288
- package/dist/apps/data/routes/transactions.d.ts.map +1 -0
- package/dist/apps/{transactions.js → data/routes/transactions.js} +13 -13
- package/dist/apps/data/routes/transactions.js.map +1 -0
- package/dist/apps/{transfers.d.ts → data/routes/transfers.d.ts} +35 -35
- package/dist/apps/data/routes/transfers.d.ts.map +1 -0
- package/dist/apps/{transfers.js → data/routes/transfers.js} +13 -13
- package/dist/apps/data/routes/transfers.js.map +1 -0
- package/dist/apps/{verified-tokens.d.ts → data/routes/verified-tokens.d.ts} +42 -42
- package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -0
- package/dist/apps/{verified-tokens.js → data/routes/verified-tokens.js} +9 -9
- package/dist/apps/data/routes/verified-tokens.js.map +1 -0
- package/dist/apps/{webhooks.d.ts → data/routes/webhooks.d.ts} +66 -63
- package/dist/apps/{webhooks.d.ts.map → data/routes/webhooks.d.ts.map} +1 -1
- package/dist/apps/{webhooks.js → data/routes/webhooks.js} +67 -59
- package/dist/apps/data/routes/webhooks.js.map +1 -0
- package/dist/apps/docs/App.d.ts +27 -0
- package/dist/apps/docs/App.d.ts.map +1 -0
- package/dist/apps/docs/App.js +122 -0
- package/dist/apps/docs/App.js.map +1 -0
- package/dist/{internal/OpenApi.fonts.d.ts → apps/docs/fonts.d.ts} +1 -1
- package/dist/apps/docs/fonts.d.ts.map +1 -0
- package/dist/{internal/OpenApi.fonts.js → apps/docs/fonts.js} +1 -1
- package/dist/apps/docs/fonts.js.map +1 -0
- package/dist/apps/docs/index.d.ts +2 -0
- package/dist/apps/docs/index.d.ts.map +1 -0
- package/dist/apps/docs/index.js +2 -0
- package/dist/apps/docs/index.js.map +1 -0
- package/dist/{internal/OpenApi.logo.d.ts → apps/docs/logo.d.ts} +1 -1
- package/dist/apps/docs/logo.d.ts.map +1 -0
- package/dist/{internal/OpenApi.logo.js → apps/docs/logo.js} +1 -1
- package/dist/apps/docs/logo.js.map +1 -0
- package/dist/apps/index.d.ts +4 -0
- package/dist/apps/index.d.ts.map +1 -0
- package/dist/apps/index.js +4 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/metadata.d.ts +7 -0
- package/dist/apps/metadata.d.ts.map +1 -0
- package/dist/apps/metadata.js +15 -0
- package/dist/apps/metadata.js.map +1 -0
- package/dist/apps/platform/App.d.ts +2985 -0
- package/dist/apps/platform/App.d.ts.map +1 -0
- package/dist/apps/platform/App.js +74 -0
- package/dist/apps/platform/App.js.map +1 -0
- package/dist/apps/platform/index.d.ts +2 -0
- package/dist/apps/platform/index.d.ts.map +1 -0
- package/dist/apps/platform/index.js +2 -0
- package/dist/apps/platform/index.js.map +1 -0
- package/dist/apps/platform/routes/api-keys.d.ts +681 -0
- package/dist/apps/platform/routes/api-keys.d.ts.map +1 -0
- package/dist/apps/platform/routes/api-keys.js +328 -0
- package/dist/apps/platform/routes/api-keys.js.map +1 -0
- package/dist/apps/platform/routes/invitations.d.ts +733 -0
- package/dist/apps/platform/routes/invitations.d.ts.map +1 -0
- package/dist/apps/platform/routes/invitations.js +413 -0
- package/dist/apps/platform/routes/invitations.js.map +1 -0
- package/dist/apps/platform/routes/me.d.ts +95 -0
- package/dist/apps/platform/routes/me.d.ts.map +1 -0
- package/dist/apps/platform/routes/me.js +81 -0
- package/dist/apps/platform/routes/me.js.map +1 -0
- package/dist/apps/platform/routes/members.d.ts +554 -0
- package/dist/apps/platform/routes/members.d.ts.map +1 -0
- package/dist/apps/platform/routes/members.js +251 -0
- package/dist/apps/platform/routes/members.js.map +1 -0
- package/dist/apps/platform/routes/orgs.d.ts +582 -0
- package/dist/apps/platform/routes/orgs.d.ts.map +1 -0
- package/dist/apps/platform/routes/orgs.js +265 -0
- package/dist/apps/platform/routes/orgs.js.map +1 -0
- package/dist/apps/platform/routes/projects.d.ts +740 -0
- package/dist/apps/platform/routes/projects.d.ts.map +1 -0
- package/dist/apps/platform/routes/projects.js +286 -0
- package/dist/apps/platform/routes/projects.js.map +1 -0
- package/dist/apps/relay/App.d.ts +41 -0
- package/dist/apps/relay/App.d.ts.map +1 -0
- package/dist/apps/relay/App.js +103 -0
- package/dist/apps/relay/App.js.map +1 -0
- package/dist/apps/relay/Sponsorships.d.ts +107 -0
- package/dist/apps/relay/Sponsorships.d.ts.map +1 -0
- package/dist/apps/relay/Sponsorships.js +193 -0
- package/dist/apps/relay/Sponsorships.js.map +1 -0
- package/dist/apps/relay/index.d.ts +3 -0
- package/dist/apps/relay/index.d.ts.map +1 -0
- package/dist/apps/relay/index.js +3 -0
- package/dist/apps/relay/index.js.map +1 -0
- package/dist/{Cli.d.ts → cli/Cli.d.ts} +13 -2
- package/dist/cli/Cli.d.ts.map +1 -0
- package/dist/cli/Cli.js +19 -0
- package/dist/cli/Cli.js.map +1 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +4 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/admin.d.ts +15 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/admin.js +60 -0
- package/dist/cli/commands/admin.js.map +1 -0
- package/dist/cloudflare.d.ts +7 -0
- package/dist/cloudflare.d.ts.map +1 -1
- package/dist/cloudflare.js +9 -0
- package/dist/cloudflare.js.map +1 -1
- package/dist/db/Db.d.ts +113 -0
- package/dist/db/Db.d.ts.map +1 -0
- package/dist/db/Db.js +402 -0
- package/dist/db/Db.js.map +1 -0
- package/dist/db/Schema.d.ts +168 -0
- package/dist/db/Schema.d.ts.map +1 -0
- package/dist/db/Schema.js +229 -0
- package/dist/db/Schema.js.map +1 -0
- package/dist/db/tables/invitations.d.ts +84 -0
- package/dist/db/tables/invitations.d.ts.map +1 -0
- package/dist/db/tables/invitations.js +165 -0
- package/dist/db/tables/invitations.js.map +1 -0
- package/dist/db/tables/memberships.d.ts +108 -0
- package/dist/db/tables/memberships.d.ts.map +1 -0
- package/dist/db/tables/memberships.js +153 -0
- package/dist/db/tables/memberships.js.map +1 -0
- package/dist/db/tables/organizations.d.ts +123 -0
- package/dist/db/tables/organizations.d.ts.map +1 -0
- package/dist/db/tables/organizations.js +170 -0
- package/dist/db/tables/organizations.js.map +1 -0
- package/dist/db/tables/projects.d.ts +65 -0
- package/dist/db/tables/projects.d.ts.map +1 -0
- package/dist/db/tables/projects.js +75 -0
- package/dist/db/tables/projects.js.map +1 -0
- package/dist/db/tables/sponsoredTransactions.d.ts +120 -0
- package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -0
- package/dist/db/tables/sponsoredTransactions.js +161 -0
- package/dist/db/tables/sponsoredTransactions.js.map +1 -0
- package/dist/db/tables/users.d.ts +48 -0
- package/dist/db/tables/users.d.ts.map +1 -0
- package/dist/db/tables/users.js +65 -0
- package/dist/db/tables/users.js.map +1 -0
- package/dist/db/tables/verifiedTokens.d.ts +53 -0
- package/dist/db/tables/verifiedTokens.d.ts.map +1 -0
- package/dist/db/tables/verifiedTokens.js +74 -0
- package/dist/db/tables/verifiedTokens.js.map +1 -0
- package/dist/db/tables/webhookDeliveries.d.ts +71 -0
- package/dist/db/tables/webhookDeliveries.d.ts.map +1 -0
- package/dist/db/tables/webhookDeliveries.js +119 -0
- package/dist/db/tables/webhookDeliveries.js.map +1 -0
- package/dist/db/tables/webhookSubscriptions.d.ts +158 -0
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -0
- package/dist/db/tables/webhookSubscriptions.js +272 -0
- package/dist/db/tables/webhookSubscriptions.js.map +1 -0
- package/dist/handlers/internal/executionError.d.ts +25 -0
- package/dist/handlers/internal/executionError.d.ts.map +1 -0
- package/dist/handlers/internal/executionError.js +186 -0
- package/dist/handlers/internal/executionError.js.map +1 -0
- package/dist/handlers/internal/multisig.d.ts +233 -0
- package/dist/handlers/internal/multisig.d.ts.map +1 -0
- package/dist/handlers/internal/multisig.js +542 -0
- package/dist/handlers/internal/multisig.js.map +1 -0
- package/dist/handlers/internal/requestListener.d.ts +124 -0
- package/dist/handlers/internal/requestListener.d.ts.map +1 -0
- package/dist/handlers/internal/requestListener.js +173 -0
- package/dist/handlers/internal/requestListener.js.map +1 -0
- package/dist/handlers/internal/sponsorship.d.ts +113 -0
- package/dist/handlers/internal/sponsorship.d.ts.map +1 -0
- package/dist/handlers/internal/sponsorship.js +128 -0
- package/dist/handlers/internal/sponsorship.js.map +1 -0
- package/dist/handlers/internal/types.d.ts +284 -0
- package/dist/handlers/internal/types.d.ts.map +1 -0
- package/dist/handlers/internal/types.js +2 -0
- package/dist/handlers/internal/types.js.map +1 -0
- package/dist/handlers/internal/utils.d.ts +34 -0
- package/dist/handlers/internal/utils.d.ts.map +1 -0
- package/dist/handlers/internal/utils.js +131 -0
- package/dist/handlers/internal/utils.js.map +1 -0
- package/dist/handlers/relay.d.ts +123 -0
- package/dist/handlers/relay.d.ts.map +1 -0
- package/dist/handlers/relay.js +1278 -0
- package/dist/handlers/relay.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/Auth.d.ts +224 -16
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +572 -33
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/Log.d.ts +7 -3
- package/dist/internal/Log.d.ts.map +1 -1
- package/dist/internal/Log.js +4 -0
- package/dist/internal/Log.js.map +1 -1
- package/dist/internal/OpenApi.d.ts +0 -19
- package/dist/internal/OpenApi.d.ts.map +1 -1
- package/dist/internal/OpenApi.js +0 -57
- package/dist/internal/OpenApi.js.map +1 -1
- package/dist/internal/RpcSchema.d.ts +10 -0
- package/dist/internal/RpcSchema.d.ts.map +1 -0
- package/dist/internal/RpcSchema.js +2 -0
- package/dist/internal/RpcSchema.js.map +1 -0
- package/dist/internal/Store.d.ts +49 -4
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +81 -5
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/VerifiedTokens.d.ts +15 -34
- package/dist/internal/VerifiedTokens.d.ts.map +1 -1
- package/dist/internal/VerifiedTokens.js +115 -159
- package/dist/internal/VerifiedTokens.js.map +1 -1
- package/dist/internal/Viem.d.ts +84 -0
- package/dist/internal/Viem.d.ts.map +1 -1
- package/dist/internal/Webhooks.d.ts +50 -36
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +92 -205
- package/dist/internal/Webhooks.js.map +1 -1
- package/package.json +37 -6
- package/src/ApiKey.test.ts +3 -3
- package/src/ApiKey.ts +11 -12
- package/src/ApiKeys.test.ts +278 -0
- package/src/ApiKeys.ts +358 -0
- package/src/App.test-d.ts +1 -1
- package/src/App.test.ts +40508 -19083
- package/src/App.ts +239 -416
- package/src/Client.test-d.ts +307 -16
- package/src/Handler.ts +154 -0
- package/src/Scope.ts +17 -4
- package/src/Webhooks.test.ts +8 -7
- package/src/Webhooks.ts +13 -7
- package/src/admin/Access.ts +1 -3
- package/src/admin/App.ts +19 -24
- package/src/admin/apps/api-keys.test.ts +70 -18
- package/src/admin/apps/api-keys.ts +92 -9
- package/src/admin/apps/scopes.test.ts +8 -0
- package/src/admin/apps/verified-tokens.test.ts +3 -30
- package/src/admin/apps/verified-tokens.ts +18 -37
- package/src/admin/ui.generated.ts +1 -1
- package/src/apps/composition.test.ts +66 -0
- package/src/apps/data/App.ts +295 -0
- package/src/apps/data/index.ts +2 -0
- package/src/apps/{activities.test.ts → data/routes/activities.test.ts} +3 -3
- package/src/apps/{activities.ts → data/routes/activities.ts} +15 -15
- package/src/apps/{addresses.ts → data/routes/addresses.ts} +6 -6
- package/src/apps/{balances.test.ts → data/routes/balances.test.ts} +6 -5
- package/src/apps/{balances.ts → data/routes/balances.ts} +46 -12
- package/src/apps/{blocks.test.ts → data/routes/blocks.test.ts} +4 -4
- package/src/apps/{blocks.ts → data/routes/blocks.ts} +14 -14
- package/src/apps/{coingecko.test.ts → data/routes/coingecko.test.ts} +2 -2
- package/src/apps/{coingecko.ts → data/routes/coingecko.ts} +14 -14
- package/src/apps/{exchanges.test.ts → data/routes/exchanges.test.ts} +2 -2
- package/src/apps/{exchanges.ts → data/routes/exchanges.ts} +20 -20
- package/src/apps/{fee-amm.test.ts → data/routes/fee-amm.test.ts} +3 -3
- package/src/apps/{fee-amm.ts → data/routes/fee-amm.ts} +18 -18
- package/src/apps/{indexer.test.ts → data/routes/indexer.test.ts} +27 -6
- package/src/apps/{indexer.ts → data/routes/indexer.ts} +13 -10
- package/src/apps/{receipts.test.ts → data/routes/receipts.test.ts} +4 -4
- package/src/apps/{receipts.ts → data/routes/receipts.ts} +13 -13
- package/src/apps/{rpc.test.ts → data/routes/rpc.test.ts} +142 -13
- package/src/apps/{rpc.ts → data/routes/rpc.ts} +7 -7
- package/src/apps/{tokenlist.test.ts → data/routes/tokenlist.test.ts} +8 -10
- package/src/apps/{tokenlist.ts → data/routes/tokenlist.ts} +9 -9
- package/src/apps/{tokens.test.ts → data/routes/tokens.test.ts} +6 -5
- package/src/apps/{tokens.ts → data/routes/tokens.ts} +20 -20
- package/src/apps/{transactions.test.ts → data/routes/transactions.test.ts} +4 -4
- package/src/apps/{transactions.ts → data/routes/transactions.ts} +15 -15
- package/src/apps/{transfers.test.ts → data/routes/transfers.test.ts} +3 -3
- package/src/apps/{transfers.ts → data/routes/transfers.ts} +15 -15
- package/src/apps/{verified-tokens.test.ts → data/routes/verified-tokens.test.ts} +27 -15
- package/src/apps/{verified-tokens.ts → data/routes/verified-tokens.ts} +10 -10
- package/src/apps/{webhooks.test.ts → data/routes/webhooks.test.ts} +137 -150
- package/src/apps/{webhooks.ts → data/routes/webhooks.ts} +83 -81
- package/src/apps/docs/App.ts +136 -0
- package/src/apps/docs/index.ts +1 -0
- package/src/apps/index.ts +3 -0
- package/src/apps/metadata.ts +23 -0
- package/src/apps/platform/App.ts +130 -0
- package/src/apps/platform/index.ts +1 -0
- package/src/apps/platform/routes/api-keys.test.ts +330 -0
- package/src/apps/platform/routes/api-keys.ts +427 -0
- package/src/apps/platform/routes/invitations.test.ts +361 -0
- package/src/apps/platform/routes/invitations.ts +519 -0
- package/src/apps/platform/routes/me.test.ts +121 -0
- package/src/apps/platform/routes/me.ts +106 -0
- package/src/apps/platform/routes/members.test.ts +195 -0
- package/src/apps/platform/routes/members.ts +313 -0
- package/src/apps/platform/routes/orgs.test.ts +313 -0
- package/src/apps/platform/routes/orgs.ts +343 -0
- package/src/apps/platform/routes/projects.test.ts +181 -0
- package/src/apps/platform/routes/projects.ts +367 -0
- package/src/apps/relay/App.test.ts +484 -0
- package/src/apps/relay/App.ts +128 -0
- package/src/apps/relay/Sponsorships.test.ts +375 -0
- package/src/apps/relay/Sponsorships.ts +305 -0
- package/src/apps/relay/index.ts +2 -0
- package/src/{Cli.test.ts → cli/Cli.test.ts} +10 -9
- package/src/{Cli.ts → cli/Cli.ts} +16 -9
- package/src/cli/bin.ts +4 -0
- package/src/cli/commands/admin.test.ts +71 -0
- package/src/cli/commands/admin.ts +60 -0
- package/src/cloudflare.ts +10 -0
- package/src/db/Db.test.ts +84 -0
- package/src/db/Db.ts +542 -0
- package/src/db/Schema.ts +301 -0
- package/src/db/tables/invitations.ts +198 -0
- package/src/db/tables/memberships.ts +208 -0
- package/src/db/tables/organizations.test.ts +160 -0
- package/src/db/tables/organizations.ts +232 -0
- package/src/db/tables/projects.ts +107 -0
- package/src/db/tables/sponsoredTransactions.test.ts +218 -0
- package/src/db/tables/sponsoredTransactions.ts +236 -0
- package/src/db/tables/users.ts +85 -0
- package/src/db/tables/verifiedTokens.ts +111 -0
- package/src/db/tables/webhookDeliveries.ts +159 -0
- package/src/db/tables/webhookSubscriptions.ts +358 -0
- package/src/handlers/internal/executionError.ts +207 -0
- package/src/handlers/internal/multisig.test.ts +818 -0
- package/src/handlers/internal/multisig.ts +823 -0
- package/src/handlers/internal/requestListener.ts +273 -0
- package/src/handlers/internal/sponsorship.ts +245 -0
- package/src/handlers/internal/types.ts +378 -0
- package/src/handlers/internal/utils.ts +153 -0
- package/src/handlers/relay.test.ts +2035 -0
- package/src/handlers/relay.ts +1623 -0
- package/src/index.ts +4 -2
- package/src/internal/Auth.test.ts +337 -21
- package/src/internal/Auth.ts +783 -44
- package/src/internal/Cursor.test.ts +3 -2
- package/src/internal/Log.test.ts +1 -1
- package/src/internal/Log.ts +11 -3
- package/src/internal/MetricSink.ts +1 -1
- package/src/internal/OpenApi.ts +0 -59
- package/src/internal/RateLimit.test.ts +1 -1
- package/src/internal/RpcSchema.ts +10 -0
- package/src/internal/Store.test.ts +150 -10
- package/src/internal/Store.ts +136 -11
- package/src/internal/Tidx.local.test.ts +1 -1
- package/src/internal/VerifiedTokens.test.ts +99 -115
- package/src/internal/VerifiedTokens.ts +123 -175
- package/src/internal/WebhookDestination.test.ts +1 -1
- package/src/internal/Webhooks.test.ts +111 -111
- package/src/internal/Webhooks.ts +103 -221
- package/dist/ApiKeySource.d.ts +0 -166
- package/dist/ApiKeySource.d.ts.map +0 -1
- package/dist/ApiKeySource.js +0 -234
- package/dist/ApiKeySource.js.map +0 -1
- package/dist/Cli.d.ts.map +0 -1
- package/dist/Cli.js +0 -13
- package/dist/Cli.js.map +0 -1
- package/dist/apps/activities.js.map +0 -1
- package/dist/apps/addresses.js.map +0 -1
- package/dist/apps/balances.d.ts.map +0 -1
- package/dist/apps/balances.js.map +0 -1
- package/dist/apps/blocks.d.ts.map +0 -1
- package/dist/apps/blocks.js.map +0 -1
- package/dist/apps/coingecko.d.ts.map +0 -1
- package/dist/apps/coingecko.js.map +0 -1
- package/dist/apps/exchanges.d.ts.map +0 -1
- package/dist/apps/exchanges.js.map +0 -1
- package/dist/apps/fee-amm.d.ts.map +0 -1
- package/dist/apps/fee-amm.js.map +0 -1
- package/dist/apps/indexer.d.ts.map +0 -1
- package/dist/apps/indexer.js.map +0 -1
- package/dist/apps/receipts.d.ts.map +0 -1
- package/dist/apps/receipts.js.map +0 -1
- package/dist/apps/rpc.d.ts.map +0 -1
- package/dist/apps/rpc.js.map +0 -1
- package/dist/apps/tokenlist.d.ts.map +0 -1
- package/dist/apps/tokenlist.js.map +0 -1
- package/dist/apps/tokens.d.ts.map +0 -1
- package/dist/apps/tokens.js.map +0 -1
- package/dist/apps/transactions.d.ts.map +0 -1
- package/dist/apps/transactions.js.map +0 -1
- package/dist/apps/transfers.d.ts.map +0 -1
- package/dist/apps/transfers.js.map +0 -1
- package/dist/apps/verified-tokens.d.ts.map +0 -1
- package/dist/apps/verified-tokens.js.map +0 -1
- package/dist/apps/webhooks.js.map +0 -1
- package/dist/internal/OpenApi.fonts.d.ts.map +0 -1
- package/dist/internal/OpenApi.fonts.js.map +0 -1
- package/dist/internal/OpenApi.logo.d.ts.map +0 -1
- package/dist/internal/OpenApi.logo.js.map +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000000.svg +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000001.svg +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000002.svg +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000003.svg +0 -1
- package/seeds/31318/verified-tokens.json +0 -30
- package/seeds/4217/icons/0x20c0000000000000000000000000000000000000.svg +0 -25
- package/seeds/4217/icons/0x20c000000000000000000000048c8f36df1c9a4a.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000000520792dcccccccc.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000000a6da882d075a4c3.svg +0 -4
- package/seeds/4217/icons/0x20c000000000000000000000111111111e910f0f.svg +0 -30
- package/seeds/4217/icons/0x20c00000000000000000000014f22ca97301eb73.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000001621e21f71cf12fb.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000002f52d5cc21a3207b.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000003158081efd85bfc2.svg +0 -11
- package/seeds/4217/icons/0x20c0000000000000000000003554d28269e0f3c2.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000383a23bacb546ab9.svg +0 -1
- package/seeds/4217/icons/0x20c00000000000000000000042109aef2f8b28e1.png +0 -0
- package/seeds/4217/icons/0x20c0000000000000000000005c0bac7cef389a11.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000006fd9a167923ba194.png +0 -0
- package/seeds/4217/icons/0x20c0000000000000000000007f7ba549dd0251b9.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000008191667423f70e67.svg +0 -5
- package/seeds/4217/icons/0x20c0000000000000000000008ee4fcff88888888.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000009a4a4b17e0dc6651.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000ab02d39df30bd17e.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000ae247a1130450f09.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000aeed2ec36a54d0e5.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000b9537d11c60e8b50.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000bd95bfb69fbe6ce3.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000c412ec89d0c08be5.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000f047dd7018e50367.png +0 -0
- package/seeds/4217/verified-tokens.json +0 -177
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000000.svg +0 -25
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000001.svg +0 -1
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000002.svg +0 -1
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000003.svg +0 -1
- package/seeds/42431/icons/0x20c0000000000000000000009e8d7eb59b783726.svg +0 -1
- package/seeds/42431/icons/0x20c000000000000000000000d72572838bbee59c.svg +0 -1
- package/seeds/42431/verified-tokens.json +0 -44
- package/seeds/openrpc/README.md +0 -27
- package/seeds/openrpc/execution-apis.json +0 -8989
- package/src/ApiKeySource.test-d.ts +0 -11
- package/src/ApiKeySource.test.ts +0 -295
- package/src/ApiKeySource.ts +0 -303
- /package/src/{internal/OpenApi.fonts.ts → apps/docs/fonts.ts} +0 -0
- /package/src/{internal/OpenApi.logo.ts → apps/docs/logo.ts} +0 -0
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import { parseAbiItem } from 'viem';
|
|
3
3
|
import * as z from 'zod/mini';
|
|
4
|
-
import * as Auth from '
|
|
5
|
-
import * as Cache from '
|
|
6
|
-
import * as Cursor from '
|
|
7
|
-
import * as
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
10
|
-
import * as
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
13
|
-
import * as
|
|
4
|
+
import * as Auth from '../../../internal/Auth.js';
|
|
5
|
+
import * as Cache from '../../../internal/Cache.js';
|
|
6
|
+
import * as Cursor from '../../../internal/Cursor.js';
|
|
7
|
+
import * as Db from '../../../db/Db.js';
|
|
8
|
+
import * as OpenApi from '../../../internal/OpenApi.js';
|
|
9
|
+
import * as Response from '../../../internal/Response.js';
|
|
10
|
+
import * as Schema from '../../../internal/Schema.js';
|
|
11
|
+
import * as Store from '../../../internal/Store.js';
|
|
12
|
+
import * as Ttl from '../../../internal/Ttl.js';
|
|
13
|
+
import * as Value from '../../../internal/Value.js';
|
|
14
|
+
import * as Webhooks from '../../../internal/Webhooks.js';
|
|
14
15
|
import * as Receipts from './receipts.js';
|
|
15
16
|
import * as Transactions from './transactions.js';
|
|
16
17
|
import * as Transfers from './transfers.js';
|
|
@@ -228,7 +229,7 @@ export var schema;
|
|
|
228
229
|
}))),
|
|
229
230
|
args: z.optional(z
|
|
230
231
|
.record(z.string(), z.unknown())
|
|
231
|
-
.check(z.describe('Match decoded event arguments by name (indexed or non-indexed). Requires `signature`. Each value is an exact value or
|
|
232
|
+
.check(z.describe('Match decoded event arguments by name (indexed or non-indexed). Requires `signature`. Each value is an exact value or a super admin object.'), z.meta({ examples: [{ to: '0x9e39034aae71fb89f66061a2602eb6efec271754' }] }))),
|
|
232
233
|
blockNumber: z.optional(schema.compare.check(z.describe('Only match logs within these block-number bounds.'))),
|
|
233
234
|
})
|
|
234
235
|
.check(z.describe('Filters that narrow which contract event logs trigger this webhook.'), z.meta({ title: 'Log filters' }), z.refine((f) => Object.keys(f).length > 0, {
|
|
@@ -740,10 +741,9 @@ export var schema;
|
|
|
740
741
|
*/
|
|
741
742
|
export function webhooks(options = {}) {
|
|
742
743
|
const hidden = !options.enabled;
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
// outbound-HTTP surface is disabled (read-only deployment).
|
|
744
|
+
// Gate the whole resource on a configured state store. Without it the
|
|
745
|
+
// outbound-HTTP surface is disabled (read-only deployment).
|
|
746
|
+
const gate = async (c, next) => {
|
|
747
747
|
if (!c.get('webhook'))
|
|
748
748
|
return notEnabled(c);
|
|
749
749
|
await next();
|
|
@@ -751,8 +751,13 @@ export function webhooks(options = {}) {
|
|
|
751
751
|
if (!c.res.headers.has('Cache-Control'))
|
|
752
752
|
c.res.headers.set('Cache-Control', 'no-store');
|
|
753
753
|
return;
|
|
754
|
-
}
|
|
755
|
-
|
|
754
|
+
};
|
|
755
|
+
return (new Hono()
|
|
756
|
+
// `/v1/webhooks/*` does not match the collection root, so it gets its
|
|
757
|
+
// own registration.
|
|
758
|
+
.use('/v1/webhooks', gate)
|
|
759
|
+
.use('/v1/webhooks/*', gate)
|
|
760
|
+
.get('/v1/webhooks/event-types', Auth.policy({ apiKey: { scopes: ['data:read'] }, mpp: true, public: true }), OpenApi.describeRoute({
|
|
756
761
|
description: 'See which onchain event types Tempo can POST to your webhook URL.',
|
|
757
762
|
hide: hidden,
|
|
758
763
|
operationId: 'getWebhookEventTypes',
|
|
@@ -781,7 +786,7 @@ export function webhooks(options = {}) {
|
|
|
781
786
|
data: eventTypeDescriptions.map((eventType) => ({ ...eventType })),
|
|
782
787
|
}), 200);
|
|
783
788
|
})
|
|
784
|
-
.post('/', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('json', schema.createWebhook.Body, {
|
|
789
|
+
.post('/v1/webhooks', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('json', schema.createWebhook.Body, {
|
|
785
790
|
code: 'body_invalid',
|
|
786
791
|
message: 'Check the request body and try again.',
|
|
787
792
|
}), OpenApi.describeRoute({
|
|
@@ -808,14 +813,14 @@ export function webhooks(options = {}) {
|
|
|
808
813
|
message: 'Check the request body and try again.',
|
|
809
814
|
});
|
|
810
815
|
const webhook = c.get('webhook');
|
|
811
|
-
const
|
|
816
|
+
const db = Db.get(c.get('db'));
|
|
812
817
|
const owner = ownerFor(c);
|
|
813
818
|
if (!owner)
|
|
814
819
|
return unauthorized(c);
|
|
815
820
|
const body = c.req.valid('json');
|
|
816
821
|
const chainId = body.chainId ?? c.get('chainId');
|
|
817
822
|
try {
|
|
818
|
-
const subscription = await Webhooks.createSubscription(
|
|
823
|
+
const subscription = await Webhooks.createSubscription(db, {
|
|
819
824
|
chainId,
|
|
820
825
|
...(body.context === undefined ? {} : { context: body.context }),
|
|
821
826
|
destination: body.destination,
|
|
@@ -830,7 +835,7 @@ export function webhooks(options = {}) {
|
|
|
830
835
|
return mutationError(c, cause);
|
|
831
836
|
}
|
|
832
837
|
})
|
|
833
|
-
.get('/', Auth.policy({ apiKey: { scopes: ['webhooks:read'] } }), OpenApi.validate('query', schema.listWebhooks.Query, {
|
|
838
|
+
.get('/v1/webhooks', Auth.policy({ apiKey: { scopes: ['webhooks:read'] } }), OpenApi.validate('query', schema.listWebhooks.Query, {
|
|
834
839
|
code: 'query_invalid',
|
|
835
840
|
message: 'Check the query parameters and try again.',
|
|
836
841
|
}), OpenApi.describeRoute({
|
|
@@ -855,7 +860,7 @@ export function webhooks(options = {}) {
|
|
|
855
860
|
code: 'query_invalid',
|
|
856
861
|
message: 'Check the query parameters and try again.',
|
|
857
862
|
});
|
|
858
|
-
const
|
|
863
|
+
const db = Db.get(c.get('db'));
|
|
859
864
|
const owner = ownerFor(c);
|
|
860
865
|
if (!owner)
|
|
861
866
|
return unauthorized(c);
|
|
@@ -865,11 +870,11 @@ export function webhooks(options = {}) {
|
|
|
865
870
|
// run it concurrently with the page list. Best-effort: a failure
|
|
866
871
|
// omits `meta` rather than failing the page.
|
|
867
872
|
const countPromise = include.includes('totalCount')
|
|
868
|
-
? Webhooks.countSubscriptions(
|
|
873
|
+
? Webhooks.countSubscriptions(db, owner).catch(() => undefined)
|
|
869
874
|
: undefined;
|
|
870
875
|
// Fetch one extra to detect a further page without a second round-trip.
|
|
871
876
|
// `page` translates to a positional slice of `(page - 1) * limit` rows.
|
|
872
|
-
const rows = await Webhooks.listSubscriptions(
|
|
877
|
+
const rows = await Webhooks.listSubscriptions(db, owner, {
|
|
873
878
|
cursor,
|
|
874
879
|
limit: limit + 1,
|
|
875
880
|
offset: page !== undefined && page > 1 ? (page - 1) * limit : undefined,
|
|
@@ -894,7 +899,7 @@ export function webhooks(options = {}) {
|
|
|
894
899
|
// match the sibling static route `GET /webhooks/event-types`. Without the
|
|
895
900
|
// constraint, this API-key-only route's policy would be collected for the
|
|
896
901
|
// event-types request and override its (intentionally public) access.
|
|
897
|
-
.get('/:id{wh_[A-Za-z0-9_-]+}', Auth.policy({ apiKey: { scopes: ['webhooks:read'] } }), OpenApi.validate('param', schema.getWebhook.Params, {
|
|
902
|
+
.get('/v1/webhooks/:id{wh_[A-Za-z0-9_-]+}', Auth.policy({ apiKey: { scopes: ['webhooks:read'] } }), OpenApi.validate('param', schema.getWebhook.Params, {
|
|
898
903
|
code: 'param_invalid',
|
|
899
904
|
message: 'Check the path parameters and try again.',
|
|
900
905
|
}), OpenApi.describeRoute({
|
|
@@ -925,13 +930,13 @@ export function webhooks(options = {}) {
|
|
|
925
930
|
code: 'param_invalid',
|
|
926
931
|
message: 'Check the path parameters and try again.',
|
|
927
932
|
});
|
|
928
|
-
const
|
|
933
|
+
const db = Db.get(c.get('db'));
|
|
929
934
|
const owner = ownerFor(c);
|
|
930
935
|
if (!owner)
|
|
931
936
|
return unauthorized(c);
|
|
932
937
|
const { id } = c.req.valid('param');
|
|
933
938
|
try {
|
|
934
|
-
const subscription = await Webhooks.getSubscription(
|
|
939
|
+
const subscription = await Webhooks.getSubscription(db, owner, id);
|
|
935
940
|
if (!subscription)
|
|
936
941
|
return notFound(c);
|
|
937
942
|
return c.json(Response.validated(schema.getWebhook.Response, toPublic(subscription)), 200);
|
|
@@ -940,7 +945,7 @@ export function webhooks(options = {}) {
|
|
|
940
945
|
return Response.upstream(c, cause);
|
|
941
946
|
}
|
|
942
947
|
})
|
|
943
|
-
.get('/:id{wh_[A-Za-z0-9_-]+}/deliveries', Auth.policy({ apiKey: { scopes: ['webhooks:read'] } }), OpenApi.validate('param', schema.listWebhookDeliveries.Params, {
|
|
948
|
+
.get('/v1/webhooks/:id{wh_[A-Za-z0-9_-]+}/deliveries', Auth.policy({ apiKey: { scopes: ['webhooks:read'] } }), OpenApi.validate('param', schema.listWebhookDeliveries.Params, {
|
|
944
949
|
code: 'param_invalid',
|
|
945
950
|
message: 'Check the path parameters and try again.',
|
|
946
951
|
}), OpenApi.validate('query', schema.listWebhookDeliveries.Query, {
|
|
@@ -979,7 +984,7 @@ export function webhooks(options = {}) {
|
|
|
979
984
|
code: 'query_invalid',
|
|
980
985
|
message: 'Check the query parameters and try again.',
|
|
981
986
|
});
|
|
982
|
-
const
|
|
987
|
+
const db = Db.get(c.get('db'));
|
|
983
988
|
const owner = ownerFor(c);
|
|
984
989
|
if (!owner)
|
|
985
990
|
return unauthorized(c);
|
|
@@ -988,18 +993,18 @@ export function webhooks(options = {}) {
|
|
|
988
993
|
try {
|
|
989
994
|
// Owner-scope first: resolving the subscription under the caller's owner
|
|
990
995
|
// key 404s ids they don't own (indistinguishable from "doesn't exist").
|
|
991
|
-
const subscription = await Webhooks.getSubscription(
|
|
996
|
+
const subscription = await Webhooks.getSubscription(db, owner, id);
|
|
992
997
|
if (!subscription)
|
|
993
998
|
return notFound(c);
|
|
994
999
|
// `totalCount` is opt-in and exact (the delivery log is TTL-bounded);
|
|
995
1000
|
// run it concurrently with the page list. Best-effort: a failure
|
|
996
1001
|
// omits `meta` rather than failing the page.
|
|
997
1002
|
const countPromise = include.includes('totalCount')
|
|
998
|
-
? Webhooks.countDeliveries(
|
|
1003
|
+
? Webhooks.countDeliveries(db, id).catch(() => undefined)
|
|
999
1004
|
: undefined;
|
|
1000
1005
|
// Fetch one extra to detect a further page without a second round-trip.
|
|
1001
1006
|
// `page` translates to a positional slice of `(page - 1) * limit` rows.
|
|
1002
|
-
const rows = await Webhooks.listDeliveries(
|
|
1007
|
+
const rows = await Webhooks.listDeliveries(db, id, {
|
|
1003
1008
|
cursor,
|
|
1004
1009
|
limit: limit + 1,
|
|
1005
1010
|
offset: page !== undefined && page > 1 ? (page - 1) * limit : undefined,
|
|
@@ -1020,7 +1025,7 @@ export function webhooks(options = {}) {
|
|
|
1020
1025
|
return Response.upstream(c, cause);
|
|
1021
1026
|
}
|
|
1022
1027
|
})
|
|
1023
|
-
.post('/:id{wh_[A-Za-z0-9_-]+}/ping', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.pingWebhook.Params, {
|
|
1028
|
+
.post('/v1/webhooks/:id{wh_[A-Za-z0-9_-]+}/ping', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.pingWebhook.Params, {
|
|
1024
1029
|
code: 'param_invalid',
|
|
1025
1030
|
message: 'Check the path parameters and try again.',
|
|
1026
1031
|
}), OpenApi.describeRoute({
|
|
@@ -1051,20 +1056,20 @@ export function webhooks(options = {}) {
|
|
|
1051
1056
|
code: 'param_invalid',
|
|
1052
1057
|
message: 'Check the path parameters and try again.',
|
|
1053
1058
|
});
|
|
1054
|
-
const
|
|
1059
|
+
const db = Db.get(c.get('db'));
|
|
1055
1060
|
const owner = ownerFor(c);
|
|
1056
1061
|
if (!owner)
|
|
1057
1062
|
return unauthorized(c);
|
|
1058
1063
|
const { id } = c.req.valid('param');
|
|
1059
1064
|
try {
|
|
1060
1065
|
// Owner-scope first so unowned/unknown ids are indistinguishable (404).
|
|
1061
|
-
const subscription = await Webhooks.getSubscription(
|
|
1066
|
+
const subscription = await Webhooks.getSubscription(db, owner, id);
|
|
1062
1067
|
if (!subscription)
|
|
1063
1068
|
return notFound(c);
|
|
1064
1069
|
// Inline delivery (not the queue) so the caller gets an immediate
|
|
1065
1070
|
// result. `ping` never mutates the subscription's failure/lifecycle
|
|
1066
1071
|
// state — a test must not disable a healthy endpoint.
|
|
1067
|
-
const { envelope, result } = await Webhooks.ping(
|
|
1072
|
+
const { envelope, result } = await Webhooks.ping(db, subscription);
|
|
1068
1073
|
return c.json(Response.validated(schema.pingWebhook.Response, {
|
|
1069
1074
|
delivered: result.ok,
|
|
1070
1075
|
eventId: envelope.id,
|
|
@@ -1077,7 +1082,7 @@ export function webhooks(options = {}) {
|
|
|
1077
1082
|
return Response.upstream(c, cause);
|
|
1078
1083
|
}
|
|
1079
1084
|
})
|
|
1080
|
-
.post('/:id{wh_[A-Za-z0-9_-]+}/deliveries/:deliveryId/retry', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.retryWebhookDelivery.Params, {
|
|
1085
|
+
.post('/v1/webhooks/:id{wh_[A-Za-z0-9_-]+}/deliveries/:deliveryId/retry', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.retryWebhookDelivery.Params, {
|
|
1081
1086
|
code: 'param_invalid',
|
|
1082
1087
|
message: 'Check the path parameters and try again.',
|
|
1083
1088
|
}), OpenApi.describeRoute({
|
|
@@ -1108,17 +1113,17 @@ export function webhooks(options = {}) {
|
|
|
1108
1113
|
code: 'param_invalid',
|
|
1109
1114
|
message: 'Check the path parameters and try again.',
|
|
1110
1115
|
});
|
|
1111
|
-
const
|
|
1116
|
+
const db = Db.get(c.get('db'));
|
|
1112
1117
|
const owner = ownerFor(c);
|
|
1113
1118
|
if (!owner)
|
|
1114
1119
|
return unauthorized(c);
|
|
1115
1120
|
const { deliveryId, id } = c.req.valid('param');
|
|
1116
1121
|
try {
|
|
1117
1122
|
// Owner-scope the subscription first so unowned ids 404 like elsewhere.
|
|
1118
|
-
const subscription = await Webhooks.getSubscription(
|
|
1123
|
+
const subscription = await Webhooks.getSubscription(db, owner, id);
|
|
1119
1124
|
if (!subscription)
|
|
1120
1125
|
return notFound(c);
|
|
1121
|
-
const delivery = await Webhooks.getDelivery(
|
|
1126
|
+
const delivery = await Webhooks.getDelivery(db, id, deliveryId);
|
|
1122
1127
|
if (!delivery)
|
|
1123
1128
|
return Response.error(c, {
|
|
1124
1129
|
code: 'delivery_not_found',
|
|
@@ -1127,7 +1132,7 @@ export function webhooks(options = {}) {
|
|
|
1127
1132
|
});
|
|
1128
1133
|
// Replay the exact persisted envelope inline. Unlike `ping`, this is a
|
|
1129
1134
|
// real event, so the outcome updates the subscription's failure state.
|
|
1130
|
-
const result = await Webhooks.deliverAndRecord(
|
|
1135
|
+
const result = await Webhooks.deliverAndRecord(db, subscription, delivery.envelope);
|
|
1131
1136
|
return c.json(Response.validated(schema.retryWebhookDelivery.Response, {
|
|
1132
1137
|
delivered: result.ok,
|
|
1133
1138
|
eventId: delivery.envelope.id,
|
|
@@ -1140,7 +1145,7 @@ export function webhooks(options = {}) {
|
|
|
1140
1145
|
return Response.upstream(c, cause);
|
|
1141
1146
|
}
|
|
1142
1147
|
})
|
|
1143
|
-
.patch('/:id{wh_[A-Za-z0-9_-]+}', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.updateWebhook.Params, {
|
|
1148
|
+
.patch('/v1/webhooks/:id{wh_[A-Za-z0-9_-]+}', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.updateWebhook.Params, {
|
|
1144
1149
|
code: 'param_invalid',
|
|
1145
1150
|
message: 'Check the path parameters and try again.',
|
|
1146
1151
|
}), OpenApi.validate('json', schema.updateWebhook.Body, {
|
|
@@ -1179,7 +1184,7 @@ export function webhooks(options = {}) {
|
|
|
1179
1184
|
code: 'body_invalid',
|
|
1180
1185
|
message: 'Check the request body and try again.',
|
|
1181
1186
|
});
|
|
1182
|
-
const
|
|
1187
|
+
const db = Db.get(c.get('db'));
|
|
1183
1188
|
const owner = ownerFor(c);
|
|
1184
1189
|
if (!owner)
|
|
1185
1190
|
return unauthorized(c);
|
|
@@ -1192,12 +1197,12 @@ export function webhooks(options = {}) {
|
|
|
1192
1197
|
// persisting — otherwise a bad filter would silently widen the match
|
|
1193
1198
|
// set at scan time.
|
|
1194
1199
|
if (patch.filters !== undefined) {
|
|
1195
|
-
const existing = await Webhooks.getSubscription(
|
|
1200
|
+
const existing = await Webhooks.getSubscription(db, owner, id);
|
|
1196
1201
|
if (!existing)
|
|
1197
1202
|
return notFound(c);
|
|
1198
1203
|
parseFilters(existing.eventType, patch.filters);
|
|
1199
1204
|
}
|
|
1200
|
-
const subscription = await Webhooks.updateSubscription(
|
|
1205
|
+
const subscription = await Webhooks.updateSubscription(db, owner, id, patch);
|
|
1201
1206
|
if (!subscription)
|
|
1202
1207
|
return notFound(c);
|
|
1203
1208
|
return c.json(Response.validated(schema.updateWebhook.Response, toPublic(subscription)), 200);
|
|
@@ -1206,7 +1211,7 @@ export function webhooks(options = {}) {
|
|
|
1206
1211
|
return mutationError(c, cause);
|
|
1207
1212
|
}
|
|
1208
1213
|
})
|
|
1209
|
-
.delete('/:id{wh_[A-Za-z0-9_-]+}', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.deleteWebhook.Params, {
|
|
1214
|
+
.delete('/v1/webhooks/:id{wh_[A-Za-z0-9_-]+}', Auth.policy({ apiKey: { scopes: ['webhooks:write'] } }), OpenApi.validate('param', schema.deleteWebhook.Params, {
|
|
1210
1215
|
code: 'param_invalid',
|
|
1211
1216
|
message: 'Check the path parameters and try again.',
|
|
1212
1217
|
}), OpenApi.describeRoute({
|
|
@@ -1237,13 +1242,13 @@ export function webhooks(options = {}) {
|
|
|
1237
1242
|
code: 'param_invalid',
|
|
1238
1243
|
message: 'Check the path parameters and try again.',
|
|
1239
1244
|
});
|
|
1240
|
-
const
|
|
1245
|
+
const db = Db.get(c.get('db'));
|
|
1241
1246
|
const owner = ownerFor(c);
|
|
1242
1247
|
if (!owner)
|
|
1243
1248
|
return unauthorized(c);
|
|
1244
1249
|
const { id } = c.req.valid('param');
|
|
1245
1250
|
try {
|
|
1246
|
-
const deleted = await Webhooks.deleteSubscription(
|
|
1251
|
+
const deleted = await Webhooks.deleteSubscription(db, owner, id);
|
|
1247
1252
|
if (!deleted)
|
|
1248
1253
|
return notFound(c);
|
|
1249
1254
|
return c.json(Response.validated(schema.deleteWebhook.Response, { id }), 200);
|
|
@@ -1281,13 +1286,13 @@ const endOfBlockIndex = 2_147_483_647;
|
|
|
1281
1286
|
* pauses that subscription at the last good position and the next tick resumes.
|
|
1282
1287
|
*/
|
|
1283
1288
|
export async function poll(options) {
|
|
1284
|
-
const { batchSize = 100, chainId, client, confirmations = 2, eventTypes = ['token:transfer', 'transaction:included', 'log:emitted', 'block:created'], maxBlocks = 1_000,
|
|
1289
|
+
const { batchSize = 100, cache: cache_metadata = Store.memory(), chainId, client, confirmations = 2, db, eventTypes = ['token:transfer', 'transaction:included', 'log:emitted', 'block:created'], maxBlocks = 1_000, tidx, } = options;
|
|
1285
1290
|
const now = options.now ?? (() => new Date());
|
|
1286
1291
|
// Default (self-host) transport: deliver inline and record the outcome so a
|
|
1287
1292
|
// sustained-failure subscription auto-disables. On Cloudflare, callers pass a
|
|
1288
1293
|
// Queue producer instead and the consumer runs `deliverAndRecord`.
|
|
1289
1294
|
const dispatch = options.dispatch ??
|
|
1290
|
-
(({ envelope, subscription }) => Webhooks.deliverAndRecord(
|
|
1295
|
+
(({ envelope, subscription }) => Webhooks.deliverAndRecord(db, subscription, envelope));
|
|
1291
1296
|
// Head resolution is lazy and per-source. RPC types work back from the live
|
|
1292
1297
|
// RPC head; the legacy TIDX types from the indexed head (never ahead of the
|
|
1293
1298
|
// indexer). A pinned `headBlockNumber` (tests) overrides both.
|
|
@@ -1297,6 +1302,9 @@ export async function poll(options) {
|
|
|
1297
1302
|
let tidxHead = override === undefined ? undefined : Number(override);
|
|
1298
1303
|
const resolveTidxHead = async () => (tidxHead ??= tidx ? await getIndexedHead(tidx, chainId) : await resolveRpcHead());
|
|
1299
1304
|
const rpcSafeBlock = Math.max(0, (await resolveRpcHead()) - confirmations);
|
|
1305
|
+
// Reclaim expired rows (MPP-owned subscriptions, aged delivery logs) once
|
|
1306
|
+
// per tick; reads filter expiry at query time, so this is hygiene only.
|
|
1307
|
+
await Webhooks.pruneExpired(db, { now }).catch(() => { });
|
|
1300
1308
|
// Per-tick lazy cache so multiple subscriptions of the same/related types
|
|
1301
1309
|
// share fetched blocks and receipts instead of refetching the same window.
|
|
1302
1310
|
const cache = createChainCache(client);
|
|
@@ -1311,15 +1319,15 @@ export async function poll(options) {
|
|
|
1311
1319
|
for (const eventType of eventTypes) {
|
|
1312
1320
|
const legacy = eventType === 'token:transfer';
|
|
1313
1321
|
const safeBlock = legacy ? Math.max(0, (await resolveTidxHead()) - confirmations) : rpcSafeBlock;
|
|
1314
|
-
const subscriptions = await Webhooks.listActive(
|
|
1322
|
+
const subscriptions = await Webhooks.listActive(db, chainId, eventType);
|
|
1315
1323
|
for (const subscription of subscriptions) {
|
|
1316
1324
|
result.subscriptions++;
|
|
1317
|
-
const cursor = await Webhooks.getCursor(
|
|
1325
|
+
const cursor = await Webhooks.getCursor(db, subscription.id);
|
|
1318
1326
|
if (cursor === null) {
|
|
1319
1327
|
// First time we've seen this subscription: anchor it at the head of the
|
|
1320
1328
|
// confirmed window so we never backfill from genesis. Events start
|
|
1321
1329
|
// flowing from the next tick onward.
|
|
1322
|
-
await Webhooks.setCursor(
|
|
1330
|
+
await Webhooks.setCursor(db, subscription.id, Cursor.encode([safeBlock, endOfBlockIndex]));
|
|
1323
1331
|
continue;
|
|
1324
1332
|
}
|
|
1325
1333
|
const page = await scanSubscription({
|
|
@@ -1340,7 +1348,7 @@ export async function poll(options) {
|
|
|
1340
1348
|
// downstream destinations (Slack human amounts, richer `url`/`betterstack`
|
|
1341
1349
|
// payloads) can render `amount` in token units. Non-fatal on failure.
|
|
1342
1350
|
const data = eventType === 'token:transfer'
|
|
1343
|
-
? await withTokenMetadata(item.data, { chainId, client
|
|
1351
|
+
? await withTokenMetadata(item.data, { cache: cache_metadata, chainId, client })
|
|
1344
1352
|
: item.data;
|
|
1345
1353
|
const envelope = Webhooks.buildEnvelope({
|
|
1346
1354
|
blockNumber: item.cursor[0],
|
|
@@ -1365,14 +1373,14 @@ export async function poll(options) {
|
|
|
1365
1373
|
// a complete empty page — to the end of the confirmed window.
|
|
1366
1374
|
if (failed) {
|
|
1367
1375
|
if (accepted)
|
|
1368
|
-
await Webhooks.setCursor(
|
|
1376
|
+
await Webhooks.setCursor(db, subscription.id, Cursor.encode([...accepted]));
|
|
1369
1377
|
}
|
|
1370
1378
|
else if (page.scannedThrough !== undefined)
|
|
1371
|
-
await Webhooks.setCursor(
|
|
1379
|
+
await Webhooks.setCursor(db, subscription.id, Cursor.encode([page.scannedThrough, endOfBlockIndex]));
|
|
1372
1380
|
else if (accepted)
|
|
1373
|
-
await Webhooks.setCursor(
|
|
1381
|
+
await Webhooks.setCursor(db, subscription.id, Cursor.encode([...accepted]));
|
|
1374
1382
|
else if (!page.hasMore)
|
|
1375
|
-
await Webhooks.setCursor(
|
|
1383
|
+
await Webhooks.setCursor(db, subscription.id, Cursor.encode([safeBlock, endOfBlockIndex]));
|
|
1376
1384
|
}
|
|
1377
1385
|
}
|
|
1378
1386
|
return result;
|
|
@@ -1405,7 +1413,7 @@ async function resolveTokenMetadata(address, deps) {
|
|
|
1405
1413
|
return { decimals: meta.decimals, symbol: meta.symbol };
|
|
1406
1414
|
}, {
|
|
1407
1415
|
key: `webhook:token-meta:v1:${deps.chainId}:${address}`,
|
|
1408
|
-
store: deps.
|
|
1416
|
+
store: deps.cache,
|
|
1409
1417
|
ttl: Ttl.minutes(5),
|
|
1410
1418
|
});
|
|
1411
1419
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../src/apps/data/routes/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EAAiB,YAAY,EAAE,MAAM,MAAM,CAAA;AAClD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAG7B,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAA;AACrD,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAA;AAEnD,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAA;AAEnD,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,4FAA4F;AAC5F,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B;;;;GAIG;AACH,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,sBAAsB;CACd,CAAA;AAKV,wEAAwE;AACxE,MAAM,qBAAqB,GAAG;IAC5B;QACE,WAAW,EACT,gIAAgI;QAClI,IAAI,EAAE,eAAe;KACtB;IACD;QACE,WAAW,EACT,qGAAqG;QACvG,IAAI,EAAE,aAAa;KACpB;IACD;QACE,WAAW,EAAE,6EAA6E;QAC1F,IAAI,EAAE,gBAAgB;KACvB;IACD;QACE,WAAW,EACT,uLAAuL;QACzL,IAAI,EAAE,sBAAsB;KAC7B;CACqE,CAAA;AAExE,kDAAkD;AAClD,MAAM,KAAW,MAAM,CAynCtB;AAznCD,WAAiB,MAAM;IACrB,+BAA+B;IAClB,gBAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAA;IAEjG,qCAAqC;IACxB,aAAM,GAAG,CAAC;SACpB,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SACtC,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EACxD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CACjC,CAAA;IAEH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACjD,MAAM,eAAe,GAAG,CAAC;SACtB,MAAM,EAAE;SACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,QAAQ,EAAE,EACZ,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EACnD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7B,CAAA;IACH,MAAM,GAAG,GAAG,CAAC;SACV,GAAG,EAAE;SACL,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC,EACvE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,CACvD,CAAA;IAEH,MAAM,QAAQ,GAAG,CAAC;SACf,GAAG,EAAE;SACL,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC,EACrF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,qDAAqD,CAAC,EAAE,CAAC,CAC9E,CAAA;IAEH,MAAM,cAAc,GAAG,CAAC;SACrB,GAAG,EAAE;SACL,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,kFAAkF,CACnF,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,+CAA+C,CAAC,EAAE,CAAC,CACxE,CAAA;IAEH,MAAM,gBAAgB,GAAG,CAAC;SACvB,MAAM,EAAE;SACR,KAAK,CACJ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACd,CAAC,CAAC,QAAQ,CAAC,qEAAqE,CAAC,EACjF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CACnD,CAAA;IAEH;;;;;OAKG;IACH,MAAM,WAAW,GAAG,CAAC;SAClB,kBAAkB,CAAC,MAAM,EAAE;QAC1B,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,GAAG,EAAE,GAAG;SACT,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,GAAG,EAAE,QAAQ;SACd,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9B,GAAG,EAAE,cAAc;SACpB,CAAC;KACH,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,6FAA6F,CAC9F,CACF,CAAA;IAEH;;;;;;;;OAQG;IACU,SAAE,GAAG,CAAmC,IAAU,EAAE,EAAE,CACjE,CAAC,CAAC,KAAK,CAAC;QACN,IAAI;QACJ,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5E,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KAC9B,CAAC,CAAA;IAEJ;;;;;OAKG;IACU,cAAO,GAAG,CAAC,CAAC,KAAK,CAAC;QAC7B,MAAM,CAAC,QAAQ;QACf,CAAC;aACE,YAAY,CAAC;YACZ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/B,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;SACjC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;KAC/F,CAAC,CAAA;IAEF;;;;OAIG;IACU,YAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;KACnC,CAAC,CAAA;IAEF;;;;;OAKG;IACU,sBAAe,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAC9D,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC,EACpF,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CACtC,CAAA;IAED;;;;;;;;;OASG;IACU,gBAAS,GAAG,CAAC;SACvB,YAAY,CAAC;QACZ,IAAI,EAAE,CAAC,CAAC,QAAQ,CACd,SAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC,CAC5F;QACD,OAAO,EAAE,CAAC,CAAC,QAAQ,CACjB,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC,CAChF,CACF;QACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CACd,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,CAC1F;QACD,EAAE,EAAE,CAAC,CAAC,QAAQ,CACZ,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC,CACvF,CACF;QACD,YAAY,EAAE,CAAC,CAAC,QAAQ,CACtB,CAAC;aACE,OAAO,EAAE;aACT,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,yGAAyG,CAC1G,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7B,CACJ;QACD,cAAc,EAAE,CAAC,CAAC,QAAQ,CACxB,CAAC;aACE,OAAO,EAAE;aACT,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,uOAAuO,CACxO,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7B,CACJ;QACD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACzF,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,YAAK,CAAC,KAAK,CACT,CAAC,CAAC,QAAQ,CAAC,4EAA4E,CAAC,CACzF,CACF;QACD,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC;aACE,YAAY,CAAC;YACZ,EAAE,EAAE,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SACvB,CAAC;aACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,kFAAkF,CACnF,CACF,CACJ;QACD,SAAS,EAAE,CAAC,CAAC,QAAQ,CACnB,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC,CAC7E;QACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,SAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC,CAC3F;QACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,SAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAC1E;QACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC1F,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC5E,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,CAAC;QACxF,oBAAoB,EAAE,CAAC,CAAC,QAAQ,CAC9B,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC,CACxE;QACD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACvE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAC;QACzF,WAAW,EAAE,CAAC,CAAC,QAAQ,CACrB,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC,CACtE;QACD,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC5F,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACpF,SAAS,EAAE,CAAC,CAAC,QAAQ,CACnB,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC,CACxE;QACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,CAAC;aACE,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC7B,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC,EAC7E,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAClC,CACJ;KACF,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC,EACnF,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAClD,CAAA;IAEH,4CAA4C;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAA;IAEzB;;;;;;;OAOG;IACU,iBAAU,GAAG,CAAC;SACxB,YAAY,CAAC;QACZ,OAAO,EAAE,CAAC,CAAC,QAAQ,CACjB,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC,EACnF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE,CACF;QACD,SAAS,EAAE,CAAC,CAAC,QAAQ,CACnB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CACd,CAAC,CAAC,QAAQ,CACR,+JAA+J,CAChK,EACD,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,yEAAyE,CAAC;SACtF,CAAC,CACH,CACF;QACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,SAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,QAAQ,CAAC,sEAAsE,CAAC,EAClF,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH,CACF;QACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,SAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAC/C,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH,CACF;QACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,SAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAC/C,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH,CACF;QACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,SAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAC/C,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH,CACF;QACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CACd,CAAC;aACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,6IAA6I,CAC9I,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,4CAA4C,EAAE,CAAC,EAAE,CAAC,CAC7E,CACJ;QACD,WAAW,EAAE,CAAC,CAAC,QAAQ,CACrB,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,CAC/E;KACF,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,qEAAqE,CAAC,EACjF,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAChC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,KAAK,EAAE,sCAAsC;KAC9C,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;QAC1C,KAAK,EAAE,yCAAyC;KACjD,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE;QACtC,KAAK,EAAE,kDAAkD;KAC1D,CAAC,EACF,CAAC,CAAC,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAClB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAC3F;QACE,KAAK,EACH,gHAAgH;KACnH,CACF,CACF,CAAA;IAEH;;;;;OAKG;IACU,mBAAY,GAAG,CAAC;SAC1B,YAAY,CAAC;QACZ,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,CACjF;QACD,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,QAAQ,CAAC,kEAAkE,CAAC,EAC9E,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE,CACF;QACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,SAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CACtB,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC,CACtF,CACF;QACD,OAAO,EAAE,CAAC,CAAC,QAAQ,CACjB,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,gEAAgE,CAAC,CAAC,CAC5F;QACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,cAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC,CAAC,CACvF;QACD,SAAS,EAAE,CAAC,CAAC,QAAQ,CACnB,cAAO,CAAC,KAAK,CACX,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC,CACvF,CACF;KACF,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,4DAA4D,CAAC,EACxE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CACnC,CAAA;IAEH;;;;OAIG;IACU,cAAO,GAAG,CAAC;SACrB,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,QAAQ,CACrB,CAAC;aACE,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAChB,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC,EAClE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4DAA4D,CAAC,EAAE,CAAC,CACrF,CACJ;QACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC;aACE,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EACjD,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CACnC;aACA,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;YAC3C,KAAK,EAAE,0CAA0C;SAClD,CAAC,EACF,CAAC,CAAC,QAAQ,CACR,uLAAuL,CACxL,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAC1D,CACJ;QACD,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC;aACE,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAChB,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAChD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CACpD,CACJ;KACF,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAC,CAAA;IAEvF;;;OAGG;IACU,mBAAY,GAAG,CAAC;SAC1B,MAAM,CAAC;QACN,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,GAAG;aACb,QAAQ,EAAE;aACV,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC,EAC1E,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;QACH,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,gBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACpE,SAAS,EAAE,CAAC;aACT,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC1B,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,8FAA8F,CAC/F,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC,EACzE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B;QACH,OAAO,EAAE,OAAO,CAAC,KAAK,CACpB,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC,EACjD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,EAAE,CAAC,CAClF;QACD,EAAE,EAAE,CAAC;aACF,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAC/C,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CACpC;QACH,cAAc,EAAE,CAAC;aACd,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC1B,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,4EAA4E,CAAC,EACxF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;QACH,MAAM,EAAE,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtD,SAAS,EAAE,CAAC,CAAC,GAAG;aACb,QAAQ,EAAE;aACV,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC,EAC/E,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;KACJ,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,2FAA2F,CAC5F,CACF,CAAA;IAEH,4CAA4C;IAC/B,qBAAc,GAAG,CAAC;SAC5B,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;SACxC,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EACpD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CACpC,CAAA;IAEH,oDAAoD;IACvC,eAAQ,GAAG,CAAC;SACtB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,QAAQ,EAAE,EACZ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B;QACH,SAAS,EAAE,CAAC,CAAC,GAAG;aACb,QAAQ,EAAE;aACV,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC,EAC/E,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;QACH,KAAK,EAAE,CAAC;aACL,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACpB,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,yDAAyD,CAAC,EACrE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,qEAAqE,CAAC,EACjF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CACrC;QACH,EAAE,EAAE,CAAC;aACF,MAAM,EAAE;aACR,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5F,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC,EACnE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,CACvD;QACH,UAAU,EAAE,CAAC;aACV,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;aACpD,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,gFAAgF,CACjF,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC3B;QACH,cAAc,EAAE,CAAC;aACd,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aACnC,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,qEAAqE,CAAC,EACjF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAC5B;QACH,MAAM,EAAE,qBAAc,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjE,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,EAChE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CACpC;KACJ,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,CAAA;IAErF;;;;;OAKG;IACU,oBAAa,GAAG,CAAC;SAC3B,MAAM,CAAC;QACN,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAChC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAC5C,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE;QACD,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC,EACrF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAC5D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC;QACH,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAC7B,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC,EACjD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE;QACD,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAC1B,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAC7C,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE;QACD,SAAS,EAAE,CAAC,CAAC,GAAG;aACb,QAAQ,EAAE;aACV,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EACpD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CACnD;QACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC;aACE,MAAM,CAAC;YACN,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAChD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACpF,CAAC;aACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,uJAAuJ,CACxJ,CACF,CACJ;QACD,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAChC,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC,EAC3D,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH;KACF,CAAC;SACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,6EAA6E,CAAC,CAC1F,CAAA;IAEH;;;OAGG;IACU,uBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAA;IAE3E;;;;;OAKG;IACU,eAAQ,GAAG,CAAC;SACtB,MAAM,CAAC;QACN,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAC3B,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAC5C,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE;QACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CACd,CAAC;aACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,sGAAsG,CACvG,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAC3E,CACJ;QACD,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EACnD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC;QACH,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CACpB,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAC/C,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH;QACD,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC/E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CACzB,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC;gBACL,QAAQ,EAAE;oBACR,yEAAyE;iBAC1E;aACF,CAAC,CACH;YACD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CACvB,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAC7C,CAAC,CAAC,IAAI,CAAC;gBACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;aACjF,CAAC,CACH;SACF,CAAC;aACD,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,8EAA8E,CAC/E,CACF,CACJ;QACD,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAChD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B;QACH,SAAS,EAAE,CAAC,CAAC,GAAG;aACb,QAAQ,EAAE;aACV,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CACnD;QACH,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAChC,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC,EAC3E,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE;gBACR;oBACE,oEAAoE;oBACpE,oEAAoE;iBACrE;aACF;SACF,CAAC,CACH;QACD,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAChC,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC,EAC3D,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH;QACD,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EACxD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B;KACJ,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,CAAA;IAErF,yEAAyE;IAC5D,iBAAU,GAAG,CAAC;SACxB,MAAM,CAAC;QACN,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAC1D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC;QACH,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CACrB,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAC9C,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH;QACD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAC3B,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EACtD,CAAC,CAAC,IAAI,CAAC;YACL,QAAQ,EAAE,CAAC,oEAAoE,CAAC;SACjF,CAAC,CACH;QACD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CACzB,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAC7D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE;QACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,MAAM,CAAC,OAAO,CAAC,KAAK,CAClB,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC,EAC1E,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC,CACrE,CACF;QACD,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC,EAChE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC,EACvE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAClC;QACH,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,GAAG,EAAE,EACP,CAAC,CAAC,WAAW,EAAE,EACf,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAC5D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1B;QACH,SAAS,EAAE,CAAC,CAAC,GAAG;aACb,QAAQ,EAAE;aACV,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CACnD;KACJ,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC,CAAC,CAAA;IAEjF,qFAAqF;IACxE,gBAAS,GAAG,CAAC;SACvB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC;KACxF,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC,CAAA;IAEjE,gDAAgD;IAChD,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC;QAC5B,SAAS,EAAE,CAAC,CAAC,GAAG;aACb,QAAQ,EAAE;aACV,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,oEAAoE,CAAC,EAChF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE,CAAC,CACnD;QACH,EAAE,EAAE,CAAC;aACF,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,8EAA8E,CAAC,EAC1F,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CACrC;QACH,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC,EACnE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CACpC;KACJ,CAAA;IAED;;;;;;;;OAQG;IACU,eAAQ,GAAG,CAAC;SACtB,kBAAkB,CAAC,MAAM,EAAE;QAC1B,CAAC;aACE,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,oBAAa,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;aACnF,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7C,CAAC;aACE,MAAM,CAAC;YACN,GAAG,YAAY;YACf,IAAI,EAAE,uBAAgB;YACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;SACxC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACzD,CAAC;aACE,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,eAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;aAC3E,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC;aACE,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,iBAAU,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;aAC/E,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAC1C,CAAC;aACE,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,gBAAS,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;aACrE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;KACpD,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC,CAAC,CAAA;IAEhF,sDAAsD;IACtD,IAAiB,oBAAoB,CAkBpC;IAlBD,WAAiB,oBAAoB;QACtB,6BAAQ,GAAG,CAAC;aACtB,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,WAAW,EAAE,CAAC;qBACX,MAAM,EAAE;qBACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAC1D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,CACvD;gBACH,IAAI,EAAE,gBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aAChE,CAAC,CACH;iBACA,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;SACxE,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC,CAAC,CAAA;IACrE,CAAC,EAlBgB,oBAAoB,GAApB,OAAA,oBAAoB,KAApB,OAAA,oBAAoB,QAkBpC;IAED,+CAA+C;IAC/C,IAAiB,aAAa,CAgF7B;IAhFD,WAAiB,aAAa;QAC5B;;;;;WAKG;QACU,kBAAI,GAAG,CAAC;aAClB,kBAAkB,CAAC,WAAW,EAAE;YAC/B,CAAC;iBACE,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC;gBAC5B,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,CAAC;qBACT,OAAO,CAAC,gBAAgB,CAAC;qBACzB,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CACzC;gBACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAe,CAAC;aACrC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACpD,CAAC;iBACE,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC;gBAC5B,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,CAAC;qBACT,OAAO,CAAC,sBAAsB,CAAC;qBAC/B,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;gBACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAS,CAAC;aAC/B,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;YAChE,CAAC;iBACE,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC;gBAC5B,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,CAAC;qBACT,OAAO,CAAC,aAAa,CAAC;qBACtB,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CACtC;gBACH,OAAO,EAAE,iBAAU;aACpB,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC/C,CAAC;iBACE,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC;gBAC5B,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,CAAC;qBACT,OAAO,CAAC,eAAe,CAAC;qBACxB,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CACxC;gBACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAY,CAAC;aAClC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;SAClD,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC,CAAA;QAEvD,sBAAQ,GAAG,CAAC;aACtB,MAAM,CAAC,mBAAY,EAAE;YACpB,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CACR,yIAAyI,CAC1I,EACD,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CACvC;SACJ,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,sEAAsE,CAAC,CAAC,CAAA;IAC9F,CAAC,EAhFgB,aAAa,GAAb,OAAA,aAAa,KAAb,OAAA,aAAa,QAgF7B;IAED,8CAA8C;IAC9C,IAAiB,YAAY,CAsB5B;IAtBD,WAAiB,YAAY;QACd,kBAAK,GAAG,CAAC;aACnB,MAAM,CAAC;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,iBAAiB;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;aACD,KAAK,CACJ,GAAG,MAAM,CAAC,UAAU,EAAE,EACtB,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC,CACvE,CAAA;QAEU,qBAAQ,GAAG,CAAC;aACtB,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;YACpF,IAAI,EAAE,CAAC;iBACJ,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC1B,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC;YACzE,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAA;IAC/D,CAAC,EAtBgB,YAAY,GAAZ,OAAA,YAAY,KAAZ,OAAA,YAAY,QAsB5B;IAED,4CAA4C;IAC5C,IAAiB,UAAU,CAa1B;IAbD,WAAiB,UAAU;QACZ,iBAAM,GAAG,CAAC;aACpB,MAAM,CAAC;YACN,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAC/C,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,0CAA0C,CAAC,EAAE,CAAC,CACnE;SACJ,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,CAAA;QAE9D,mBAAQ,GAAG,mBAAY,CAAA;IACtC,CAAC,EAbgB,UAAU,GAAV,OAAA,UAAU,KAAV,OAAA,UAAU,QAa1B;IAED,uDAAuD;IACvD,IAAiB,qBAAqB,CAwBrC;IAxBD,WAAiB,qBAAqB;QACvB,4BAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAE1B,2BAAK,GAAG,CAAC;aACnB,MAAM,CAAC;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,iBAAiB;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;aACD,KAAK,CACJ,GAAG,MAAM,CAAC,UAAU,EAAE,EACtB,CAAC,CAAC,QAAQ,CAAC,yDAAyD,CAAC,CACtE,CAAA;QAEU,8BAAQ,GAAG,CAAC;aACtB,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;YACpF,IAAI,EAAE,CAAC;iBACJ,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC1B,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC;YACzE,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC,CAAA;IAC9D,CAAC,EAxBgB,qBAAqB,GAArB,OAAA,qBAAqB,KAArB,OAAA,qBAAqB,QAwBrC;IAED,6CAA6C;IAC7C,IAAiB,WAAW,CAqC3B;IArCD,WAAiB,WAAW;QACb,kBAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAE1B,oBAAQ,GAAG,CAAC;aACtB,MAAM,CAAC;YACN,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAC5D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7B;YACH,KAAK,EAAE,CAAC;iBACL,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACpB,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC,EAC3E,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAC/C;YACH,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EACpE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CACrC;YACH,UAAU,EAAE,CAAC;iBACV,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;iBACpD,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC,EACnF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC3B;YACH,cAAc,EAAE,CAAC;iBACd,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iBACnC,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,qEAAqE,CAAC,EACjF,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAC5B;SACJ,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,CAAA;IACvF,CAAC,EArCgB,WAAW,GAAX,OAAA,WAAW,KAAX,OAAA,WAAW,QAqC3B;IAED,sDAAsD;IACtD,IAAiB,oBAAoB,CAmBpC;IAnBD,WAAiB,oBAAoB;QACtB,2BAAM,GAAG,CAAC;aACpB,MAAM,CAAC;YACN,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAC7D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,2CAA2C,CAAC,EAAE,CAAC,CACpE;YACH,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAC/C,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,0CAA0C,CAAC,EAAE,CAAC,CACnE;SACJ,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAE3D,6BAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;IAC9C,CAAC,EAnBgB,oBAAoB,GAApB,OAAA,oBAAoB,KAApB,OAAA,oBAAoB,QAmBpC;IAED,+CAA+C;IAC/C,IAAiB,aAAa,CAwB7B;IAxBD,WAAiB,aAAa;QACf,oBAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAE1B,kBAAI,GAAG,CAAC;aAClB,MAAM,CAAC;YACN,OAAO,EAAE,CAAC;iBACP,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAO,CAAC,CAAC;iBAC7B,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC;YACjE,WAAW,EAAE,CAAC;iBACX,QAAQ,CAAC,WAAW,CAAC;iBACrB,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,oEAAoE,CAAC,CAAC;YAC1F,OAAO,EAAE,CAAC;iBACP,QAAQ,CAAC,OAAO,CAAC;iBACjB,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAC5D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,EAAE,CAAC,CAClF;YACH,MAAM,EAAE,CAAC;iBACN,QAAQ,CAAC,aAAM,CAAC;iBAChB,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC,CAAC;SACpF,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC,CAAA;QAEjE,sBAAQ,GAAG,mBAAY,CAAA;IACtC,CAAC,EAxBgB,aAAa,GAAb,OAAA,aAAa,KAAb,OAAA,aAAa,QAwB7B;IAED,+CAA+C;IAC/C,IAAiB,aAAa,CAa7B;IAbD,WAAiB,aAAa;QACf,oBAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAE1B,sBAAQ,GAAG,CAAC;aACtB,MAAM,CAAC;YACN,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,KAAK,CACJ,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC,EAC9D,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CACpC;SACJ,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,yDAAyD,CAAC,CAAC,CAAA;IACjF,CAAC,EAbgB,aAAa,GAAb,OAAA,aAAa,KAAb,OAAA,aAAa,QAa7B;AACH,CAAC,EAznCgB,MAAM,KAAN,MAAM,QAynCtB;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAO,GAAqB,EAAE;IACrD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAA;IAC/B,sEAAsE;IACtE,4DAA4D;IAC5D,MAAM,IAAI,GAAG,KAAK,EAAE,CAA2B,EAAE,IAAyB,EAAE,EAAE;QAC5E,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAU,CAAA;QAEpD,MAAM,IAAI,EAAE,CAAA;QAEZ,2EAA2E;QAC3E,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;QACvF,OAAM;IACR,CAAC,CAAA;IACD,OAAO,CACL,IAAI,IAAI,EAAmB;QACzB,sEAAsE;QACtE,oBAAoB;SACnB,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC;SACzB,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC;SAC3B,GAAG,CACF,0BAA0B,EAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAC3E,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EAAE,mEAAmE;QAChF,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE;gBACP,WAAW,EAAE,iDAAiD;gBAC9D,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ;aAC7C;SACF,CAAC;QACF,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,CAAC,QAAQ,CAAkB;QAC9B,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;QACnC,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9B,GAAG,CAAC,MAAM,GAAG,EAAE,CAAA;YACf,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;KACF,CAAC,EACF,CAAC,CAAC,EAAE,EAAE;QACJ,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACvD,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;SACnE,CAAC,EACF,GAAG,CACJ,CAAA;IACH,CAAC,CACF;SACA,IAAI,CACH,cAAc,EACd,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,EACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE;QAClD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,uCAAuC;KACjD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EACT,0KAA0K;QAC5K,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE,EAAE,GAAG,EAAE,kDAAkD,EAAE;YACnE,OAAO,EAAE;gBACP,WAAW,EACT,0EAA0E;gBAC5E,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;aACtC;SACF,CAAC;QACF,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,uCAAuC;aACjD,CAAC,CAAA;QAEJ,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAE,CAAA;QACjC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAEhD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CACpD,EAAE,EACF;gBACE,OAAO;gBACP,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChE,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK;gBACL,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD,EACD,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAC3D,CAAA;YACD,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,EAC1E,GAAG,CACJ,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC,CACF;SACA,GAAG,CACF,cAAc,EACd,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;QACnD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,2CAA2C;KACrD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,cAAc;QAC3B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE;gBACP,WAAW,EAAE,kCAAkC;gBAC/C,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ;aACrC;SACF,CAAC;QACF,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,2CAA2C;aACrD,CAAC,CAAA;QAEJ,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,CAAC;YACH,mEAAmE;YACnE,iEAAiE;YACjE,6CAA6C;YAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACjD,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;gBAC/D,CAAC,CAAC,SAAS,CAAA;YAEb,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE;gBACvD,MAAM;gBACN,KAAK,EAAE,KAAK,GAAG,CAAC;gBAChB,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAClE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAEvE,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;YAEhE,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;gBAC/C,IAAI;gBACJ,GAAG,CAAC,UAAU,KAAK,SAAS;oBAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACP,UAAU;aACX,CAAC,EACF,GAAG,CACJ,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CACF;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;SACrE,GAAG,CACF,qCAAqC,EACrC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE;QAClD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0CAA0C;KACpD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,WAAW,EAAE,gDAAgD;oBAC7D,KAAK,EAAE,CAAC,mBAAmB,CAAC;iBAC7B;aACF;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,qCAAqC;gBAClD,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;aACnC;SACF,CAAC;QACF,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,0CAA0C;aACpD,CAAC,CAAA;QAEJ,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,YAAY;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;YACrC,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,EACtE,GAAG,CACJ,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CACF;SACA,GAAG,CACF,gDAAgD,EAChD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE;QAC7D,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0CAA0C;KACpD,CAAC,EACF,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE;QAC5D,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,2CAA2C;KACrD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EAAE,oDAAoD;QACjE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,WAAW,EAAE,gDAAgD;oBAC7D,KAAK,EAAE,CAAC,mBAAmB,CAAC;iBAC7B;aACF;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,mDAAmD;gBAChE,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ;aAC9C;SACF,CAAC;QACF,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,0CAA0C;aACpD,CAAC,CAAA;QACJ,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,2CAA2C;aACrD,CAAC,CAAA;QAEJ,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,CAAC;YACH,yEAAyE;YACzE,wEAAwE;YACxE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,YAAY;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;YAErC,sEAAsE;YACtE,iEAAiE;YACjE,6CAA6C;YAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACjD,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;gBACzD,CAAC,CAAC,SAAS,CAAA;YAEb,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE;gBACjD,MAAM;gBACN,KAAK,EAAE,KAAK,GAAG,CAAC;gBAChB,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAClD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAEvE,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;YAEhE,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE;gBACxD,IAAI;gBACJ,GAAG,CAAC,UAAU,KAAK,SAAS;oBAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACP,UAAU;aACX,CAAC,EACF,GAAG,CACJ,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CACF;SACA,IAAI,CACH,0CAA0C,EAC1C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,EACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACnD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0CAA0C;KACpD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EACT,6FAA6F;QAC/F,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,WAAW,EAAE,gDAAgD;oBAC7D,KAAK,EAAE,CAAC,mBAAmB,CAAC;iBAC7B;aACF;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,wCAAwC;gBACrD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ;aACpC;SACF,CAAC;QACF,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,0CAA0C;aACpD,CAAC,CAAA;QAEJ,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,YAAY;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;YAErC,kEAAkE;YAClE,oEAAoE;YACpE,sDAAsD;YACtD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;YAClE,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC9C,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC9D,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7E,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;aAC1E,CAAC,EACF,GAAG,CACJ,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CACF;SACA,IAAI,CACH,kEAAkE,EAClE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,EACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE;QAC5D,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0CAA0C;KACpD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EAAE,oEAAoE;QACjF,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,WAAW,EAAE,8DAA8D;oBAC3E,KAAK,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;iBACnD;aACF;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,2CAA2C;gBACxD,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ;aAC7C;SACF,CAAC;QACF,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,0CAA0C;aACpD,CAAC,CAAA;QAEJ,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,YAAY;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;YAErC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;YAC/D,IAAI,CAAC,QAAQ;gBACX,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;oBACvB,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,oBAAoB;oBAC7B,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAA;YAEJ,uEAAuE;YACvE,uEAAuE;YACvE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACnF,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBACvD,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC7B,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC9D,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7E,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;aAC1E,CAAC,EACF,GAAG,CACJ,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CACF;SACA,KAAK,CACJ,qCAAqC,EACrC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,EACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;QACrD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0CAA0C;KACpD,CAAC,EACF,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE;QAClD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,uCAAuC;KACjD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EAAE,iEAAiE;QAC9E,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,WAAW,EAAE,gDAAgD;oBAC7D,KAAK,EAAE,CAAC,mBAAmB,CAAC;iBAC7B;aACF;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,mCAAmC;gBAChD,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;aACtC;SACF,CAAC;QACF,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,0CAA0C;aACpD,CAAC,CAAA;QACJ,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,uCAAuC;aACjD,CAAC,CAAA;QAEJ,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC;YACH,oEAAoE;YACpE,kEAAkE;YAClE,gEAAgE;YAChE,qEAAqE;YACrE,oBAAoB;YACpB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;gBAC9D,IAAI,CAAC,QAAQ;oBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACjC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAC5E,IAAI,CAAC,YAAY;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;YACrC,OAAO,CAAC,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,EACzE,GAAG,CACJ,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC,CACF;SACA,MAAM,CACL,qCAAqC,EACrC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,EACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;QACrD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,0CAA0C;KACpD,CAAC,EACF,OAAO,CAAC,aAAa,CAAC;QACpB,WAAW,EAAE,uEAAuE;QACpF,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,eAAe;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,WAAW,EAAE,gDAAgD;oBAC7D,KAAK,EAAE,CAAC,mBAAmB,CAAC;iBAC7B;aACF;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,yDAAyD;gBACtE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;aACtC;SACF,CAAC;QACF,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC,EACF,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,OAAO,CAAC,gBAAgB;YAC1B,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,0CAA0C;aACpD,CAAC,CAAA;QAEJ,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAChE,IAAI,CAAC,OAAO;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;YAChC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CACF,CACJ,CAAA;AACH,CAAC;AAUD;;;;GAIG;AACH,MAAM,eAAe,GAAG,aAAa,CAAA;AAwBrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAqB;IAC9C,MAAM,EACJ,SAAS,GAAG,GAAG,EACf,KAAK,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,EACtC,OAAO,EACP,MAAM,EACN,aAAa,GAAG,CAAC,EACjB,EAAE,EACF,UAAU,GAAG,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,EAAE,eAAe,CAAC,EACvF,SAAS,GAAG,KAAK,EACjB,IAAI,GACL,GAAG,OAAO,CAAA;IACX,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC7C,4EAA4E;IAC5E,8EAA8E;IAC9E,mEAAmE;IACnE,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ;QAChB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEzF,4EAA4E;IAC5E,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAA;IACxC,IAAI,OAAO,GAAuB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACzE,IAAI,QAAQ,GAAuB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACxF,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,CACjC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAA;IAEpF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,GAAG,aAAa,CAAC,CAAA;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACxD,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,MAAM,GAAgB;QAC1B,OAAO;QACP,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,CAAC;KACjB,CAAA;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,KAAK,gBAAgB,CAAA;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,eAAe,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAChG,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QACvE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,aAAa,EAAE,CAAA;YACtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;YAC5D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,wEAAwE;gBACxE,mEAAmE;gBACnE,qCAAqC;gBACrC,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;gBAC1F,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC;gBAClC,SAAS;gBACT,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,SAAS;gBACT,SAAS;gBACT,YAAY;gBACZ,IAAI;aACL,CAAC,CAAA;YACF,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;YAEnC,IAAI,QAA+C,CAAA;YACnD,IAAI,MAAM,GAAG,KAAK,CAAA;YAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,kEAAkE;gBAClE,2EAA2E;gBAC3E,sEAAsE;gBACtE,MAAM,IAAI,GACR,SAAS,KAAK,gBAAgB;oBAC5B,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBAChF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;gBACf,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;oBACtC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3B,SAAS,EAAE,GAAG,EAAE;oBAChB,IAAI;oBACJ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBACxB,YAAY;iBACb,CAAC,CAAA;gBACF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;gBAC5D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,CAAC,MAAM,EAAE,CAAA;oBACf,MAAM,GAAG,IAAI,CAAA;oBACb,MAAK;gBACP,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;gBACtB,MAAM,CAAC,UAAU,EAAE,CAAA;YACrB,CAAC;YAED,uEAAuE;YACvE,sEAAsE;YACtE,sEAAsE;YACtE,0EAA0E;YAC1E,8DAA8D;YAC9D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,QAAQ;oBAAE,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3F,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;gBAC1C,MAAM,QAAQ,CAAC,SAAS,CACtB,EAAE,EACF,YAAY,CAAC,EAAE,EACf,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CACtD,CAAA;iBACE,IAAI,QAAQ;gBAAE,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;iBACzF,IAAI,CAAC,IAAI,CAAC,OAAO;gBACpB,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;QAC9F,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAyDD;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAC9B,IAAa,EACb,IAIC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1D,MAAM,OAAO,GAAI,IAAgC,CAAC,SAAS,CAAC,CAAA;IAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACvD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAI,IAAgC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACvE,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CACjC,OAAe,EACf,IAAgF;IAEhF,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,OAAO,CACxB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,OAAwB,EAAE,CAAC,CAAA;YACrF,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QACzD,CAAC,EACD;YACE,GAAG,EAAE,yBAAyB,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;YACvD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;SACpB,CACF,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;QAC7D,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiC;IAChE,OAAO,MAAM,CAAC,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAiB,EAAE,OAAe;IACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;QAC9B,OAAO;QACP,KAAK,EAAE,kDAA4D;KACpE,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;AACrD,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAS/B;IACC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IAC9F,0EAA0E;IAC1E,MAAM,OAAO,GAAG,YAAY,CAAC,OAA0C,CAAA;IAEvE,IAAI,YAAY,CAAC,SAAS,KAAK,aAAa;QAC1C,OAAO,QAAQ,CAAC;YACd,KAAK;YACL,MAAM;YACN,MAAM;YACN,OAAO,EAAE,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC;YAC1D,SAAS;YACT,SAAS;SACV,CAAC,CAAA;IAEJ,IAAI,YAAY,CAAC,SAAS,KAAK,eAAe;QAC5C,OAAO,UAAU,CAAC;YAChB,KAAK;YACL,MAAM;YACN,OAAO,EAAE,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC;YAC5D,SAAS;YACT,SAAS;SACV,CAAC,CAAA;IAEJ,IAAI,YAAY,CAAC,SAAS,KAAK,sBAAsB;QACnD,OAAO,OAAO,CAAC;YACb,KAAK;YACL,MAAM;YACN,OAAO,EAAE,YAAY,CAAC,sBAAsB,EAAE,YAAY,CAAC,OAAO,CAAC;YACnE,SAAS;YACT,SAAS;SACV,CAAC,CAAA;IAEJ,2BAA2B;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAC/B,EAAE,IAAI,EAAE,EACR,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CACpF,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;AACrD,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,eAAe,EAAE,MAAM,CAAC,YAAY;IACpC,aAAa,EAAE,MAAM,CAAC,UAAU;IAChC,gBAAgB,EAAE,MAAM,CAAC,eAAe;IACxC,sBAAsB,EAAE,MAAM,CAAC,SAAS;CACE,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,OAA4C;IAE5C,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAChE,IAAI,CAAC,MAAM,CAAC,OAAO;QACjB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,CACnC,SAAS,EACT,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAChD,CAAA;IACH,OAAO,MAAM,CAAC,IAA+B,CAAA;AAC/C,CAAC;AAED,oFAAoF;AACpF,SAAS,eAAe,CAAC,OAAgC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACxD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/E,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACzD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAA;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,eAAe,CAAC,EAAW;IAClC,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC,WAAW,EAAE,CAAA;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACrD,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QAChF,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,kFAAkF;AAClF,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACzD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACjF,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,2DAA2D;AAE3D,oFAAoF;AACpF,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AAEvD,gFAAgF;AAChF,SAAS,aAAa,CAAC,KAAa,EAAE,MAAe,EAAE,IAAyB;IAC9E,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;AAC1D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAyB,EACzB,EAAW,EACX,IAAI,GAAwB,QAAQ;IAEpC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAChF,MAAM,CAAC,GAAG,EAA6B,CAAA;IACvC,IAAI,UAAU,IAAI,CAAC;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACjF,IAAI,YAAY,IAAI,CAAC;QACnB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9E,IAAI,IAAI,IAAI,CAAC;QAAE,OAAQ,CAAC,CAAC,IAAI,CAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAChG,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5D,4EAA4E;IAC5E,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACtB,IAAI,EAAE,GAAG,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAC;QAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9C,IAAI,IAAI,IAAI,CAAC;QAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5C,IAAI,KAAK,IAAI,CAAC;QAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/C,IAAI,IAAI,IAAI,CAAC;QAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5C,IAAI,KAAK,IAAI,CAAC;QAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/C,OAAO,EAAE,CAAA;AACX,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,KAAc,EAAE,EAAW;IAC/C,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC3F,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;SACpD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3E,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,EAA6B,CAAA;QACvC,IAAI,IAAI,IAAI,CAAC;YAAE,OAAQ,CAAC,CAAC,IAAI,CAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/D,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QACrC,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;AAChB,CAAC;AAED,4CAA4C;AAE5C,oEAAoE;AACpE,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAW,CAAA;AAE9D,sFAAsF;AACtF,SAAS,GAAG,CACV,MAAiC,EACjC,MAAc,EACd,MAA0B;IAE1B,OAAQ,MAAM,CAAC,OAA4E,CAAC;QAC1F,MAAM;QACN,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;KACpB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CACjB,MAA0B,EAC1B,SAAiB,EACjB,SAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,eAAe,CAAA;IAC7D,MAAM,IAAI,GAAG,EAAE,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChD,IAAI,IAAI,GAAG,SAAS;QAAE,OAAO,SAAS,CAAA;IACtC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAA;IACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AACrC,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa,EAAE,IAA+B;IAC/E,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC;AAeD,mEAAmE;AACnE,SAAS,gBAAgB,CAAC,MAAiC;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyC,CAAA;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwD,CAAA;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyD,CAAA;IACjF,OAAO;QACL,KAAK,CAAC,CAAC;YACL,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,uEAAuE;gBACvE,qEAAqE;gBACrE,CAAC,GAAG,GAAG,CAAiC,MAAM,EAAE,sBAAsB,EAAE;oBACtE,QAAQ,CAAC,CAAC,CAAC;oBACX,IAAI;iBACL,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC,CAAA;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAClB,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC;QACD,MAAM,CAAC,CAAC;YACN,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,CAAC,GAAG,MAAM;qBACP,QAAQ,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;qBAChE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBACzB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC;QACD,QAAQ,CAAC,CAAC;YACR,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,CAAC,GAAG,GAAG,CAA4B,MAAM,EAAE,sBAAsB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACpF,CAAC,IAAI,EAAE,EAAE;oBACP,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmC,CAAA;oBACtD,KAAK,MAAM,OAAO,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;wBACjC,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;wBACvC,IAAI,OAAO,IAAI,KAAK,QAAQ;4BAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAA;oBACpE,CAAC;oBACD,OAAO,GAAG,CAAA;gBACZ,CAAC,CACF,CAAA;gBACD,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACpB,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC;KACF,CAAA;AACH,CAAC;AAoCD;;;;;GAKG;AACH,SAAS,UAAU,CACjB,GAAY,EACZ,SAA6B,EAC7B,SAA6B,EAC7B,KAA2B;IAE3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAClE,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAClF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAA;IAC1C,MAAM,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAA;IAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;IAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3D,IACE,CAAC,OAAO,CAAC,OAAO;QAChB,CAAC,eAAe,CAAC,OAAO;QACxB,CAAC,MAAM,CAAC,OAAO;QACf,WAAW,KAAK,SAAS;QACzB,QAAQ,KAAK,SAAS;QACtB,gBAAgB,KAAK,SAAS;QAC9B,SAAS,KAAK,SAAS;QAEvB,OAAO,SAAS,CAAA;IAElB,MAAM,IAAI,GAAiB;QACzB,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,WAAW;QACX,IAAI;QACJ,QAAQ;QACR,SAAS;QACT,MAAM;QACN,eAAe,EAAE,eAAe,CAAC,IAAI;QACrC,gBAAgB;KACjB,CAAA;IACD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC/D,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAA4B;QACxD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;KAC5D,CAAA;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,WAAW,CAAC,EAAW;IAC9B,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACtC,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAmB,CAAA;IACtD,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,EAA6B,CAAA;QACvC,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,IAAI,CAAkB,CAAA;QAChE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAoB,CAAA;IACvF,CAAC;IACD,iEAAiE;IACjE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,QAAQ,CAAC,OAOvB;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IACxE,MAAM,CAAC,GAAG,OAA6C,CAAA;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,CAAA;IAE5D,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAc,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/E,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE;YACnD,EAAE,OAAO,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE;SACjE,CAAC,CAAA;IAEJ,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,CAAC,KAAK;QACjB,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,KAAK;YACL,SAAS;YACT,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC;QACJ,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,SAAS;YACT,OAAO;SACR,CAAC,CAAyB,CAAA;IAE/B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;QACtC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAA;QAC7B,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAClF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAA;QAC1C,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAQ;QACjE,IAAI,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC;YAAE,SAAQ;QACxC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3D,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,CAAA;AAC7C,CAAC;AAED,0EAA0E;AAC1E,SAAS,UAAU,CACjB,GAAY,EACZ,CAAqC,EACrC,KAA2B;IAE3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IACzB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IACrF,IACE,CAAC,CAAC,WAAW,KAAK,SAAS;QAC3B,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC;QAEtE,OAAO,KAAK,CAAA;IACd,4EAA4E;IAC5E,6DAA6D;IAC7D,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3F,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACjF,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACjF,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAEjF,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,6EAA6E;QAC7E,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QACnE,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAA;QAChD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;YACvD,IAAI,CAAC,KAAK;gBACR,MAAM,IAAI,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE;oBACnD,EAAE,OAAO,EAAE,2BAA2B,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;iBACtE,CAAC,CAAA;YACJ,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACtE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAA;QAChG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,2BAA2B;AAE3B,2EAA2E;AAC3E,SAAS,QAAQ,CAAC,KAA2B;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACnE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;AAC/D,CAAC;AAaD,6EAA6E;AAC7E,SAAS,YAAY,CAAC,KAAe;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrF,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1F,IACE,MAAM,KAAK,SAAS;QACpB,CAAC,IAAI,CAAC,OAAO;QACb,CAAC,UAAU,CAAC,OAAO;QACnB,CAAC,KAAK,CAAC,OAAO;QACd,OAAO,KAAK,SAAS;QACrB,QAAQ,KAAK,SAAS;QACtB,SAAS,KAAK,SAAS;QAEvB,OAAO,SAAS,CAAA;IAClB,OAAO;QACL,QAAQ;QACR,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,MAAM;QACN,UAAU,EAAE,UAAU,CAAC,IAAI;QAC3B,SAAS;QACT,gBAAgB;KACjB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,UAAU,CAAC,OAMzB;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAChE,MAAM,CAAC,GAAG,OAA+C,CAAA;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,CAAA;IAE5D,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC3C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAAE,SAAQ;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,CAAA;AAC7C,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,KAAe,EAAE,CAAuC;IAC5E,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC1F,OAAO,KAAK,CAAA;IACd,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjF,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC7F,OAAO,KAAK,CAAA;IACd,IACE,CAAC,CAAC,QAAQ,KAAK,SAAS;QACxB,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAElE,OAAO,KAAK,CAAA;IACd,IACE,CAAC,CAAC,SAAS,KAAK,SAAS;QACzB,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC;QAEpE,OAAO,KAAK,CAAA;IACd,sEAAsE;IACtE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IAC1C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,qEAAqE;AAErE,oFAAoF;AACpF,MAAM,QAAQ,GAAG;IACf,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IACrD,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC/C,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1C,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvC,YAAY,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvD,oBAAoB,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE;IACvE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzC,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzC,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;IACnD,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IACrD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;CACsC,CAAA;AAEjF;;;;;;GAMG;AACH,KAAK,UAAU,OAAO,CAAC,OAMtB;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAChE,MAAM,CAAC,GAAG,OAA4C,CAAA;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,CAAA;IAE5D,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,IAAI,CAAA;IAC3C,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,IAAI,KAAK,CAAA;IAChD,gFAAgF;IAChF,gEAAgE;IAChE,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAA;IAElG,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAE,KAAM,CAAC,cAAc,CAAe,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAC9B,MAAM,QAAQ,GAAG,YAAY,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;QAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAA4B,CAAA;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAA;YAC5D,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC/C,MAAM,OAAO,GAAG,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;YAC/D,IAAI,YAAY,IAAI,CAAC,OAAO;gBAAE,SAAQ;YACtC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBAAE,SAAQ;YACpE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAChE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAQ;YAC7B,IAAI,IAAI,GAAG,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxD,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBACxD,IAAI,CAAC,CAAC,OAAO;oBACX,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;YACzF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,CAAA;AAC7C,CAAC;AAED,kFAAkF;AAClF,SAAS,SAAS,CAChB,EAA2B,EAC3B,CAAoC,EACpC,YAAqB,EACrB,OAA4C,EAC5C,SAA6B,EAC7B,WAAmB;IAEnB,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACnB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAClF,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC3E,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GACV,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;QACxF,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAChF,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/E,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3F,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;IAC1E,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,EAAE,GAAI,CAA6B,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,EAAE,KAAK,SAAS;YAAE,SAAQ;QAC9B,MAAM,KAAK,GACT,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzD,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;IAC1D,CAAC;IAED,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IAEjG,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;YACzF,OAAO,KAAK,CAAA;QACd,IACE,CAAC,CAAC,OAAO,KAAK,SAAS;YACvB,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;YAEnE,OAAO,KAAK,CAAA;QACd,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;YACrD,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAA;QACnD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,iFAAiF;AACjF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AACD,SAAS,QAAQ,CAAC,CAA2B;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IACpF,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAA;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9C,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,YAAmC;IACnD,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;QAChF,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,GAAG,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;QACtF,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,EAAE,EAAE,YAAY,CAAC,EAAE;QACnB,GAAG,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAA;AACH,CAAC;AAED,0EAA0E;AAC1E,SAAS,SAAS,CAAC,YAAmC;IACpD,OAAO,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAA;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,CAA2B,EAAE,KAAc;IAChE,IAAI,KAAK,YAAY,QAAQ,CAAC,eAAe;QAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACxF,IAAI,KAAK,YAAY,QAAQ,CAAC,kBAAkB;QAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACvB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,GAAG;SACZ,CAAC,CAAA;IACJ,IAAI,KAAK,YAAY,QAAQ,CAAC,kBAAkB;QAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3F,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,QAAQ,CAAC,CAA2B;IAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAA2B;IAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;QACvB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,yDAAyD;QAClE,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAA2B;IAC/C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;QACvB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,0EAA0E;QACnF,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Hono } from 'hono';
|
|
2
|
+
import { Handler as vocs_Handler } from 'vocs/server';
|
|
3
|
+
import type * as App from '../../App.js';
|
|
4
|
+
/**
|
|
5
|
+
* The docs route group: the Vocs API reference served at the app root.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { docs } from 'tapimo/docs'
|
|
9
|
+
* App.create(options).route('/', data()).route('/', platform()).route('/', docs())
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* The group registers no routes itself: it carries a reference factory (via
|
|
13
|
+
* {@link Metadata}) that `App.create` mounts on finalize, after every group and
|
|
14
|
+
* the OpenAPI/OpenRPC documents — so the reference always renders the full
|
|
15
|
+
* composed surface and its catch-all stays behind API routes, wherever the
|
|
16
|
+
* group sits in the composition chain.
|
|
17
|
+
*
|
|
18
|
+
* Lives in the `tapimo/docs` subpath (never re-exported from `tapimo/apps`) so
|
|
19
|
+
* the Vocs renderer and its multi-MB icon/font data are bundled only by
|
|
20
|
+
* deployments that actually serve docs.
|
|
21
|
+
*/
|
|
22
|
+
export declare function docs(options?: docs.Options): Hono<App.Environment, import("hono/types").BlankSchema, "/">;
|
|
23
|
+
export declare namespace docs {
|
|
24
|
+
/** Vocs API reference options (theme, top navigation, logo, socials, …). */
|
|
25
|
+
type Options = NonNullable<Parameters<typeof vocs_Handler.openApi>[0]['vocs']>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=App.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/apps/docs/App.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAErD,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAMxC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,OAAY,gEAc9C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,4EAA4E;IAC5E,KAAK,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;CAC/E"}
|