xpi-ts 0.2.5 → 0.2.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/lib/bitcore/crypto/musig2.d.ts +3 -3
- package/dist/lib/bitcore/crypto/musig2.d.ts.map +1 -1
- package/dist/lib/bitcore/crypto/musig2.js +9 -6
- package/dist/lib/bitcore/musig2/session.d.ts.map +1 -1
- package/dist/lib/bitcore/musig2/session.js +5 -2
- package/dist/lib/bitcore/musig2/signer.d.ts.map +1 -1
- package/dist/lib/bitcore/musig2/signer.js +1 -1
- package/dist/lib/bitcore/taproot/musig2.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -24,9 +24,9 @@ export declare function musigTaggedHash(tag: string, data: Buffer): Buffer;
|
|
|
24
24
|
export declare function musigKeyAgg(pubkeys: PublicKey[]): MuSigKeyAggContext;
|
|
25
25
|
export declare function musigNonceGen(privateKey: PrivateKey, aggregatedPubKey: PublicKey, message?: Buffer, extraInput?: Buffer): MuSigNonce;
|
|
26
26
|
export declare function musigNonceAgg(publicNonces: Array<[Point, Point]>): MuSigAggregatedNonce;
|
|
27
|
-
export declare function musigPartialSign(secretNonce: MuSigNonce, privateKey: PrivateKey, keyAggContext: MuSigKeyAggContext, signerIndex: number, aggregatedNonce: MuSigAggregatedNonce, message: Buffer): BN;
|
|
28
|
-
export declare function musigPartialSigVerify(partialSig: BN, publicNonce: [Point, Point], publicKey: PublicKey, keyAggContext: MuSigKeyAggContext, signerIndex: number, aggregatedNonce: MuSigAggregatedNonce, message: Buffer): boolean;
|
|
29
|
-
export declare function musigSigAgg(partialSigs: BN[], aggregatedNonce: MuSigAggregatedNonce, message: Buffer, aggregatedPubKey: PublicKey, sighashType?: number): Signature;
|
|
27
|
+
export declare function musigPartialSign(secretNonce: MuSigNonce, privateKey: PrivateKey, keyAggContext: MuSigKeyAggContext, signerIndex: number, aggregatedNonce: MuSigAggregatedNonce, message: Buffer, publicKeyForChallenge?: PublicKey): BN;
|
|
28
|
+
export declare function musigPartialSigVerify(partialSig: BN, publicNonce: [Point, Point], publicKey: PublicKey, keyAggContext: MuSigKeyAggContext, signerIndex: number, aggregatedNonce: MuSigAggregatedNonce, message: Buffer, publicKeyForChallenge?: PublicKey): boolean;
|
|
29
|
+
export declare function musigSigAgg(partialSigs: BN[], aggregatedNonce: MuSigAggregatedNonce, message: Buffer, aggregatedPubKey: PublicKey, sighashType?: number, publicKeyForNonceCoef?: PublicKey): Signature;
|
|
30
30
|
declare const _default: {
|
|
31
31
|
musigKeyAgg: typeof musigKeyAgg;
|
|
32
32
|
musigNonceGen: typeof musigNonceGen;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/crypto/musig2.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAY1C,MAAM,WAAW,kBAAkB;IAEjC,OAAO,EAAE,SAAS,EAAE,CAAA;IAGpB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAG5B,gBAAgB,EAAE,SAAS,CAAA;CAC5B;AAOD,MAAM,WAAW,UAAU;IAEzB,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAGtB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;CAC7B;AAOD,MAAM,WAAW,oBAAoB;IAEnC,EAAE,EAAE,KAAK,CAAA;IAGT,EAAE,EAAE,KAAK,CAAA;CACV;AAOD,eAAO,MAAM,iBAAiB,gBAAgB,CAAA;AAG9C,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAG1D,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAMtD,eAAO,MAAM,eAAe,gBAAgB,CAAA;AAiB5C,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIjE;AAmFD,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAsEpE;AA2DD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,UAAU,CAwDZ;AA4BD,wBAAgB,aAAa,CAC3B,YAAY,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAClC,oBAAoB,CAkCtB;AAyCD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,kBAAkB,EACjC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,oBAAoB,EACrC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/crypto/musig2.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAY1C,MAAM,WAAW,kBAAkB;IAEjC,OAAO,EAAE,SAAS,EAAE,CAAA;IAGpB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAG5B,gBAAgB,EAAE,SAAS,CAAA;CAC5B;AAOD,MAAM,WAAW,UAAU;IAEzB,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAGtB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;CAC7B;AAOD,MAAM,WAAW,oBAAoB;IAEnC,EAAE,EAAE,KAAK,CAAA;IAGT,EAAE,EAAE,KAAK,CAAA;CACV;AAOD,eAAO,MAAM,iBAAiB,gBAAgB,CAAA;AAG9C,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAG1D,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAMtD,eAAO,MAAM,eAAe,gBAAgB,CAAA;AAiB5C,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIjE;AAmFD,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAsEpE;AA2DD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,UAAU,CAwDZ;AA4BD,wBAAgB,aAAa,CAC3B,YAAY,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAClC,oBAAoB,CAkCtB;AAyCD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,kBAAkB,EACjC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,oBAAoB,EACrC,OAAO,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,SAAS,GAChC,EAAE,CA8CJ;AAqCD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,kBAAkB,EACjC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,oBAAoB,EACrC,OAAO,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,SAAS,GAChC,OAAO,CAoET;AA4CD,wBAAgB,WAAW,CACzB,WAAW,EAAE,EAAE,EAAE,EACjB,eAAe,EAAE,oBAAoB,EACrC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,SAAS,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,qBAAqB,CAAC,EAAE,SAAS,GAChC,SAAS,CAwDX;;;;;;;;;;AAuBD,wBAQC"}
|
|
@@ -130,7 +130,7 @@ export function musigNonceAgg(publicNonces) {
|
|
|
130
130
|
R2: R2_agg,
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
|
-
export function musigPartialSign(secretNonce, privateKey, keyAggContext, signerIndex, aggregatedNonce, message) {
|
|
133
|
+
export function musigPartialSign(secretNonce, privateKey, keyAggContext, signerIndex, aggregatedNonce, message, publicKeyForChallenge) {
|
|
134
134
|
const n = Point.getN();
|
|
135
135
|
const [k1, k2] = secretNonce.secretNonces;
|
|
136
136
|
const { R1, R2 } = aggregatedNonce;
|
|
@@ -148,7 +148,8 @@ export function musigPartialSign(secretNonce, privateKey, keyAggContext, signerI
|
|
|
148
148
|
k = n.sub(k).umod(n);
|
|
149
149
|
}
|
|
150
150
|
const R_x = R.getX().toArrayLike(Buffer, 'be', 32);
|
|
151
|
-
const
|
|
151
|
+
const keyForChallenge = publicKeyForChallenge || Q;
|
|
152
|
+
const Q_compressed = Point.pointToCompressed(keyForChallenge.point);
|
|
152
153
|
const challengeData = Buffer.concat([R_x, Q_compressed, message]);
|
|
153
154
|
const e = new BN(Hash.sha256(challengeData), 'be').umod(n);
|
|
154
155
|
const a = keyAggContext.keyAggCoeff.get(signerIndex);
|
|
@@ -159,7 +160,7 @@ export function musigPartialSign(secretNonce, privateKey, keyAggContext, signerI
|
|
|
159
160
|
const s = k.add(e.mul(a).mul(x)).umod(n);
|
|
160
161
|
return s;
|
|
161
162
|
}
|
|
162
|
-
export function musigPartialSigVerify(partialSig, publicNonce, publicKey, keyAggContext, signerIndex, aggregatedNonce, message) {
|
|
163
|
+
export function musigPartialSigVerify(partialSig, publicNonce, publicKey, keyAggContext, signerIndex, aggregatedNonce, message, publicKeyForChallenge) {
|
|
163
164
|
try {
|
|
164
165
|
const G = Point.getG();
|
|
165
166
|
const n = Point.getN();
|
|
@@ -177,7 +178,8 @@ export function musigPartialSigVerify(partialSig, publicNonce, publicKey, keyAgg
|
|
|
177
178
|
const R = R1.add(R2.mul(b));
|
|
178
179
|
const negated = !R.hasSquare();
|
|
179
180
|
const R_x = R.getX().toArrayLike(Buffer, 'be', 32);
|
|
180
|
-
const
|
|
181
|
+
const keyForChallenge = publicKeyForChallenge || Q;
|
|
182
|
+
const Q_compressed = Point.pointToCompressed(keyForChallenge.point);
|
|
181
183
|
const challengeData = Buffer.concat([R_x, Q_compressed, message]);
|
|
182
184
|
const e = new BN(Hash.sha256(challengeData), 'be').umod(n);
|
|
183
185
|
const a = keyAggContext.keyAggCoeff.get(signerIndex);
|
|
@@ -194,14 +196,15 @@ export function musigPartialSigVerify(partialSig, publicNonce, publicKey, keyAgg
|
|
|
194
196
|
return false;
|
|
195
197
|
}
|
|
196
198
|
}
|
|
197
|
-
export function musigSigAgg(partialSigs, aggregatedNonce, message, aggregatedPubKey, sighashType) {
|
|
199
|
+
export function musigSigAgg(partialSigs, aggregatedNonce, message, aggregatedPubKey, sighashType, publicKeyForNonceCoef) {
|
|
198
200
|
if (partialSigs.length === 0) {
|
|
199
201
|
throw new Error('Cannot aggregate zero partial signatures');
|
|
200
202
|
}
|
|
201
203
|
const n = Point.getN();
|
|
202
204
|
const { R1, R2 } = aggregatedNonce;
|
|
205
|
+
const keyForNonceCoef = publicKeyForNonceCoef || aggregatedPubKey;
|
|
203
206
|
const nonceCoefData = Buffer.concat([
|
|
204
|
-
|
|
207
|
+
keyForNonceCoef.toBuffer(),
|
|
205
208
|
Point.pointToCompressed(R1),
|
|
206
209
|
Point.pointToCompressed(R2),
|
|
207
210
|
message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/musig2/session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/musig2/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -229,16 +229,19 @@ export class MuSigSessionManager {
|
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
let pubKeyForAggregation = session.keyAggContext.aggregatedPubKey;
|
|
232
|
+
let pubKeyForNonceCoef = session.keyAggContext.aggregatedPubKey;
|
|
232
233
|
if (session.metadata?.inputScriptType === 'taproot') {
|
|
233
234
|
const merkleRoot = Buffer.alloc(32);
|
|
234
|
-
|
|
235
|
+
const commitment = tweakPublicKey(session.keyAggContext.aggregatedPubKey, merkleRoot);
|
|
236
|
+
pubKeyForAggregation = commitment;
|
|
237
|
+
pubKeyForNonceCoef = commitment;
|
|
235
238
|
}
|
|
236
239
|
const sighashType = session.metadata?.sighashType
|
|
237
240
|
? session.metadata.sighashType
|
|
238
241
|
: session.metadata?.inputScriptType === 'taproot'
|
|
239
242
|
? Signature.SIGHASH_ALL | Signature.SIGHASH_LOTUS
|
|
240
243
|
: undefined;
|
|
241
|
-
session.finalSignature = musigSigAgg(allPartialSigs, session.aggregatedNonce, session.message, pubKeyForAggregation, sighashType);
|
|
244
|
+
session.finalSignature = musigSigAgg(allPartialSigs, session.aggregatedNonce, session.message, pubKeyForAggregation, sighashType, pubKeyForNonceCoef);
|
|
242
245
|
session.phase = MuSigSessionPhase.COMPLETE;
|
|
243
246
|
session.updatedAt = Date.now();
|
|
244
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/musig2/signer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/musig2/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ export class MuSig2Signer {
|
|
|
104
104
|
const sighashBuffer = sighash(transaction, sigType, inputIndex, prepare.script, satoshisBN);
|
|
105
105
|
const normalizedSighash = this._normalizeMessage(sighashBuffer);
|
|
106
106
|
const aggregatedNonce = musigNonceAgg(allPublicNonces);
|
|
107
|
-
return musigSigAgg(allPartialSigs, aggregatedNonce, normalizedSighash, prepare.commitment);
|
|
107
|
+
return musigSigAgg(allPartialSigs, aggregatedNonce, normalizedSighash, prepare.commitment, undefined, prepare.commitment);
|
|
108
108
|
}
|
|
109
109
|
createSession(message, metadata) {
|
|
110
110
|
if (!this.sessionManager) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/taproot/musig2.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAQ,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,oBAAoB,EAG1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,OAAO,EACb,MAAM,eAAe,CAAA;AAKtB,MAAM,WAAW,qBAAqB;IAEpC,gBAAgB,EAAE,SAAS,CAAA;IAG3B,UAAU,EAAE,SAAS,CAAA;IAGrB,MAAM,EAAE,MAAM,CAAA;IAGd,aAAa,EAAE,kBAAkB,CAAA;IAGjC,UAAU,EAAE,MAAM,CAAA;IAGlB,KAAK,EAAE,MAAM,CAAA;CACd;AAmCD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,SAAS,EAAE,EAC1B,KAAK,CAAC,EAAE,MAAM,GACb,qBAAqB,CAyBvB;AAqCD,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,SAAS,EAAE,EAC1B,UAAU,EAAE,OAAO,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,qBAAqB,GAAG;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAwB/C;AAyBD,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,kBAAkB,EACjC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,oBAAoB,EACrC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,EAAE,
|
|
1
|
+
{"version":3,"file":"musig2.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/taproot/musig2.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAQ,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,oBAAoB,EAG1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,OAAO,EACb,MAAM,eAAe,CAAA;AAKtB,MAAM,WAAW,qBAAqB;IAEpC,gBAAgB,EAAE,SAAS,CAAA;IAG3B,UAAU,EAAE,SAAS,CAAA;IAGrB,MAAM,EAAE,MAAM,CAAA;IAGd,aAAa,EAAE,kBAAkB,CAAA;IAGjC,UAAU,EAAE,MAAM,CAAA;IAGlB,KAAK,EAAE,MAAM,CAAA;CACd;AAmCD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,SAAS,EAAE,EAC1B,KAAK,CAAC,EAAE,MAAM,GACb,qBAAqB,CAyBvB;AAqCD,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,SAAS,EAAE,EAC1B,UAAU,EAAE,OAAO,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,qBAAqB,GAAG;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAwB/C;AAyBD,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,kBAAkB,EACjC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,oBAAoB,EACrC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,EAAE,CA0DJ;AAkBD,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,kBAAkB,EACjC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,oBAAoB,EACrC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAmDT;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG5D;AAUD,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,SAAS,EAAE,EAC1B,OAAO,GAAE,MAAkB,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,SAAS,CAAA;IACrB,aAAa,EAAE,kBAAkB,CAAA;CAClC,CAYA"}
|