@bitgo/sdk-coin-starknet 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,6 +41,8 @@ export interface StarknetTransactionData {
41
41
  constructorCalldata?: string[];
42
42
  /** DEPLOY_ACCOUNT: address salt derived from pubkey. */
43
43
  contractAddressSalt?: string;
44
+ /** DEPLOY_ACCOUNT: deployed contract address (== senderAddress). Required by HSM firmware. */
45
+ contractAddress?: string;
44
46
  }
45
47
  export interface InvokeTransactionHashParams {
46
48
  senderAddress: string;
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,4 @@ var StarknetTransactionType;
6
6
  StarknetTransactionType["INVOKE"] = "INVOKE";
7
7
  StarknetTransactionType["DEPLOY_ACCOUNT"] = "DEPLOY_ACCOUNT";
8
8
  })(StarknetTransactionType || (exports.StarknetTransactionType = StarknetTransactionType = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQyw0Q0FBaUIsQ0FBQTtJQUNqQiw0REFBaUMsQ0FBQTtBQUNuQyxDQUFDLEVBSFcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFHbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5leHBvcnQgZW51bSBTdGFya25ldFRyYW5zYWN0aW9uVHlwZSB7XG4gIElOVk9LRSA9ICdJTlZPS0UnLFxuICBERVBMT1lfQUNDT1VOVCA9ICdERVBMT1lfQUNDT1VOVCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRDYWxsIHtcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgY2FsbGRhdGE6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMge1xuICBsMl9nYXM6IHsgbWF4X2Ftb3VudDogc3RyaW5nOyBtYXhfcHJpY2VfcGVyX3VuaXQ6IHN0cmluZyB9O1xuICBsMV9nYXM6IHsgbWF4X2Ftb3VudDogc3RyaW5nOyBtYXhfcHJpY2VfcGVyX3VuaXQ6IHN0cmluZyB9O1xuICBsMV9kYXRhX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEge1xuICBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XG4gIGNhbGxzOiBTdGFya25ldENhbGxbXTtcbiAgbm9uY2U6IHN0cmluZztcbiAgY2hhaW5JZDogc3RyaW5nO1xuICByZXNvdXJjZUJvdW5kcz86IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHM7XG4gIHRyYW5zYWN0aW9uVHlwZTogU3RhcmtuZXRUcmFuc2FjdGlvblR5cGU7XG4gIHNpZ25hdHVyZT86IHN0cmluZ1tdO1xuICB0cmFuc2FjdGlvbkhhc2g/OiBzdHJpbmc7XG4gIHRpcD86IHN0cmluZztcbiAgbm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIGNvbXBpbGVkQ2FsbGRhdGE/OiBzdHJpbmdbXTtcbiAgLyoqIERFUExPWV9BQ0NPVU5UOiBPWiBFdGhBY2NvdW50IGNsYXNzIGhhc2guICovXG4gIGNsYXNzSGFzaD86IHN0cmluZztcbiAgLyoqIERFUExPWV9BQ0NPVU5UOiBjb25zdHJ1Y3RvciBjYWxsZGF0YSAocHVia2V5IGxpbWJzKS4gKi9cbiAgY29uc3RydWN0b3JDYWxsZGF0YT86IHN0cmluZ1tdO1xuICAvKiogREVQTE9ZX0FDQ09VTlQ6IGFkZHJlc3Mgc2FsdCBkZXJpdmVkIGZyb20gcHVia2V5LiAqL1xuICBjb250cmFjdEFkZHJlc3NTYWx0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludm9rZVRyYW5zYWN0aW9uSGFzaFBhcmFtcyB7XG4gIHNlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgY29tcGlsZWRDYWxsZGF0YTogc3RyaW5nW107XG4gIGNoYWluSWQ6IHN0cmluZztcbiAgbm9uY2U6IHN0cmluZztcbiAgcmVzb3VyY2VCb3VuZHM6IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHM7XG4gIHRpcD86IHN0cmluZztcbiAgbm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIHBheW1hc3RlckRhdGE/OiBzdHJpbmdbXTtcbiAgYWNjb3VudERlcGxveW1lbnREYXRhPzogc3RyaW5nW107XG4gIHByb29mRmFjdHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lBY2NvdW50VHJhbnNhY3Rpb25IYXNoUGFyYW1zIHtcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIGNsYXNzSGFzaDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvckNhbGxkYXRhOiBzdHJpbmdbXTtcbiAgY29udHJhY3RBZGRyZXNzU2FsdDogc3RyaW5nO1xuICBjaGFpbklkOiBzdHJpbmc7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIHJlc291cmNlQm91bmRzOiBTdGFya25ldFJlc291cmNlQm91bmRzO1xuICB0aXA/OiBzdHJpbmc7XG4gIG5vbmNlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIGZlZURhdGFBdmFpbGFiaWxpdHlNb2RlPzogbnVtYmVyO1xuICBwYXltYXN0ZXJEYXRhPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkVHJhbnNmZXJEYXRhIHtcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICB0b2tlbkNvbnRyYWN0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHNlbmRlcjogc3RyaW5nO1xuICBzZW5kZXJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIHJlY2lwaWVudD86IHN0cmluZztcbiAgYW1vdW50Pzogc3RyaW5nO1xuICBmZWU/OiBzdHJpbmc7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIHR5cGU6IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJrbmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgc2VuZGVyPzogc3RyaW5nO1xuICB0eXBlPzogQml0R29UcmFuc2FjdGlvblR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25IZXhQYXJhbXMge1xuICB0cmFuc2FjdGlvbkhleDogc3RyaW5nO1xuICBzaWduYWJsZUhleD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUc3NWZXJpZnlTdGFya25ldEFkZHJlc3NPcHRpb25zIGV4dGVuZHMgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICByb290QWRkcmVzcz86IHN0cmluZztcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLElBQVksdUJBR1g7QUFIRCxXQUFZLHVCQUF1QjtJQUNqQyw0Q0FBaUIsQ0FBQTtJQUNqQiw0REFBaUMsQ0FBQTtBQUNuQyxDQUFDLEVBSFcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFHbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG4gIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5leHBvcnQgZW51bSBTdGFya25ldFRyYW5zYWN0aW9uVHlwZSB7XG4gIElOVk9LRSA9ICdJTlZPS0UnLFxuICBERVBMT1lfQUNDT1VOVCA9ICdERVBMT1lfQUNDT1VOVCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRDYWxsIHtcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgY2FsbGRhdGE6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMge1xuICBsMl9nYXM6IHsgbWF4X2Ftb3VudDogc3RyaW5nOyBtYXhfcHJpY2VfcGVyX3VuaXQ6IHN0cmluZyB9O1xuICBsMV9nYXM6IHsgbWF4X2Ftb3VudDogc3RyaW5nOyBtYXhfcHJpY2VfcGVyX3VuaXQ6IHN0cmluZyB9O1xuICBsMV9kYXRhX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmc7IG1heF9wcmljZV9wZXJfdW5pdDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEge1xuICBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XG4gIGNhbGxzOiBTdGFya25ldENhbGxbXTtcbiAgbm9uY2U6IHN0cmluZztcbiAgY2hhaW5JZDogc3RyaW5nO1xuICByZXNvdXJjZUJvdW5kcz86IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHM7XG4gIHRyYW5zYWN0aW9uVHlwZTogU3RhcmtuZXRUcmFuc2FjdGlvblR5cGU7XG4gIHNpZ25hdHVyZT86IHN0cmluZ1tdO1xuICB0cmFuc2FjdGlvbkhhc2g/OiBzdHJpbmc7XG4gIHRpcD86IHN0cmluZztcbiAgbm9uY2VEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgZmVlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIGNvbXBpbGVkQ2FsbGRhdGE/OiBzdHJpbmdbXTtcbiAgLyoqIERFUExPWV9BQ0NPVU5UOiBPWiBFdGhBY2NvdW50IGNsYXNzIGhhc2guICovXG4gIGNsYXNzSGFzaD86IHN0cmluZztcbiAgLyoqIERFUExPWV9BQ0NPVU5UOiBjb25zdHJ1Y3RvciBjYWxsZGF0YSAocHVia2V5IGxpbWJzKS4gKi9cbiAgY29uc3RydWN0b3JDYWxsZGF0YT86IHN0cmluZ1tdO1xuICAvKiogREVQTE9ZX0FDQ09VTlQ6IGFkZHJlc3Mgc2FsdCBkZXJpdmVkIGZyb20gcHVia2V5LiAqL1xuICBjb250cmFjdEFkZHJlc3NTYWx0Pzogc3RyaW5nO1xuICAvKiogREVQTE9ZX0FDQ09VTlQ6IGRlcGxveWVkIGNvbnRyYWN0IGFkZHJlc3MgKD09IHNlbmRlckFkZHJlc3MpLiBSZXF1aXJlZCBieSBIU00gZmlybXdhcmUuICovXG4gIGNvbnRyYWN0QWRkcmVzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZva2VUcmFuc2FjdGlvbkhhc2hQYXJhbXMge1xuICBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XG4gIGNvbXBpbGVkQ2FsbGRhdGE6IHN0cmluZ1tdO1xuICBjaGFpbklkOiBzdHJpbmc7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIHJlc291cmNlQm91bmRzOiBTdGFya25ldFJlc291cmNlQm91bmRzO1xuICB0aXA/OiBzdHJpbmc7XG4gIG5vbmNlRGF0YUF2YWlsYWJpbGl0eU1vZGU/OiBudW1iZXI7XG4gIGZlZURhdGFBdmFpbGFiaWxpdHlNb2RlPzogbnVtYmVyO1xuICBwYXltYXN0ZXJEYXRhPzogc3RyaW5nW107XG4gIGFjY291bnREZXBsb3ltZW50RGF0YT86IHN0cmluZ1tdO1xuICBwcm9vZkZhY3RzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95QWNjb3VudFRyYW5zYWN0aW9uSGFzaFBhcmFtcyB7XG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBjbGFzc0hhc2g6IHN0cmluZztcbiAgY29uc3RydWN0b3JDYWxsZGF0YTogc3RyaW5nW107XG4gIGNvbnRyYWN0QWRkcmVzc1NhbHQ6IHN0cmluZztcbiAgY2hhaW5JZDogc3RyaW5nO1xuICBub25jZTogc3RyaW5nO1xuICByZXNvdXJjZUJvdW5kczogU3RhcmtuZXRSZXNvdXJjZUJvdW5kcztcbiAgdGlwPzogc3RyaW5nO1xuICBub25jZURhdGFBdmFpbGFiaWxpdHlNb2RlPzogbnVtYmVyO1xuICBmZWVEYXRhQXZhaWxhYmlsaXR5TW9kZT86IG51bWJlcjtcbiAgcGF5bWFzdGVyRGF0YT86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFRyYW5zZmVyRGF0YSB7XG4gIHJlY2lwaWVudDogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgdG9rZW5Db250cmFjdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkPzogc3RyaW5nO1xuICBzZW5kZXI6IHN0cmluZztcbiAgc2VuZGVyUHVibGljS2V5Pzogc3RyaW5nO1xuICByZWNpcGllbnQ/OiBzdHJpbmc7XG4gIGFtb3VudD86IHN0cmluZztcbiAgZmVlPzogc3RyaW5nO1xuICBub25jZTogc3RyaW5nO1xuICB0eXBlOiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uSGV4UGFyYW1zIHtcbiAgdHJhbnNhY3Rpb25IZXg6IHN0cmluZztcbiAgc2lnbmFibGVIZXg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHNzVmVyaWZ5U3RhcmtuZXRBZGRyZXNzT3B0aW9ucyBleHRlbmRzIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgcm9vdEFkZHJlc3M/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAEL,uBAAuB,EAEvB,8BAA8B,EAC9B,MAAM,EACP,MAAM,SAAS,CAAC;AAiBjB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,wBAAwB,EAAG,uBAAuB,CAAC;IAC7D,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAE1B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,uBAAuB,IAAI,uBAAuB,CAErD;IAED,IAAI,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,EAKxD;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,IAAI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAE/B;IAEK,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC/D,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAkBhB,kBAAkB;IAClB,kBAAkB,IAAI,8BAA8B;IAwBpD,oFAAoF;IACpF,aAAa,IAAI,MAAM;IAQvB,uFAAuF;IACvF,iBAAiB,IAAI,MAAM;IAa3B,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,kBAAkB;IAiB1B,kBAAkB;IAClB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAGhC"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAEL,uBAAuB,EAEvB,8BAA8B,EAC9B,MAAM,EACP,MAAM,SAAS,CAAC;AAiBjB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,wBAAwB,EAAG,uBAAuB,CAAC;IAC7D,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAE1B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,uBAAuB,IAAI,uBAAuB,CAErD;IAED,IAAI,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,EAKxD;IAED,IAAI,WAAW,IAAI,MAAM,CAIxB;IAED,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,IAAI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAE/B;IAEK,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC/D,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAkBhB,kBAAkB;IAClB,kBAAkB,IAAI,8BAA8B;IAwBpD,oFAAoF;IACpF,aAAa,IAAI,MAAM;IAQvB,uFAAuF;IACvF,iBAAiB,IAAI,MAAM;IAa3B,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,kBAAkB;IAiB1B,kBAAkB;IAClB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAGhC"}
@@ -64,7 +64,10 @@ class Transaction extends sdk_core_1.BaseTransaction {
64
64
  }
65
65
  }
66
66
  get signableHex() {
67
- return this._starknetTransactionData?.transactionHash || '';
67
+ const hash = this._starknetTransactionData?.transactionHash;
68
+ if (!hash)
69
+ return '';
70
+ return hash.replace(/^0x/i, '').padStart(64, '0');
68
71
  }
