@candledottv/agent-sdk 0.4.5 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +222 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/hyperliquid.d.ts +116 -0
- package/dist/hyperliquid.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +577 -1
- package/package.json +2 -1
package/dist/client.d.ts
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
* validation error). Backoff is 250ms * 2^n, jittered to 50-100% of that, capped at 8s,
|
|
27
27
|
* bounded by `maxRetries` (default 3 retries after the initial attempt).
|
|
28
28
|
*/
|
|
29
|
+
import { type HyperliquidNetwork, type HyperliquidTypedData } from "./hyperliquid";
|
|
29
30
|
import type { SecretStore } from "./secret-store";
|
|
30
31
|
import { type WalletChain } from "./wallet-import";
|
|
31
32
|
export type Chain = "solana" | "hood";
|
|
@@ -83,6 +84,16 @@ export interface CandleClientOptions {
|
|
|
83
84
|
* is unset, before any signing.
|
|
84
85
|
*/
|
|
85
86
|
evmRpcUrl?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Candle's Hyperliquid builder address, pinned by the caller. Every perps build is checked
|
|
89
|
+
* against it before signing: an order must name exactly this builder (or none, on a Max order),
|
|
90
|
+
* and setup must approve exactly it. Unset, the client uses `CANDLE_HYPERLIQUID_BUILDER_ADDRESS`
|
|
91
|
+
* when this release carries one, and otherwise trusts the builder `GET /agent/perps/config`
|
|
92
|
+
* reports the first time and holds every later build to that same address.
|
|
93
|
+
*/
|
|
94
|
+
hyperliquidBuilder?: string;
|
|
95
|
+
/** The Hyperliquid network this client trades on. Default mainnet; a build for another is refused. */
|
|
96
|
+
hyperliquidNetwork?: HyperliquidNetwork;
|
|
86
97
|
}
|
|
87
98
|
/** The bonding-curve terms of one (chain, quote asset, tier) cell. */
|
|
88
99
|
export interface CurveTerms {
|
|
@@ -1161,6 +1172,166 @@ export interface SignLinkedTransactionResult {
|
|
|
1161
1172
|
signedTransaction: string;
|
|
1162
1173
|
encoding: string;
|
|
1163
1174
|
}
|
|
1175
|
+
/** The EVM TEE wallet a perps action signs from: its row id and its Privy wallet id. */
|
|
1176
|
+
export interface PerpsWalletRef {
|
|
1177
|
+
/** The linked wallet's row id (the relay's :id, and the secretStore key). */
|
|
1178
|
+
walletId: string;
|
|
1179
|
+
/** The same wallet's Privy wallet id, the authorization signature's URL target. */
|
|
1180
|
+
privyWalletId: string;
|
|
1181
|
+
/** Sign and submit (default), or stop after the build and its check and return the build. */
|
|
1182
|
+
submit?: boolean;
|
|
1183
|
+
}
|
|
1184
|
+
export type PerpsSide = "long" | "short";
|
|
1185
|
+
export interface PerpsOpenParams extends PerpsWalletRef {
|
|
1186
|
+
coin: string;
|
|
1187
|
+
side: PerpsSide;
|
|
1188
|
+
/** Size in the coin, a decimal string. */
|
|
1189
|
+
size: string;
|
|
1190
|
+
/** `market` (IOC at the mid moved by the slippage) or `limit`. Default: limit when `price` is set. */
|
|
1191
|
+
type?: "market" | "limit";
|
|
1192
|
+
price?: string;
|
|
1193
|
+
tif?: "Gtc" | "Alo" | "Ioc";
|
|
1194
|
+
slippageBps?: number;
|
|
1195
|
+
/** Optional reduce-only take-profit trigger price. */
|
|
1196
|
+
takeProfit?: string;
|
|
1197
|
+
/** Optional reduce-only stop-loss trigger price. */
|
|
1198
|
+
stopLoss?: string;
|
|
1199
|
+
}
|
|
1200
|
+
export interface PerpsCloseParams extends PerpsWalletRef {
|
|
1201
|
+
coin: string;
|
|
1202
|
+
/** Part of the position to close; the whole position when omitted. */
|
|
1203
|
+
size?: string;
|
|
1204
|
+
slippageBps?: number;
|
|
1205
|
+
}
|
|
1206
|
+
export interface PerpsCancelParams extends PerpsWalletRef {
|
|
1207
|
+
/** The cloid of an order Candle built (an open, or one of its take-profit / stop-loss legs). */
|
|
1208
|
+
cloid: string;
|
|
1209
|
+
}
|
|
1210
|
+
export interface PerpsModifyParams extends PerpsWalletRef {
|
|
1211
|
+
cloid: string;
|
|
1212
|
+
price?: string;
|
|
1213
|
+
size?: string;
|
|
1214
|
+
slippageBps?: number;
|
|
1215
|
+
}
|
|
1216
|
+
export interface PerpsLeverageParams extends PerpsWalletRef {
|
|
1217
|
+
coin: string;
|
|
1218
|
+
leverage: number;
|
|
1219
|
+
mode?: "cross" | "isolated";
|
|
1220
|
+
}
|
|
1221
|
+
export interface PerpsMarginParams extends PerpsWalletRef {
|
|
1222
|
+
coin: string;
|
|
1223
|
+
/** USD, up to 6 decimals; negative removes isolated margin. */
|
|
1224
|
+
amount: string;
|
|
1225
|
+
}
|
|
1226
|
+
/** What a perps build route returns: the plaintext action, its nonce, and the stamped typed data. */
|
|
1227
|
+
export interface PerpsBuild {
|
|
1228
|
+
success: true;
|
|
1229
|
+
perpOrderId: string;
|
|
1230
|
+
kind: "open" | "close" | "modify" | "cancel" | "leverage" | "margin" | "setup";
|
|
1231
|
+
network: HyperliquidNetwork;
|
|
1232
|
+
walletId: string;
|
|
1233
|
+
address: string;
|
|
1234
|
+
nonce: number;
|
|
1235
|
+
action: Record<string, unknown>;
|
|
1236
|
+
typedData: HyperliquidTypedData;
|
|
1237
|
+
claimHash: string;
|
|
1238
|
+
cloid?: string;
|
|
1239
|
+
childCloids?: string[];
|
|
1240
|
+
targetCloid?: string;
|
|
1241
|
+
notionalUsdMicros: number | null;
|
|
1242
|
+
reservedUsdMicros: number;
|
|
1243
|
+
windowKey: string | null;
|
|
1244
|
+
builder: {
|
|
1245
|
+
address: string;
|
|
1246
|
+
feeTenthsBps: number;
|
|
1247
|
+
} | null;
|
|
1248
|
+
exchangeUrl: string;
|
|
1249
|
+
preview: Record<string, unknown>;
|
|
1250
|
+
}
|
|
1251
|
+
/**
|
|
1252
|
+
* The outcome of one perps action. `signature` is present once the relay signed; it stays valid
|
|
1253
|
+
* for resubmission until the nonce leaves Hyperliquid's two-day window, so a failed submit keeps
|
|
1254
|
+
* it. `exchange` is Hyperliquid's own answer, unchanged (`status: "ok"` or `"err"`, and per-order
|
|
1255
|
+
* statuses for an order).
|
|
1256
|
+
*/
|
|
1257
|
+
export interface PerpsActionResult {
|
|
1258
|
+
build: PerpsBuild;
|
|
1259
|
+
signature: string | null;
|
|
1260
|
+
submitted: boolean;
|
|
1261
|
+
exchange: unknown | null;
|
|
1262
|
+
submitError?: string;
|
|
1263
|
+
}
|
|
1264
|
+
export interface PerpsAccountStatus {
|
|
1265
|
+
walletId: string;
|
|
1266
|
+
address: string;
|
|
1267
|
+
network: HyperliquidNetwork;
|
|
1268
|
+
mode: string;
|
|
1269
|
+
standardMode: boolean;
|
|
1270
|
+
accountValue: string;
|
|
1271
|
+
withdrawable: string;
|
|
1272
|
+
builder: string;
|
|
1273
|
+
approvedFeeTenthsBps: number;
|
|
1274
|
+
}
|
|
1275
|
+
/** `ready: true` when the builder approval is already on Hyperliquid; otherwise the setup action's outcome. */
|
|
1276
|
+
export type PerpsSetupResult = PerpsAccountStatus & {
|
|
1277
|
+
ready: boolean;
|
|
1278
|
+
action?: PerpsActionResult;
|
|
1279
|
+
};
|
|
1280
|
+
export interface PerpsConfig {
|
|
1281
|
+
success: true;
|
|
1282
|
+
network: HyperliquidNetwork;
|
|
1283
|
+
exchangeUrl: string;
|
|
1284
|
+
builder: string | null;
|
|
1285
|
+
builderFeeTenthsBps: number;
|
|
1286
|
+
maxBuilderFeeRate: string;
|
|
1287
|
+
allowedActionTypes: string[];
|
|
1288
|
+
limits: Record<string, unknown>;
|
|
1289
|
+
}
|
|
1290
|
+
export interface PerpsPositions {
|
|
1291
|
+
success: true;
|
|
1292
|
+
walletId: string;
|
|
1293
|
+
address: string;
|
|
1294
|
+
network: HyperliquidNetwork;
|
|
1295
|
+
mode: string;
|
|
1296
|
+
standardMode: boolean;
|
|
1297
|
+
account: Record<string, string>;
|
|
1298
|
+
withdrawable: string;
|
|
1299
|
+
positions: Record<string, unknown>[];
|
|
1300
|
+
}
|
|
1301
|
+
export interface PerpsOrderRecord {
|
|
1302
|
+
perpOrderId: string;
|
|
1303
|
+
kind: PerpsBuild["kind"];
|
|
1304
|
+
actionType: string;
|
|
1305
|
+
coin: string | null;
|
|
1306
|
+
nonce: number;
|
|
1307
|
+
cloid: string | null;
|
|
1308
|
+
childCloids: string[];
|
|
1309
|
+
targetCloid: string | null;
|
|
1310
|
+
status: string;
|
|
1311
|
+
venueStatus: string | null;
|
|
1312
|
+
filledSz: string | null;
|
|
1313
|
+
notionalUsdMicros: number | null;
|
|
1314
|
+
reservedUsdMicros: number;
|
|
1315
|
+
releasedUsdMicros: number;
|
|
1316
|
+
windowKey: string | null;
|
|
1317
|
+
builtAt: number;
|
|
1318
|
+
settledAt: number | null;
|
|
1319
|
+
}
|
|
1320
|
+
export interface PerpsOrders {
|
|
1321
|
+
success: true;
|
|
1322
|
+
walletId: string;
|
|
1323
|
+
address: string;
|
|
1324
|
+
network: HyperliquidNetwork;
|
|
1325
|
+
/** Hyperliquid's open orders for the wallet's address. */
|
|
1326
|
+
open: Record<string, unknown>[];
|
|
1327
|
+
/** Candle's record of every action it built for this wallet, newest first. */
|
|
1328
|
+
recorded: PerpsOrderRecord[];
|
|
1329
|
+
settled: {
|
|
1330
|
+
perpOrderId: string;
|
|
1331
|
+
status: string;
|
|
1332
|
+
releasedUsdMicros: number;
|
|
1333
|
+
}[];
|
|
1334
|
+
}
|
|
1164
1335
|
/**
|
|
1165
1336
|
* The base assets `swap()` converts between. Inlined rather than imported from `@candle/shared`'s
|
|
1166
1337
|
* `BaseAssetKey`, for the same reason `packages/mcp` inlines its curve constants: this SDK is
|
|
@@ -1560,6 +1731,8 @@ export declare class CandleClient {
|
|
|
1560
1731
|
private readonly secretStore?;
|
|
1561
1732
|
private readonly solanaRpcUrl?;
|
|
1562
1733
|
private readonly evmRpcUrl?;
|
|
1734
|
+
private readonly hyperliquidNetwork;
|
|
1735
|
+
private hyperliquidBuilder?;
|
|
1563
1736
|
/** Reads scoped to what this key may spend: a one-shot swap's receipt, and spendable balances. */
|
|
1564
1737
|
readonly wallets: CandleWallets;
|
|
1565
1738
|
constructor(opts: CandleClientOptions);
|
|
@@ -2019,6 +2192,54 @@ export declare class CandleClient {
|
|
|
2019
2192
|
* depends on an earlier leg already being mined.
|
|
2020
2193
|
*/
|
|
2021
2194
|
private signBroadcastAndWaitEvmLeg;
|
|
2195
|
+
/** The server's perps settings: network, Candle's builder, this key's fee, and its limits. */
|
|
2196
|
+
perpsConfig(): Promise<PerpsConfig>;
|
|
2197
|
+
/**
|
|
2198
|
+
* One-time setup (R1): approves Candle's builder fee at 0.1% unless Hyperliquid already shows
|
|
2199
|
+
* it, and reports the account's mode and balance. Idempotent.
|
|
2200
|
+
*/
|
|
2201
|
+
perpsSetup(params: PerpsWalletRef): Promise<PerpsSetupResult>;
|
|
2202
|
+
/** Open (or add to) a position: build, check, sign through the relay, submit to Hyperliquid. */
|
|
2203
|
+
perpsOpen(params: PerpsOpenParams): Promise<PerpsActionResult>;
|
|
2204
|
+
/** Close all or part of a position with a reduce-only IOC order. Reserves nothing. */
|
|
2205
|
+
perpsClose(params: PerpsCloseParams): Promise<PerpsActionResult>;
|
|
2206
|
+
/** Cancel an order Candle built, by its cloid. */
|
|
2207
|
+
perpsCancel(params: PerpsCancelParams): Promise<PerpsActionResult>;
|
|
2208
|
+
/** Change a resting order's price or size. The replacement gets a new cloid. */
|
|
2209
|
+
perpsModify(params: PerpsModifyParams): Promise<PerpsActionResult>;
|
|
2210
|
+
/** Set a market's leverage and margin mode on the account, within the key's maxLeverage. */
|
|
2211
|
+
perpsLeverage(params: PerpsLeverageParams): Promise<PerpsActionResult>;
|
|
2212
|
+
/** Add (positive) or remove (negative) isolated margin on an isolated position. */
|
|
2213
|
+
perpsMargin(params: PerpsMarginParams): Promise<PerpsActionResult>;
|
|
2214
|
+
/** Positions and account value, read live from Hyperliquid by the wallet's address. */
|
|
2215
|
+
perpsPositions(walletId: string): Promise<PerpsPositions>;
|
|
2216
|
+
/** Open orders on Hyperliquid, and Candle's record of every action it built, settled first. */
|
|
2217
|
+
perpsOrders(walletId: string, opts?: {
|
|
2218
|
+
limit?: number;
|
|
2219
|
+
}): Promise<PerpsOrders>;
|
|
2220
|
+
/** Fills, read live from Hyperliquid by the wallet's address. */
|
|
2221
|
+
perpsFills(walletId: string): Promise<{
|
|
2222
|
+
success: true;
|
|
2223
|
+
fills: Record<string, unknown>[];
|
|
2224
|
+
}>;
|
|
2225
|
+
/** Funding payments since `startTime` (epoch ms; default the last 7 days). */
|
|
2226
|
+
perpsFunding(walletId: string, startTime?: number): Promise<{
|
|
2227
|
+
success: true;
|
|
2228
|
+
startTime: number;
|
|
2229
|
+
funding: Record<string, unknown>[];
|
|
2230
|
+
}>;
|
|
2231
|
+
/** The builder every perps build is checked against (see `hyperliquidBuilder` in the options). */
|
|
2232
|
+
private perpsBuilder;
|
|
2233
|
+
/**
|
|
2234
|
+
* Check, sign, submit (HL-ED-2, HL-ED-5). The check runs before the relay is called; a build
|
|
2235
|
+
* that fails it is refused with nothing signed.
|
|
2236
|
+
*/
|
|
2237
|
+
private perpsComplete;
|
|
2238
|
+
/**
|
|
2239
|
+
* Sign EIP-712 typed data with a linked EVM TEE wallet through the relay
|
|
2240
|
+
* (`eth_signTypedData_v4`). The relay signs only typed data a perps build stamped.
|
|
2241
|
+
*/
|
|
2242
|
+
private signLinkedTypedData;
|
|
2022
2243
|
private requireKey;
|
|
2023
2244
|
private headers;
|
|
2024
2245
|
private requestJson;
|
|
@@ -2046,7 +2267,7 @@ export declare class CandleClient {
|
|
|
2046
2267
|
private jsonRpcCallRaw;
|
|
2047
2268
|
}
|
|
2048
2269
|
/** This build's own version. Kept in lockstep with package.json by the release-bump CI guard. */
|
|
2049
|
-
export declare const SDK_VERSION = "0.4.
|
|
2270
|
+
export declare const SDK_VERSION = "0.4.6";
|
|
2050
2271
|
/** Test seam: the once-per-process latch would otherwise weld the suite's first case to the rest. */
|
|
2051
2272
|
export declare function __resetSdkUpdateNoticeForTest(): void;
|
|
2052
2273
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAcH,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAK1B,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;AACrC;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB,CAAA;AAC9E,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEpE,MAAM,WAAW,mBAAmB;IAClC,2HAA2H;IAC3H,MAAM,EAAE,MAAM,CAAA;IACd,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,mIAAmI;IACnI,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sGAAsG;IACtG,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC;AAOD,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,2FAA2F;IAC3F,cAAc,EAAE,OAAO,CAAA;IACvB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;CAC/C;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1C,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;CACzC;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB;AAED,4FAA4F;AAC5F,MAAM,WAAW,aAAa;IAC5B,yFAAyF;IACzF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,oFAAoF;IACpF,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACxB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,kGAAkG;IAClG,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAMrF,UAAU,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;CACxD;AAED,8FAA8F;AAC9F,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,iFAAiF;AACjF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,mEAAmE;AACnE,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,2GAA2G;IAC3G,aAAa,EAAE,MAAM,CAAA;IACrB,yGAAyG;IACzG,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,gGAAgG;IAChG,GAAG,CAAC,EAAE,QAAQ,CAAA;CACf;AAED,+CAA+C;AAC/C,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,GAAG,yBAAyB,CAAA;AAE3F,qDAAqD;AACrD,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uHAAuH;IACvH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,uEAAuE;AACvE,MAAM,WAAW,uBAAwB,SAAQ,YAAY;CAE5D;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE,IAAI,CAAA;IACZ,QAAQ,EAAE;QACR,KAAK,EAAE,KAAK,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,UAAU,CAAA;QAChB,mBAAmB,EAAE,MAAM,CAAA;QAC3B,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;QAC9B,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAA;IACrD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/B;AAED,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,EAAE,IAAI,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,6FAA6F;AAC7F,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAA;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,IAAI,CAAA;IAC9D,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,gCAAgC,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1F,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAA;IAC5D,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,aAAa,EAAE,mBAAmB,GAAG,eAAe,CAAA;IACpD,SAAS,EAAE,eAAe,CAAA;CAC3B;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,mBAAmB,GAAG,eAAe,CAAA;IACpD,KAAK,EAAE,cAAc,CAAA;CACtB;AAED,sFAAsF;AACtF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,+FAA+F;AAC/F,MAAM,MAAM,YAAY,GACpB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpE;IACE,OAAO,EAAE,IAAI,CAAA;IACb,cAAc,EAAE,IAAI,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,kFAAkF;IAClF,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACnD,CAAA;AAEL,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAA;IACb,iDAAiD;IACjD,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,CAAA;IACzC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3E,gFAAgF;IAChF,KAAK,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACpD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,cAAc,GAAG,OAAO,GAAG,MAAM,CAAA;IACpD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2FAA2F;IAC3F,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;CAC/B;AAED,wFAAwF;AACxF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,WAAW,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAA;IACb,IAAI,EAAE,eAAe,EAAE,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,CAAA;AAEnD,iGAAiG;AACjG,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,8FAA8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE;QACH,gBAAgB,EAAE,MAAM,CAAA;QACxB,gGAAgG;QAChG,OAAO,EAAE,MAAM,CAAA;QACf,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,mBAAmB,EAAE,CAAA;QACpC;;;;WAIG;QACH,aAAa,EAAE,MAAM,CAAA;QACrB,mGAAmG;QACnG,iBAAiB,EAAE,MAAM,CAAA;QACzB,2EAA2E;QAC3E,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,4FAA4F;QAC5F,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,gBAAgB,EAAE,MAAM,CAAA;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,gFAAgF;QAChF,SAAS,EAAE,OAAO,CAAA;QAClB;;;;;;;;;WASG;QACH,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;QAC7B;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;KACzC,CAAA;CACF;AAED,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,mBAAmB,EAAE,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,oGAAoG;IACpG,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,gBAAgB,GAAG,YAAY,GAAG,oBAAoB,CAAA;AAE9G;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB;;;;OAIG;IACH,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAAA;IACjD,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,cAAc,CAAC,EAAE,uBAAuB,CAAA;CACzC;AAED,6FAA6F;AAC7F,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,GAAG,YAAY,CAAA;CAChC;AAED,0GAA0G;AAC1G,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,gEAAgE;IAChE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAA;CACtC;AAED,sGAAsG;AACtG,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,6GAA6G;AAC7G,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,4EAA4E;IAC5E,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;IACnC,yEAAyE;IACzE,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB;AAED,2GAA2G;AAC3G,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,GAAG,EAAE,sBAAsB,EAAE,CAAA;IAC7B,wCAAwC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAA;CACnE;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,EAAE,qBAAqB,EAAE,CAAA;IACjC,GAAG,EAAE,wBAAwB,EAAE,CAAA;IAC/B,uEAAuE;IACvE,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAA;IACxC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B;AAED,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,2FAA2F;IAC3F,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,kBAAkB,CAAA;IAC/B;;;OAGG;IACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAMD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAA;AAEtC,uGAAuG;AACvG,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtF,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;IACf,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;IACjB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;CACtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,uGAAuG;AACvG,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;IAC3B,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,qIAAqI;IACrI,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,2FAA2F;IAC3F,KAAK,EAAE,OAAO,GAAG,KAAK,CAAA;IACtB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IACE,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,QAAQ,CAAA;IACf,SAAS,EAAE,oBAAoB,CAAA;IAC/B,GAAG,EAAE,QAAQ,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAA;CACtB,GACD;IACE,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,kBAAkB,CAAA;IAC7B,GAAG,EAAE,QAAQ,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,2GAA2G;IAC3G,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAEL;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,QAAQ,CAAA;IACb,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAA;QACjB,cAAc,EAAE,MAAM,CAAA;QACtB,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB;;;;;;;;;;;;;WAaG;QACH,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,UAAU,CAAA;CACnB;AAED,6LAA6L;AAC7L,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,mBAAmB,CAAA;AAE1E;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,mJAAmJ;AACnJ,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;IACpB,EAAE,EAAE,KAAK,GAAG,MAAM,CAAA;IAClB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,KAAK,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,mGAAmG;AACnG,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,cAAc,CAAA;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,mGAAmG;IACnG,cAAc,EAAE,MAAM,CAAA;IACtB,kHAAkH;IAClH,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,qEAAqE;IACrE,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,yDAAyD;IACzD,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAID,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAA;IACrB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAExC,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;IACf,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,sGAAsG;IACtG,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qGAAqG;AACrG,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC9E,OAAO,EAAE,kBAAkB,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,SAAS,EAAE,oBAAoB,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACzD,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,+GAA+G;AAC/G,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAElG,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,IAAI,CAAA;IACb,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,kBAAkB,CAAA;IAC3B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,8EAA8E;IAC9E,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IAC5B,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC9E;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAEnE,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAA;IAClB,kEAAkE;IAClE,EAAE,EAAE,YAAY,CAAA;IAChB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wHAAwH;IACxH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,+FAA+F;IAC/F,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kGAAkG;IAClG,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,8BAA8B;AAC9B,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEhF,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;CAC3C;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,mBAAmB,CAAA;IAC1B,IAAI,EAAE,iBAAiB,EAAE,CAAA;IACzB,qBAAqB;IACrB,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAClC,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,kBAAkB,GAAG,aAAa,CAAA;IACrD,0FAA0F;IAC1F,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACrD;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAA;IACnC,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oGAAoG;AACpG,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,UAAU,EAAE,CAAA;IAClB,MAAM,EAAE,OAAO,CAAA;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAClD;;;;;OAKG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACtE;AAED,wGAAwG;AACxG,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,WAAW,GAAG,YAAY,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,QAAQ,GACR,wBAAwB,GACxB,uBAAuB,CAAA;AAE3B,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,MAAM,EAAE,2BAA2B,CAAA;CACpC;AAED,MAAM,WAAW,gCAAgC;IAC/C,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,gGAAgG;AAChG,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,IAAI,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,wBAAwB,EAAE,CAAA;IACnC,+DAA+D;IAC/D,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,2FAA2F;IAC3F,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,0FAA0F;IAC1F,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,gHAAgH;IAChH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,uCAAuC;AACvC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oGAAoG;AACpG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,IAAI,CAAA;IACb,kFAAkF;IAClF,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,kBAAkB,CAAA;IACpD,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,YAAY,EAAE,uBAAuB,EAAE,CAAA;IACvC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,yGAAyG;IACzG,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,yBAAyB,EAAE,CAAA;IACnC,0EAA0E;IAC1E,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,2DAA2D;IAC3D,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAChD,OAAO,EAAE,wBAAwB,EAAE,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5D;AAED,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;IACf,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,2IAA2I;IAC3I,IAAI,EAAE,MAAM,GAAG;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;IAChE,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;IACrD,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wGAAwG;AACxG,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG;IACvD,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAQD,8KAA8K;AAC9K,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7F,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,iBAAiB,CAAA;IACxB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAChF,KAAK,EAAE,iBAAiB,CAAA;IACxB,wKAAwK;IACxK,SAAS,EAAE,qBAAqB,EAAE,CAAA;CACnC;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,KAAK,CAAA;AAClD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEvD;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,mBAAmB,CAAA;IACzB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CACxC;AAED,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,uBAAuB,EAAE,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAC1E;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAA;AAE/D,uOAAuO;AACvO,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,iBAAiB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,+KAA+K;AAC/K,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG;IACxF,KAAK,EAAE,iBAAiB,CAAA;IACxB,SAAS,EAAE,2BAA2B,EAAE,CAAA;CACzC,CAAA;AA6PD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,kBAAkB,CAAC,CAAQ;IAEnC,kGAAkG;IAClG,QAAQ,CAAC,OAAO,EAAE,aAAa,CAiB9B;gBAEW,IAAI,EAAE,mBAAmB;IAuB/B,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMxD,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAK3C;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,aAAa;IAkBpG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ3D,QAAQ,CACZ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAClE,OAAO,CAAC,WAAW,CAAC;IASjB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IAK/D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQhE;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAMtC,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAK7D;;;OAGG;IACG,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBvD;;;;OAIG;IACG,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAMrD,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAS9D;;;;;OAKG;IACG,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAgB7G,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvE;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAWxF;;;;;OAKG;IACG,WAAW,CAAC,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMtF;;;;;;OAMG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKzE;;;;;;OAMG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAStG;;;;;;;;OAQG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKjE;;;;;;;;OAQG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAK9C;;;;;;;;;;;;;;;;OAgBG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAS1G;;;;;;;OAOG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAE,CAAC;IASxD;;;;;OAKG;IACG,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAKlD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAMjD;;;;OAIG;IACG,yBAAyB,CAAC,GAAG,GAAE,gCAAqC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAS/G;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAK3F,gGAAgG;IAC1F,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASrF;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,WAAW,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,eAAe,EAAE,MAAM,CAAA;QACvB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsB/B;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKlF;;;;;OAKG;IACG,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACG,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKnE;;;;;;;;OAQG;IACG,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKzE;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOnE;;;;;;;;;;;OAWG;IACG,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAiDtG;;;;;;;;;;OAUG;IACG,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBlH;;;;;;;;;;;;;;;;;;;OAmBG;IACG,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsCvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyH5D;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAuG1E;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAMxF;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,kBAAkB,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0B3F;;;;;;;;;;;;;;OAcG;IACG,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAsC/E;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAWd;;;;;OAKG;YACW,0BAA0B;IA0CxC,8FAA8F;IACxF,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAKzC;;;OAGG;IACG,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBnE,gGAAgG;IAC1F,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOpE,sFAAsF;IAChF,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOtE,kDAAkD;IAC5C,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IASxE,gFAAgF;IAC1E,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOxE,4FAA4F;IACtF,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAO5E,mFAAmF;IAC7E,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAUxE,uFAAuF;IACjF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ/D,+FAA+F;IACzF,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAOxF,iEAAiE;IAC3D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,CAAC;IAKhG,8EAA8E;IACxE,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,CAAC;IAOpF,kGAAkG;YACpF,YAAY;IAQ1B;;;OAGG;YACW,aAAa;IAsD3B;;;OAGG;YACW,mBAAmB;IAiCjC,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,OAAO;YAWD,WAAW;YASX,aAAa;IAO3B;;;;;;;;;;OAUG;YACW,WAAW;IA0BzB;;;;;;;OAOG;YACW,cAAc;CAoB7B;AAwBD,iGAAiG;AACjG,eAAO,MAAM,WAAW,UAAU,CAAA;AAiBlC,qGAAqG;AACrG,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
export type HyperliquidNetwork = "mainnet" | "testnet";
|
|
2
|
+
/** The L1 action types a Candle build may carry. Anything else is refused before signing. */
|
|
3
|
+
export declare const HYPERLIQUID_ALLOWED_ACTION_TYPES: readonly ["order", "cancel", "modify", "updateLeverage", "updateIsolatedMargin"];
|
|
4
|
+
/** Hyperliquid's `/exchange` endpoint per network. The client never takes this from the server. */
|
|
5
|
+
export declare const HYPERLIQUID_EXCHANGE_URLS: Readonly<Record<HyperliquidNetwork, string>>;
|
|
6
|
+
/** Hyperliquid's public `/info` endpoint per network. */
|
|
7
|
+
export declare const HYPERLIQUID_INFO_URLS: Readonly<Record<HyperliquidNetwork, string>>;
|
|
8
|
+
/**
|
|
9
|
+
* Candle's builder address as this release knows it, for `verifyPerpsBuild`. Null until the address
|
|
10
|
+
* is fixed for a published release; until then a client pins it from its own configuration.
|
|
11
|
+
*/
|
|
12
|
+
export declare const CANDLE_HYPERLIQUID_BUILDER_ADDRESS: string | null;
|
|
13
|
+
/** The builder fee Candle charges at most, in tenths of a basis point (0.1%), and as setup signs it. */
|
|
14
|
+
export declare const HYPERLIQUID_MAX_BUILDER_FEE_TENTHS_BPS = 100;
|
|
15
|
+
export declare const HYPERLIQUID_MAX_BUILDER_FEE_RATE = "0.1%";
|
|
16
|
+
/** `signatureChainId` for the ApproveBuilderFee domain (chain id 42161). */
|
|
17
|
+
export declare const HYPERLIQUID_SIGNATURE_CHAIN_ID = "0xa4b1";
|
|
18
|
+
/** Python `msgpack.packb(value)` for the JSON-like values an action uses. Throws on anything else. */
|
|
19
|
+
export declare function msgpackEncode(value: unknown): Uint8Array;
|
|
20
|
+
/** The official SDK's `action_hash(action, None, nonce, None)`, as `0x` + 64 hex. */
|
|
21
|
+
export declare function hyperliquidActionHash(action: unknown, nonce: number | bigint): string;
|
|
22
|
+
export interface HyperliquidTypedData {
|
|
23
|
+
domain: Record<string, unknown>;
|
|
24
|
+
types: Record<string, {
|
|
25
|
+
name: string;
|
|
26
|
+
type: string;
|
|
27
|
+
}[]>;
|
|
28
|
+
primary_type: string;
|
|
29
|
+
message: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
export declare function hyperliquidL1TypedData(connectionId: string, network: HyperliquidNetwork): HyperliquidTypedData;
|
|
32
|
+
export declare function hyperliquidApproveBuilderFeeTypedData(builder: string, nonce: number): HyperliquidTypedData;
|
|
33
|
+
/**
|
|
34
|
+
* Deterministic JSON with object keys sorted by UTF-16 code unit at every level: RFC 8785 for the
|
|
35
|
+
* values a typed-data relay body holds (strings, safe integers, booleans, arrays, objects). Used to
|
|
36
|
+
* compare two values structurally, and as the payload a Privy authorization signature covers.
|
|
37
|
+
*/
|
|
38
|
+
export declare function hyperliquidCanonicalJson(value: unknown): string;
|
|
39
|
+
/** The part of a Candle perps build response the check reads. */
|
|
40
|
+
export interface PerpsBuildToVerify {
|
|
41
|
+
network?: string;
|
|
42
|
+
nonce: number;
|
|
43
|
+
action: Record<string, unknown>;
|
|
44
|
+
typedData: HyperliquidTypedData;
|
|
45
|
+
address?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface VerifyPerpsBuildOptions {
|
|
48
|
+
/** The network this client trades on. Default mainnet. */
|
|
49
|
+
network?: HyperliquidNetwork;
|
|
50
|
+
/**
|
|
51
|
+
* Candle's builder address, as this client knows it independently of the build. Orders must
|
|
52
|
+
* name exactly this builder (or none), and setup must approve exactly it.
|
|
53
|
+
*/
|
|
54
|
+
builder: string;
|
|
55
|
+
/** The wallet address this client expects to act for, when it knows it. */
|
|
56
|
+
address?: string;
|
|
57
|
+
closeOrder?: {
|
|
58
|
+
asset: number;
|
|
59
|
+
isBuy: boolean;
|
|
60
|
+
size: string;
|
|
61
|
+
};
|
|
62
|
+
/** Bind the plaintext action to the method and arguments the caller actually requested. */
|
|
63
|
+
intent?: {
|
|
64
|
+
method: "setup" | "open" | "close" | "cancel" | "modify" | "leverage" | "margin";
|
|
65
|
+
params: Record<string, unknown>;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export type PerpsBuildCheck = {
|
|
69
|
+
ok: true;
|
|
70
|
+
kind: "l1" | "approveBuilderFee";
|
|
71
|
+
} | {
|
|
72
|
+
ok: false;
|
|
73
|
+
reason: string;
|
|
74
|
+
};
|
|
75
|
+
/** Read the position directly from the pinned venue before signing a close. The request
|
|
76
|
+
* names no side and can omit size, so neither may be inferred from the build's preview.
|
|
77
|
+
*/
|
|
78
|
+
export declare function hyperliquidCloseOrder(fetcher: (url: string, init?: RequestInit) => Promise<{
|
|
79
|
+
ok: boolean;
|
|
80
|
+
text(): Promise<string>;
|
|
81
|
+
}>, network: HyperliquidNetwork, address: string, params: Record<string, unknown>): Promise<{
|
|
82
|
+
asset: number;
|
|
83
|
+
isBuy: boolean;
|
|
84
|
+
size: string;
|
|
85
|
+
}>;
|
|
86
|
+
/**
|
|
87
|
+
* Check a build before signing it. Never throws; a refusal names what failed. Callers must not
|
|
88
|
+
* sign, and must not call the relay, unless this returns `ok: true`.
|
|
89
|
+
*/
|
|
90
|
+
export declare function verifyPerpsBuild(build: PerpsBuildToVerify, opts: VerifyPerpsBuildOptions): PerpsBuildCheck;
|
|
91
|
+
/** A 65-byte `0x` signature split the way `/exchange` takes it. */
|
|
92
|
+
export declare function hyperliquidSplitSignature(signature: string): {
|
|
93
|
+
r: string;
|
|
94
|
+
s: string;
|
|
95
|
+
v: number;
|
|
96
|
+
};
|
|
97
|
+
/** The `/exchange` request body for a signed action. */
|
|
98
|
+
export declare function hyperliquidExchangeBody(action: Record<string, unknown>, nonce: number, signature: string): {
|
|
99
|
+
action: Record<string, unknown>;
|
|
100
|
+
nonce: number;
|
|
101
|
+
signature: {
|
|
102
|
+
r: string;
|
|
103
|
+
s: string;
|
|
104
|
+
v: number;
|
|
105
|
+
};
|
|
106
|
+
vaultAddress: null;
|
|
107
|
+
expiresAfter: null;
|
|
108
|
+
};
|
|
109
|
+
/** The relay body (Privy's wallet-RPC wire shape) for typed data. */
|
|
110
|
+
export declare function hyperliquidRelayBody(typedData: HyperliquidTypedData): {
|
|
111
|
+
method: "eth_signTypedData_v4";
|
|
112
|
+
params: {
|
|
113
|
+
typed_data: HyperliquidTypedData;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=hyperliquid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperliquid.d.ts","sourceRoot":"","sources":["../src/hyperliquid.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAA;AAEtD,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,kFAMnC,CAAA;AAEV,mGAAmG;AACnG,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAGlF,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAG9E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,EAAE,MAAM,GAAG,IAAW,CAAA;AAErE,wGAAwG;AACxG,eAAO,MAAM,sCAAsC,MAAM,CAAA;AACzD,eAAO,MAAM,gCAAgC,SAAS,CAAA;AAEtD,4EAA4E;AAC5E,eAAO,MAAM,8BAA8B,WAAW,CAAA;AAmGtD,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAIxD;AAQD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOrF;AAID,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAA;IACvD,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,oBAAoB,CAY9G;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAmB1G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAkBD,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,SAAS,EAAE,oBAAoB,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,2FAA2F;IAC3F,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;QAChF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAChC,CAAA;CACF;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,mBAAmB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAkI5G;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,EAC/F,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,uBAAuB,GAAG,eAAe,CAwE1G;AAID,mEAAmE;AACnE,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAKhG;AAED,wDAAwD;AACxD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;WARtC,MAAM;WAAK,MAAM;WAAK,MAAM;;;;EAU9F;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,oBAAoB;;;;;EAEnE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export type { AcceptedJob, AgentProfile, AgentTierInfo, AtomicBundleLegRole, AtomicBundleLegSigner, AtomicBundleResponseLeg, AtomicFirstBuyRequest, AtomicLaunchPayer, BaseAssetKey, BuildAtomicLaunchRequest, BuildAtomicLaunchResult, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, CandleWallets, Chain, CloseEmptyAccountsBatch, CloseEmptyAccountsFailure, CloseEmptyAccountsJob, CloseEmptyAccountsPreview, CloseEmptyAccountsRequest, CloseEmptyAccountsResult, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EmptyTokenAccount, EmptyTokenAccountSkipReason, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchAtomicFirstBuyRequest, LaunchAtomicPayer, LaunchAtomicRequest, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, LinkedSwapRequest, LinkedSwapResult, LinkedWalletRow, ListWalletsResult, MarketState, MigrationStatus, PortfolioHoodSection, PortfolioHoodTeeWallet, PortfolioHoodToken, PortfolioHoodWallet, PortfolioPrice, PortfolioResult, PortfolioSolanaTeeWallet, PortfolioSolanaToken, PortfolioSolanaWallet, PortfolioUnpricedReason, PresetsPayload, PreviewCloseEmptyAccountsRequest, ProfileChainPnl, ProfileOpenPosition, ProfilePnlResult, ProfileTradeRow, ProfileTradesResult, ProfileWalletPnl, ProfileWalletRow, ProfileWalletScope, ProfileWalletsResult, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfBalancesOptions, SelfBalancesResult, SelfLaunchRequest, SelfWallet, SelfWalletBalance, SignLinkedTransactionParams, SignLinkedTransactionResult, SkippedEmptyTokenAccount, SolanaTradeArtifacts, SpendLimit, SpendLimitsResult, SubmitAtomicLaunchRequest, SubmitAtomicLaunchResult, SubmitTradeRequest, SwapRequest, SwapResult, SwapSettlement, SwapSettlementLeg, SwapSettlementState, TradeFee, TradePayer, TradeRequest, TradeRoute, TradeRouteHop, TradeSide, VerifyResult, } from "./client";
|
|
1
|
+
export type { AcceptedJob, AgentProfile, AgentTierInfo, AtomicBundleLegRole, AtomicBundleLegSigner, AtomicBundleResponseLeg, AtomicFirstBuyRequest, AtomicLaunchPayer, BaseAssetKey, BuildAtomicLaunchRequest, BuildAtomicLaunchResult, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, CandleWallets, Chain, CloseEmptyAccountsBatch, CloseEmptyAccountsFailure, CloseEmptyAccountsJob, CloseEmptyAccountsPreview, CloseEmptyAccountsRequest, CloseEmptyAccountsResult, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EmptyTokenAccount, EmptyTokenAccountSkipReason, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchAtomicFirstBuyRequest, LaunchAtomicPayer, LaunchAtomicRequest, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, LinkedSwapRequest, LinkedSwapResult, LinkedWalletRow, ListWalletsResult, MarketState, MigrationStatus, PerpsAccountStatus, PerpsActionResult, PerpsBuild, PerpsCancelParams, PerpsCloseParams, PerpsConfig, PerpsLeverageParams, PerpsMarginParams, PerpsModifyParams, PerpsOpenParams, PerpsOrderRecord, PerpsOrders, PerpsPositions, PerpsSetupResult, PerpsSide, PerpsWalletRef, PortfolioHoodSection, PortfolioHoodTeeWallet, PortfolioHoodToken, PortfolioHoodWallet, PortfolioPrice, PortfolioResult, PortfolioSolanaTeeWallet, PortfolioSolanaToken, PortfolioSolanaWallet, PortfolioUnpricedReason, PresetsPayload, PreviewCloseEmptyAccountsRequest, ProfileChainPnl, ProfileOpenPosition, ProfilePnlResult, ProfileTradeRow, ProfileTradesResult, ProfileWalletPnl, ProfileWalletRow, ProfileWalletScope, ProfileWalletsResult, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfBalancesOptions, SelfBalancesResult, SelfLaunchRequest, SelfWallet, SelfWalletBalance, SignLinkedTransactionParams, SignLinkedTransactionResult, SkippedEmptyTokenAccount, SolanaTradeArtifacts, SpendLimit, SpendLimitsResult, SubmitAtomicLaunchRequest, SubmitAtomicLaunchResult, SubmitTradeRequest, SwapRequest, SwapResult, SwapSettlement, SwapSettlementLeg, SwapSettlementState, TradeFee, TradePayer, TradeRequest, TradeRoute, TradeRouteHop, TradeSide, VerifyResult, } from "./client";
|
|
2
2
|
export { CandleClient } from "./client";
|
|
3
3
|
export type { BridgeErrorCode, CandleErrorPayload, CandleRoutingDetail, SolanaRpcErrorData } from "./errors";
|
|
4
4
|
export { BRIDGE_ERROR_CODES, CandleApiError, isSolanaRpcErrorData, JsonRpcError } from "./errors";
|
|
5
|
+
export { CANDLE_HYPERLIQUID_BUILDER_ADDRESS, HYPERLIQUID_ALLOWED_ACTION_TYPES, HYPERLIQUID_EXCHANGE_URLS, type HyperliquidNetwork, type HyperliquidTypedData, hyperliquidActionHash, type PerpsBuildCheck, type PerpsBuildToVerify, type VerifyPerpsBuildOptions, verifyPerpsBuild, } from "./hyperliquid";
|
|
5
6
|
export { KeychainSecretStore } from "./keychain-secret-store";
|
|
6
7
|
export type { SecretStore } from "./secret-store";
|
|
7
8
|
export { EncryptedFileSecretStore, InMemorySecretStore } from "./secret-store";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,KAAK,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,gCAAgC,EAChC,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC5G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -260,6 +260,406 @@ async function waitForReceipt(rpc, txHash, opts = {}) {
|
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
// src/hyperliquid.ts
|
|
264
|
+
import { keccak_256 } from "@noble/hashes/sha3";
|
|
265
|
+
var HYPERLIQUID_ALLOWED_ACTION_TYPES = [
|
|
266
|
+
"order",
|
|
267
|
+
"cancel",
|
|
268
|
+
"modify",
|
|
269
|
+
"updateLeverage",
|
|
270
|
+
"updateIsolatedMargin"
|
|
271
|
+
];
|
|
272
|
+
var HYPERLIQUID_EXCHANGE_URLS = {
|
|
273
|
+
mainnet: "https://api.hyperliquid.xyz/exchange",
|
|
274
|
+
testnet: "https://api.hyperliquid-testnet.xyz/exchange"
|
|
275
|
+
};
|
|
276
|
+
var CANDLE_HYPERLIQUID_BUILDER_ADDRESS = null;
|
|
277
|
+
var HYPERLIQUID_MAX_BUILDER_FEE_TENTHS_BPS = 100;
|
|
278
|
+
var HYPERLIQUID_MAX_BUILDER_FEE_RATE = "0.1%";
|
|
279
|
+
var HYPERLIQUID_SIGNATURE_CHAIN_ID = "0xa4b1";
|
|
280
|
+
var ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
281
|
+
var UINT64_MAX = (1n << 64n) - 1n;
|
|
282
|
+
var INT64_MIN = -(1n << 63n);
|
|
283
|
+
function pushUint(out, value, width) {
|
|
284
|
+
for (let i = width - 1;i >= 0; i--)
|
|
285
|
+
out.push(Number(value >> BigInt(i * 8) & 0xffn));
|
|
286
|
+
}
|
|
287
|
+
function packInteger(out, value) {
|
|
288
|
+
if (value >= 0n) {
|
|
289
|
+
if (value > UINT64_MAX)
|
|
290
|
+
throw new Error("msgpack: integer above uint64");
|
|
291
|
+
if (value < 0x80n)
|
|
292
|
+
out.push(Number(value));
|
|
293
|
+
else if (value <= 0xffn) {
|
|
294
|
+
out.push(204);
|
|
295
|
+
pushUint(out, value, 1);
|
|
296
|
+
} else if (value <= 0xffffn) {
|
|
297
|
+
out.push(205);
|
|
298
|
+
pushUint(out, value, 2);
|
|
299
|
+
} else if (value <= 0xffffffffn) {
|
|
300
|
+
out.push(206);
|
|
301
|
+
pushUint(out, value, 4);
|
|
302
|
+
} else {
|
|
303
|
+
out.push(207);
|
|
304
|
+
pushUint(out, value, 8);
|
|
305
|
+
}
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
if (value < INT64_MIN)
|
|
309
|
+
throw new Error("msgpack: integer below int64");
|
|
310
|
+
if (value >= -32n)
|
|
311
|
+
out.push(Number(value & 0xffn));
|
|
312
|
+
else if (value >= -128n) {
|
|
313
|
+
out.push(208);
|
|
314
|
+
pushUint(out, value & 0xffn, 1);
|
|
315
|
+
} else if (value >= -32768n) {
|
|
316
|
+
out.push(209);
|
|
317
|
+
pushUint(out, value & 0xffffn, 2);
|
|
318
|
+
} else if (value >= -2147483648n) {
|
|
319
|
+
out.push(210);
|
|
320
|
+
pushUint(out, value & 0xffffffffn, 4);
|
|
321
|
+
} else {
|
|
322
|
+
out.push(211);
|
|
323
|
+
pushUint(out, value & UINT64_MAX, 8);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
function packHeader(out, length, fixBase, fixMax, codes) {
|
|
327
|
+
if (length <= fixMax) {
|
|
328
|
+
out.push(fixBase | length);
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
const [c8, c16, c32] = codes;
|
|
332
|
+
if (c8 !== undefined && c8 !== 0 && length <= 255) {
|
|
333
|
+
out.push(c8);
|
|
334
|
+
pushUint(out, BigInt(length), 1);
|
|
335
|
+
} else if (length <= 65535) {
|
|
336
|
+
out.push(c16);
|
|
337
|
+
pushUint(out, BigInt(length), 2);
|
|
338
|
+
} else {
|
|
339
|
+
out.push(c32);
|
|
340
|
+
pushUint(out, BigInt(length), 4);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
function packValue(out, value) {
|
|
344
|
+
if (value === null)
|
|
345
|
+
out.push(192);
|
|
346
|
+
else if (value === false)
|
|
347
|
+
out.push(194);
|
|
348
|
+
else if (value === true)
|
|
349
|
+
out.push(195);
|
|
350
|
+
else if (typeof value === "bigint")
|
|
351
|
+
packInteger(out, value);
|
|
352
|
+
else if (typeof value === "number") {
|
|
353
|
+
if (!Number.isSafeInteger(value))
|
|
354
|
+
throw new Error(`msgpack: ${value} is not a safe integer`);
|
|
355
|
+
packInteger(out, BigInt(value));
|
|
356
|
+
} else if (typeof value === "string") {
|
|
357
|
+
const bytes = new TextEncoder().encode(value);
|
|
358
|
+
packHeader(out, bytes.length, 160, 31, [217, 218, 219]);
|
|
359
|
+
for (const b of bytes)
|
|
360
|
+
out.push(b);
|
|
361
|
+
} else if (Array.isArray(value)) {
|
|
362
|
+
packHeader(out, value.length, 144, 15, [0, 220, 221]);
|
|
363
|
+
for (const item of value)
|
|
364
|
+
packValue(out, item);
|
|
365
|
+
} else if (typeof value === "object") {
|
|
366
|
+
const entries = Object.entries(value).filter(([, v]) => v !== undefined);
|
|
367
|
+
for (const [key] of entries) {
|
|
368
|
+
if (/^(0|[1-9][0-9]*)$/.test(key))
|
|
369
|
+
throw new Error(`msgpack: integer-like key "${key}"`);
|
|
370
|
+
}
|
|
371
|
+
packHeader(out, entries.length, 128, 15, [0, 222, 223]);
|
|
372
|
+
for (const [key, item] of entries) {
|
|
373
|
+
packValue(out, key);
|
|
374
|
+
packValue(out, item);
|
|
375
|
+
}
|
|
376
|
+
} else {
|
|
377
|
+
throw new Error(`msgpack: cannot encode a ${typeof value}`);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
function msgpackEncode(value) {
|
|
381
|
+
const out = [];
|
|
382
|
+
packValue(out, value);
|
|
383
|
+
return Uint8Array.from(out);
|
|
384
|
+
}
|
|
385
|
+
function toHex(bytes) {
|
|
386
|
+
let out = "";
|
|
387
|
+
for (const b of bytes)
|
|
388
|
+
out += b.toString(16).padStart(2, "0");
|
|
389
|
+
return out;
|
|
390
|
+
}
|
|
391
|
+
function hyperliquidActionHash(action, nonce) {
|
|
392
|
+
const n = BigInt(nonce);
|
|
393
|
+
if (n < 0n || n > UINT64_MAX)
|
|
394
|
+
throw new Error("hyperliquidActionHash: nonce out of range");
|
|
395
|
+
const out = Array.from(msgpackEncode(action));
|
|
396
|
+
pushUint(out, n, 8);
|
|
397
|
+
out.push(0);
|
|
398
|
+
return `0x${toHex(keccak_256(Uint8Array.from(out)))}`;
|
|
399
|
+
}
|
|
400
|
+
function hyperliquidL1TypedData(connectionId, network) {
|
|
401
|
+
return {
|
|
402
|
+
domain: { name: "Exchange", version: "1", chainId: 1337, verifyingContract: ZERO_ADDRESS },
|
|
403
|
+
types: {
|
|
404
|
+
Agent: [
|
|
405
|
+
{ name: "source", type: "string" },
|
|
406
|
+
{ name: "connectionId", type: "bytes32" }
|
|
407
|
+
]
|
|
408
|
+
},
|
|
409
|
+
primary_type: "Agent",
|
|
410
|
+
message: { source: network === "mainnet" ? "a" : "b", connectionId }
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
function hyperliquidApproveBuilderFeeTypedData(builder, nonce) {
|
|
414
|
+
return {
|
|
415
|
+
domain: { name: "HyperliquidSignTransaction", version: "1", chainId: 42161, verifyingContract: ZERO_ADDRESS },
|
|
416
|
+
types: {
|
|
417
|
+
"HyperliquidTransaction:ApproveBuilderFee": [
|
|
418
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
419
|
+
{ name: "maxFeeRate", type: "string" },
|
|
420
|
+
{ name: "builder", type: "address" },
|
|
421
|
+
{ name: "nonce", type: "uint64" }
|
|
422
|
+
]
|
|
423
|
+
},
|
|
424
|
+
primary_type: "HyperliquidTransaction:ApproveBuilderFee",
|
|
425
|
+
message: {
|
|
426
|
+
hyperliquidChain: "Mainnet",
|
|
427
|
+
maxFeeRate: HYPERLIQUID_MAX_BUILDER_FEE_RATE,
|
|
428
|
+
builder: builder.toLowerCase(),
|
|
429
|
+
nonce
|
|
430
|
+
}
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
function canonical(value) {
|
|
434
|
+
if (value === null || typeof value !== "object")
|
|
435
|
+
return JSON.stringify(value);
|
|
436
|
+
if (Array.isArray(value))
|
|
437
|
+
return `[${value.map(canonical).join(",")}]`;
|
|
438
|
+
const record = value;
|
|
439
|
+
return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${canonical(record[key])}`).join(",")}}`;
|
|
440
|
+
}
|
|
441
|
+
function sameValue(a, b) {
|
|
442
|
+
return canonical(a) === canonical(b);
|
|
443
|
+
}
|
|
444
|
+
var EVM_ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
|
|
445
|
+
function checkBuilderField(action, builder) {
|
|
446
|
+
if (!("builder" in action) || action.builder === undefined)
|
|
447
|
+
return null;
|
|
448
|
+
const field = action.builder;
|
|
449
|
+
if (typeof field !== "object" || field === null)
|
|
450
|
+
return "builder field is not an object";
|
|
451
|
+
if (typeof field.b !== "string" || field.b.toLowerCase() !== builder.toLowerCase()) {
|
|
452
|
+
return "the order names a builder that is not Candle's";
|
|
453
|
+
}
|
|
454
|
+
if (typeof field.f !== "number" || !Number.isInteger(field.f) || field.f <= 0 || field.f > HYPERLIQUID_MAX_BUILDER_FEE_TENTHS_BPS) {
|
|
455
|
+
return "the builder fee is outside Candle's 0.1% maximum";
|
|
456
|
+
}
|
|
457
|
+
return null;
|
|
458
|
+
}
|
|
459
|
+
function decimal(value) {
|
|
460
|
+
if (typeof value !== "string" || !/^-?(0|[1-9][0-9]*)(\.[0-9]{1,18})?$/.test(value))
|
|
461
|
+
return null;
|
|
462
|
+
const negative = value.startsWith("-");
|
|
463
|
+
const [whole = "0", frac = ""] = (negative ? value.slice(1) : value).split(".");
|
|
464
|
+
const n = BigInt(whole) * 10n ** 18n + BigInt(frac.padEnd(18, "0"));
|
|
465
|
+
return negative ? -n : n;
|
|
466
|
+
}
|
|
467
|
+
function checkActionIntent(action, intent) {
|
|
468
|
+
const mainAsset = (a) => typeof a === "number" && Number.isInteger(a) && a >= 0 && a < 1e4;
|
|
469
|
+
const orderList = action.type === "order" ? action.orders : action.type === "modify" ? [action.order] : [];
|
|
470
|
+
if (!Array.isArray(orderList))
|
|
471
|
+
return "invalid orders";
|
|
472
|
+
for (const raw of orderList) {
|
|
473
|
+
if (!raw || typeof raw !== "object")
|
|
474
|
+
return "invalid order";
|
|
475
|
+
const o = raw;
|
|
476
|
+
if (!mainAsset(o.a))
|
|
477
|
+
return "order asset is outside the main perp universe";
|
|
478
|
+
if (typeof o.b !== "boolean" || typeof o.r !== "boolean" || (decimal(o.s) ?? 0n) <= 0n || (decimal(o.p) ?? 0n) <= 0n)
|
|
479
|
+
return "invalid order side, size, price or reduce-only flag";
|
|
480
|
+
}
|
|
481
|
+
if (action.type === "cancel") {
|
|
482
|
+
if (!Array.isArray(action.cancels) || action.cancels.length !== 1 || !mainAsset(action.cancels[0]?.a))
|
|
483
|
+
return "invalid cancel asset";
|
|
484
|
+
}
|
|
485
|
+
if ((action.type === "updateLeverage" || action.type === "updateIsolatedMargin") && !mainAsset(action.asset))
|
|
486
|
+
return "invalid action asset";
|
|
487
|
+
if (!intent)
|
|
488
|
+
return null;
|
|
489
|
+
const { method, params: p } = intent;
|
|
490
|
+
const types = {
|
|
491
|
+
setup: "approveBuilderFee",
|
|
492
|
+
open: "order",
|
|
493
|
+
close: "order",
|
|
494
|
+
cancel: "cancel",
|
|
495
|
+
modify: "modify",
|
|
496
|
+
leverage: "updateLeverage",
|
|
497
|
+
margin: "updateIsolatedMargin"
|
|
498
|
+
};
|
|
499
|
+
if (action.type !== types[method])
|
|
500
|
+
return "action type does not match the requested method";
|
|
501
|
+
if (method === "leverage") {
|
|
502
|
+
if (action.leverage !== p.leverage || action.isCross !== (p.mode !== "isolated"))
|
|
503
|
+
return "leverage or mode does not match the request";
|
|
504
|
+
}
|
|
505
|
+
if (method === "margin") {
|
|
506
|
+
const amount = decimal(p.amount);
|
|
507
|
+
if (amount === null || amount % 10n ** 12n !== 0n || !Number.isSafeInteger(action.ntli) || BigInt(action.ntli) !== amount / 10n ** 12n || action.isBuy !== true)
|
|
508
|
+
return "isolated margin amount does not match the request";
|
|
509
|
+
}
|
|
510
|
+
if (method === "open" || method === "close" || method === "modify") {
|
|
511
|
+
const list = orderList;
|
|
512
|
+
const first = list[0];
|
|
513
|
+
if (!first)
|
|
514
|
+
return "missing requested order";
|
|
515
|
+
const typ = first.t;
|
|
516
|
+
if (!typ?.limit)
|
|
517
|
+
return "requested order is not a limit/IOC order";
|
|
518
|
+
if (method === "open") {
|
|
519
|
+
const buy = p.side === "long" || p.side === "buy";
|
|
520
|
+
if (first.b !== buy || first.r !== false || decimal(first.s) !== decimal(p.size))
|
|
521
|
+
return "order side, size or reduce-only flag does not match the request";
|
|
522
|
+
const tif = (p.type ?? (p.price === undefined ? "market" : "limit")) === "market" ? "Ioc" : p.tif ?? "Gtc";
|
|
523
|
+
if (typ.limit.tif !== tif)
|
|
524
|
+
return "order time in force does not match the request";
|
|
525
|
+
const triggers = [
|
|
526
|
+
["takeProfit", "tp"],
|
|
527
|
+
["stopLoss", "sl"]
|
|
528
|
+
].filter(([field]) => p[field] != null);
|
|
529
|
+
if (list.length !== 1 + triggers.length || action.grouping !== (triggers.length ? "normalTpsl" : "na"))
|
|
530
|
+
return "unexpected extra orders or grouping";
|
|
531
|
+
for (let i = 0;i < triggers.length; i++) {
|
|
532
|
+
const [field, kind] = triggers[i];
|
|
533
|
+
const leg = list[i + 1];
|
|
534
|
+
if (!leg)
|
|
535
|
+
return "missing trigger order";
|
|
536
|
+
const trigger = leg.t?.trigger;
|
|
537
|
+
if (leg.a !== first.a || leg.b !== !buy || leg.r !== true || decimal(leg.s) !== decimal(p.size) || trigger?.tpsl !== kind || trigger.isMarket !== true || decimal(trigger.triggerPx) !== decimal(p[field]))
|
|
538
|
+
return "trigger side, size, reduce-only flag or price does not match the request";
|
|
539
|
+
}
|
|
540
|
+
} else {
|
|
541
|
+
if (list.length !== 1)
|
|
542
|
+
return "unexpected extra orders";
|
|
543
|
+
if (method === "close" && (first.r !== true || typ.limit.tif !== "Ioc" || p.size != null && (decimal(first.s) ?? 0n) > (decimal(p.size) ?? 0n)))
|
|
544
|
+
return "close size or reduce-only flag does not match the request";
|
|
545
|
+
if (method === "modify" && p.size != null && decimal(first.s) !== decimal(p.size))
|
|
546
|
+
return "replacement size does not match the request";
|
|
547
|
+
}
|
|
548
|
+
if (p.price != null && decimal(first.p) !== decimal(p.price))
|
|
549
|
+
return "order price does not match the request";
|
|
550
|
+
}
|
|
551
|
+
return null;
|
|
552
|
+
}
|
|
553
|
+
async function hyperliquidCloseOrder(fetcher, network, address, params) {
|
|
554
|
+
const read = async (body) => {
|
|
555
|
+
const res = await fetcher(HYPERLIQUID_EXCHANGE_URLS[network].replace("/exchange", "/info"), {
|
|
556
|
+
method: "POST",
|
|
557
|
+
headers: { "content-type": "application/json" },
|
|
558
|
+
body: JSON.stringify(body)
|
|
559
|
+
});
|
|
560
|
+
if (!res.ok)
|
|
561
|
+
throw new Error("Cannot read the close position from Hyperliquid");
|
|
562
|
+
return JSON.parse(await res.text());
|
|
563
|
+
};
|
|
564
|
+
const [meta, state] = await Promise.all([read({ type: "meta" }), read({ type: "clearinghouseState", user: address })]);
|
|
565
|
+
const coin = String(params.coin).toUpperCase();
|
|
566
|
+
const asset = meta.universe.findIndex((m) => m.name.toUpperCase() === coin);
|
|
567
|
+
const szi = state.assetPositions.find((p) => p.position.coin.toUpperCase() === coin)?.position.szi;
|
|
568
|
+
const signed = decimal(szi);
|
|
569
|
+
if (asset < 0 || asset >= 1e4 || signed === null || signed === 0n)
|
|
570
|
+
throw new Error("No main-universe position to close");
|
|
571
|
+
const held = signed < 0n ? -signed : signed;
|
|
572
|
+
const asked = params.size == null ? held : decimal(params.size);
|
|
573
|
+
if (asked === null || asked <= 0n)
|
|
574
|
+
throw new Error("Invalid close size");
|
|
575
|
+
const size = asked < held ? String(params.size) : String(szi).replace(/^-/, "");
|
|
576
|
+
return { asset, isBuy: signed < 0n, size };
|
|
577
|
+
}
|
|
578
|
+
function verifyPerpsBuild(build, opts) {
|
|
579
|
+
try {
|
|
580
|
+
const network = opts.network ?? "mainnet";
|
|
581
|
+
if (!EVM_ADDRESS_RE.test(opts.builder))
|
|
582
|
+
return { ok: false, reason: "no valid Candle builder address to check against" };
|
|
583
|
+
if (build.network !== undefined && build.network !== network) {
|
|
584
|
+
return { ok: false, reason: `the build is for ${build.network}, this client trades ${network}` };
|
|
585
|
+
}
|
|
586
|
+
if (opts.address && build.address && build.address.toLowerCase() !== opts.address.toLowerCase()) {
|
|
587
|
+
return { ok: false, reason: "the build is for a different wallet" };
|
|
588
|
+
}
|
|
589
|
+
if (!Number.isSafeInteger(build.nonce) || build.nonce <= 0)
|
|
590
|
+
return { ok: false, reason: "invalid nonce" };
|
|
591
|
+
const typed = build.typedData;
|
|
592
|
+
if (!typed || typeof typed !== "object")
|
|
593
|
+
return { ok: false, reason: "no typed data" };
|
|
594
|
+
const action = build.action;
|
|
595
|
+
if (!action || typeof action !== "object")
|
|
596
|
+
return { ok: false, reason: "no action" };
|
|
597
|
+
const intentRefusal = checkActionIntent(action, opts.intent);
|
|
598
|
+
if (intentRefusal)
|
|
599
|
+
return { ok: false, reason: intentRefusal };
|
|
600
|
+
if (opts.closeOrder) {
|
|
601
|
+
const order = action.orders[0];
|
|
602
|
+
if (!order || order.a !== opts.closeOrder.asset || order.b !== opts.closeOrder.isBuy || decimal(order.s) !== decimal(opts.closeOrder.size) || order.r !== true)
|
|
603
|
+
return { ok: false, reason: "close side, asset or size does not match the requested position" };
|
|
604
|
+
}
|
|
605
|
+
if (typed.primary_type === "Agent") {
|
|
606
|
+
const type = action.type;
|
|
607
|
+
if (typeof type !== "string" || !HYPERLIQUID_ALLOWED_ACTION_TYPES.includes(type)) {
|
|
608
|
+
return { ok: false, reason: `action type ${String(type)} is not one Candle builds` };
|
|
609
|
+
}
|
|
610
|
+
if (type === "order") {
|
|
611
|
+
const refusal = checkBuilderField(action, opts.builder);
|
|
612
|
+
if (refusal)
|
|
613
|
+
return { ok: false, reason: refusal };
|
|
614
|
+
} else if ("builder" in action) {
|
|
615
|
+
return { ok: false, reason: `a ${type} action carries no builder` };
|
|
616
|
+
}
|
|
617
|
+
if ("vaultAddress" in action)
|
|
618
|
+
return { ok: false, reason: "the action names a vault" };
|
|
619
|
+
const expected = hyperliquidL1TypedData(hyperliquidActionHash(action, build.nonce), network);
|
|
620
|
+
if (!sameValue(typed, expected)) {
|
|
621
|
+
return { ok: false, reason: "the typed data does not commit to this action and nonce" };
|
|
622
|
+
}
|
|
623
|
+
return { ok: true, kind: "l1" };
|
|
624
|
+
}
|
|
625
|
+
if (typed.primary_type === "HyperliquidTransaction:ApproveBuilderFee") {
|
|
626
|
+
const expected = hyperliquidApproveBuilderFeeTypedData(opts.builder, build.nonce);
|
|
627
|
+
if (!sameValue(typed, expected)) {
|
|
628
|
+
return { ok: false, reason: "the builder approval is not Candle's builder at 0.1% on Mainnet" };
|
|
629
|
+
}
|
|
630
|
+
const expectedAction = {
|
|
631
|
+
type: "approveBuilderFee",
|
|
632
|
+
hyperliquidChain: "Mainnet",
|
|
633
|
+
signatureChainId: HYPERLIQUID_SIGNATURE_CHAIN_ID,
|
|
634
|
+
maxFeeRate: HYPERLIQUID_MAX_BUILDER_FEE_RATE,
|
|
635
|
+
builder: opts.builder.toLowerCase(),
|
|
636
|
+
nonce: build.nonce
|
|
637
|
+
};
|
|
638
|
+
if (!sameValue(action, expectedAction)) {
|
|
639
|
+
return { ok: false, reason: "the approval action does not match its typed data" };
|
|
640
|
+
}
|
|
641
|
+
return { ok: true, kind: "approveBuilderFee" };
|
|
642
|
+
}
|
|
643
|
+
return { ok: false, reason: `primary type ${String(typed.primary_type)} is not one the relay signs` };
|
|
644
|
+
} catch (err) {
|
|
645
|
+
return { ok: false, reason: err instanceof Error ? err.message : "unreadable build" };
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
function hyperliquidSplitSignature(signature) {
|
|
649
|
+
if (!/^0x[0-9a-fA-F]{130}$/.test(signature))
|
|
650
|
+
throw new Error("Not a 65-byte signature");
|
|
651
|
+
let v = Number.parseInt(signature.slice(130, 132), 16);
|
|
652
|
+
if (v < 27)
|
|
653
|
+
v += 27;
|
|
654
|
+
return { r: `0x${signature.slice(2, 66)}`, s: `0x${signature.slice(66, 130)}`, v };
|
|
655
|
+
}
|
|
656
|
+
function hyperliquidExchangeBody(action, nonce, signature) {
|
|
657
|
+
return { action, nonce, signature: hyperliquidSplitSignature(signature), vaultAddress: null, expiresAfter: null };
|
|
658
|
+
}
|
|
659
|
+
function hyperliquidRelayBody(typedData) {
|
|
660
|
+
return { method: "eth_signTypedData_v4", params: { typed_data: typedData } };
|
|
661
|
+
}
|
|
662
|
+
|
|
263
663
|
// src/internal/rpc-endpoint.ts
|
|
264
664
|
function describeRpcEndpoint(url) {
|
|
265
665
|
try {
|
|
@@ -474,6 +874,8 @@ class CandleClient {
|
|
|
474
874
|
secretStore;
|
|
475
875
|
solanaRpcUrl;
|
|
476
876
|
evmRpcUrl;
|
|
877
|
+
hyperliquidNetwork;
|
|
878
|
+
hyperliquidBuilder;
|
|
477
879
|
wallets = {
|
|
478
880
|
swapReceipt: async (hash) => {
|
|
479
881
|
this.requireKey("wallets.swapReceipt()");
|
|
@@ -509,6 +911,10 @@ class CandleClient {
|
|
|
509
911
|
this.solanaRpcUrl = opts.solanaRpcUrl;
|
|
510
912
|
if (opts.evmRpcUrl !== undefined)
|
|
511
913
|
this.evmRpcUrl = opts.evmRpcUrl;
|
|
914
|
+
this.hyperliquidNetwork = opts.hyperliquidNetwork ?? "mainnet";
|
|
915
|
+
const builder = opts.hyperliquidBuilder ?? CANDLE_HYPERLIQUID_BUILDER_ADDRESS;
|
|
916
|
+
if (builder)
|
|
917
|
+
this.hyperliquidBuilder = builder.toLowerCase();
|
|
512
918
|
}
|
|
513
919
|
async getQuotePairs(chain) {
|
|
514
920
|
const query = chain ? `?chain=${chain}` : "";
|
|
@@ -1030,6 +1436,171 @@ class CandleClient {
|
|
|
1030
1436
|
await waitForReceipt(params.rpc, txHash);
|
|
1031
1437
|
return txHash;
|
|
1032
1438
|
}
|
|
1439
|
+
async perpsConfig() {
|
|
1440
|
+
this.requireKey("perpsConfig()");
|
|
1441
|
+
return this.requestJson("GET", "/api/v1/agent/perps/config");
|
|
1442
|
+
}
|
|
1443
|
+
async perpsSetup(params) {
|
|
1444
|
+
this.requireKey("perpsSetup()");
|
|
1445
|
+
const res = await this.requestJson("POST", "/api/v1/agent/perps/setup", { walletId: params.walletId });
|
|
1446
|
+
const status = {
|
|
1447
|
+
walletId: res.walletId,
|
|
1448
|
+
address: res.address,
|
|
1449
|
+
network: res.network,
|
|
1450
|
+
mode: res.mode,
|
|
1451
|
+
standardMode: res.standardMode,
|
|
1452
|
+
accountValue: res.accountValue,
|
|
1453
|
+
withdrawable: res.withdrawable,
|
|
1454
|
+
builder: res.builder,
|
|
1455
|
+
approvedFeeTenthsBps: res.approvedFeeTenthsBps,
|
|
1456
|
+
ready: res.ready
|
|
1457
|
+
};
|
|
1458
|
+
if (res.ready)
|
|
1459
|
+
return status;
|
|
1460
|
+
return { ...status, action: await this.perpsComplete(res, params, "setup") };
|
|
1461
|
+
}
|
|
1462
|
+
async perpsOpen(params) {
|
|
1463
|
+
this.requireKey("perpsOpen()");
|
|
1464
|
+
const { walletId, privyWalletId: _p, submit: _s, ...order } = params;
|
|
1465
|
+
const build = await this.requestJson("POST", "/api/v1/agent/perps/open", { walletId, ...order });
|
|
1466
|
+
return this.perpsComplete(build, params, "open");
|
|
1467
|
+
}
|
|
1468
|
+
async perpsClose(params) {
|
|
1469
|
+
this.requireKey("perpsClose()");
|
|
1470
|
+
const { walletId, privyWalletId: _p, submit: _s, ...close } = params;
|
|
1471
|
+
const build = await this.requestJson("POST", "/api/v1/agent/perps/close", { walletId, ...close });
|
|
1472
|
+
return this.perpsComplete(build, params, "close");
|
|
1473
|
+
}
|
|
1474
|
+
async perpsCancel(params) {
|
|
1475
|
+
this.requireKey("perpsCancel()");
|
|
1476
|
+
const build = await this.requestJson("POST", "/api/v1/agent/perps/cancel", {
|
|
1477
|
+
walletId: params.walletId,
|
|
1478
|
+
cloid: params.cloid
|
|
1479
|
+
});
|
|
1480
|
+
return this.perpsComplete(build, params, "cancel");
|
|
1481
|
+
}
|
|
1482
|
+
async perpsModify(params) {
|
|
1483
|
+
this.requireKey("perpsModify()");
|
|
1484
|
+
const { walletId, privyWalletId: _p, submit: _s, ...modify } = params;
|
|
1485
|
+
const build = await this.requestJson("POST", "/api/v1/agent/perps/modify", { walletId, ...modify });
|
|
1486
|
+
return this.perpsComplete(build, params, "modify");
|
|
1487
|
+
}
|
|
1488
|
+
async perpsLeverage(params) {
|
|
1489
|
+
this.requireKey("perpsLeverage()");
|
|
1490
|
+
const { walletId, privyWalletId: _p, submit: _s, ...leverage } = params;
|
|
1491
|
+
const build = await this.requestJson("POST", "/api/v1/agent/perps/leverage", { walletId, ...leverage });
|
|
1492
|
+
return this.perpsComplete(build, params, "leverage");
|
|
1493
|
+
}
|
|
1494
|
+
async perpsMargin(params) {
|
|
1495
|
+
this.requireKey("perpsMargin()");
|
|
1496
|
+
const build = await this.requestJson("POST", "/api/v1/agent/perps/margin", {
|
|
1497
|
+
walletId: params.walletId,
|
|
1498
|
+
coin: params.coin,
|
|
1499
|
+
amount: params.amount
|
|
1500
|
+
});
|
|
1501
|
+
return this.perpsComplete(build, params, "margin");
|
|
1502
|
+
}
|
|
1503
|
+
async perpsPositions(walletId) {
|
|
1504
|
+
this.requireKey("perpsPositions()");
|
|
1505
|
+
return this.requestJson("GET", `/api/v1/agent/perps/positions?walletId=${encodeURIComponent(walletId)}`);
|
|
1506
|
+
}
|
|
1507
|
+
async perpsOrders(walletId, opts = {}) {
|
|
1508
|
+
this.requireKey("perpsOrders()");
|
|
1509
|
+
const params = new URLSearchParams({ walletId });
|
|
1510
|
+
if (opts.limit !== undefined)
|
|
1511
|
+
params.set("limit", String(opts.limit));
|
|
1512
|
+
return this.requestJson("GET", `/api/v1/agent/perps/orders?${params}`);
|
|
1513
|
+
}
|
|
1514
|
+
async perpsFills(walletId) {
|
|
1515
|
+
this.requireKey("perpsFills()");
|
|
1516
|
+
return this.requestJson("GET", `/api/v1/agent/perps/fills?walletId=${encodeURIComponent(walletId)}`);
|
|
1517
|
+
}
|
|
1518
|
+
async perpsFunding(walletId, startTime) {
|
|
1519
|
+
this.requireKey("perpsFunding()");
|
|
1520
|
+
const params = new URLSearchParams({ walletId });
|
|
1521
|
+
if (startTime !== undefined)
|
|
1522
|
+
params.set("startTime", String(startTime));
|
|
1523
|
+
return this.requestJson("GET", `/api/v1/agent/perps/funding?${params}`);
|
|
1524
|
+
}
|
|
1525
|
+
async perpsBuilder() {
|
|
1526
|
+
if (this.hyperliquidBuilder)
|
|
1527
|
+
return this.hyperliquidBuilder;
|
|
1528
|
+
const config = await this.perpsConfig();
|
|
1529
|
+
if (!config.builder)
|
|
1530
|
+
throw new Error("perps: the server reports no Hyperliquid builder address");
|
|
1531
|
+
this.hyperliquidBuilder = config.builder.toLowerCase();
|
|
1532
|
+
return this.hyperliquidBuilder;
|
|
1533
|
+
}
|
|
1534
|
+
async perpsComplete(build, ref, method) {
|
|
1535
|
+
const check = verifyPerpsBuild(build, {
|
|
1536
|
+
builder: await this.perpsBuilder(),
|
|
1537
|
+
network: this.hyperliquidNetwork,
|
|
1538
|
+
intent: { method, params: ref }
|
|
1539
|
+
});
|
|
1540
|
+
if (!check.ok)
|
|
1541
|
+
throw new Error(`perps: refused to sign this build: ${check.reason}`);
|
|
1542
|
+
if (method === "close") {
|
|
1543
|
+
const closeOrder = await hyperliquidCloseOrder(this.fetchImpl, this.hyperliquidNetwork, build.address, ref);
|
|
1544
|
+
const closeCheck = verifyPerpsBuild(build, {
|
|
1545
|
+
builder: await this.perpsBuilder(),
|
|
1546
|
+
network: this.hyperliquidNetwork,
|
|
1547
|
+
intent: { method, params: ref },
|
|
1548
|
+
closeOrder
|
|
1549
|
+
});
|
|
1550
|
+
if (!closeCheck.ok)
|
|
1551
|
+
throw new Error(`perps: refused to sign this build: ${closeCheck.reason}`);
|
|
1552
|
+
}
|
|
1553
|
+
if (ref.submit === false)
|
|
1554
|
+
return { build, signature: null, submitted: false, exchange: null };
|
|
1555
|
+
const signature = await this.signLinkedTypedData({
|
|
1556
|
+
linkedWalletId: ref.walletId,
|
|
1557
|
+
privyWalletId: ref.privyWalletId,
|
|
1558
|
+
typedData: build.typedData
|
|
1559
|
+
});
|
|
1560
|
+
try {
|
|
1561
|
+
const res = await this.fetchImpl(HYPERLIQUID_EXCHANGE_URLS[this.hyperliquidNetwork], {
|
|
1562
|
+
method: "POST",
|
|
1563
|
+
headers: { "content-type": "application/json" },
|
|
1564
|
+
body: JSON.stringify(hyperliquidExchangeBody(build.action, build.nonce, signature))
|
|
1565
|
+
});
|
|
1566
|
+
const text = await res.text();
|
|
1567
|
+
if (!res.ok) {
|
|
1568
|
+
return { build, signature, submitted: false, exchange: null, submitError: `HTTP ${res.status}: ${text}` };
|
|
1569
|
+
}
|
|
1570
|
+
return { build, signature, submitted: true, exchange: JSON.parse(text) };
|
|
1571
|
+
} catch (err) {
|
|
1572
|
+
return {
|
|
1573
|
+
build,
|
|
1574
|
+
signature,
|
|
1575
|
+
submitted: false,
|
|
1576
|
+
exchange: null,
|
|
1577
|
+
submitError: err instanceof Error ? err.message : String(err)
|
|
1578
|
+
};
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
async signLinkedTypedData(params) {
|
|
1582
|
+
if (!this.privyAppId) {
|
|
1583
|
+
throw new Error("perps signing requires privyAppId in CandleClientOptions (the relay's Privy app id)");
|
|
1584
|
+
}
|
|
1585
|
+
if (!this.secretStore)
|
|
1586
|
+
throw new Error("perps signing requires a secretStore in CandleClientOptions");
|
|
1587
|
+
const privateKeyPem = await this.secretStore.get(params.linkedWalletId);
|
|
1588
|
+
if (!privateKeyPem) {
|
|
1589
|
+
throw new Error(`perps: no signer key stored for linked wallet "${params.linkedWalletId}"`);
|
|
1590
|
+
}
|
|
1591
|
+
const body = hyperliquidRelayBody(params.typedData);
|
|
1592
|
+
const authorizationSignature = await buildPrivyAuthorizationSignature({
|
|
1593
|
+
privateKeyPem,
|
|
1594
|
+
privyWalletId: params.privyWalletId,
|
|
1595
|
+
appId: this.privyAppId,
|
|
1596
|
+
body
|
|
1597
|
+
});
|
|
1598
|
+
const res = await this.requestJson("POST", `/api/v1/agent/wallets/${encodeURIComponent(params.linkedWalletId)}/sign`, { authorizationSignature, body });
|
|
1599
|
+
if (typeof res.signature !== "string" || !/^0x[0-9a-fA-F]{130}$/.test(res.signature)) {
|
|
1600
|
+
throw new Error("perps: the relay returned no signature");
|
|
1601
|
+
}
|
|
1602
|
+
return res.signature;
|
|
1603
|
+
}
|
|
1033
1604
|
requireKey(method) {
|
|
1034
1605
|
if (!this.apiKey) {
|
|
1035
1606
|
throw new Error(`${method} requires an apiKey: pass one in CandleClientOptions (new CandleClient({ apiKey }))`);
|
|
@@ -1113,7 +1684,7 @@ function generateClientLaunchId() {
|
|
|
1113
1684
|
function generateClientTradeId() {
|
|
1114
1685
|
return generateSdkId();
|
|
1115
1686
|
}
|
|
1116
|
-
var SDK_VERSION = "0.4.
|
|
1687
|
+
var SDK_VERSION = "0.4.6";
|
|
1117
1688
|
var sdkUpdateWarned = false;
|
|
1118
1689
|
function noteLatestSdkVersion(value) {
|
|
1119
1690
|
if (sdkUpdateWarned || !value || !/^\d+\.\d+\.\d+$/.test(value))
|
|
@@ -1398,14 +1969,19 @@ function verifyWebhookSignature(secret, header, body, nowSec, toleranceSec = 300
|
|
|
1398
1969
|
}
|
|
1399
1970
|
export {
|
|
1400
1971
|
verifyWebhookSignature,
|
|
1972
|
+
verifyPerpsBuild,
|
|
1401
1973
|
isSolanaRpcErrorData,
|
|
1974
|
+
hyperliquidActionHash,
|
|
1402
1975
|
generateSignerKeypair,
|
|
1403
1976
|
encryptWalletKeyForImport,
|
|
1404
1977
|
KeychainSecretStore,
|
|
1405
1978
|
JsonRpcError,
|
|
1406
1979
|
InMemorySecretStore,
|
|
1980
|
+
HYPERLIQUID_EXCHANGE_URLS,
|
|
1981
|
+
HYPERLIQUID_ALLOWED_ACTION_TYPES,
|
|
1407
1982
|
EncryptedFileSecretStore,
|
|
1408
1983
|
CandleClient,
|
|
1409
1984
|
CandleApiError,
|
|
1985
|
+
CANDLE_HYPERLIQUID_BUILDER_ADDRESS,
|
|
1410
1986
|
BRIDGE_ERROR_CODES
|
|
1411
1987
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@candledottv/agent-sdk",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "TypeScript SDK for the Candle agent rail: typed headless launches, market reads, and webhook verification",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@hpke/chacha20poly1305": "^1.6.2",
|
|
51
51
|
"@hpke/core": "^1.7.2",
|
|
52
|
+
"@noble/hashes": "1.8.0",
|
|
52
53
|
"@scure/base": "^1.2.6",
|
|
53
54
|
"canonicalize": "^2.1.0"
|
|
54
55
|
},
|