@chainvue/verus-sdk 0.4.1 → 0.5.1
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/LICENSE +202 -21
- package/NOTICE +31 -0
- package/README.md +47 -63
- package/dist/VerusSDK.js +7 -7
- package/dist/VerusSDK.js.map +1 -1
- package/dist/bundle.js +1112 -1030
- package/dist/constants/index.d.ts +4 -4
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +4 -4
- package/dist/constants/index.js.map +1 -1
- package/dist/currency/classify.d.ts +1 -1
- package/dist/currency/classify.d.ts.map +1 -1
- package/dist/currency/index.d.ts.map +1 -1
- package/dist/currency/index.js +5 -4
- package/dist/currency/index.js.map +1 -1
- package/dist/errors.d.ts +8 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +12 -1
- package/dist/errors.js.map +1 -1
- package/dist/fork-shims.d.ts +50 -0
- package/dist/identity/index.d.ts +8 -8
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +29 -29
- package/dist/identity/index.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +4 -3
- package/dist/keys/index.js.map +1 -1
- package/dist/signing/index.d.ts +2 -2
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/index.js +12 -6
- package/dist/signing/index.js.map +1 -1
- package/dist/transfer/index.d.ts.map +1 -1
- package/dist/transfer/index.js +65 -39
- package/dist/transfer/index.js.map +1 -1
- package/dist/types/index.d.ts +26 -26
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +24 -5
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +71 -11
- package/dist/utils/index.js.map +1 -1
- package/dist/utxo/index.d.ts +8 -2
- package/dist/utxo/index.d.ts.map +1 -1
- package/dist/utxo/index.js +58 -31
- package/dist/utxo/index.js.map +1 -1
- package/package.json +20 -7
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,YAAY,EACV,IAAI,EACJ,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EAEnB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,YAAY,EACV,IAAI,EACJ,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EAEnB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,4BAA4B,EAC5B,oBAAoB,EACpB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -38,7 +38,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
38
38
|
};
|
|
39
39
|
})();
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.utils = exports.currency = exports.message = exports.transfer = exports.identity = exports.utxo = exports.signing = exports.keys = exports.address = exports.HASH_SHA256 = exports.IDENTITY_FLAG_LOCKED = exports.IDENTITY_FLAG_ACTIVECURRENCY = exports.I_ADDR_VERSION = exports.WIF_PREFIX = exports.SCRIPT_HASH_PREFIX = exports.PUBKEY_HASH_PREFIX = exports.RESERVE_TRANSFER_FEE = exports.DEFAULT_REFERRAL_LEVELS = exports.DEFAULT_REGISTRATION_FEE = exports.DUST_THRESHOLD = exports.DEFAULT_FEE_PER_KB = exports.TX_VERSION = exports.CONSENSUS_BRANCH_ID = exports.VERSION_GROUP_ID = exports.NETWORK_CONFIG = exports.TransactionBuildError = exports.InvalidNameError = exports.InvalidAddressError = exports.InvalidWifError = exports.InsufficientFundsError = exports.VerusError = exports.toCoins = exports.toSatoshis = exports.isIdentityName = exports.isVerusAddress = exports.isIAddress = exports.isRAddress = exports.BASE58_RE = exports.CURRENCY_TYPE_ORDER = exports.classifyCurrency = exports.VerusSDK = void 0;
|
|
41
|
+
exports.utils = exports.currency = exports.message = exports.transfer = exports.identity = exports.utxo = exports.signing = exports.keys = exports.address = exports.HASH_SHA256 = exports.IDENTITY_FLAG_LOCKED = exports.IDENTITY_FLAG_ACTIVECURRENCY = exports.I_ADDR_VERSION = exports.WIF_PREFIX = exports.SCRIPT_HASH_PREFIX = exports.PUBKEY_HASH_PREFIX = exports.RESERVE_TRANSFER_FEE = exports.DEFAULT_REFERRAL_LEVELS = exports.DEFAULT_REGISTRATION_FEE = exports.DUST_THRESHOLD = exports.DEFAULT_FEE_PER_KB = exports.TX_VERSION = exports.CONSENSUS_BRANCH_ID = exports.VERSION_GROUP_ID = exports.NETWORK_CONFIG = exports.InvalidAmountError = exports.TransactionBuildError = exports.InvalidNameError = exports.InvalidAddressError = exports.InvalidWifError = exports.InsufficientFundsError = exports.VerusError = exports.AMOUNT_DECIMALS = exports.SATS_PER_COIN = exports.toSafeNumber = exports.toCoins = exports.toSatoshis = exports.parseSats = exports.isIdentityName = exports.isVerusAddress = exports.isIAddress = exports.isRAddress = exports.BASE58_RE = exports.CURRENCY_TYPE_ORDER = exports.classifyCurrency = exports.VerusSDK = void 0;
|
|
42
42
|
// Main facade
|
|
43
43
|
var VerusSDK_js_1 = require("./VerusSDK.js");
|
|
44
44
|
Object.defineProperty(exports, "VerusSDK", { enumerable: true, get: function () { return VerusSDK_js_1.VerusSDK; } });
|
|
@@ -55,8 +55,12 @@ Object.defineProperty(exports, "isVerusAddress", { enumerable: true, get: functi
|
|
|
55
55
|
Object.defineProperty(exports, "isIdentityName", { enumerable: true, get: function () { return index_js_1.isIdentityName; } });
|
|
56
56
|
// Unit conversions (also available via utils namespace)
|
|
57
57
|
var index_js_2 = require("./utils/index.js");
|
|
58
|
+
Object.defineProperty(exports, "parseSats", { enumerable: true, get: function () { return index_js_2.parseSats; } });
|
|
58
59
|
Object.defineProperty(exports, "toSatoshis", { enumerable: true, get: function () { return index_js_2.toSatoshis; } });
|
|
59
60
|
Object.defineProperty(exports, "toCoins", { enumerable: true, get: function () { return index_js_2.toCoins; } });
|
|
61
|
+
Object.defineProperty(exports, "toSafeNumber", { enumerable: true, get: function () { return index_js_2.toSafeNumber; } });
|
|
62
|
+
Object.defineProperty(exports, "SATS_PER_COIN", { enumerable: true, get: function () { return index_js_2.SATS_PER_COIN; } });
|
|
63
|
+
Object.defineProperty(exports, "AMOUNT_DECIMALS", { enumerable: true, get: function () { return index_js_2.AMOUNT_DECIMALS; } });
|
|
60
64
|
// Typed errors
|
|
61
65
|
var errors_js_1 = require("./errors.js");
|
|
62
66
|
Object.defineProperty(exports, "VerusError", { enumerable: true, get: function () { return errors_js_1.VerusError; } });
|
|
@@ -65,6 +69,7 @@ Object.defineProperty(exports, "InvalidWifError", { enumerable: true, get: funct
|
|
|
65
69
|
Object.defineProperty(exports, "InvalidAddressError", { enumerable: true, get: function () { return errors_js_1.InvalidAddressError; } });
|
|
66
70
|
Object.defineProperty(exports, "InvalidNameError", { enumerable: true, get: function () { return errors_js_1.InvalidNameError; } });
|
|
67
71
|
Object.defineProperty(exports, "TransactionBuildError", { enumerable: true, get: function () { return errors_js_1.TransactionBuildError; } });
|
|
72
|
+
Object.defineProperty(exports, "InvalidAmountError", { enumerable: true, get: function () { return errors_js_1.InvalidAmountError; } });
|
|
68
73
|
// Constants
|
|
69
74
|
var index_js_3 = require("./constants/index.js");
|
|
70
75
|
Object.defineProperty(exports, "NETWORK_CONFIG", { enumerable: true, get: function () { return index_js_3.NETWORK_CONFIG; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAyCjB,kEAAkE;AAClE,sDAA+E;AAAtE,+GAAA,gBAAgB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAG9C,2DAA2D;AAC3D,+CAM4B;AAL1B,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AAGhB,wDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAyCjB,kEAAkE;AAClE,sDAA+E;AAAtE,+GAAA,gBAAgB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAG9C,2DAA2D;AAC3D,+CAM4B;AAL1B,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AAGhB,wDAAwD;AACxD,6CAO0B;AANxB,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,mGAAA,OAAO,OAAA;AACP,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AAGjB,eAAe;AACf,yCAQqB;AAPnB,uGAAA,UAAU,OAAA;AACV,mHAAA,sBAAsB,OAAA;AACtB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,+GAAA,kBAAkB,OAAA;AAGpB,YAAY;AACZ,iDAiB8B;AAhB5B,0GAAA,cAAc,OAAA;AACd,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,wHAAA,4BAA4B,OAAA;AAC5B,gHAAA,oBAAoB,OAAA;AACpB,uGAAA,WAAW,OAAA;AAIb,6BAA6B;AAC7B,8DAA8C;AAC9C,wDAAwC;AACxC,8DAA8C;AAC9C,wDAAwC;AACxC,gEAAgD;AAChD,gEAAgD;AAChD,8DAA8C;AAC9C,gEAAgD;AAChD,0DAA0C"}
|
package/dist/keys/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,OAAc,GACzB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,OAAc,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBnF"}
|
package/dist/keys/index.js
CHANGED
|
@@ -54,6 +54,7 @@ const crypto = __importStar(require("crypto"));
|
|
|
54
54
|
const bs58check_1 = __importDefault(require("bs58check"));
|
|
55
55
|
const create_hash_1 = __importDefault(require("create-hash"));
|
|
56
56
|
const index_js_1 = require("../constants/index.js");
|
|
57
|
+
const errors_js_1 = require("../errors.js");
|
|
57
58
|
/**
|
|
58
59
|
* Validate a WIF private key
|
|
59
60
|
*/
|
|
@@ -101,11 +102,11 @@ function isCompressedWif(wif) {
|
|
|
101
102
|
async function privateKeyToPublicKey(privateKey, compressed = true) {
|
|
102
103
|
const secp256k1 = await Promise.resolve().then(() => __importStar(require('tiny-secp256k1')));
|
|
103
104
|
if (!secp256k1.isPrivate(privateKey)) {
|
|
104
|
-
throw new
|
|
105
|
+
throw new errors_js_1.InvalidWifError('Invalid private key');
|
|
105
106
|
}
|
|
106
107
|
const publicKey = secp256k1.pointFromScalar(privateKey, compressed);
|
|
107
108
|
if (!publicKey) {
|
|
108
|
-
throw new
|
|
109
|
+
throw new errors_js_1.InvalidWifError('Failed to derive public key');
|
|
109
110
|
}
|
|
110
111
|
return Buffer.from(publicKey);
|
|
111
112
|
}
|
|
@@ -130,7 +131,7 @@ function publicKeyToAddress(publicKey) {
|
|
|
130
131
|
async function wifToAddress(wif) {
|
|
131
132
|
const validation = validateWif(wif);
|
|
132
133
|
if (!validation.valid) {
|
|
133
|
-
throw new
|
|
134
|
+
throw new errors_js_1.InvalidWifError(validation.error);
|
|
134
135
|
}
|
|
135
136
|
const privateKey = wifToPrivateKey(wif);
|
|
136
137
|
const compressed = isCompressedWif(wif);
|
package/dist/keys/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"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"}
|
package/dist/signing/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { TransactionBuilder, networks } from '@bitgo/utxo-lib';
|
|
10
10
|
import type { Utxo } from '../types/index.js';
|
|
11
11
|
/** Network to use for signing */
|
|
12
|
-
export type VerusNetwork = typeof networks.verus
|
|
12
|
+
export type VerusNetwork = typeof networks.verus;
|
|
13
13
|
/**
|
|
14
14
|
* Get the Verus network config
|
|
15
15
|
*/
|
|
@@ -26,7 +26,7 @@ export declare function getNetwork(testnet?: boolean): VerusNetwork;
|
|
|
26
26
|
* the final vsize (signatures only grow a tx), so the guard still trips if
|
|
27
27
|
* the actual fee materially exceeds the declared one.
|
|
28
28
|
*/
|
|
29
|
-
export declare function signTransactionSmart(txHex: string, wif: string, utxos: Utxo[], network?: VerusNetwork, maxFeeSats?:
|
|
29
|
+
export declare function signTransactionSmart(txHex: string, wif: string, utxos: Utxo[], network?: VerusNetwork, maxFeeSats?: bigint): {
|
|
30
30
|
signedTx: string;
|
|
31
31
|
txid: string;
|
|
32
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAM9C,iCAAiC;AACjC,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,KAAK,CAAC;AAEjD;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,OAAe,GAAG,YAAY,CAEjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,EACtC,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAwBpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,GACrC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBpC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,YAA6B,EACtC,YAAY,GAAE,MAAU,EACxB,OAAO,GAAE,MAAU,EACnB,cAAc,GAAE,MAAyB,GACxC,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAMzC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,IAAI,EAAE,GACf;IACD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAiBA"}
|
package/dist/signing/index.js
CHANGED
|
@@ -15,6 +15,7 @@ exports.createTransactionBuilder = createTransactionBuilder;
|
|
|
15
15
|
exports.validateFundedTransaction = validateFundedTransaction;
|
|
16
16
|
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
17
17
|
const index_js_1 = require("../constants/index.js");
|
|
18
|
+
const index_js_2 = require("../utils/index.js");
|
|
18
19
|
const { getFundedTxBuilder, validateFundedCurrencyTransfer } = utxo_lib_1.smarttxs;
|
|
19
20
|
/**
|
|
20
21
|
* Get the Verus network config
|
|
@@ -41,10 +42,13 @@ function signTransactionSmart(txHex, wif, utxos, network = utxo_lib_1.networks.v
|
|
|
41
42
|
if (maxFeeSats !== undefined) {
|
|
42
43
|
// The fork's .d.ts omits maximumFeeRate, but it exists at runtime
|
|
43
44
|
// (transaction_builder.js: `this.maximumFeeRate = maximumFeeRate || 2500`).
|
|
44
|
-
txb.maximumFeeRate = Math.ceil(maxFeeSats / (txHex.length / 2));
|
|
45
|
+
txb.maximumFeeRate = Math.ceil((0, index_js_2.toSafeNumber)(maxFeeSats) / (txHex.length / 2));
|
|
45
46
|
}
|
|
46
47
|
for (let i = 0; i < utxos.length; i++) {
|
|
47
|
-
|
|
48
|
+
const utxo = utxos[i];
|
|
49
|
+
if (!utxo)
|
|
50
|
+
continue;
|
|
51
|
+
txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, (0, index_js_2.toSafeNumber)(utxo.satoshis));
|
|
48
52
|
}
|
|
49
53
|
const signedTx = txb.build();
|
|
50
54
|
return {
|
|
@@ -59,13 +63,15 @@ function signTransactionMultiKey(txHex, keys, utxos, network = utxo_lib_1.networ
|
|
|
59
63
|
const prevOutScripts = utxos.map((u) => Buffer.from(u.script, 'hex'));
|
|
60
64
|
const txb = getFundedTxBuilder(txHex, network, prevOutScripts);
|
|
61
65
|
for (let i = 0; i < keys.length; i++) {
|
|
62
|
-
|
|
66
|
+
const inputKeys = keys[i];
|
|
67
|
+
const utxo = utxos[i];
|
|
68
|
+
if (!inputKeys || inputKeys.length === 0 || !utxo)
|
|
63
69
|
continue;
|
|
64
|
-
for (const wif of
|
|
70
|
+
for (const wif of inputKeys) {
|
|
65
71
|
if (!wif)
|
|
66
72
|
continue;
|
|
67
73
|
const keyPair = utxo_lib_1.ECPair.fromWIF(wif, network);
|
|
68
|
-
txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL,
|
|
74
|
+
txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, (0, index_js_2.toSafeNumber)(utxo.satoshis));
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
const signedTx = txb.build();
|
|
@@ -91,7 +97,7 @@ function validateFundedTransaction(systemId, fundedTxHex, unfundedTxHex, changeA
|
|
|
91
97
|
const result = validateFundedCurrencyTransfer(systemId, fundedTxHex, unfundedTxHex, changeAddress, network, utxoList.map((u) => ({
|
|
92
98
|
txid: u.txid,
|
|
93
99
|
outputIndex: u.outputIndex,
|
|
94
|
-
satoshis: u.satoshis,
|
|
100
|
+
satoshis: (0, index_js_2.toSafeNumber)(u.satoshis),
|
|
95
101
|
script: u.script,
|
|
96
102
|
height: u.height || 0,
|
|
97
103
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQrD,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAwE3B;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,kBAAkB,CA2IpB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAepB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,kBAAkB,CAcpB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAgBpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,cAAc,CAwEhB"}
|
package/dist/transfer/index.js
CHANGED
|
@@ -44,10 +44,19 @@ function validateTransferInputs(wif, utxos) {
|
|
|
44
44
|
throw new errors_js_1.TransactionBuildError('At least one UTXO is required');
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
/** Validate amount is positive
|
|
47
|
+
/** Validate amount is a positive bigint */
|
|
48
48
|
function validateAmount(amount, label = 'amount') {
|
|
49
|
-
if (
|
|
50
|
-
throw new errors_js_1.TransactionBuildError(`Invalid ${label}: must be a positive
|
|
49
|
+
if (typeof amount !== 'bigint' || amount <= 0n) {
|
|
50
|
+
throw new errors_js_1.TransactionBuildError(`Invalid ${label}: must be a positive bigint satoshi amount (got ${amount})`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** bs58check-decode an address, rethrowing as a typed InvalidAddressError */
|
|
54
|
+
function decodeBase58Address(address) {
|
|
55
|
+
try {
|
|
56
|
+
return Buffer.from(bs58check_1.default.decode(address));
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
throw new errors_js_1.InvalidAddressError(address, err.message);
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
62
|
/**
|
|
@@ -59,24 +68,25 @@ function parseAddress(address, addressType) {
|
|
|
59
68
|
switch (addressType) {
|
|
60
69
|
case 'PKH': {
|
|
61
70
|
type = verus_typescript_primitives_1.DEST_PKH;
|
|
62
|
-
|
|
63
|
-
destinationBytes = Buffer.from(decoded.slice(1));
|
|
71
|
+
destinationBytes = decodeBase58Address(address).slice(1);
|
|
64
72
|
break;
|
|
65
73
|
}
|
|
66
74
|
case 'ID': {
|
|
67
75
|
type = verus_typescript_primitives_1.DEST_ID;
|
|
68
|
-
|
|
69
|
-
destinationBytes = Buffer.from(decoded.slice(1));
|
|
76
|
+
destinationBytes = decodeBase58Address(address).slice(1);
|
|
70
77
|
break;
|
|
71
78
|
}
|
|
72
79
|
case 'ETH': {
|
|
73
80
|
type = verus_typescript_primitives_1.DEST_ETH;
|
|
74
81
|
const addr = address.startsWith('0x') ? address.substring(2) : address;
|
|
75
82
|
destinationBytes = Buffer.from(addr, 'hex');
|
|
83
|
+
if (destinationBytes.length !== 20) {
|
|
84
|
+
throw new errors_js_1.InvalidAddressError(address, 'ETH destination must be 20 bytes of hex');
|
|
85
|
+
}
|
|
76
86
|
break;
|
|
77
87
|
}
|
|
78
88
|
default:
|
|
79
|
-
throw new
|
|
89
|
+
throw new errors_js_1.InvalidAddressError(address, `Unsupported address type: ${addressType}`);
|
|
80
90
|
}
|
|
81
91
|
return new verus_typescript_primitives_1.TransferDestination({
|
|
82
92
|
type,
|
|
@@ -95,34 +105,42 @@ function sendCurrency(params, network) {
|
|
|
95
105
|
if (!params.outputs || params.outputs.length === 0) {
|
|
96
106
|
throw new errors_js_1.TransactionBuildError('At least one output is required');
|
|
97
107
|
}
|
|
108
|
+
for (const out of params.outputs) {
|
|
109
|
+
validateAmount(out.satoshis, `output satoshis (${out.currency})`);
|
|
110
|
+
if (out.feeSatoshis !== undefined && out.feeSatoshis < 0n) {
|
|
111
|
+
throw new errors_js_1.TransactionBuildError(`Invalid feeSatoshis: must be non-negative (got ${out.feeSatoshis})`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (!params.changeAddress || typeof params.changeAddress !== 'string') {
|
|
115
|
+
throw new errors_js_1.TransactionBuildError('changeAddress is required');
|
|
116
|
+
}
|
|
98
117
|
const networkConfig = index_js_1.NETWORK_CONFIG[network];
|
|
99
118
|
const verusNetwork = (0, index_js_2.getNetwork)(network === 'testnet');
|
|
100
119
|
const systemId = networkConfig.chainId;
|
|
101
120
|
const expiryHeight = params.expiryHeight || 0;
|
|
102
121
|
const txOutputs = params.outputs.map((out) => ({
|
|
103
122
|
currency: out.currency,
|
|
104
|
-
satoshis: out.satoshis,
|
|
123
|
+
satoshis: out.satoshis.toString(10),
|
|
105
124
|
address: parseAddress(out.address, out.addressType || 'PKH'),
|
|
106
|
-
convertto: out.convertTo,
|
|
107
|
-
exportto: out.exportTo,
|
|
108
|
-
via: out.via,
|
|
109
|
-
bridgeid: out.bridgeId,
|
|
110
|
-
feecurrency: out.feeCurrency,
|
|
111
|
-
feesatoshis: out.feeSatoshis,
|
|
112
|
-
preconvert: out.preconvert,
|
|
125
|
+
...(out.convertTo !== undefined ? { convertto: out.convertTo } : {}),
|
|
126
|
+
...(out.exportTo !== undefined ? { exportto: out.exportTo } : {}),
|
|
127
|
+
...(out.via !== undefined ? { via: out.via } : {}),
|
|
128
|
+
...(out.bridgeId !== undefined ? { bridgeid: out.bridgeId } : {}),
|
|
129
|
+
...(out.feeCurrency !== undefined ? { feecurrency: out.feeCurrency } : {}),
|
|
130
|
+
...(out.feeSatoshis !== undefined ? { feesatoshis: out.feeSatoshis.toString(10) } : {}),
|
|
131
|
+
...(out.preconvert !== undefined ? { preconvert: out.preconvert } : {}),
|
|
113
132
|
}));
|
|
114
133
|
const unfundedTxHex = createUnfundedCurrencyTransfer(systemId, txOutputs, verusNetwork, expiryHeight);
|
|
115
134
|
const unfundedTx = utxo_lib_1.Transaction.fromHex(unfundedTxHex, verusNetwork);
|
|
116
|
-
let requiredNative =
|
|
135
|
+
let requiredNative = 0n;
|
|
117
136
|
for (const out of unfundedTx.outs) {
|
|
118
|
-
requiredNative += out.value;
|
|
137
|
+
requiredNative += BigInt(out.value);
|
|
119
138
|
}
|
|
120
139
|
const hasSmartOutputs = params.outputs.some((o) => o.convertTo || o.exportTo || o.via || o.currency !== systemId);
|
|
121
140
|
const requiredCurrencies = new Map();
|
|
122
141
|
for (const out of params.outputs) {
|
|
123
142
|
if (out.currency !== systemId) {
|
|
124
|
-
|
|
125
|
-
requiredCurrencies.set(out.currency, (requiredCurrencies.get(out.currency) || 0) + amount);
|
|
143
|
+
requiredCurrencies.set(out.currency, (requiredCurrencies.get(out.currency) || 0n) + out.satoshis);
|
|
126
144
|
}
|
|
127
145
|
}
|
|
128
146
|
const selection = (0, index_js_3.selectUtxos)(params.utxos, requiredNative, requiredCurrencies, unfundedTx.outs.length, systemId, undefined, hasSmartOutputs);
|
|
@@ -138,17 +156,17 @@ function sendCurrency(params, network) {
|
|
|
138
156
|
}
|
|
139
157
|
if (selection.currencyChanges.size > 0) {
|
|
140
158
|
const tokenChange = (0, index_js_4.buildTokenChangeOutput)(params.changeAddress, selection.currencyChanges);
|
|
141
|
-
txb.addOutput(tokenChange.script, tokenChange.nativeValue);
|
|
159
|
+
txb.addOutput(tokenChange.script, (0, index_js_5.toSafeNumber)(tokenChange.nativeValue));
|
|
142
160
|
}
|
|
143
|
-
if (selection.nativeChange >
|
|
161
|
+
if (selection.nativeChange > 0n) {
|
|
144
162
|
// utxo-lib's addOutput only resolves base58 R-addresses; identity
|
|
145
163
|
// change (an i-address changeAddress) needs the explicit P2ID script —
|
|
146
164
|
// byte-identical to the chain's own pay-to-identity outputs.
|
|
147
165
|
if (params.changeAddress.startsWith('i')) {
|
|
148
|
-
txb.addOutput((0, index_js_4.identityPaymentScript)(params.changeAddress), selection.nativeChange);
|
|
166
|
+
txb.addOutput((0, index_js_4.identityPaymentScript)(params.changeAddress), (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
149
167
|
}
|
|
150
168
|
else {
|
|
151
|
-
txb.addOutput(params.changeAddress, selection.nativeChange);
|
|
169
|
+
txb.addOutput(params.changeAddress, (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
152
170
|
}
|
|
153
171
|
}
|
|
154
172
|
const unsignedTx = txb.buildIncomplete();
|
|
@@ -179,13 +197,13 @@ function transfer(params, network) {
|
|
|
179
197
|
wif: params.wif,
|
|
180
198
|
outputs: [{
|
|
181
199
|
currency: systemId,
|
|
182
|
-
satoshis: params.amount
|
|
200
|
+
satoshis: params.amount,
|
|
183
201
|
address: params.to,
|
|
184
202
|
addressType: 'PKH',
|
|
185
203
|
}],
|
|
186
204
|
utxos: params.utxos,
|
|
187
205
|
changeAddress: params.changeAddress,
|
|
188
|
-
expiryHeight: params.expiryHeight,
|
|
206
|
+
...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
|
|
189
207
|
}, network);
|
|
190
208
|
}
|
|
191
209
|
/**
|
|
@@ -197,13 +215,13 @@ function transferToken(params, network) {
|
|
|
197
215
|
wif: params.wif,
|
|
198
216
|
outputs: [{
|
|
199
217
|
currency: params.currency,
|
|
200
|
-
satoshis: params.amount
|
|
218
|
+
satoshis: params.amount,
|
|
201
219
|
address: params.to,
|
|
202
220
|
addressType: params.addressType || 'PKH',
|
|
203
221
|
}],
|
|
204
222
|
utxos: params.utxos,
|
|
205
223
|
changeAddress: params.changeAddress,
|
|
206
|
-
expiryHeight: params.expiryHeight,
|
|
224
|
+
...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
|
|
207
225
|
}, network);
|
|
208
226
|
}
|
|
209
227
|
/**
|
|
@@ -215,15 +233,15 @@ function convert(params, network) {
|
|
|
215
233
|
wif: params.wif,
|
|
216
234
|
outputs: [{
|
|
217
235
|
currency: params.currency,
|
|
218
|
-
satoshis: params.amount
|
|
236
|
+
satoshis: params.amount,
|
|
219
237
|
address: params.changeAddress, // Conversion output goes to self
|
|
220
238
|
addressType: 'PKH',
|
|
221
239
|
convertTo: params.convertTo,
|
|
222
|
-
via: params.via,
|
|
240
|
+
...(params.via !== undefined ? { via: params.via } : {}),
|
|
223
241
|
}],
|
|
224
242
|
utxos: params.utxos,
|
|
225
243
|
changeAddress: params.changeAddress,
|
|
226
|
-
expiryHeight: params.expiryHeight,
|
|
244
|
+
...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
|
|
227
245
|
}, network);
|
|
228
246
|
}
|
|
229
247
|
/**
|
|
@@ -244,14 +262,20 @@ function buildAndSign(params, network) {
|
|
|
244
262
|
throw new errors_js_1.TransactionBuildError('At least one output is required');
|
|
245
263
|
}
|
|
246
264
|
const verusNetwork = (0, index_js_2.getNetwork)(network === 'testnet');
|
|
247
|
-
const totalInput = params.inputs.reduce((sum, i) => sum + i.amount,
|
|
248
|
-
const totalOutput = params.outputs.reduce((sum, o) => sum + o.amount,
|
|
249
|
-
const
|
|
265
|
+
const totalInput = params.inputs.reduce((sum, i) => sum + i.amount, 0n);
|
|
266
|
+
const totalOutput = params.outputs.reduce((sum, o) => sum + o.amount, 0n);
|
|
267
|
+
const impliedFee = totalInput - totalOutput;
|
|
268
|
+
const fee = params.fee ?? impliedFee;
|
|
250
269
|
if (totalOutput + fee > totalInput) {
|
|
251
|
-
throw new
|
|
270
|
+
throw new errors_js_1.InsufficientFundsError(totalOutput + fee, totalInput);
|
|
252
271
|
}
|
|
253
|
-
//
|
|
254
|
-
|
|
272
|
+
// Value conservation: every input satoshi is either an output or the
|
|
273
|
+
// declared fee. A declared fee below the implied one means the difference
|
|
274
|
+
// would be burned silently as extra miner fee — refuse.
|
|
275
|
+
if (fee !== impliedFee) {
|
|
276
|
+
throw new errors_js_1.TransactionBuildError(`declared fee ${fee} does not match inputs minus outputs (${impliedFee}) — the difference would be burned`);
|
|
277
|
+
}
|
|
278
|
+
const txb = new utxo_lib_1.TransactionBuilder(verusNetwork);
|
|
255
279
|
txb.setVersion(4);
|
|
256
280
|
txb.setExpiryHeight(params.expiryHeight || 0);
|
|
257
281
|
txb.setVersionGroupId(index_js_1.VERSION_GROUP_ID);
|
|
@@ -260,7 +284,7 @@ function buildAndSign(params, network) {
|
|
|
260
284
|
}
|
|
261
285
|
for (const out of params.outputs) {
|
|
262
286
|
const script = (0, index_js_5.addressToScriptPubKey)(out.address);
|
|
263
|
-
txb.addOutput(script, out.amount);
|
|
287
|
+
txb.addOutput(script, (0, index_js_5.toSafeNumber)(out.amount));
|
|
264
288
|
}
|
|
265
289
|
const unsignedTx = txb.buildIncomplete();
|
|
266
290
|
const utxos = params.inputs.map((i) => ({
|
|
@@ -269,7 +293,9 @@ function buildAndSign(params, network) {
|
|
|
269
293
|
satoshis: i.amount,
|
|
270
294
|
script: i.scriptPubKey,
|
|
271
295
|
}));
|
|
272
|
-
|
|
296
|
+
// The absurd-fee check runs at signing time; bound it to the fee this
|
|
297
|
+
// transaction actually declares instead of disabling it.
|
|
298
|
+
const { signedTx, txid } = (0, index_js_2.signTransactionSmart)(unsignedTx.toHex(), params.wif, utxos, verusNetwork, fee > 0n ? fee : undefined);
|
|
273
299
|
return { signedTx, txid, fee };
|
|
274
300
|
}
|
|
275
301
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;AA2GH,oCA8IC;AAKD,4BAkBC;AAKD,sCAiBC;AAKD,0BAmBC;AAKD,oCA2EC;AA5YD,8CAA4E;AAC5E,6EAKqC;AACrC,kDAAuB;AACvB,0DAAkC;AAClC,oDAAyE;AAEzE,kDAAkG;AAClG,+CAA+C;AAC/C,mDAAqF;AACrF,gDAAwE;AACxE,4CAAmH;AACnH,+CAA+C;AAa/C,MAAM,EAAE,8BAA8B,EAAE,GAAG,mBAAQ,CAAC;AAEpD,0CAA0C;AAC1C,SAAS,sBAAsB,CAAC,GAAW,EAAE,KAAa;IACxD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,2BAAe,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,2BAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,iCAAqB,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,SAAS,cAAc,CAAC,MAAc,EAAE,QAAgB,QAAQ;IAC9D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,iCAAqB,CAAC,WAAW,KAAK,mDAAmD,MAAM,GAAG,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,+BAAmB,CAAC,OAAO,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,WAAmB;IACxD,IAAI,IAAqB,CAAC;IAC1B,IAAI,gBAAwB,CAAC;IAE7B,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,GAAG,sCAAQ,CAAC;YAChB,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM;QACR,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,IAAI,GAAG,qCAAO,CAAC;YACf,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,GAAG,sCAAQ,CAAC;YAChB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACnC,MAAM,IAAI,+BAAmB,CAAC,OAAO,EAAE,yCAAyC,CAAC,CAAC;YACpF,CAAC;YACD,MAAM;QACR,CAAC;QACD;YACE,MAAM,IAAI,+BAAmB,CAAC,OAAO,EAAE,6BAA6B,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,IAAI,iDAAmB,CAAC;QAC7B,IAAI;QACJ,iBAAiB,EAAE,gBAAgB;QACnC,IAAI,EAAE,IAAI,eAAE,CAAC,CAAC,EAAE,EAAE,CAAC;KACpB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,MAA0B,EAC1B,OAAgB;IAEhB,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,iCAAqB,CAAC,iCAAiC,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,oBAAoB,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClE,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,iCAAqB,CAAC,kDAAkD,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,IAAI,iCAAqB,CAAC,2BAA2B,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,aAAa,GAAG,yBAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,8BAA8B,CAClD,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,CACb,CAAC;IAEF,MAAM,UAAU,GAAG,sBAAW,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACpE,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACrE,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,kBAAkB,CAAC,GAAG,CACpB,GAAG,CAAC,QAAQ,EACZ,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,sBAAW,EAC3B,MAAM,CAAC,KAAK,EACZ,cAAc,EACd,kBAAkB,EAClB,UAAU,CAAC,IAAI,CAAC,MAAM,EACtB,QAAQ,EACR,SAAS,EACT,eAAe,CAChB,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,6BAAkB,CAAC,YAAY,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAClC,GAAG,CAAC,iBAAiB,CAAC,2BAAgB,CAAC,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,CAAC,QAAQ,CACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACvC,IAAI,CAAC,WAAW,EAChB,UAAU,EACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAA,iCAAsB,EACxC,MAAM,CAAC,aAAa,EACpB,SAAS,CAAC,eAAe,CAC1B,CAAC;QACF,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAA,uBAAY,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,SAAS,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;QAChC,kEAAkE;QAClE,uEAAuE;QACvE,6DAA6D;QAC7D,IAAI,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,IAAA,gCAAqB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAA,uBAAY,EAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,IAAA,uBAAY,EAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,+BAAoB,EAC7C,UAAU,CAAC,KAAK,EAAE,EAClB,MAAM,CAAC,GAAG,EACV,SAAS,CAAC,QAAQ,EAClB,YAAY,CACb,CAAC;IAEF,2EAA2E;IAC3E,mEAAmE;IACnE,kEAAkE;IAClE,sEAAsE;IACtE,MAAM,UAAU,GAAG,IAAA,oCAAyB,EAC1C,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,MAAM,CAAC,aAAa,EACpB,YAAY,EACZ,SAAS,CAAC,QAAQ,CACnB,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,iCAAqB,CAC7B,yCAAyC,UAAU,CAAC,OAAO,IAAI,iBAAiB,EAAE,CACnF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;QACrC,YAAY,EAAE,SAAS,CAAC,YAAY;KACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CACtB,MAAsB,EACtB,OAAgB;IAEhB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,yBAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IACjD,OAAO,YAAY,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,CAAC;gBACR,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,MAAM,CAAC,MAAM;gBACvB,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,WAAW,EAAE,KAAK;aACnB,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,MAA2B,EAC3B,OAAgB;IAEhB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,YAAY,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,CAAC;gBACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,MAAM;gBACvB,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;aACzC,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CACrB,MAAqB,EACrB,OAAgB;IAEhB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,YAAY,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,CAAC;gBACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,MAAM;gBACvB,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,iCAAiC;gBAChE,WAAW,EAAE,KAAK;gBAClB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,MAA0B,EAC1B,OAAgB;IAEhB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,2BAAe,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,2BAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,iCAAqB,CAAC,gCAAgC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,iCAAqB,CAAC,iCAAiC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC;IAErC,IAAI,WAAW,GAAG,GAAG,GAAG,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,kCAAsB,CAAC,WAAW,GAAG,GAAG,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IACD,qEAAqE;IACrE,0EAA0E;IAC1E,wDAAwD;IACxD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,iCAAqB,CAC7B,gBAAgB,GAAG,yCAAyC,UAAU,oCAAoC,CAC3G,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,6BAAkB,CAAC,YAAY,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,iBAAiB,CAAC,2BAAgB,CAAC,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,GAAG,CAAC,QAAQ,CACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACtC,GAAG,CAAC,IAAI,EACR,UAAU,EACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,gCAAqB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAA,uBAAY,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAW,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,IAAI;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM;QAClB,MAAM,EAAE,CAAC,CAAC,YAAY;KACvB,CAAC,CAAC,CAAC;IAEJ,sEAAsE;IACtE,yDAAyD;IACzD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,+BAAoB,EAC7C,UAAU,CAAC,KAAK,EAAE,EAClB,MAAM,CAAC,GAAG,EACV,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC3B,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACjC,CAAC"}
|