69
72
  get signedTransaction() {
70
73
  return this._signedTransaction;
@@ -79,6 +82,7 @@ class Transaction extends sdk_core_1.BaseTransaction {
79
82
  const parsed = JSON.parse(jsonString);
80
83
  this._starknetTransactionData = {
81
84
  senderAddress: parsed.senderAddress,
85
+ contractAddress: parsed.contractAddress,
82
86
  calls: parsed.calls || [],
83
87
  nonce: parsed.nonce,
84
88
  chainId: parsed.chainId,
@@ -204,4 +208,4 @@ class Transaction extends sdk_core_1.BaseTransaction {
204
208
  }
205
209
  }
206
210
  exports.Transaction = Transaction;
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQU15QjtBQUV6QiwyQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBQ2pCLGlEQUEyRTtBQUUzRSxTQUFTLHVCQUF1QixDQUFDLElBQTZCO0lBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFBLDhCQUFzQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdEQUFnRCxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBNkI7SUFDMUQsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUEsaUNBQXFCLEdBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFJOUMsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHVCQUF1QixDQUFDLElBQTZCO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FB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Q0FBQyxhQUFhO1lBQ2xDLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSztZQUN0QixjQUFjLEVBQUUsRUFBRTtZQUNsQiw0QkFBNEIsRUFBRSxJQUFJO1lBQ2xDLDBCQUEwQixFQUFFLElBQUk7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUE2QjtRQUN0RCxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsS0FBSztZQUNkLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNsQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSztZQUN0QixjQUFjLEVBQUUsRUFBRTtZQUNsQix1QkFBdUIsRUFBRSxFQUFFO1lBQzNCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQixPQUFPLENBQUMsSUFBYTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQWhMRCxrQ0FnTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50LFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IGRlZmF1bHRSZXNvdXJjZUJvdW5kcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMsXG4gIFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLFxuICBTdGFya25ldFRyYW5zYWN0aW9uVHlwZSxcbiAgU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUeERhdGEsXG59IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHV0aWxzLCB7IGNvbXBpbGVFeGVjdXRlQ2FsbGRhdGEsIHBhcnNlVHJhbnNmZXJDYWxsIH0gZnJvbSAnLi91dGlscyc7XG5cbmZ1bmN0aW9uIHJlc29sdmVDb21waWxlZENhbGxkYXRhKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKTogc3RyaW5nW10ge1xuICBpZiAoZGF0YS5jb21waWxlZENhbGxkYXRhICYmIGRhdGEuY29tcGlsZWRDYWxsZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGRhdGEuY29tcGlsZWRDYWxsZGF0YTtcbiAgfVxuICBpZiAoZGF0YS5jYWxscy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGNvbXBpbGVFeGVjdXRlQ2FsbGRhdGEoZGF0YS5jYWxscyk7XG4gIH1cbiAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdNaXNzaW5nIGNhbGxkYXRhOiBubyBjb21waWxlZENhbGxkYXRhIG9yIGNhbGxzJyk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVSZXNvdXJjZUJvdW5kcyhkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSk6IFN0YXJrbmV0UmVzb3VyY2VCb3VuZHMge1xuICByZXR1cm4gZGF0YS5yZXNvdXJjZUJvdW5kcyA/PyBkZWZhdWx0UmVzb3VyY2VCb3VuZHMoKTtcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICBwcm90ZWN0ZWQgX3NpZ25lZFRyYW5zYWN0aW9uPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldCBzdGFya25ldFRyYW5zYWN0aW9uRGF0YSgpOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICB9XG5cbiAgc2V0IHN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKSB7XG4gICAgdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEgPSBkYXRhO1xuICAgIGlmIChkYXRhLnRyYW5zYWN0aW9uSGFzaCkge1xuICAgICAgdGhpcy5faWQgPSBkYXRhLnRyYW5zYWN0aW9uSGFzaDtcbiAgICB9XG4gIH1cblxuICBnZXQgc2lnbmFibGVIZXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE/LnRyYW5zYWN0aW9uSGFzaCB8fCAnJztcbiAgfVxuXG4gIGdldCBzaWduZWRUcmFuc2FjdGlvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBzaWduZWRUcmFuc2FjdGlvbih0eDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gPSB0eDtcbiAgfVxuXG4gIGFzeW5jIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHJhd1RyYW5zYWN0aW9uLCAnaGV4Jyk7XG4gICAgICBjb25zdCBqc29uU3RyaW5nID0gYnVmZmVyLnRvU3RyaW5nKCd1dGYtOCcpO1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcblxuICAgICAgdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEgPSB7XG4gICAgICAgIHNlbmRlckFkZHJlc3M6IHBhcnNlZC5zZW5kZXJBZGRyZXNzLFxuICAgICAgICBjYWxsczogcGFyc2VkLmNhbGxzIHx8IFtdLFxuICAgICAgICBub25jZTogcGFyc2VkLm5vbmNlLFxuICAgICAgICBjaGFpbklkOiBwYXJzZWQuY2hhaW5JZCxcbiAgICAgICAgdHJhbnNhY3Rpb25UeXBlOiBwYXJzZWQudHJhbnNhY3Rpb25UeXBlIHx8IFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlLklOVk9LRSxcbiAgICAgICAgc2lnbmF0dXJlOiBwYXJzZWQuc2lnbmF0dXJlLFxuICAgICAgICB0cmFuc2FjdGlvbkhhc2g6IHBhcnNlZC50cmFuc2FjdGlvbkhhc2gsXG4gICAgICAgIHJlc291cmNlQm91bmRzOiBwYXJzZWQucmVzb3VyY2VCb3VuZHMsXG4gICAgICAgIHRpcDogcGFyc2VkLnRpcCxcbiAgICAgICAgY29tcGlsZWRDYWxsZGF0YTogcGFyc2VkLmNvbXBpbGVkQ2FsbGRhdGEsXG4gICAgICAgIG5vbmNlRGF0YUF2YWlsYWJpbGl0eU1vZGU6IHBhcnNlZC5ub25jZURhdGFBdmFpbGFiaWxpdHlNb2RlLFxuICAgICAgICBmZWVEYXRhQXZhaWxhYmlsaXR5TW9kZTogcGFyc2VkLmZlZURhdGFBdmFpbGFiaWxpdHlNb2RlLFxuICAgICAgICBjbGFzc0hhc2g6IHBhcnNlZC5jbGFzc0hhc2gsXG4gICAgICAgIGNvbnN0cnVjdG9yQ2FsbGRhdGE6IHBhcnNlZC5jb25zdHJ1Y3RvckNhbGxkYXRhLFxuICAgICAgICBjb250cmFjdEFkZHJlc3NTYWx0OiBwYXJzZWQuY29udHJhY3RBZGRyZXNzU2FsdCxcbiAgICAgIH07XG5cbiAgICAgIGlmIChwYXJzZWQuc2lnbmF0dXJlICYmIHBhcnNlZC5zaWduYXR1cmUubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHJhd1RyYW5zYWN0aW9uO1xuICAgICAgfVxuXG4gICAgICB1dGlscy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKTtcbiAgICAgIHRoaXMuX2lkID0gcGFyc2VkLnRyYW5zYWN0aW9uSGFzaCB8fCAnJztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgdHJhbnNmZXIgPVxuICAgICAgdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEuY2FsbHMubGVuZ3RoID4gMFxuICAgICAgICA/IHBhcnNlVHJhbnNmZXJDYWxsKHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLmNhbGxzWzBdKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuX2lkLFxuICAgICAgc2VuZGVyOiB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgcmVjaXBpZW50OiB0cmFuc2Zlcj8ucmVjaXBpZW50LFxuICAgICAgYW1vdW50OiB0cmFuc2Zlcj8uYW1vdW50LFxuICAgICAgbm9uY2U6IHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLm5vbmNlLFxuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlLlNlbmQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24oKTogU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJ107XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuXG4gICAgaWYgKHJlc3VsdC5yZWNpcGllbnQgJiYgcmVzdWx0LmFtb3VudCkge1xuICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogcmVzdWx0LnJlY2lwaWVudCxcbiAgICAgICAgYW1vdW50OiByZXN1bHQuYW1vdW50LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogcmVzdWx0LmFtb3VudCB8fCAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgIHR5cGU6IHJlc3VsdC50eXBlLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEhleC1lbmNvZGVkIGludGVybmFsIEpTT04g4oCUIHVzZWQgYnkgV1AgZm9yIHJvdW5kLXRyaXAgdmlhIGZyb21SYXdUcmFuc2FjdGlvbi4gKi9cbiAgdG9JbnRlcm5hbEhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGRhdGEpLCAndXRmLTgnKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2Mg4oCUIHJldHVybnMgU3RhcmtuZXQgUlBDLXJlYWR5IEpTT04gZm9yIGFkZEludm9rZSBvciBhZGREZXBsb3lBY2NvdW50LiAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkID1cbiAgICAgIGRhdGEudHJhbnNhY3Rpb25UeXBlID09PSBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5ERVBMT1lfQUNDT1VOVFxuICAgICAgICA/IHRoaXMuYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhKVxuICAgICAgICA6IHRoaXMuYnVpbGRJbnZva2VQYXlsb2FkKGRhdGEpO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpO1xuICB9XG4gIHByaXZhdGUgYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIGlmICghZGF0YS5jbGFzc0hhc2ggfHwgIWRhdGEuY29uc3RydWN0b3JDYWxsZGF0YSB8fCAhZGF0YS5jb250cmFjdEFkZHJlc3NTYWx0KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0luY29tcGxldGUgZGVwbG95IGFjY291bnQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ0RFUExPWV9BQ0NPVU5UJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2lnbmF0dXJlOiBkYXRhLnNpZ25hdHVyZSB8fCBbXSxcbiAgICAgIG5vbmNlOiBkYXRhLm5vbmNlLFxuICAgICAgY29udHJhY3RfYWRkcmVzc19zYWx0OiBkYXRhLmNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgICBjb25zdHJ1Y3Rvcl9jYWxsZGF0YTogZGF0YS5jb25zdHJ1Y3RvckNhbGxkYXRhLFxuICAgICAgY2xhc3NfaGFzaDogZGF0YS5jbGFzc0hhc2gsXG4gICAgICBzZW5kZXJfYWRkcmVzczogZGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgcmVzb3VyY2VfYm91bmRzOiByZXNvbHZlUmVzb3VyY2VCb3VuZHMoZGF0YSksXG4gICAgICB0aXA6IGRhdGEudGlwIHx8ICcweDAnLFxuICAgICAgcGF5bWFzdGVyX2RhdGE6IFtdLFxuICAgICAgbm9uY2VfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICAgIGZlZV9kYXRhX2F2YWlsYWJpbGl0eV9tb2RlOiAnTDEnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW52b2tlUGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnSU5WT0tFJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2VuZGVyX2FkZHJlc3M6IGRhdGEuc2VuZGVyQWRkcmVzcyxcbiAgICAgIGNhbGxkYXRhOiByZXNvbHZlQ29tcGlsZWRDYWxsZGF0YShkYXRhKSxcbiAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUgfHwgW10sXG4gICAgICBub25jZTogZGF0YS5ub25jZSxcbiAgICAgIHJlc291cmNlX2JvdW5kczogcmVzb2x2ZVJlc291cmNlQm91bmRzKGRhdGEpLFxuICAgICAgdGlwOiBkYXRhLnRpcCB8fCAnMHgwJyxcbiAgICAgIHBheW1hc3Rlcl9kYXRhOiBbXSxcbiAgICAgIGFjY291bnRfZGVwbG95bWVudF9kYXRhOiBbXSxcbiAgICAgIG5vbmNlX2RhdGFfYXZhaWxhYmlsaXR5X21vZGU6ICdMMScsXG4gICAgICBmZWVfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oX2tleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQU15QjtBQUV6QiwyQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBQ2pCLGlEQUEyRTtBQUUzRSxTQUFTLHVCQUF1QixDQUFDLElBQTZCO0lBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFBLDhCQUFzQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdEQUFnRCxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBNkI7SUFDMUQsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUEsaUNBQXFCLEdBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFJOUMsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHVCQUF1QixDQUFDLElBQTZCO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FB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LElBQUksRUFBRTtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtZQUMvQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQzlDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMxQixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDbEMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM1QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLO1lBQ3RCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQTZCO1FBQ3RELE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2xDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsZUFBZSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM1QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLO1lBQ3RCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLHVCQUF1QixFQUFFLEVBQUU7WUFDM0IsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQywwQkFBMEIsRUFBRSxJQUFJO1NBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBbkxELGtDQW1MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgZGVmYXVsdFJlc291cmNlQm91bmRzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyxcbiAgU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEsXG4gIFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlLFxuICBTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFR4RGF0YSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMsIHsgY29tcGlsZUV4ZWN1dGVDYWxsZGF0YSwgcGFyc2VUcmFuc2ZlckNhbGwgfSBmcm9tICcuL3V0aWxzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUNvbXBpbGVkQ2FsbGRhdGEoZGF0YTogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpOiBzdHJpbmdbXSB7XG4gIGlmIChkYXRhLmNvbXBpbGVkQ2FsbGRhdGEgJiYgZGF0YS5jb21waWxlZENhbGxkYXRhLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gZGF0YS5jb21waWxlZENhbGxkYXRhO1xuICB9XG4gIGlmIChkYXRhLmNhbGxzLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gY29tcGlsZUV4ZWN1dGVDYWxsZGF0YShkYXRhLmNhbGxzKTtcbiAgfVxuICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ01pc3NpbmcgY2FsbGRhdGE6IG5vIGNvbXBpbGVkQ2FsbGRhdGEgb3IgY2FsbHMnKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVJlc291cmNlQm91bmRzKGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKTogU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyB7XG4gIHJldHVybiBkYXRhLnJlc291cmNlQm91bmRzID8/IGRlZmF1bHRSZXNvdXJjZUJvdW5kcygpO1xufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhITogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gIHByb3RlY3RlZCBfc2lnbmVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0IHN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKCk6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gIH1cblxuICBzZXQgc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEoZGF0YTogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YSA9IGRhdGE7XG4gICAgaWYgKGRhdGEudHJhbnNhY3Rpb25IYXNoKSB7XG4gICAgICB0aGlzLl9pZCA9IGRhdGEudHJhbnNhY3Rpb25IYXNoO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaWduYWJsZUhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhhc2ggPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YT8udHJhbnNhY3Rpb25IYXNoO1xuICAgIGlmICghaGFzaCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBoYXNoLnJlcGxhY2UoL14weC9pLCAnJykucGFkU3RhcnQoNjQsICcwJyk7XG4gIH1cblxuICBnZXQgc2lnbmVkVHJhbnNhY3Rpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgc2lnbmVkVHJhbnNhY3Rpb24odHg6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uID0gdHg7XG4gIH1cblxuICBhc3luYyBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuZnJvbShyYXdUcmFuc2FjdGlvbiwgJ2hleCcpO1xuICAgICAgY29uc3QganNvblN0cmluZyA9IGJ1ZmZlci50b1N0cmluZygndXRmLTgnKTtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UoanNvblN0cmluZyk7XG5cbiAgICAgIHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhID0ge1xuICAgICAgICBzZW5kZXJBZGRyZXNzOiBwYXJzZWQuc2VuZGVyQWRkcmVzcyxcbiAgICAgICAgY29udHJhY3RBZGRyZXNzOiBwYXJzZWQuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICBjYWxsczogcGFyc2VkLmNhbGxzIHx8IFtdLFxuICAgICAgICBub25jZTogcGFyc2VkLm5vbmNlLFxuICAgICAgICBjaGFpbklkOiBwYXJzZWQuY2hhaW5JZCxcbiAgICAgICAgdHJhbnNhY3Rpb25UeXBlOiBwYXJzZWQudHJhbnNhY3Rpb25UeXBlIHx8IFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlLklOVk9LRSxcbiAgICAgICAgc2lnbmF0dXJlOiBwYXJzZWQuc2lnbmF0dXJlLFxuICAgICAgICB0cmFuc2FjdGlvbkhhc2g6IHBhcnNlZC50cmFuc2FjdGlvbkhhc2gsXG4gICAgICAgIHJlc291cmNlQm91bmRzOiBwYXJzZWQucmVzb3VyY2VCb3VuZHMsXG4gICAgICAgIHRpcDogcGFyc2VkLnRpcCxcbiAgICAgICAgY29tcGlsZWRDYWxsZGF0YTogcGFyc2VkLmNvbXBpbGVkQ2FsbGRhdGEsXG4gICAgICAgIG5vbmNlRGF0YUF2YWlsYWJpbGl0eU1vZGU6IHBhcnNlZC5ub25jZURhdGFBdmFpbGFiaWxpdHlNb2RlLFxuICAgICAgICBmZWVEYXRhQXZhaWxhYmlsaXR5TW9kZTogcGFyc2VkLmZlZURhdGFBdmFpbGFiaWxpdHlNb2RlLFxuICAgICAgICBjbGFzc0hhc2g6IHBhcnNlZC5jbGFzc0hhc2gsXG4gICAgICAgIGNvbnN0cnVjdG9yQ2FsbGRhdGE6IHBhcnNlZC5jb25zdHJ1Y3RvckNhbGxkYXRhLFxuICAgICAgICBjb250cmFjdEFkZHJlc3NTYWx0OiBwYXJzZWQuY29udHJhY3RBZGRyZXNzU2FsdCxcbiAgICAgIH07XG5cbiAgICAgIGlmIChwYXJzZWQuc2lnbmF0dXJlICYmIHBhcnNlZC5zaWduYXR1cmUubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHJhd1RyYW5zYWN0aW9uO1xuICAgICAgfVxuXG4gICAgICB1dGlscy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhKTtcbiAgICAgIHRoaXMuX2lkID0gcGFyc2VkLnRyYW5zYWN0aW9uSGFzaCB8fCAnJztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgdHJhbnNmZXIgPVxuICAgICAgdGhpcy5fc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEuY2FsbHMubGVuZ3RoID4gMFxuICAgICAgICA/IHBhcnNlVHJhbnNmZXJDYWxsKHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLmNhbGxzWzBdKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuX2lkLFxuICAgICAgc2VuZGVyOiB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgcmVjaXBpZW50OiB0cmFuc2Zlcj8ucmVjaXBpZW50LFxuICAgICAgYW1vdW50OiB0cmFuc2Zlcj8uYW1vdW50LFxuICAgICAgbm9uY2U6IHRoaXMuX3N0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLm5vbmNlLFxuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlLlNlbmQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24oKTogU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRvSnNvbigpO1xuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFsnaWQnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZUFtb3VudCcsICdvdXRwdXRzJywgJ2NoYW5nZU91dHB1dHMnLCAnZmVlJ107XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuXG4gICAgaWYgKHJlc3VsdC5yZWNpcGllbnQgJiYgcmVzdWx0LmFtb3VudCkge1xuICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgYWRkcmVzczogcmVzdWx0LnJlY2lwaWVudCxcbiAgICAgICAgYW1vdW50OiByZXN1bHQuYW1vdW50LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudDogcmVzdWx0LmFtb3VudCB8fCAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgIHR5cGU6IHJlc3VsdC50eXBlLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEhleC1lbmNvZGVkIGludGVybmFsIEpTT04g4oCUIHVzZWQgYnkgV1AgZm9yIHJvdW5kLXRyaXAgdmlhIGZyb21SYXdUcmFuc2FjdGlvbi4gKi9cbiAgdG9JbnRlcm5hbEhleCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGRhdGEpLCAndXRmLTgnKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2Mg4oCUIHJldHVybnMgU3RhcmtuZXQgUlBDLXJlYWR5IEpTT04gZm9yIGFkZEludm9rZSBvciBhZGREZXBsb3lBY2NvdW50LiAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlsb2FkID1cbiAgICAgIGRhdGEudHJhbnNhY3Rpb25UeXBlID09PSBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5ERVBMT1lfQUNDT1VOVFxuICAgICAgICA/IHRoaXMuYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhKVxuICAgICAgICA6IHRoaXMuYnVpbGRJbnZva2VQYXlsb2FkKGRhdGEpO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBheWxvYWQpO1xuICB9XG4gIHByaXZhdGUgYnVpbGREZXBsb3lBY2NvdW50UGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIGlmICghZGF0YS5jbGFzc0hhc2ggfHwgIWRhdGEuY29uc3RydWN0b3JDYWxsZGF0YSB8fCAhZGF0YS5jb250cmFjdEFkZHJlc3NTYWx0KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0luY29tcGxldGUgZGVwbG95IGFjY291bnQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ0RFUExPWV9BQ0NPVU5UJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2lnbmF0dXJlOiBkYXRhLnNpZ25hdHVyZSB8fCBbXSxcbiAgICAgIG5vbmNlOiBkYXRhLm5vbmNlLFxuICAgICAgY29udHJhY3RfYWRkcmVzc19zYWx0OiBkYXRhLmNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgICBjb25zdHJ1Y3Rvcl9jYWxsZGF0YTogZGF0YS5jb25zdHJ1Y3RvckNhbGxkYXRhLFxuICAgICAgY2xhc3NfaGFzaDogZGF0YS5jbGFzc0hhc2gsXG4gICAgICBzZW5kZXJfYWRkcmVzczogZGF0YS5zZW5kZXJBZGRyZXNzLFxuICAgICAgcmVzb3VyY2VfYm91bmRzOiByZXNvbHZlUmVzb3VyY2VCb3VuZHMoZGF0YSksXG4gICAgICB0aXA6IGRhdGEudGlwIHx8ICcweDAnLFxuICAgICAgcGF5bWFzdGVyX2RhdGE6IFtdLFxuICAgICAgbm9uY2VfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICAgIGZlZV9kYXRhX2F2YWlsYWJpbGl0eV9tb2RlOiAnTDEnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW52b2tlUGF5bG9hZChkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnSU5WT0tFJyxcbiAgICAgIHZlcnNpb246ICcweDMnLFxuICAgICAgc2VuZGVyX2FkZHJlc3M6IGRhdGEuc2VuZGVyQWRkcmVzcyxcbiAgICAgIGNhbGxkYXRhOiByZXNvbHZlQ29tcGlsZWRDYWxsZGF0YShkYXRhKSxcbiAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUgfHwgW10sXG4gICAgICBub25jZTogZGF0YS5ub25jZSxcbiAgICAgIHJlc291cmNlX2JvdW5kczogcmVzb2x2ZVJlc291cmNlQm91bmRzKGRhdGEpLFxuICAgICAgdGlwOiBkYXRhLnRpcCB8fCAnMHgwJyxcbiAgICAgIHBheW1hc3Rlcl9kYXRhOiBbXSxcbiAgICAgIGFjY291bnRfZGVwbG95bWVudF9kYXRhOiBbXSxcbiAgICAgIG5vbmNlX2RhdGFfYXZhaWxhYmlsaXR5X21vZGU6ICdMMScsXG4gICAgICBmZWVfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZTogJ0wxJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oX2tleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walletInitializationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA2B,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAI3E;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,SAAS,CAAC,UAAU,EAAE,MAAM,CAA6B;IACzD,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1C,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;gBAE5B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,uBAAuB,CAEvD;IAED;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWnC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQzC,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAclC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAsC3D,OAAO,CAAC,kBAAkB;CA4B3B"}
1
+ {"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walletInitializationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA2B,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAI3E;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,SAAS,CAAC,UAAU,EAAE,MAAM,CAA6B;IACzD,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1C,SAAS,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;gBAE5B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,uBAAuB,CAEvD;IAED;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWnC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQzC,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAclC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAuC3D,OAAO,CAAC,kBAAkB;CA4B3B"}
@@ -75,6 +75,7 @@ class WalletInitializationBuilder extends transactionBuilder_1.TransactionBuilde
75
75
  });
76
76
  const data = {
77
77
  senderAddress: contractAddress,
78
+ contractAddress,
78
79
  calls: [],
79
80
  nonce,
80
81
  chainId,
@@ -113,4 +114,4 @@ class WalletInitializationBuilder extends transactionBuilder_1.TransactionBuilde
113
114
  }
114
115
  }
115
116
  exports.WalletInitializationBuilder = WalletInitializationBuilder;
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXdEO0FBRXhELDZEQUEwRDtBQUUxRCxtQ0FBMkU7QUFDM0UsMkNBQXdEO0FBQ3hELG9EQUE0QjtBQUU1Qjs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsdUNBQWtCO0lBS2pFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBTFgsZUFBVSxHQUFXLHFDQUF5QixDQUFDO0lBTXpELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywrQkFBdUIsQ0FBQyxjQUFjLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGFBQWEsQ0FBQyxNQUFjO1FBQ2pDLElBQUksQ0FBQyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLGVBQUssQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxNQUFNLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxHQUFHLGVBQUssQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsbUJBQW1CLENBQUM7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxTQUFTLENBQUMsU0FBaUI7UUFDaEMsSUFBSSxDQUFDLFNBQVMs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RkFBOEYsQ0FDL0YsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFLLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEcsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDNUQsSUFBSSxlQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDckYsTUFBTSxJQUFJLGdDQUFxQixDQUM3QiwrQ0FBK0MsT0FBTyxDQUFDLE9BQU8sU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQ3RGLENBQUM7WUFDSixDQUFDO1lBQ0QsSUFDRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUM3RSxPQUFPLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxvQkFBb0IsRUFDMUMsQ0FBQztnQkFDRCxNQUFNLElBQUksZ0NBQXFCLENBQUMsd0RBQXdELENBQUMsQ0FBQztZQUM1RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXRIRCxrRUFzSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSwgU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IE9aX0VUSF9BQ0NPVU5UX0NMQVNTX0hBU0ggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQnVpbGRzIERFUExPWV9BQ0NPVU5UIHYzIHRyYW5zYWN0aW9ucyBmb3IgY291bnRlcmZhY3R1YWwgRXRoQWNjb3VudCBhY3RpdmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9jbGFzc0hhc2g6IHN0cmluZyA9IE9aX0VUSF9BQ0NPVU5UX0NMQVNTX0hBU0g7XG4gIHByb3RlY3RlZCBfY29uc3RydWN0b3JDYWxsZGF0YT86IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgX2NvbnRyYWN0QWRkcmVzc1NhbHQ/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5ERVBMT1lfQUNDT1VOVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgZGVwbG95IHBhcmFtZXRlcnMgZnJvbSBhIHNlY3AyNTZrMSBwdWJsaWMga2V5IChjb21wcmVzc2VkIG9yIHVuY29tcHJlc3NlZCkuXG4gICAqIERlcml2ZXMgY291bnRlcmZhY3R1YWwgYWRkcmVzcywgY29uc3RydWN0b3IgY2FsbGRhdGEsIGFuZCBzYWx0LlxuICAgKi9cbiAgcHVibGljIGZyb21QdWJsaWNLZXkocHViS2V5OiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViS2V5KSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBwdWJLZXksIGdvdDogJyArIHB1YktleSk7XG4gICAgfVxuICAgIGNvbnN0IGZ1bGxQdWJsaWNLZXkgPSB1dGlscy5nZXRVbmNvbXByZXNzZWRQdWJsaWNLZXkocHViS2V5KTtcbiAgICBjb25zdCB7IGFkZHJlc3MsIGNvbnN0cnVjdG9yQ2FsbGRhdGEsIHNhbHQgfSA9IHV0aWxzLmNvbXB1dGVTdGFya25ldEFkZHJlc3MoZnVsbFB1YmxpY0tleSk7XG4gICAgdGhpcy5fY29uc3RydWN0b3JDYWxsZGF0YSA9IGNvbnN0cnVjdG9yQ2FsbGRhdGE7XG4gICAgdGhpcy5fY29udHJhY3RBZGRyZXNzU2FsdCA9IHNhbHQ7XG4gICAgcmV0dXJuIHRoaXMuc2VuZGVyKGFkZHJlc3MsIHB1YktleSk7XG4gIH1cblxuICBwdWJsaWMgY2xhc3NIYXNoKGNsYXNzSGFzaDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFjbGFzc0hhc2ggfHwgIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGNsYXNzSGFzaCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgY2xhc3MgaGFzaCwgZ290OiAnICsgY2xhc3NIYXNoKTtcbiAgICB9XG4gICAgdGhpcy5fY2xhc3NIYXNoID0gY2xhc3NIYXNoO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCBkYXRhID0gdHguc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG4gICAgaWYgKGRhdGEuY2xhc3NIYXNoKSB7XG4gICAgICB0aGlzLl9jbGFzc0hhc2ggPSBkYXRhLmNsYXNzSGFzaDtcbiAgICB9XG4gICAgaWYgKGRhdGEuY29uc3RydWN0b3JDYWxsZGF0YSkge1xuICAgICAgdGhpcy5fY29uc3RydWN0b3JDYWxsZGF0YSA9IGRhdGEuY29uc3RydWN0b3JDYWxsZGF0YTtcbiAgICB9XG4gICAgaWYgKGRhdGEuY29udHJhY3RBZGRyZXNzU2FsdCkge1xuICAgICAgdGhpcy5fY29udHJhY3RBZGRyZXNzU2FsdCA9IGRhdGEuY29udHJhY3RBZGRyZXNzU2FsdDtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuZW5zdXJlRGVwbG95RmllbGRzKCk7XG5cbiAgICBjb25zdCBjb250cmFjdEFkZHJlc3MgPSB0aGlzLl9zZW5kZXIgYXMgc3RyaW5nO1xuICAgIGNvbnN0IGNoYWluSWQgPSB0aGlzLl9jaGFpbklkIGFzIHN0cmluZztcbiAgICBjb25zdCBub25jZSA9IHRoaXMuX25vbmNlIGFzIHN0cmluZztcbiAgICBjb25zdCBjb25zdHJ1Y3RvckNhbGxkYXRhID0gdGhpcy5fY29uc3RydWN0b3JDYWxsZGF0YSBhcyBzdHJpbmdbXTtcbiAgICBjb25zdCBjb250cmFjdEFkZHJlc3NTYWx0ID0gdGhpcy5fY29udHJhY3RBZGRyZXNzU2FsdCBhcyBzdHJpbmc7XG5cbiAgICBjb25zdCB0cmFuc2FjdGlvbkhhc2ggPSB1dGlscy5jYWxjdWxhdGVEZXBsb3lBY2NvdW50VHJhbnNhY3Rpb25IYXNoKHtcbiAgICAgIGNvbnRyYWN0QWRkcmVzcyxcbiAgICAgIGNsYXNzSGFzaDogdGhpcy5fY2xhc3NIYXNoLFxuICAgICAgY29uc3RydWN0b3JDYWxsZGF0YSxcbiAgICAgIGNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgICBjaGFpbklkLFxuICAgICAgbm9uY2UsXG4gICAgICByZXNvdXJjZUJvdW5kczogdGhpcy5fcmVzb3VyY2VCb3VuZHMsXG4gICAgICB0aXA6IHRoaXMuX3RpcCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRhdGE6IFN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhID0ge1xuICAgICAgc2VuZGVyQWRkcmVzczogY29udHJhY3RBZGRyZXNzLFxuICAgICAgY2FsbHM6IFtdLFxuICAgICAgbm9uY2UsXG4gICAgICBjaGFpbklkLFxuICAgICAgdHJhbnNhY3Rpb25UeXBlOiBTdGFya25ldFRyYW5zYWN0aW9uVHlwZS5ERVBMT1lfQUNDT1VOVCxcbiAgICAgIHJlc291cmNlQm91bmRzOiB0aGlzLl9yZXNvdXJjZUJvdW5kcyxcbiAgICAgIHRpcDogdGhpcy5fdGlwLFxuICAgICAgdHJhbnNhY3Rpb25IYXNoLFxuICAgICAgY2xhc3NIYXNoOiB0aGlzLl9jbGFzc0hhc2gsXG4gICAgICBjb25zdHJ1Y3RvckNhbGxkYXRhLFxuICAgICAgY29udHJhY3RBZGRyZXNzU2FsdCxcbiAgICB9O1xuXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEgPSBkYXRhO1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlRGVwbG95RmllbGRzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fc2VuZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdTZW5kZXIgKGNvdW50ZXJmYWN0dWFsIGFkZHJlc3MpIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9wdWJsaWNLZXkgJiYgKCF0aGlzLl9jb25zdHJ1Y3RvckNhbGxkYXRhIHx8ICF0aGlzLl9jb250cmFjdEFkZHJlc3NTYWx0KSkge1xuICAgICAgdGhpcy5mcm9tUHVibGljS2V5KHRoaXMuX3B1YmxpY0tleSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fY29uc3RydWN0b3JDYWxsZGF0YSB8fCAhdGhpcy5fY29udHJhY3RBZGRyZXNzU2FsdCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgJ0RlcGxveSBhY2NvdW50IHJlcXVpcmVzIHB1YmxpYyBrZXkgKGZyb21QdWJsaWNLZXkpIG9yIGV4cGxpY2l0IGNvbnN0cnVjdG9yIGNhbGxkYXRhIGFuZCBzYWx0J1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgZnVsbFB1YmxpY0tleSA9IHRoaXMuX3B1YmxpY0tleSA/IHV0aWxzLmdldFVuY29tcHJlc3NlZFB1YmxpY0tleSh0aGlzLl9wdWJsaWNLZXkpIDogdW5kZWZpbmVkO1xuICAgIGlmIChmdWxsUHVibGljS2V5KSB7XG4gICAgICBjb25zdCBkZXJpdmVkID0gdXRpbHMuY29tcHV0ZVN0YXJrbmV0QWRkcmVzcyhmdWxsUHVibGljS2V5KTtcbiAgICAgIGlmICh1dGlscy5ub3JtYWxpemVBZGRyZXNzKGRlcml2ZWQuYWRkcmVzcykgIT09IHV0aWxzLm5vcm1hbGl6ZUFkZHJlc3ModGhpcy5fc2VuZGVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBBZGRyZXNzIGRvZXMgbm90IG1hdGNoIHB1YmxpYyBrZXkuIEV4cGVjdGVkICR7ZGVyaXZlZC5hZGRyZXNzfSwgZ290ICR7dGhpcy5fc2VuZGVyfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgZGVyaXZlZC5jb25zdHJ1Y3RvckNhbGxkYXRhLmpvaW4oJywnKSAhPT0gdGhpcy5fY29uc3RydWN0b3JDYWxsZGF0YS5qb2luKCcsJykgfHxcbiAgICAgICAgZGVyaXZlZC5zYWx0ICE9PSB0aGlzLl9jb250cmFjdEFkZHJlc3NTYWx0XG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignQ29uc3RydWN0b3IgY2FsbGRhdGEgb3Igc2FsdCBkb2VzIG5vdCBtYXRjaCBwdWJsaWMga2V5Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXdEO0FBRXhELDZEQUEwRDtBQUUxRCxtQ0FBMkU7QUFDM0UsMkNBQXdEO0FBQ3hELG9EQUE0QjtBQUU1Qjs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsdUNBQWtCO0lBS2pFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBTFgsZUFBVSxHQUFXLHFDQUF5QixDQUFDO0lBTXpELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywrQkFBdUIsQ0FBQyxjQUFjLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGFBQWEsQ0FBQyxNQUFjO1FBQ2pDLElBQUksQ0FBQyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLGVBQUssQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxNQUFNLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxHQUFHLGVBQUssQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsbUJBQW1CLENBQUM7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxTQUFTLENBQUMsU0FBaUI7UUFDaEMsSUFBSSxDQUFDLFNBQVMs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cUIsQ0FDN0IsOEZBQThGLENBQy9GLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BHLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsTUFBTSxPQUFPLEdBQUcsZUFBSyxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzVELElBQUksZUFBSyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3JGLE1BQU0sSUFBSSxnQ0FBcUIsQ0FDN0IsK0NBQStDLE9BQU8sQ0FBQyxPQUFPLFNBQVMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUN0RixDQUFDO1lBQ0osQ0FBQztZQUNELElBQ0UsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDN0UsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQzFDLENBQUM7Z0JBQ0QsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHdEQUF3RCxDQUFDLENBQUM7WUFDNUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF2SEQsa0VBdUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEsIFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBPWl9FVEhfQUNDT1VOVF9DTEFTU19IQVNIIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEJ1aWxkcyBERVBMT1lfQUNDT1VOVCB2MyB0cmFuc2FjdGlvbnMgZm9yIGNvdW50ZXJmYWN0dWFsIEV0aEFjY291bnQgYWN0aXZhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfY2xhc3NIYXNoOiBzdHJpbmcgPSBPWl9FVEhfQUNDT1VOVF9DTEFTU19IQVNIO1xuICBwcm90ZWN0ZWQgX2NvbnN0cnVjdG9yQ2FsbGRhdGE/OiBzdHJpbmdbXTtcbiAgcHJvdGVjdGVkIF9jb250cmFjdEFkZHJlc3NTYWx0Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUuREVQTE9ZX0FDQ09VTlQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGRlcGxveSBwYXJhbWV0ZXJzIGZyb20gYSBzZWNwMjU2azEgcHVibGljIGtleSAoY29tcHJlc3NlZCBvciB1bmNvbXByZXNzZWQpLlxuICAgKiBEZXJpdmVzIGNvdW50ZXJmYWN0dWFsIGFkZHJlc3MsIGNvbnN0cnVjdG9yIGNhbGxkYXRhLCBhbmQgc2FsdC5cbiAgICovXG4gIHB1YmxpYyBmcm9tUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1YktleSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcHViS2V5LCBnb3Q6ICcgKyBwdWJLZXkpO1xuICAgIH1cbiAgICBjb25zdCBmdWxsUHVibGljS2V5ID0gdXRpbHMuZ2V0VW5jb21wcmVzc2VkUHVibGljS2V5KHB1YktleSk7XG4gICAgY29uc3QgeyBhZGRyZXNzLCBjb25zdHJ1Y3RvckNhbGxkYXRhLCBzYWx0IH0gPSB1dGlscy5jb21wdXRlU3RhcmtuZXRBZGRyZXNzKGZ1bGxQdWJsaWNLZXkpO1xuICAgIHRoaXMuX2NvbnN0cnVjdG9yQ2FsbGRhdGEgPSBjb25zdHJ1Y3RvckNhbGxkYXRhO1xuICAgIHRoaXMuX2NvbnRyYWN0QWRkcmVzc1NhbHQgPSBzYWx0O1xuICAgIHJldHVybiB0aGlzLnNlbmRlcihhZGRyZXNzLCBwdWJLZXkpO1xuICB9XG5cbiAgcHVibGljIGNsYXNzSGFzaChjbGFzc0hhc2g6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghY2xhc3NIYXNoIHx8ICF1dGlscy5pc1ZhbGlkQWRkcmVzcyhjbGFzc0hhc2gpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGNsYXNzIGhhc2gsIGdvdDogJyArIGNsYXNzSGFzaCk7XG4gICAgfVxuICAgIHRoaXMuX2NsYXNzSGFzaCA9IGNsYXNzSGFzaDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgY29uc3QgZGF0YSA9IHR4LnN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuICAgIGlmIChkYXRhLmNsYXNzSGFzaCkge1xuICAgICAgdGhpcy5fY2xhc3NIYXNoID0gZGF0YS5jbGFzc0hhc2g7XG4gICAgfVxuICAgIGlmIChkYXRhLmNvbnN0cnVjdG9yQ2FsbGRhdGEpIHtcbiAgICAgIHRoaXMuX2NvbnN0cnVjdG9yQ2FsbGRhdGEgPSBkYXRhLmNvbnN0cnVjdG9yQ2FsbGRhdGE7XG4gICAgfVxuICAgIGlmIChkYXRhLmNvbnRyYWN0QWRkcmVzc1NhbHQpIHtcbiAgICAgIHRoaXMuX2NvbnRyYWN0QWRkcmVzc1NhbHQgPSBkYXRhLmNvbnRyYWN0QWRkcmVzc1NhbHQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLmVuc3VyZURlcGxveUZpZWxkcygpO1xuXG4gICAgY29uc3QgY29udHJhY3RBZGRyZXNzID0gdGhpcy5fc2VuZGVyIGFzIHN0cmluZztcbiAgICBjb25zdCBjaGFpbklkID0gdGhpcy5fY2hhaW5JZCBhcyBzdHJpbmc7XG4gICAgY29uc3Qgbm9uY2UgPSB0aGlzLl9ub25jZSBhcyBzdHJpbmc7XG4gICAgY29uc3QgY29uc3RydWN0b3JDYWxsZGF0YSA9IHRoaXMuX2NvbnN0cnVjdG9yQ2FsbGRhdGEgYXMgc3RyaW5nW107XG4gICAgY29uc3QgY29udHJhY3RBZGRyZXNzU2FsdCA9IHRoaXMuX2NvbnRyYWN0QWRkcmVzc1NhbHQgYXMgc3RyaW5nO1xuXG4gICAgY29uc3QgdHJhbnNhY3Rpb25IYXNoID0gdXRpbHMuY2FsY3VsYXRlRGVwbG95QWNjb3VudFRyYW5zYWN0aW9uSGFzaCh7XG4gICAgICBjb250cmFjdEFkZHJlc3MsXG4gICAgICBjbGFzc0hhc2g6IHRoaXMuX2NsYXNzSGFzaCxcbiAgICAgIGNvbnN0cnVjdG9yQ2FsbGRhdGEsXG4gICAgICBjb250cmFjdEFkZHJlc3NTYWx0LFxuICAgICAgY2hhaW5JZCxcbiAgICAgIG5vbmNlLFxuICAgICAgcmVzb3VyY2VCb3VuZHM6IHRoaXMuX3Jlc291cmNlQm91bmRzLFxuICAgICAgdGlwOiB0aGlzLl90aXAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkYXRhOiBTdGFya25ldFRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIHNlbmRlckFkZHJlc3M6IGNvbnRyYWN0QWRkcmVzcyxcbiAgICAgIGNvbnRyYWN0QWRkcmVzcyxcbiAgICAgIGNhbGxzOiBbXSxcbiAgICAgIG5vbmNlLFxuICAgICAgY2hhaW5JZCxcbiAgICAgIHRyYW5zYWN0aW9uVHlwZTogU3RhcmtuZXRUcmFuc2FjdGlvblR5cGUuREVQTE9ZX0FDQ09VTlQsXG4gICAgICByZXNvdXJjZUJvdW5kczogdGhpcy5fcmVzb3VyY2VCb3VuZHMsXG4gICAgICB0aXA6IHRoaXMuX3RpcCxcbiAgICAgIHRyYW5zYWN0aW9uSGFzaCxcbiAgICAgIGNsYXNzSGFzaDogdGhpcy5fY2xhc3NIYXNoLFxuICAgICAgY29uc3RydWN0b3JDYWxsZGF0YSxcbiAgICAgIGNvbnRyYWN0QWRkcmVzc1NhbHQsXG4gICAgfTtcblxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhID0gZGF0YTtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICBwcml2YXRlIGVuc3VyZURlcGxveUZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3NlbmRlcikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignU2VuZGVyIChjb3VudGVyZmFjdHVhbCBhZGRyZXNzKSBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fcHVibGljS2V5ICYmICghdGhpcy5fY29uc3RydWN0b3JDYWxsZGF0YSB8fCAhdGhpcy5fY29udHJhY3RBZGRyZXNzU2FsdCkpIHtcbiAgICAgIHRoaXMuZnJvbVB1YmxpY0tleSh0aGlzLl9wdWJsaWNLZXkpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2NvbnN0cnVjdG9yQ2FsbGRhdGEgfHwgIXRoaXMuX2NvbnRyYWN0QWRkcmVzc1NhbHQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgICdEZXBsb3kgYWNjb3VudCByZXF1aXJlcyBwdWJsaWMga2V5IChmcm9tUHVibGljS2V5KSBvciBleHBsaWNpdCBjb25zdHJ1Y3RvciBjYWxsZGF0YSBhbmQgc2FsdCdcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGZ1bGxQdWJsaWNLZXkgPSB0aGlzLl9wdWJsaWNLZXkgPyB1dGlscy5nZXRVbmNvbXByZXNzZWRQdWJsaWNLZXkodGhpcy5fcHVibGljS2V5KSA6IHVuZGVmaW5lZDtcbiAgICBpZiAoZnVsbFB1YmxpY0tleSkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IHV0aWxzLmNvbXB1dGVTdGFya25ldEFkZHJlc3MoZnVsbFB1YmxpY0tleSk7XG4gICAgICBpZiAodXRpbHMubm9ybWFsaXplQWRkcmVzcyhkZXJpdmVkLmFkZHJlc3MpICE9PSB1dGlscy5ub3JtYWxpemVBZGRyZXNzKHRoaXMuX3NlbmRlcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICBgQWRkcmVzcyBkb2VzIG5vdCBtYXRjaCBwdWJsaWMga2V5LiBFeHBlY3RlZCAke2Rlcml2ZWQuYWRkcmVzc30sIGdvdCAke3RoaXMuX3NlbmRlcn1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGRlcml2ZWQuY29uc3RydWN0b3JDYWxsZGF0YS5qb2luKCcsJykgIT09IHRoaXMuX2NvbnN0cnVjdG9yQ2FsbGRhdGEuam9pbignLCcpIHx8XG4gICAgICAgIGRlcml2ZWQuc2FsdCAhPT0gdGhpcy5fY29udHJhY3RBZGRyZXNzU2FsdFxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0NvbnN0cnVjdG9yIGNhbGxkYXRhIG9yIHNhbHQgZG9lcyBub3QgbWF0Y2ggcHVibGljIGtleScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, KeyPair, MPCAlgorithm, MultisigType, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyTransactionOptions } from '@bitgo/sdk-core';
1
+ import { AuditDecryptedKeyParams, BaseCoin, BitGoBase, KeyPair, MPCAlgorithm, MultisigType, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyTransactionOptions, SignableTransaction } from '@bitgo/sdk-core';
2
2
  import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
3
3
  import { Hash } from 'crypto';
4
4
  import { StarknetTransactionExplanation, TransactionHexParams, TssVerifyStarknetAddressOptions } from './lib/iface';
@@ -15,6 +15,11 @@ export declare class Starknet extends BaseCoin {
15
15
  verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
16
16
  isWalletAddress(params: TssVerifyStarknetAddressOptions): Promise<boolean>;
17
17
  parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
18
+ /**
19
+ * Returns true because Starknet's signableHex is already the final 32-byte hash.
20
+ * This prevents ecdsaMPCv2 from hashing the payload a second time.
21
+ */
22
+ isSignablePreHashed(unsignedTx: SignableTransaction): boolean;
18
23
  generateKeyPair(seed?: Buffer): KeyPair;
19
24
  isValidAddress(address: string): boolean;
20
25
  signTransaction(_params: SignTransactionOptions): Promise<SignedTransaction>;
@@ -1 +1 @@
1
- {"version":3,"file":"starknet.d.ts","sourceRoot":"","sources":["../../src/starknet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,SAAS,EAET,OAAO,EAEP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EAGzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAS,QAAQ,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAc,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAKpH,qBAAa,QAAS,SAAQ,QAAQ;IACpC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;IAIjB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAOzF,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmCrE,eAAe,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB1E,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI5E,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAI9C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKlC,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIlF,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,kBAAkB;IAClB,uCAAuC,IAAI,OAAO;IAIlD,kBAAkB;IAClB,eAAe,IAAI,YAAY;IAI/B,mBAAmB;IACnB,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,iBAAiB;IAIzB,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,GAAG,IAAI;CAMnF"}
1
+ {"version":3,"file":"starknet.d.ts","sourceRoot":"","sources":["../../src/starknet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,SAAS,EAET,OAAO,EAEP,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EAGxB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAS,QAAQ,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAc,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAKpH,qBAAa,QAAS,SAAQ,QAAQ;IACpC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;IAIjB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAOzF,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmCrE,eAAe,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB1E,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInF;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO;IAItD,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAI9C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKlC,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIlF,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,kBAAkB;IAClB,uCAAuC,IAAI,OAAO;IAIlD,kBAAkB;IAClB,eAAe,IAAI,YAAY;IAI/B,mBAAmB;IACnB,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,iBAAiB;IAIzB,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,GAAG,IAAI;CAMnF"}
@@ -48,7 +48,7 @@ class Starknet extends sdk_core_1.BaseCoin {
48
48
  // 0x-prefixed txHex means this is the Starknet transaction hash (signableHex), not the
49
49
  // full serialized transaction. Recipient verification already happened in prebuildAndSignTransaction
50
50
  // using serializedTxHex — nothing to verify from a hash alone.
51
- if (!txHex || txHex.startsWith('0x')) {
51
+ if (!txHex || txHex.startsWith('0x') || /^[0-9a-f]{64}$/i.test(txHex)) {
52
52
  return true;
53
53
  }
54
54
  const explainedTx = await this.explainTransaction({ transactionHex: txHex });
@@ -83,6 +83,13 @@ class Starknet extends sdk_core_1.BaseCoin {
83
83
  async parseTransaction(params) {
84
84
  return {};
85
85
  }
86
+ /**
87
+ * Returns true because Starknet's signableHex is already the final 32-byte hash.
88
+ * This prevents ecdsaMPCv2 from hashing the payload a second time.
89
+ */
90
+ isSignablePreHashed(unsignedTx) {
91
+ return true;
92
+ }
86
93
  generateKeyPair(seed) {
87
94
  return utils_1.default.generateKeyPair(seed);
88
95
  }
@@ -131,4 +138,4 @@ class Starknet extends sdk_core_1.BaseCoin {
131
138
  }
132
139
  }
133
140
  exports.Starknet = Starknet;
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmtuZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhcmtuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBaUJ5QjtBQUN6Qiw0Q0FBb0U7QUFDcEUsbUNBQTBDO0FBRzFDLCtFQUE0RTtBQUM1RSx3REFBZ0M7QUFDaEMsb0RBQTBEO0FBRTFELE1BQWEsUUFBUyxTQUFRLG1CQUFRO0lBRXBDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUE0QjtRQUNuRCxNQUFNLE9B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QVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQTJCO1FBQ3pFLElBQUksWUFBWSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBQSxrQ0FBb0IsRUFBQyxHQUFhLEVBQUUsU0FBbUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQS9KRCw0QkErSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgSW52YWxpZEFkZHJlc3NFcnJvcixcbiAgS2V5UGFpcixcbiAgTWV0aG9kTm90SW1wbGVtZW50ZWRFcnJvcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIG11bHRpc2lnVHlwZXMsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgdmVyaWZ5TVBDV2FsbGV0QWRkcmVzcyxcbiAgVW5leHBlY3RlZEFkZHJlc3NFcnJvcixcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4gfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBjcmVhdGVIYXNoLCBIYXNoIH0gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHsgU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUcmFuc2FjdGlvbkhleFBhcmFtcywgVHNzVmVyaWZ5U3RhcmtuZXRBZGRyZXNzT3B0aW9ucyB9IGZyb20gJy4vbGliL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmltcG9ydCB1dGlscyBmcm9tICcuL2xpYi91dGlscyc7XG5pbXBvcnQgeyBhdWRpdEVjZHNhUHJpdmF0ZUtleSB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFya25ldCBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFN0YXJrbmV0KGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5uYW1lO1xuICB9XG5cbiAgZ2V0QmFzZUNoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZmFtaWx5O1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZnVsbE5hbWU7XG4gIH1cblxuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLl9zdGF0aWNzQ29pbi5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbihwYXJhbXM6IFRyYW5zYWN0aW9uSGV4UGFyYW1zKTogUHJvbWlzZTxTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5nZXRCdWlsZGVyRmFjdG9yeSgpO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGF3YWl0IGZhY3RvcnkuZnJvbShwYXJhbXMudHJhbnNhY3Rpb25IZXgpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IHR4UGFyYW1zLCB0eFByZWJ1aWxkIH0gPSBwYXJhbXM7XG4gICAgY29uc3QgdHhIZXggPSB0eFByZWJ1aWxkPy50eEhleDtcblxuICAgIC8vIDB4LXByZWZpeGVkIHR4SGV4IG1lYW5zIHRoaXMgaXMgdGhlIFN0YXJrbmV0IHRyYW5zYWN0aW9uIGhhc2ggKHNpZ25hYmxlSGV4KSwgbm90IHRoZVxuICAgIC8vIGZ1bGwgc2VyaWFsaXplZCB0cmFuc2FjdGlvbi4gUmVjaXBpZW50IHZlcmlmaWNhdGlvbiBhbHJlYWR5IGhhcHBlbmVkIGluIHByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uXG4gICAgLy8gdXNpbmcgc2VyaWFsaXplZFR4SGV4IOKAlCBub3RoaW5nIHRvIHZlcmlmeSBmcm9tIGEgaGFzaCBhbG9uZS5cbiAgICBpZiAoIXR4SGV4IHx8IHR4SGV4LnN0YXJ0c1dpdGgoJzB4JykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGxhaW5lZFR4ID0gYXdhaXQgdGhpcy5leHBsYWluVHJhbnNhY3Rpb24oeyB0cmFuc2FjdGlvbkhleDogdHhIZXggfSk7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eFBhcmFtcy5yZWNpcGllbnRzKSAmJiB0eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGAke3RoaXMuZ2V0Q2hhaW4oKX0gZG9lc24ndCBzdXBwb3J0IHNlbmRpbmcgdG8gbW9yZSB0aGFuIDEgZGVzdGluYXRpb24gYWRkcmVzcyB3aXRoaW4gYSBzaW5nbGUgdHJhbnNhY3Rpb24uIFRyeSBhZ2FpbiwgdXNpbmcgb25seSBhIHNpbmdsZSByZWNpcGllbnQuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXhwbGFpbmVkVHgub3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCBvdXRwdXRzIGRvZXMgbm90IG1hdGNoIHdpdGggZXhwZWN0ZWQgdHhQYXJhbXMgcmVjaXBpZW50cycpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvdXRwdXQgPSBleHBsYWluZWRUeC5vdXRwdXRzWzBdO1xuICAgICAgY29uc3QgcmVjaXBpZW50ID0gdHhQYXJhbXMucmVjaXBpZW50c1swXTtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRPdXRwdXQgPSB1dGlscy5ub3JtYWxpemVBZGRyZXNzKG91dHB1dC5hZGRyZXNzKTtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZWNpcGllbnQgPSB1dGlscy5ub3JtYWxpemVBZGRyZXNzKHJlY2lwaWVudC5hZGRyZXNzKTtcbiAgICAgIGlmIChub3JtYWxpemVkT3V0cHV0ICE9PSBub3JtYWxpemVkUmVjaXBpZW50IHx8IG91dHB1dC5hbW91bnQgIT09IHJlY2lwaWVudC5hbW91bnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCBvdXRwdXRzIGRvZXMgbm90IG1hdGNoIHdpdGggZXhwZWN0ZWQgdHhQYXJhbXMgcmVjaXBpZW50cycpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFRzc1ZlcmlmeVN0YXJrbmV0QWRkcmVzc09wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGFkZHJlc3MgfSA9IHBhcmFtcztcblxuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoYGludmFsaWQgYWRkcmVzczogJHthZGRyZXNzfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZlcmlmeU1QQ1dhbGxldEFkZHJlc3MoXG4gICAgICB7IC4uLnBhcmFtcywga2V5Q3VydmU6ICdzZWNwMjU2azEnIH0sXG4gICAgICB0aGlzLmlzVmFsaWRBZGRyZXNzLmJpbmQodGhpcyksXG4gICAgICAocHViS2V5KSA9PiB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJLZXkpXG4gICAgKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgVW5leHBlY3RlZEFkZHJlc3NFcnJvcihgYWRkcmVzcyB2YWxpZGF0aW9uIGZhaWx1cmU6IGFkZHJlc3MgJHthZGRyZXNzfSBpcyBub3QgYSB3YWxsZXQgYWRkcmVzc2ApO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbihwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIHJldHVybiB1dGlscy5nZW5lcmF0ZUtleVBhaXIoc2VlZCk7XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICAvLyBTdGFya25ldCBpcyBUU1Mtb25seTsgc2lnbmluZyBpcyBoYW5kbGVkIGJ5IHRocmVzaG9sZCBFQ0RTQSBpbiB3YWxsZXQtcGxhdGZvcm0vT1ZDLlxuICBhc3luYyBzaWduVHJhbnNhY3Rpb24oX3BhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgTWV0aG9kTm90SW1wbGVtZW50ZWRFcnJvcignc2lnblRyYW5zYWN0aW9uJyk7XG4gIH1cblxuICBpc1ZhbGlkUHViKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHV0aWxzLmlzVmFsaWRQdWJsaWNLZXkoa2V5KTtcbiAgfVxuXG4gIGlzVmFsaWRQcnYoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFByaXZhdGVLZXkoa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZWQgZG9jICovXG4gIGdldERlZmF1bHRNdWx0aXNpZ1R5cGUoKTogTXVsdGlzaWdUeXBlIHtcbiAgICByZXR1cm4gbXVsdGlzaWdUeXBlcy50c3M7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcmVxdWlyZXNXYWxsZXRJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWNkc2EnO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRIYXNoRnVuY3Rpb24oKTogSGFzaCB7XG4gICAgcmV0dXJuIGNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdWlsZGVyRmFjdG9yeSgpOiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KHRoaXMuZ2V0QmFzZUNoYWluKCkpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhdWRpdERlY3J5cHRlZEtleSh7IG11bHRpU2lnVHlwZSwgcHJ2LCBwdWJsaWNLZXkgfTogQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMpOiB2b2lkIHtcbiAgICBpZiAobXVsdGlTaWdUeXBlICE9PSAndHNzJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBtdWx0aXNpZ3R5cGUnKTtcbiAgICB9XG4gICAgYXVkaXRFY2RzYVByaXZhdGVLZXkocHJ2IGFzIHN0cmluZywgcHVibGljS2V5IGFzIHN0cmluZyk7XG4gIH1cbn1cbiJdfQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmtuZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhcmtuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBa0J5QjtBQUN6Qiw0Q0FBb0U7QUFDcEUsbUNBQTBDO0FBRzFDLCtFQUE0RTtBQUM1RSx3REFBZ0M7QUFDaEMsb0RBQTBEO0FBRTFELE1BQWEsUUFBUyxTQUFRLG1CQUFRO0lBRXBDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUE0QjtRQUNuRCxNQUFNLE9B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RUFBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxxREFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUIsQ0FBQyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUEyQjtRQUN6RSxJQUFJLFlBQVksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUEsa0NBQW9CLEVBQUMsR0FBYSxFQUFFLFNBQW1CLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0Y7QUF2S0QsNEJBdUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMsXG4gIEJhc2VDb2luLFxuICBCaXRHb0Jhc2UsXG4gIEludmFsaWRBZGRyZXNzRXJyb3IsXG4gIEtleVBhaXIsXG4gIE1ldGhvZE5vdEltcGxlbWVudGVkRXJyb3IsXG4gIE1QQ0FsZ29yaXRobSxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIHZlcmlmeU1QQ1dhbGxldEFkZHJlc3MsXG4gIFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IsXG4gIFNpZ25hYmxlVHJhbnNhY3Rpb24sXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBjb2lucywgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgY3JlYXRlSGFzaCwgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5cbmltcG9ydCB7IFN0YXJrbmV0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbiwgVHJhbnNhY3Rpb25IZXhQYXJhbXMsIFRzc1ZlcmlmeVN0YXJrbmV0QWRkcmVzc09wdGlvbnMgfSBmcm9tICcuL2xpYi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgYXVkaXRFY2RzYVByaXZhdGVLZXkgfSBmcm9tICdAYml0Z28vc2RrLWxpYi1tcGMnO1xuXG5leHBvcnQgY2xhc3MgU3RhcmtuZXQgZXh0ZW5kcyBCYXNlQ29pbiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfc3RhdGljc0NvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj47XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbyk7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBTdGFya25ldChiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4ubmFtZTtcbiAgfVxuXG4gIGdldEJhc2VDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5uYW1lO1xuICB9XG5cbiAgZ2V0RmFtaWx5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZhbWlseTtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZ1bGxOYW1lO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy5fc3RhdGljc0NvaW4uZGVjaW1hbFBsYWNlcyk7XG4gIH1cblxuICBhc3luYyBleHBsYWluVHJhbnNhY3Rpb24ocGFyYW1zOiBUcmFuc2FjdGlvbkhleFBhcmFtcyk6IFByb21pc2U8U3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZ2V0QnVpbGRlckZhY3RvcnkoKTtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBhd2FpdCBmYWN0b3J5LmZyb20ocGFyYW1zLnRyYW5zYWN0aW9uSGV4KTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIHJldHVybiB0cmFuc2FjdGlvbi5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFBhcmFtcywgdHhQcmVidWlsZCB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHR4SGV4ID0gdHhQcmVidWlsZD8udHhIZXg7XG5cbiAgICAvLyAweC1wcmVmaXhlZCB0eEhleCBtZWFucyB0aGlzIGlzIHRoZSBTdGFya25ldCB0cmFuc2FjdGlvbiBoYXNoIChzaWduYWJsZUhleCksIG5vdCB0aGVcbiAgICAvLyBmdWxsIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb24uIFJlY2lwaWVudCB2ZXJpZmljYXRpb24gYWxyZWFkeSBoYXBwZW5lZCBpbiBwcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvblxuICAgIC8vIHVzaW5nIHNlcmlhbGl6ZWRUeEhleCDigJQgbm90aGluZyB0byB2ZXJpZnkgZnJvbSBhIGhhc2ggYWxvbmUuXG4gICAgaWYgKCF0eEhleCB8fCB0eEhleC5zdGFydHNXaXRoKCcweCcpIHx8IC9eWzAtOWEtZl17NjR9JC9pLnRlc3QodHhIZXgpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBsYWluZWRUeCA9IGF3YWl0IHRoaXMuZXhwbGFpblRyYW5zYWN0aW9uKHsgdHJhbnNhY3Rpb25IZXg6IHR4SGV4IH0pO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHhQYXJhbXMucmVjaXBpZW50cykgJiYgdHhQYXJhbXMucmVjaXBpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodHhQYXJhbXMucmVjaXBpZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJHt0aGlzLmdldENoYWluKCl9IGRvZXNuJ3Qgc3VwcG9ydCBzZW5kaW5nIHRvIG1vcmUgdGhhbiAxIGRlc3RpbmF0aW9uIGFkZHJlc3Mgd2l0aGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uLiBUcnkgYWdhaW4sIHVzaW5nIG9ubHkgYSBzaW5nbGUgcmVjaXBpZW50LmBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGV4cGxhaW5lZFR4Lm91dHB1dHMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHggb3V0cHV0cyBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHR4UGFyYW1zIHJlY2lwaWVudHMnKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3V0cHV0ID0gZXhwbGFpbmVkVHgub3V0cHV0c1swXTtcbiAgICAgIGNvbnN0IHJlY2lwaWVudCA9IHR4UGFyYW1zLnJlY2lwaWVudHNbMF07XG4gICAgICBjb25zdCBub3JtYWxpemVkT3V0cHV0ID0gdXRpbHMubm9ybWFsaXplQWRkcmVzcyhvdXRwdXQuYWRkcmVzcyk7XG4gICAgICBjb25zdCBub3JtYWxpemVkUmVjaXBpZW50ID0gdXRpbHMubm9ybWFsaXplQWRkcmVzcyhyZWNpcGllbnQuYWRkcmVzcyk7XG4gICAgICBpZiAobm9ybWFsaXplZE91dHB1dCAhPT0gbm9ybWFsaXplZFJlY2lwaWVudCB8fCBvdXRwdXQuYW1vdW50ICE9PSByZWNpcGllbnQuYW1vdW50KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHggb3V0cHV0cyBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHR4UGFyYW1zIHJlY2lwaWVudHMnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBUc3NWZXJpZnlTdGFya25ldEFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBhZGRyZXNzIH0gPSBwYXJhbXM7XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7YWRkcmVzc31gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB2ZXJpZnlNUENXYWxsZXRBZGRyZXNzKFxuICAgICAgeyAuLi5wYXJhbXMsIGtleUN1cnZlOiAnc2VjcDI1NmsxJyB9LFxuICAgICAgdGhpcy5pc1ZhbGlkQWRkcmVzcy5iaW5kKHRoaXMpLFxuICAgICAgKHB1YktleSkgPT4gdXRpbHMuZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHViS2V5KVxuICAgICk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IoYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiBhZGRyZXNzICR7YWRkcmVzc30gaXMgbm90IGEgd2FsbGV0IGFkZHJlc3NgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb24ocGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGJlY2F1c2UgU3RhcmtuZXQncyBzaWduYWJsZUhleCBpcyBhbHJlYWR5IHRoZSBmaW5hbCAzMi1ieXRlIGhhc2guXG4gICAqIFRoaXMgcHJldmVudHMgZWNkc2FNUEN2MiBmcm9tIGhhc2hpbmcgdGhlIHBheWxvYWQgYSBzZWNvbmQgdGltZS5cbiAgICovXG4gIGlzU2lnbmFibGVQcmVIYXNoZWQodW5zaWduZWRUeDogU2lnbmFibGVUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpciB7XG4gICAgcmV0dXJuIHV0aWxzLmdlbmVyYXRlS2V5UGFpcihzZWVkKTtcbiAgfVxuXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8vIFN0YXJrbmV0IGlzIFRTUy1vbmx5OyBzaWduaW5nIGlzIGhhbmRsZWQgYnkgdGhyZXNob2xkIEVDRFNBIGluIHdhbGxldC1wbGF0Zm9ybS9PVkMuXG4gIGFzeW5jIHNpZ25UcmFuc2FjdGlvbihfcGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yKCdzaWduVHJhbnNhY3Rpb24nKTtcbiAgfVxuXG4gIGlzVmFsaWRQdWIoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFB1YmxpY0tleShrZXkpO1xuICB9XG5cbiAgaXNWYWxpZFBydihrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkUHJpdmF0ZUtleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLnRzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICByZXF1aXJlc1dhbGxldEluaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEhhc2hGdW5jdGlvbigpOiBIYXNoIHtcbiAgICByZXR1cm4gY3JlYXRlSGFzaCgnc2hhMjU2Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1aWxkZXJGYWN0b3J5KCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQodGhpcy5nZXRCYXNlQ2hhaW4oKSkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGF1ZGl0RGVjcnlwdGVkS2V5KHsgbXVsdGlTaWdUeXBlLCBwcnYsIHB1YmxpY0tleSB9OiBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyk6IHZvaWQge1xuICAgIGlmIChtdWx0aVNpZ1R5cGUgIT09ICd0c3MnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG11bHRpc2lndHlwZScpO1xuICAgIH1cbiAgICBhdWRpdEVjZHNhUHJpdmF0ZUtleShwcnYgYXMgc3RyaW5nLCBwdWJsaWNLZXkgYXMgc3RyaW5nKTtcbiAgfVxufVxuIl19
@@ -109,6 +109,9 @@ describe('Starknet', function () {
109
109
  it('should return ECDSA as MPC algorithm', function () {
110
110
  basecoin.getMPCAlgorithm().should.equal('ecdsa');
111
111
  });
112
+ it('should identify as pre-hashed signable', function () {
113
+ basecoin.isSignablePreHashed({}).should.equal(true);
114
+ });
112
115
  });
113
116
  describe('Key pair generation', () => {
114
117
  it('should generate a key pair', function () {
@@ -143,6 +146,14 @@ describe('Starknet', function () {
143
146
  });
144
147
  result.should.equal(true);
145
148
  });
149
+ it('should return true when txHex is a 64-character unprefixed signableHex', async function () {
150
+ const result = await basecoin.verifyTransaction({
151
+ txParams: { recipients: [] },
152
+ txPrebuild: { txHex: 'deadbeefcafe1234567890abcdefdeadbeefcafe1234567890abcdef12345678' },
153
+ wallet: {},
154
+ });
155
+ result.should.equal(true);
156
+ });
146
157
  it('should return true when txHex is absent', async function () {
147
158
  const result = await basecoin.verifyTransaction({
148
159
  txParams: { recipients: [] },
@@ -153,4 +164,4 @@ describe('Starknet', function () {
153
164
  });
154
165
  });
155
166
  });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmtuZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvc3RhcmtuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBMEQ7QUFDMUQsNENBQTBDO0FBQzFDLDJDQUEyQztBQUMzQyxnRUFBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLCtDQUE4RDtBQUU5RCxRQUFRLENBQUMsVUFBVSxFQUFFO0lBQ25CLElBQUksS0FBbUIsQ0FBQztJQUN4QixJQUFJLFFBQVEsQ0FBQztJQUViLE1BQU0sQ0FBQyxLQUFLO1FBQ1YsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGdCQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUU7UUFDakMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1FBQ2xDLEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRTtZQUMvQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUU7WUFDN0MsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pGLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1lBQy9DLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFO1lBQ25DLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtRQUNsQyxFQUFFLENBQUMsNERBQTRELEVBQUU7WUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBQSwrQkFBdUIsRUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5RSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0REFBNEQsRUFBRTtZQUMvRCxNQUFNLE9BQU8sR0FBRyxJQUFBLCtCQUF1QixFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDREQUE0RCxFQUFFO1lBQy9ELE1BQU0sT0FBTyxHQUFHLElBQUEsK0JBQXVCLEVBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7UUFDckMsRUFBRSxDQUFDLG1EQUFtRCxFQUFFO1lBQ3RELFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTtZQUN4QyxRQUFRLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDM0IsRUFBRSxDQUFDLG9CQUFvQixFQUFFO1lBQ3ZCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNDQUFzQyxFQUFFO1lBQ3pDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTtZQUMvQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0MsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLGdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtZQUNsRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLEVBQUUsQ0FBQyw0RkFBNEYsRUFBRSxLQUFLO1lBQ3BHLHVGQUF1RjtZQUN2RiwyRkFBMkY7WUFDM0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsaUJBQWlCLENBQUM7Z0JBQzlDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7Z0JBQzVCLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRTtnQkFDdkQsTUFBTSxFQUFFLEVBQVM7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUZBQXVGLEVBQUUsS0FBSztZQUMvRixrRkFBa0Y7WUFDbEYsc0VBQXNFO1lBQ3RFLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLGlCQUFpQixDQUFDO2dCQUM5QyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7Z0JBQ2hFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRTtnQkFDdkQsTUFBTSxFQUFFLEVBQVM7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsS0FBSztZQUNqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtnQkFDNUIsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsTUFBTSxFQUFFLEVBQVM7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVzdEJpdEdvLCBUZXN0Qml0R29BUEkgfSBmcm9tICdAYml0Z28vc2RrLXRlc3QnO1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28vc2RrLWFwaSc7XG5pbXBvcnQgeyBTdGFya25ldCB9IGZyb20gJy4uLy4uL3NyYy9pbmRleCc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi9yZXNvdXJjZXMvc3RhcmtuZXQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkgfSBmcm9tICcuLi8uLi9zcmMvbGliL3V0aWxzJztcblxuZGVzY3JpYmUoJ1N0YXJrbmV0JywgZnVuY3Rpb24gKCkge1xuICBsZXQgYml0Z286IFRlc3RCaXRHb0FQSTtcbiAgbGV0IGJhc2Vjb2luO1xuXG4gIGJlZm9yZShhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYml0Z28gPSBUZXN0Qml0R28uZGVjb3JhdGUoQml0R29BUEksIHsgZW52OiAndGVzdCcgfSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCdzdGFya25ldCcsIFN0YXJrbmV0LmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3RzdGFya25ldCcsIFN0YXJrbmV0LmNyZWF0ZUluc3RhbmNlKTtcbiAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgICBiYXNlY29pbiA9IGJpdGdvLmNvaW4oJ3N0YXJrbmV0Jyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIHRoZSByaWdodCBpbmZvJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHN0YXJrbmV0ID0gYml0Z28uY29pbignc3RhcmtuZXQnKTtcbiAgICBjb25zdCB0c3RhcmtuZXQgPSBiaXRnby5jb2luKCd0c3RhcmtuZXQnKTtcblxuICAgIHN0YXJrbmV0LmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCdzdGFya25ldCcpO1xuICAgIHN0YXJrbmV0LmdldEZhbWlseSgpLnNob3VsZC5lcXVhbCgnc3RhcmtuZXQnKTtcbiAgICBzdGFya25ldC5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbCgnU3RhcmtuZXQnKTtcbiAgICBzdGFya25ldC5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlMTgpO1xuICAgIHN0YXJrbmV0LnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuXG4gICAgdHN0YXJrbmV0LmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCd0c3RhcmtuZXQnKTtcbiAgICB0c3RhcmtuZXQuZ2V0RmFtaWx5KCkuc2hvdWxkLmVxdWFsKCdzdGFya25ldCcpO1xuICAgIHRzdGFya25ldC5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbCgnVGVzdG5ldCBTdGFya25ldCcpO1xuICAgIHRzdGFya25ldC5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlMTgpO1xuICAgIHRzdGFya25ldC5zdXBwb3J0c1RzcygpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0FkZHJlc3MgdmFsaWRhdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGEgY29ycmVjdCBTdGFya25ldCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZEFkZHJlc3ModGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcykuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhIHNlY29uZCBjb3JyZWN0IGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkQWRkcmVzcyh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBhbiBvYnZpb3VzbHkgaW52YWxpZCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZEFkZHJlc3MoJ25vdF9hbl9hZGRyZXNzJykuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGFuIGVtcHR5IGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkQWRkcmVzcygnJykuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0FkZHJlc3MgZGVyaXZhdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGRlcml2ZSBjb3JyZWN0IGFkZHJlc3MgZnJvbSBwdWJsaWMga2V5IGZvciBhY2NvdW50MScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRlcml2ZWQgPSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50MS5wdWJsaWNLZXkpO1xuICAgICAgZGVyaXZlZC5zaG91bGQuZXF1YWwodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRlcml2ZSBjb3JyZWN0IGFkZHJlc3MgZnJvbSBwdWJsaWMga2V5IGZvciBhY2NvdW50MicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRlcml2ZWQgPSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50Mi5wdWJsaWNLZXkpO1xuICAgICAgZGVyaXZlZC5zaG91bGQuZXF1YWwodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRlcml2ZSBjb3JyZWN0IGFkZHJlc3MgZnJvbSBwdWJsaWMga2V5IGZvciBhY2NvdW50MycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGRlcml2ZWQgPSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50My5wdWJsaWNLZXkpO1xuICAgICAgZGVyaXZlZC5zaG91bGQuZXF1YWwodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDMuYWRkcmVzcyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdQdWJsaWMga2V5IHZhbGlkYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhIGNvcnJlY3QgdW5jb21wcmVzc2VkIHB1YmxpYyBrZXknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkUHViKHRlc3REYXRhLkFjY291bnRzLmFjY291bnQxLnB1YmxpY0tleSkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgYW4gaW52YWxpZCBwdWJsaWMga2V5JywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZFB1YignaW52YWxpZC1wdWJsaWMta2V5Jykuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ01QQyBzdXBwb3J0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc3VwcG9ydCBUU1MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5zdXBwb3J0c1RzcygpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIEVDRFNBIGFzIE1QQyBhbGdvcml0aG0nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5nZXRNUENBbGdvcml0aG0oKS5zaG91bGQuZXF1YWwoJ2VjZHNhJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdLZXkgcGFpciBnZW5lcmF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBrZXkgcGFpcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBiYXNlY29pbi5nZW5lcmF0ZUtleVBhaXIoKTtcbiAgICAgIHNob3VsZC5leGlzdChrZXlQYWlyLnB1Yik7XG4gICAgICBzaG91bGQuZXhpc3Qoa2V5UGFpci5wcnYpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBkaWZmZXJlbnQga2V5IHBhaXJzIGVhY2ggdGltZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGtwMSA9IGJhc2Vjb2luLmdlbmVyYXRlS2V5UGFpcigpO1xuICAgICAgY29uc3Qga3AyID0gYmFzZWNvaW4uZ2VuZXJhdGVLZXlQYWlyKCk7XG4gICAgICBrcDEucHViLnNob3VsZC5ub3QuZXF1YWwoa3AyLnB1Yik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd2ZXJpZnlUcmFuc2FjdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdHhIZXggaXMgYSAweC1wcmVmaXhlZCBzaWduYWJsZUhleCAoZGVwbG95X2FjY291bnQsIG5vIHJlY2lwaWVudHMpJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gRHVyaW5nIFRTUyBFQ0RTQSBzaWduaW5nLCBzZGstY29yZSBwYXNzZXMgc2lnbmFibGVIZXggKDB4LXByZWZpeGVkIHRyYW5zYWN0aW9uIGhhc2gpXG4gICAgICAvLyBhcyB0eEhleC4gSXQgY2Fubm90IGJlIGRlY29kZWQgYXMgaW50ZXJuYWwgSlNPTiBoZXgsIHNvIHZlcmlmaWNhdGlvbiBtdXN0IHNob3J0LWNpcmN1aXQuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBiYXNlY29pbi52ZXJpZnlUcmFuc2FjdGlvbih7XG4gICAgICAgIHR4UGFyYW1zOiB7IHJlY2lwaWVudHM6IFtdIH0sXG4gICAgICAgIHR4UHJlYnVpbGQ6IHsgdHhIZXg6ICcweGRlYWRiZWVmY2FmZTEyMzQ1Njc4OTBhYmNkZWYnIH0sXG4gICAgICAgIHdhbGxldDoge30gYXMgYW55LFxuICAgICAgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHR4SGV4IGlzIGEgMHgtcHJlZml4ZWQgc2lnbmFibGVIZXggKHRyYW5zZmVyIHdpdGggcmVjaXBpZW50cyknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBTYW1lIHNpZ25pbmcgcGF0aCBmb3IgdHJhbnNmZXJzIOKAlCBzaWduYWJsZUhleCBpcyAweC1wcmVmaXhlZCwgZnVsbCB2ZXJpZmljYXRpb25cbiAgICAgIC8vIGlzIGFscmVhZHkgZG9uZSBpbiBwcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbiB3aXRoIHNlcmlhbGl6ZWRUeEhleC5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHsgcmVjaXBpZW50czogW3sgYWRkcmVzczogJzB4YWJjJywgYW1vdW50OiAnMTAwMCcgfV0gfSxcbiAgICAgICAgdHhQcmVidWlsZDogeyB0eEhleDogJzB4ZGVhZGJlZWZjYWZlMTIzNDU2Nzg5MGFiY2RlZicgfSxcbiAgICAgICAgd2FsbGV0OiB7fSBhcyBhbnksXG4gICAgICB9KTtcbiAgICAgIHJlc3VsdC5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdHhIZXggaXMgYWJzZW50JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYmFzZWNvaW4udmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgICB0eFBhcmFtczogeyByZWNpcGllbnRzOiBbXSB9LFxuICAgICAgICB0eFByZWJ1aWxkOiB7fSxcbiAgICAgICAgd2FsbGV0OiB7fSBhcyBhbnksXG4gICAgICB9KTtcbiAgICAgIHJlc3VsdC5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmtuZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvc3RhcmtuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBMEQ7QUFDMUQsNENBQTBDO0FBQzFDLDJDQUEyQztBQUMzQyxnRUFBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLCtDQUE4RDtBQUU5RCxRQUFRLENBQUMsVUFBVSxFQUFFO0lBQ25CLElBQUksS0FBbUIsQ0FBQztJQUN4QixJQUFJLFFBQVEsQ0FBQztJQUViLE1BQU0sQ0FBQyxLQUFLO1FBQ1YsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGdCQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUU7UUFDakMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxD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TSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7Z0JBQ2hFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRTtnQkFDdkQsTUFBTSxFQUFFLEVBQVM7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0VBQXdFLEVBQUUsS0FBSztZQUNoRixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtnQkFDNUIsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGtFQUFrRSxFQUFFO2dCQUN6RixNQUFNLEVBQUUsRUFBUzthQUNsQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLO1lBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLGlCQUFpQixDQUFDO2dCQUM5QyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUM1QixVQUFVLEVBQUUsRUFBRTtnQkFDZCxNQUFNLEVBQUUsRUFBUzthQUNsQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstdGVzdCc7XG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcbmltcG9ydCB7IFN0YXJrbmV0IH0gZnJvbSAnLi4vLi4vc3JjL2luZGV4JztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uL3Jlc291cmNlcy9zdGFya25ldCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSB9IGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuXG5kZXNjcmliZSgnU3RhcmtuZXQnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBiaXRnbzogVGVzdEJpdEdvQVBJO1xuICBsZXQgYmFzZWNvaW47XG5cbiAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3N0YXJrbmV0JywgU3RhcmtuZXQuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcigndHN0YXJrbmV0JywgU3RhcmtuZXQuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICAgIGJhc2Vjb2luID0gYml0Z28uY29pbignc3RhcmtuZXQnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHJpZ2h0IGluZm8nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qgc3RhcmtuZXQgPSBiaXRnby5jb2luKCdzdGFya25ldCcpO1xuICAgIGNvbnN0IHRzdGFya25ldCA9IGJpdGdvLmNvaW4oJ3RzdGFya25ldCcpO1xuXG4gICAgc3RhcmtuZXQuZ2V0Q2hhaW4oKS5zaG91bGQuZXF1YWwoJ3N0YXJrbmV0Jyk7XG4gICAgc3RhcmtuZXQuZ2V0RmFtaWx5KCkuc2hvdWxkLmVxdWFsKCdzdGFya25ldCcpO1xuICAgIHN0YXJrbmV0LmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdTdGFya25ldCcpO1xuICAgIHN0YXJrbmV0LmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgc3RhcmtuZXQuc3VwcG9ydHNUc3MoKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG5cbiAgICB0c3RhcmtuZXQuZ2V0Q2hhaW4oKS5zaG91bGQuZXF1YWwoJ3RzdGFya25ldCcpO1xuICAgIHRzdGFya25ldC5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ3N0YXJrbmV0Jyk7XG4gICAgdHN0YXJrbmV0LmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdUZXN0bmV0IFN0YXJrbmV0Jyk7XG4gICAgdHN0YXJrbmV0LmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgdHN0YXJrbmV0LnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICB9KTtcblxuICBkZXNjcmliZSgnQWRkcmVzcyB2YWxpZGF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYSBjb3JyZWN0IFN0YXJrbmV0IGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkQWRkcmVzcyh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGEgc2Vjb25kIGNvcnJlY3QgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKHRlc3REYXRhLkFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGFuIG9idmlvdXNseSBpbnZhbGlkIGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkQWRkcmVzcygnbm90X2FuX2FkZHJlc3MnKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgYW4gZW1wdHkgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKCcnKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQWRkcmVzcyBkZXJpdmF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZGVyaXZlIGNvcnJlY3QgYWRkcmVzcyBmcm9tIHB1YmxpYyBrZXkgZm9yIGFjY291bnQxJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHRlc3REYXRhLkFjY291bnRzLmFjY291bnQxLnB1YmxpY0tleSk7XG4gICAgICBkZXJpdmVkLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGVyaXZlIGNvcnJlY3QgYWRkcmVzcyBmcm9tIHB1YmxpYyBrZXkgZm9yIGFjY291bnQyJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHRlc3REYXRhLkFjY291bnRzLmFjY291bnQyLnB1YmxpY0tleSk7XG4gICAgICBkZXJpdmVkLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGVyaXZlIGNvcnJlY3QgYWRkcmVzcyBmcm9tIHB1YmxpYyBrZXkgZm9yIGFjY291bnQzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHRlc3REYXRhLkFjY291bnRzLmFjY291bnQzLnB1YmxpY0tleSk7XG4gICAgICBkZXJpdmVkLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50My5hZGRyZXNzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1B1YmxpYyBrZXkgdmFsaWRhdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGEgY29ycmVjdCB1bmNvbXByZXNzZWQgcHVibGljIGtleScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRQdWIodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDEucHVibGljS2V5KS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBhbiBpbnZhbGlkIHB1YmxpYyBrZXknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkUHViKCdpbnZhbGlkLXB1YmxpYy1rZXknKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnTVBDIHN1cHBvcnQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzdXBwb3J0IFRTUycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gRUNEU0EgYXMgTVBDIGFsZ29yaXRobScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmdldE1QQ0FsZ29yaXRobSgpLnNob3VsZC5lcXVhbCgnZWNkc2EnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaWRlbnRpZnkgYXMgcHJlLWhhc2hlZCBzaWduYWJsZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzU2lnbmFibGVQcmVIYXNoZWQoe30gYXMgYW55KS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdLZXkgcGFpciBnZW5lcmF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBrZXkgcGFpcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBiYXNlY29pbi5nZW5lcmF0ZUtleVBhaXIoKTtcbiAgICAgIHNob3VsZC5leGlzdChrZXlQYWlyLnB1Yik7XG4gICAgICBzaG91bGQuZXhpc3Qoa2V5UGFpci5wcnYpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBkaWZmZXJlbnQga2V5IHBhaXJzIGVhY2ggdGltZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGtwMSA9IGJhc2Vjb2luLmdlbmVyYXRlS2V5UGFpcigpO1xuICAgICAgY29uc3Qga3AyID0gYmFzZWNvaW4uZ2VuZXJhdGVLZXlQYWlyKCk7XG4gICAgICBrcDEucHViLnNob3VsZC5ub3QuZXF1YWwoa3AyLnB1Yik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd2ZXJpZnlUcmFuc2FjdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdHhIZXggaXMgYSAweC1wcmVmaXhlZCBzaWduYWJsZUhleCAoZGVwbG95X2FjY291bnQsIG5vIHJlY2lwaWVudHMpJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gRHVyaW5nIFRTUyBFQ0RTQSBzaWduaW5nLCBzZGstY29yZSBwYXNzZXMgc2lnbmFibGVIZXggKDB4LXByZWZpeGVkIHRyYW5zYWN0aW9uIGhhc2gpXG4gICAgICAvLyBhcyB0eEhleC4gSXQgY2Fubm90IGJlIGRlY29kZWQgYXMgaW50ZXJuYWwgSlNPTiBoZXgsIHNvIHZlcmlmaWNhdGlvbiBtdXN0IHNob3J0LWNpcmN1aXQuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBiYXNlY29pbi52ZXJpZnlUcmFuc2FjdGlvbih7XG4gICAgICAgIHR4UGFyYW1zOiB7IHJlY2lwaWVudHM6IFtdIH0sXG4gICAgICAgIHR4UHJlYnVpbGQ6IHsgdHhIZXg6ICcweGRlYWRiZWVmY2FmZTEyMzQ1Njc4OTBhYmNkZWYnIH0sXG4gICAgICAgIHdhbGxldDoge30gYXMgYW55LFxuICAgICAgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHR4SGV4IGlzIGEgMHgtcHJlZml4ZWQgc2lnbmFibGVIZXggKHRyYW5zZmVyIHdpdGggcmVjaXBpZW50cyknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBTYW1lIHNpZ25pbmcgcGF0aCBmb3IgdHJhbnNmZXJzIOKAlCBzaWduYWJsZUhleCBpcyAweC1wcmVmaXhlZCwgZnVsbCB2ZXJpZmljYXRpb25cbiAgICAgIC8vIGlzIGFscmVhZHkgZG9uZSBpbiBwcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbiB3aXRoIHNlcmlhbGl6ZWRUeEhleC5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHsgcmVjaXBpZW50czogW3sgYWRkcmVzczogJzB4YWJjJywgYW1vdW50OiAnMTAwMCcgfV0gfSxcbiAgICAgICAgdHhQcmVidWlsZDogeyB0eEhleDogJzB4ZGVhZGJlZWZjYWZlMTIzNDU2Nzg5MGFiY2RlZicgfSxcbiAgICAgICAgd2FsbGV0OiB7fSBhcyBhbnksXG4gICAgICB9KTtcbiAgICAgIHJlc3VsdC5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdHhIZXggaXMgYSA2NC1jaGFyYWN0ZXIgdW5wcmVmaXhlZCBzaWduYWJsZUhleCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHsgcmVjaXBpZW50czogW10gfSxcbiAgICAgICAgdHhQcmVidWlsZDogeyB0eEhleDogJ2RlYWRiZWVmY2FmZTEyMzQ1Njc4OTBhYmNkZWZkZWFkYmVlZmNhZmUxMjM0NTY3ODkwYWJjZGVmMTIzNDU2NzgnIH0sXG4gICAgICAgIHdhbGxldDoge30gYXMgYW55LFxuICAgICAgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHR4SGV4IGlzIGFic2VudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHsgcmVjaXBpZW50czogW10gfSxcbiAgICAgICAgdHhQcmVidWlsZDoge30sXG4gICAgICAgIHdhbGxldDoge30gYXMgYW55LFxuICAgICAgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -35,7 +35,7 @@ describe('Starknet TransferBuilder', () => {
35
35
  .receiverId(starknet_1.Accounts.account2.address)
36
36
  .amount('1000000000000000000');
37
37
  const tx = (await builder.build());
38
- tx.signableHex.should.equal(tx.starknetTransactionData.transactionHash);
38
+ tx.signableHex.should.equal(tx.starknetTransactionData.transactionHash.replace(/^0x/i, '').padStart(64, '0'));
39
39
  tx.id.should.equal(tx.starknetTransactionData.transactionHash);
40
40
  });
41
41
  it('should produce different hashes for different recipients', async () => {
@@ -226,4 +226,4 @@ describe('Starknet TransferBuilder', () => {
226
226
  });
227
227
  });
228
228
  });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1Qiw0Q0FBdUM7QUFDdkMsdUZBQW9GO0FBRXBGLG9EQUFzRTtBQUV0RSxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsUUFBUSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtRQUMxQyxFQUFFLENBQUMsdURBQXVELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckUsTUFBTSxPQUFPLEdBQUcsSUFBSSxxREFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUU3QyxPQUFPO2lCQUNKLE1BQU0sQ0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7aUJBQ2pDLEtBQUssQ0FBQyxLQUFLLENBQUM7aUJBQ1osT0FBTyxDQUFDLDhCQUFtQixDQUFDLE9BQU8sQ0FBQztpQkFDcEMsVUFBVSxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztpQkFDckMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBZ0IsQ0FBQztZQUNsRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFFeEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUEwQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQsSUFBSSxD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aUJBQ0osTUFBTSxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztpQkFDakMsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDWixPQUFPLENBQUMsOEJBQW1CLENBQUMsT0FBTyxDQUFDO2lCQUNwQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUVqQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxxREFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtZQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLHFEQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzdDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBY2NvdW50cywgU2FuZGJveFRyYW5zZmVyRGF0YSB9IGZyb20gJy4uL3Jlc291cmNlcy9zdGFya25ldCc7XG5cbmRlc2NyaWJlKCdTdGFya25ldCBUcmFuc2ZlckJ1aWxkZXInLCAoKSA9PiB7XG4gIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQoJ3N0YXJrbmV0Jyk7XG5cbiAgZGVzY3JpYmUoJ0J1aWxkIHRyYW5zZmVyIHRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgYnVpbGQgYSB0cmFuc2ZlciBhbmQgcHJvZHVjZSBhIHRyYW5zYWN0aW9uSGFzaCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuXG4gICAgICBidWlsZGVyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgY29uc3QgdHggPSAoYXdhaXQgYnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IGRhdGEgPSB0eC5zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGRhdGEudHJhbnNhY3Rpb25IYXNoKTtcbiAgICAgIChkYXRhLnRyYW5zYWN0aW9uSGFzaCBhcyBzdHJpbmcpLnNob3VsZC5zdGFydFdpdGgoJzB4Jyk7XG4gICAgICAoZGF0YS50cmFuc2FjdGlvbkhhc2ggYXMgc3RyaW5nKS5sZW5ndGguc2hvdWxkLmJlLmdyZWF0ZXJUaGFuKDIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgc2lnbmFibGVIZXggZnJvbSB0aGUgUG9zZWlkb24gaGFzaCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuXG4gICAgICBidWlsZGVyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgY29uc3QgdHggPSAoYXdhaXQgYnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICAgIHR4LnNpZ25hYmxlSGV4LnNob3VsZC5lcXVhbCh0eC5zdGFya25ldFRyYW5zYWN0aW9uRGF0YS50cmFuc2FjdGlvbkhhc2gpO1xuICAgICAgdHguaWQuc2hvdWxkLmVxdWFsKHR4LnN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLnRyYW5zYWN0aW9uSGFzaCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHByb2R1Y2UgZGlmZmVyZW50IGhhc2hlcyBmb3IgZGlmZmVyZW50IHJlY2lwaWVudHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIxID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXIxXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIGNvbnN0IHR4MSA9IChhd2FpdCBidWlsZGVyMS5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcblxuICAgICAgY29uc3QgYnVpbGRlcjIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgYnVpbGRlcjJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDMuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgICAgY29uc3QgdHgyID0gKGF3YWl0IGJ1aWxkZXIyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuXG4gICAgICB0eDEuc2lnbmFibGVIZXguc2hvdWxkLm5vdC5lcXVhbCh0eDIuc2lnbmFibGVIZXgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBwcm9kdWNlIGRpZmZlcmVudCBoYXNoZXMgZm9yIGRpZmZlcmVudCBhbW91bnRzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuXG4gICAgICBjb25zdCBidWlsZGVyMSA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgICBidWlsZGVyMVxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLmNoYWluSWQoU2FuZGJveFRyYW5zZmVyRGF0YS5jaGFpbklkKVxuICAgICAgICAucmVjZWl2ZXJJZChBY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICBjb25zdCB0eDEgPSAoYXdhaXQgYnVpbGRlcjEuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXIyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzIwMDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIGNvbnN0IHR4MiA9IChhd2FpdCBidWlsZGVyMi5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcblxuICAgICAgdHgxLnNpZ25hYmxlSGV4LnNob3VsZC5ub3QuZXF1YWwodHgyLnNpZ25hYmxlSGV4KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaW5jbHVkZSBjb21waWxlZENhbGxkYXRhIGluIHRyYW5zYWN0aW9uIGRhdGEnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcblxuICAgICAgYnVpbGRlclxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLmNoYWluSWQoU2FuZGJveFRyYW5zZmVyRGF0YS5jaGFpbklkKVxuICAgICAgICAucmVjZWl2ZXJJZChBY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG5cbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IGJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgICBjb25zdCBkYXRhID0gdHguc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG5cbiAgICAgIHNob3VsZC5leGlzdChkYXRhLmNvbXBpbGVkQ2FsbGRhdGEpO1xuICAgICAgKGRhdGEuY29tcGlsZWRDYWxsZGF0YSBhcyBzdHJpbmdbXSkubGVuZ3RoLnNob3VsZC5iZS5ncmVhdGVyVGhhbigwKTtcbiAgICAgIChkYXRhLmNvbXBpbGVkQ2FsbGRhdGEgYXMgc3RyaW5nW10pWzBdLnNob3VsZC5lcXVhbCgnMHgxJyk7IC8vIDEgY2FsbFxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBpbmNsdWRlIHJlc291cmNlQm91bmRzIGluIHRyYW5zYWN0aW9uIGRhdGEnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcblxuICAgICAgYnVpbGRlclxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLmNoYWluSWQoU2FuZGJveFRyYW5zZmVyRGF0YS5jaGFpbklkKVxuICAgICAgICAucmVjZWl2ZXJJZChBY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwMDAwMDAwMDAwMDAwJylcbiAgICAgICAgLnJlc291cmNlQm91bmRzKFNhbmRib3hUcmFuc2ZlckRhdGEucmVzb3VyY2VCb3VuZHMpO1xuXG4gICAgICBjb25zdCB0eCA9IChhd2FpdCBidWlsZGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuICAgICAgY29uc3QgZGF0YSA9IHR4LnN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuXG4gICAgICBzaG91bGQuZXhpc3QoZGF0YS5yZXNvdXJjZUJvdW5kcyk7XG4gICAgICAoZGF0YS5yZXNvdXJjZUJvdW5kcyBhcyB7IGwyX2dhczogeyBtYXhfYW1vdW50OiBzdHJpbmcgfSB9KS5sMl9nYXMubWF4X2Ftb3VudC5zaG91bGQuZXF1YWwoXG4gICAgICAgIFNhbmRib3hUcmFuc2ZlckRhdGEucmVzb3VyY2VCb3VuZHMubDJfZ2FzLm1heF9hbW91bnRcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFjY2VwdCBjdXN0b20gcmVzb3VyY2UgYm91bmRzIGFuZCBwcm9kdWNlIGRpZmZlcmVudCBoYXNoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuXG4gICAgICBjb25zdCBidWlsZGVyMSA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgICBidWlsZGVyMVxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLmNoYWluSWQoU2FuZGJveFRyYW5zZmVyRGF0YS5jaGFpbklkKVxuICAgICAgICAucmVjZWl2ZXJJZChBY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICBjb25zdCB0eDEgPSAoYXdhaXQgYnVpbGRlcjEuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb247XG5cbiAgICAgIGNvbnN0IGN1c3RvbUJvdW5kcyA9IHtcbiAgICAgICAgbDJfZ2FzOiB7IG1heF9hbW91bnQ6ICcweDM5Mzg3MDAnLCBtYXhfcHJpY2VfcGVyX3VuaXQ6ICcweDE3NDg3NmU4MDAnIH0sXG4gICAgICAgIGwxX2dhczogeyBtYXhfYW1vdW50OiAnMHgwJywgbWF4X3ByaWNlX3Blcl91bml0OiAnMHg1YWYzMTA3YTQwMDAnIH0sXG4gICAgICAgIGwxX2RhdGFfZ2FzOiB7IG1heF9hbW91bnQ6ICcweDdkMCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4MjU0MGJlNDAwJyB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXIyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKVxuICAgICAgICAucmVzb3VyY2VCb3VuZHMoY3VzdG9tQm91bmRzKTtcbiAgICAgIGNvbnN0IHR4MiA9IChhd2FpdCBidWlsZGVyMi5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbjtcblxuICAgICAgdHgxLnNpZ25hYmxlSGV4LnNob3VsZC5ub3QuZXF1YWwodHgyLnNpZ25hYmxlSGV4KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcm91bmQtdHJpcCB0aHJvdWdoIHRvSW50ZXJuYWxIZXggYW5kIGZyb21SYXdUcmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuXG4gICAgICBidWlsZGVyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgY29uc3QgdHggPSAoYXdhaXQgYnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IGludGVybmFsSGV4ID0gdHgudG9JbnRlcm5hbEhleCgpO1xuXG4gICAgICBjb25zdCBmYWN0b3J5MiA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlcjIgPSBhd2FpdCBmYWN0b3J5Mi5mcm9tKGludGVybmFsSGV4KTtcbiAgICAgIGNvbnN0IHR4MiA9IChhd2FpdCBidWlsZGVyMi5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcblxuICAgICAgdHgyLnNpZ25hYmxlSGV4LnNob3VsZC5lcXVhbCh0eC5zaWduYWJsZUhleCk7XG4gICAgICB0eDIuaWQuc2hvdWxkLmVxdWFsKHR4LmlkKTtcbiAgICB9KTtcblxuICAgIGl0KCd0b0Jyb2FkY2FzdEZvcm1hdCBzaG91bGQgcmV0dXJuIFN0YXJrbmV0IFJQQy1yZWFkeSBKU09OJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG5cbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuXG4gICAgICBjb25zdCB0eCA9IChhd2FpdCBidWlsZGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuICAgICAgY29uc3QgYnJvYWRjYXN0ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UoYnJvYWRjYXN0KTtcblxuICAgICAgcGFyc2VkLnR5cGUuc2hvdWxkLmVxdWFsKCdJTlZPS0UnKTtcbiAgICAgIHBhcnNlZC52ZXJzaW9uLnNob3VsZC5lcXVhbCgnMHgzJyk7XG4gICAgICBwYXJzZWQuc2VuZGVyX2FkZHJlc3Muc2hvdWxkLmVxdWFsKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpO1xuICAgICAgcGFyc2VkLmNhbGxkYXRhLnNob3VsZC5iZS5BcnJheSgpO1xuICAgICAgcGFyc2VkLm5vbmNlLnNob3VsZC5lcXVhbCgnMHgwJyk7XG4gICAgICBwYXJzZWQucmVzb3VyY2VfYm91bmRzLnNob3VsZC5oYXZlLnByb3BlcnR5KCdsMl9nYXMnKTtcbiAgICAgIHBhcnNlZC5ub25jZV9kYXRhX2F2YWlsYWJpbGl0eV9tb2RlLnNob3VsZC5lcXVhbCgnTDEnKTtcbiAgICAgIHBhcnNlZC5mZWVfZGF0YV9hdmFpbGFiaWxpdHlfbW9kZS5zaG91bGQuZXF1YWwoJ0wxJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdWYWxpZGF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmVqZWN0IGJ1aWxkIHdpdGhvdXQgc2VuZGVyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgICBidWlsZGVyXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLmNoYWluSWQoU2FuZGJveFRyYW5zZmVyRGF0YS5jaGFpbklkKVxuICAgICAgICAucmVjZWl2ZXJJZChBY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG5cbiAgICAgIGF3YWl0IGJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKC9bU3NdZW5kZXIvKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGJ1aWxkIHdpdGhvdXQgbm9uY2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgYXdhaXQgYnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoL1tObl1vbmNlLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBidWlsZCB3aXRob3V0IGNoYWluSWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgYXdhaXQgYnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoL1tDY11oYWluLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBidWlsZCB3aXRob3V0IHJlY2VpdmVyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgICBidWlsZGVyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgYXdhaXQgYnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoL1tScl1lY2VpdmVyLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBpbnZhbGlkIHNlbmRlciBhZGRyZXNzJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgICAoKCkgPT4gYnVpbGRlci5zZW5kZXIoJ2ludmFsaWQnKSkuc2hvdWxkLnRocm93KC9bSWldbnZhbGlkLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBpbnZhbGlkIHJlY2VpdmVyIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgICgoKSA9PiBidWlsZGVyLnJlY2VpdmVySWQoJ2ludmFsaWQnKSkuc2hvdWxkLnRocm93KC9bSWldbnZhbGlkLyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1Qiw0Q0FBdUM7QUFDdkMsdUZBQW9GO0FBRXBGLG9EQUFzRTtBQUV0RSxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsUUFBUSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtRQUMxQyxFQUFFLENBQUMsdURBQXVELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckUsTUFBTSxPQUFPLEdBQUcsSUFBSSxxREFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUU3QyxPQUFPO2lCQUNKLE1BQU0sQ0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7aUJBQ2pDLEtBQUssQ0FBQyxLQUFLLENBQUM7aUJBQ1osT0FBTyxDQUFDLDhCQUFtQixDQUFDLE9BQU8sQ0FBQztpQkFDcEMsVUFBVSxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztpQkFDckMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFakMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBZ0IsQ0FBQztZQUNsRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFFeEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUEwQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQsSUFBSSxD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bXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEFjY291bnRzLCBTYW5kYm94VHJhbnNmZXJEYXRhIH0gZnJvbSAnLi4vcmVzb3VyY2VzL3N0YXJrbmV0JztcblxuZGVzY3JpYmUoJ1N0YXJrbmV0IFRyYW5zZmVyQnVpbGRlcicsICgpID0+IHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCgnc3RhcmtuZXQnKTtcblxuICBkZXNjcmliZSgnQnVpbGQgdHJhbnNmZXIgdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIHRyYW5zZmVyIGFuZCBwcm9kdWNlIGEgdHJhbnNhY3Rpb25IYXNoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG5cbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuXG4gICAgICBjb25zdCB0eCA9IChhd2FpdCBidWlsZGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuICAgICAgY29uc3QgZGF0YSA9IHR4LnN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhO1xuXG4gICAgICBzaG91bGQuZXhpc3QoZGF0YS50cmFuc2FjdGlvbkhhc2gpO1xuICAgICAgKGRhdGEudHJhbnNhY3Rpb25IYXNoIGFzIHN0cmluZykuc2hvdWxkLnN0YXJ0V2l0aCgnMHgnKTtcbiAgICAgIChkYXRhLnRyYW5zYWN0aW9uSGFzaCBhcyBzdHJpbmcpLmxlbmd0aC5zaG91bGQuYmUuZ3JlYXRlclRoYW4oMik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCBzaWduYWJsZUhleCBmcm9tIHRoZSBQb3NlaWRvbiBoYXNoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG5cbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuXG4gICAgICBjb25zdCB0eCA9IChhd2FpdCBidWlsZGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuICAgICAgdHguc2lnbmFibGVIZXguc2hvdWxkLmVxdWFsKHR4LnN0YXJrbmV0VHJhbnNhY3Rpb25EYXRhLnRyYW5zYWN0aW9uSGFzaCEucmVwbGFjZSgvXjB4L2ksICcnKS5wYWRTdGFydCg2NCwgJzAnKSk7XG4gICAgICB0eC5pZC5zaG91bGQuZXF1YWwodHguc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEudHJhbnNhY3Rpb25IYXNoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvZHVjZSBkaWZmZXJlbnQgaGFzaGVzIGZvciBkaWZmZXJlbnQgcmVjaXBpZW50cycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcblxuICAgICAgY29uc3QgYnVpbGRlcjEgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgYnVpbGRlcjFcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgICAgY29uc3QgdHgxID0gKGF3YWl0IGJ1aWxkZXIxLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuXG4gICAgICBjb25zdCBidWlsZGVyMiA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgICBidWlsZGVyMlxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLmNoYWluSWQoU2FuZGJveFRyYW5zZmVyRGF0YS5jaGFpbklkKVxuICAgICAgICAucmVjZWl2ZXJJZChBY2NvdW50cy5hY2NvdW50My5hZGRyZXNzKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICBjb25zdCB0eDIgPSAoYXdhaXQgYnVpbGRlcjIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG5cbiAgICAgIHR4MS5zaWduYWJsZUhleC5zaG91bGQubm90LmVxdWFsKHR4Mi5zaWduYWJsZUhleCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHByb2R1Y2UgZGlmZmVyZW50IGhhc2hlcyBmb3IgZGlmZmVyZW50IGFtb3VudHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIxID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXIxXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIGNvbnN0IHR4MSA9IChhd2FpdCBidWlsZGVyMS5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcblxuICAgICAgY29uc3QgYnVpbGRlcjIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgYnVpbGRlcjJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMjAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgICAgY29uc3QgdHgyID0gKGF3YWl0IGJ1aWxkZXIyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuXG4gICAgICB0eDEuc2lnbmFibGVIZXguc2hvdWxkLm5vdC5lcXVhbCh0eDIuc2lnbmFibGVIZXgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBpbmNsdWRlIGNvbXBpbGVkQ2FsbGRhdGEgaW4gdHJhbnNhY3Rpb24gZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuXG4gICAgICBidWlsZGVyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgY29uc3QgdHggPSAoYXdhaXQgYnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IGRhdGEgPSB0eC5zdGFya25ldFRyYW5zYWN0aW9uRGF0YTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGRhdGEuY29tcGlsZWRDYWxsZGF0YSk7XG4gICAgICAoZGF0YS5jb21waWxlZENhbGxkYXRhIGFzIHN0cmluZ1tdKS5sZW5ndGguc2hvdWxkLmJlLmdyZWF0ZXJUaGFuKDApO1xuICAgICAgKGRhdGEuY29tcGlsZWRDYWxsZGF0YSBhcyBzdHJpbmdbXSlbMF0uc2hvdWxkLmVxdWFsKCcweDEnKTsgLy8gMSBjYWxsXG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGluY2x1ZGUgcmVzb3VyY2VCb3VuZHMgaW4gdHJhbnNhY3Rpb24gZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuXG4gICAgICBidWlsZGVyXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKVxuICAgICAgICAucmVzb3VyY2VCb3VuZHMoU2FuZGJveFRyYW5zZmVyRGF0YS5yZXNvdXJjZUJvdW5kcyk7XG5cbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IGJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgICBjb25zdCBkYXRhID0gdHguc3RhcmtuZXRUcmFuc2FjdGlvbkRhdGE7XG5cbiAgICAgIHNob3VsZC5leGlzdChkYXRhLnJlc291cmNlQm91bmRzKTtcbiAgICAgIChkYXRhLnJlc291cmNlQm91bmRzIGFzIHsgbDJfZ2FzOiB7IG1heF9hbW91bnQ6IHN0cmluZyB9IH0pLmwyX2dhcy5tYXhfYW1vdW50LnNob3VsZC5lcXVhbChcbiAgICAgICAgU2FuZGJveFRyYW5zZmVyRGF0YS5yZXNvdXJjZUJvdW5kcy5sMl9nYXMubWF4X2Ftb3VudFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYWNjZXB0IGN1c3RvbSByZXNvdXJjZSBib3VuZHMgYW5kIHByb2R1Y2UgZGlmZmVyZW50IGhhc2gnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIxID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXIxXG4gICAgICAgIC5zZW5kZXIoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcylcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIGNvbnN0IHR4MSA9IChhd2FpdCBidWlsZGVyMS5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbjtcblxuICAgICAgY29uc3QgY3VzdG9tQm91bmRzID0ge1xuICAgICAgICBsMl9nYXM6IHsgbWF4X2Ftb3VudDogJzB4MzkzODcwMCcsIG1heF9wcmljZV9wZXJfdW5pdDogJzB4MTc0ODc2ZTgwMCcgfSxcbiAgICAgICAgbDFfZ2FzOiB7IG1heF9hbW91bnQ6ICcweDAnLCBtYXhfcHJpY2VfcGVyX3VuaXQ6ICcweDVhZjMxMDdhNDAwMCcgfSxcbiAgICAgICAgbDFfZGF0YV9nYXM6IHsgbWF4X2Ftb3VudDogJzB4N2QwJywgbWF4X3ByaWNlX3Blcl91bml0OiAnMHgyNTQwYmU0MDAnIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgYnVpbGRlcjIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgYnVpbGRlcjJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpXG4gICAgICAgIC5yZXNvdXJjZUJvdW5kcyhjdXN0b21Cb3VuZHMpO1xuICAgICAgY29uc3QgdHgyID0gKGF3YWl0IGJ1aWxkZXIyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uIGFzIFRyYW5zYWN0aW9uO1xuXG4gICAgICB0eDEuc2lnbmFibGVIZXguc2hvdWxkLm5vdC5lcXVhbCh0eDIuc2lnbmFibGVIZXgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByb3VuZC10cmlwIHRocm91Z2ggdG9JbnRlcm5hbEhleCBhbmQgZnJvbVJhd1RyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG5cbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuXG4gICAgICBjb25zdCB0eCA9IChhd2FpdCBidWlsZGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuICAgICAgY29uc3QgaW50ZXJuYWxIZXggPSB0eC50b0ludGVybmFsSGV4KCk7XG5cbiAgICAgIGNvbnN0IGZhY3RvcnkyID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyMiA9IGF3YWl0IGZhY3RvcnkyLmZyb20oaW50ZXJuYWxIZXgpO1xuICAgICAgY29uc3QgdHgyID0gKGF3YWl0IGJ1aWxkZXIyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuXG4gICAgICB0eDIuc2lnbmFibGVIZXguc2hvdWxkLmVxdWFsKHR4LnNpZ25hYmxlSGV4KTtcbiAgICAgIHR4Mi5pZC5zaG91bGQuZXF1YWwodHguaWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3RvQnJvYWRjYXN0Rm9ybWF0IHNob3VsZCByZXR1cm4gU3RhcmtuZXQgUlBDLXJlYWR5IEpTT04nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcblxuICAgICAgYnVpbGRlclxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLmNoYWluSWQoU2FuZGJveFRyYW5zZmVyRGF0YS5jaGFpbklkKVxuICAgICAgICAucmVjZWl2ZXJJZChBY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG5cbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IGJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgICBjb25zdCBicm9hZGNhc3QgPSB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShicm9hZGNhc3QpO1xuXG4gICAgICBwYXJzZWQudHlwZS5zaG91bGQuZXF1YWwoJ0lOVk9LRScpO1xuICAgICAgcGFyc2VkLnZlcnNpb24uc2hvdWxkLmVxdWFsKCcweDMnKTtcbiAgICAgIHBhcnNlZC5zZW5kZXJfYWRkcmVzcy5zaG91bGQuZXF1YWwoQWNjb3VudHMuYWNjb3VudDEuYWRkcmVzcyk7XG4gICAgICBwYXJzZWQuY2FsbGRhdGEuc2hvdWxkLmJlLkFycmF5KCk7XG4gICAgICBwYXJzZWQubm9uY2Uuc2hvdWxkLmVxdWFsKCcweDAnKTtcbiAgICAgIHBhcnNlZC5yZXNvdXJjZV9ib3VuZHMuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2wyX2dhcycpO1xuICAgICAgcGFyc2VkLm5vbmNlX2RhdGFfYXZhaWxhYmlsaXR5X21vZGUuc2hvdWxkLmVxdWFsKCdMMScpO1xuICAgICAgcGFyc2VkLmZlZV9kYXRhX2F2YWlsYWJpbGl0eV9tb2RlLnNob3VsZC5lcXVhbCgnTDEnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1ZhbGlkYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZWplY3QgYnVpbGQgd2l0aG91dCBzZW5kZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLm5vbmNlKCcweDAnKVxuICAgICAgICAuY2hhaW5JZChTYW5kYm94VHJhbnNmZXJEYXRhLmNoYWluSWQpXG4gICAgICAgIC5yZWNlaXZlcklkKEFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAwMDAwMDAwMDAwMDAnKTtcblxuICAgICAgYXdhaXQgYnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoL1tTc11lbmRlci8pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgYnVpbGQgd2l0aG91dCBub25jZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgYnVpbGRlclxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuXG4gICAgICBhd2FpdCBidWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgvW05uXW9uY2UvKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGJ1aWxkIHdpdGhvdXQgY2hhaW5JZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgYnVpbGRlclxuICAgICAgICAuc2VuZGVyKEFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpXG4gICAgICAgIC5ub25jZSgnMHgwJylcbiAgICAgICAgLnJlY2VpdmVySWQoQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcylcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuXG4gICAgICBhd2FpdCBidWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgvW0NjXWhhaW4vKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGJ1aWxkIHdpdGhvdXQgcmVjZWl2ZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnNlbmRlcihBY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKVxuICAgICAgICAubm9uY2UoJzB4MCcpXG4gICAgICAgIC5jaGFpbklkKFNhbmRib3hUcmFuc2ZlckRhdGEuY2hhaW5JZClcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuXG4gICAgICBhd2FpdCBidWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgvW1JyXWVjZWl2ZXIvKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGludmFsaWQgc2VuZGVyIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgICgoKSA9PiBidWlsZGVyLnNlbmRlcignaW52YWxpZCcpKS5zaG91bGQudGhyb3coL1tJaV1udmFsaWQvKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGludmFsaWQgcmVjZWl2ZXIgYWRkcmVzcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgKCgpID0+IGJ1aWxkZXIucmVjZWl2ZXJJZCgnaW52YWxpZCcpKS5zaG91bGQudGhyb3coL1tJaV1udmFsaWQvKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==