@bitgo/sdk-coin-starknet 1.4.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQU15QjtBQUV6QiwyQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBQ2pCLGlEQUEyRTtBQUUzRSxTQUFTLHVCQUF1QixDQUFDLElBQTZCO0lBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFBLDhCQUFzQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGdEQUFnRCxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBNkI7SUFDMUQsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUEsaUNBQXFCLEdBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBYSxXQUFZLFNBQVEsMEJBQWU7SUFJOUMsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHVCQUF1QixDQUFDLElBQTZCO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLGVBQWUsQ0FBQztRQUM1RCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsRUFBVTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBc0I7UUFDN0MsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyx3QkFBd0IsR0FBRztnQkFDOUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO2dCQUNuQyxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7Z0JBQ3ZDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3pCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUN2QixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsSUFBSSwrQkFBdUIsQ0FBQyxNQUFNO2dCQUN6RSxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQzNCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtnQkFDdkMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjO2dCQUNyQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7Z0JBQ2YsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtnQkFDekMseUJBQXlCLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtnQkFDM0QsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLHVCQUF1QjtnQkFDdkQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2dCQUMzQixtQkFBbUIsRUFBRSxNQUFNLENBQUMsbUJBQW1CO2dCQUMvQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsbUJBQW1CO2FBQ2hELENBQUM7WUFFRixJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUM7WUFDM0MsQ0FBQztZQUVELGVBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQzFDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxJQUFBLHlCQUFpQixFQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoQixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhO1lBQ25ELFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUztZQUM5QixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU07WUFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLO1lBQzFDLElBQUksRUFBRSwwQkFBZSxDQUFDLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0YsTUFBTSxPQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUUzQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1gsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2dCQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU87WUFDTCxZQUFZO1lBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTztZQUNQLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUc7WUFDbEMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtZQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsYUFBYSxFQUFFLEVBQUU7WUFDakIsWUFBWSxFQUFFLEdBQUc7U0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxvRkFBb0Y7SUFDcEYsYUFBYTtRQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksa0NBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsaUJBQWlCO1FBQ2YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFFRCxNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsZUFBZSxLQUFLLCtCQUF1QixDQUFDLGNBQWM7WUFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7WUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNPLHlCQUF5QixDQUFDLElBQTZCO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDOUUsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtZQUMvQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQzlDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMxQixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDbEMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM1QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLO1lBQ3RCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQTZCO1FBQ3RELE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2xDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7WUFDdkMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsZUFBZSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM1QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLO1lBQ3RCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLHVCQUF1QixFQUFFLEVBQUU7WUFDM0IsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQywwQkFBMEIsRUFBRSxJQUFJO1NBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBbkxELGtDQW1MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgZGVmYXVsdFJlc291cmNlQm91bmRzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgU3RhcmtuZXRSZXNvdXJjZUJvdW5kcyxcbiAgU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEsXG4gIFN0YXJrbmV0VHJhbnNhY3Rpb25UeXBlLFxuICBTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFR4RGF0YSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMsIHsgY29tcGlsZUV4ZWN1dGVDYWxsZGF0YSwgcGFyc2VUcmFuc2ZlckNhbGwgfSBmcm9tICcuL3V0aWxzJztcblxuZnVuY3Rpb24gcmVzb2x2ZUNvbXBpbGVkQ2FsbGRhdGEoZGF0YTogU3RhcmtuZXRUcmFuc2FjdGlvbkRhdGEpOiBzdHJpbmdbXSB7XG4gIGlmIChkYXRhLmNvbXBpbGVkQ2FsbGRhdGEgJiYgZGF0YS5jb21waWxlZENhbGxkYXRhLmxlbmd0aCA+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>;
@@ -25,6 +30,8 @@ export declare class Starknet extends BaseCoin {
25
30
  /** inherited doc */
26
31
  getDefaultMultisigType(): MultisigType;
27
32
  /** @inheritDoc */
33
+ requiresWalletInitializationTransaction(): boolean;
34
+ /** @inheritDoc */
28
35
  getMPCAlgorithm(): MPCAlgorithm;
29
36
  /** @inheritDoc **/
30
37
  getHashFunction(): Hash;
@@ -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;IA+BrE,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,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"}
@@ -45,8 +45,11 @@ class Starknet extends sdk_core_1.BaseCoin {
45
45
  async verifyTransaction(params) {
46
46
  const { txParams, txPrebuild } = params;
47
47
  const txHex = txPrebuild?.txHex;
48
- if (!txHex) {
49
- throw new Error('txHex is required');
48
+ // 0x-prefixed txHex means this is the Starknet transaction hash (signableHex), not the
49
+ // full serialized transaction. Recipient verification already happened in prebuildAndSignTransaction
50
+ // using serializedTxHex — nothing to verify from a hash alone.
51
+ if (!txHex || txHex.startsWith('0x') || /^[0-9a-f]{64}$/i.test(txHex)) {
52
+ return true;
50
53
  }
51
54
  const explainedTx = await this.explainTransaction({ transactionHex: txHex });
52
55
  if (Array.isArray(txParams.recipients) && txParams.recipients.length > 0) {
@@ -80,6 +83,13 @@ class Starknet extends sdk_core_1.BaseCoin {
80
83
  async parseTransaction(params) {
81
84
  return {};
82
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
+ }
83
93
  generateKeyPair(seed) {
84
94
  return utils_1.default.generateKeyPair(seed);
85
95
  }
@@ -105,6 +115,10 @@ class Starknet extends sdk_core_1.BaseCoin {
105
115
  return sdk_core_1.multisigTypes.tss;
106
116
  }
107
117
  /** @inheritDoc */
118
+ requiresWalletInitializationTransaction() {
119
+ return true;
120
+ }
121
+ /** @inheritDoc */
108
122
  getMPCAlgorithm() {
109
123
  return 'ecdsa';
110
124
  }
@@ -124,4 +138,4 @@ class Starknet extends sdk_core_1.BaseCoin {
124
138
  }
125
139
  }
126
140
  exports.Starknet = Starknet;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmtuZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhcmtuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBaUJ5QjtBQUN6Qiw0Q0FBb0U7QUFDcEUsbUNBQTBDO0FBRzFDLCtFQUE0RTtBQUM1RSx3REFBZ0M7QUFDaEMsb0RBQTBEO0FBRTFELE1BQWEsUUFBUyxTQUFRLG1CQUFRO0lBRXBDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUE0QjtRQUNuRCxNQUFNLE9B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QUksWUFBWSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBQSxrQ0FBb0IsRUFBQyxHQUFhLEVBQUUsU0FBbUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRjtBQXRKRCw0QkFzSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgSW52YWxpZEFkZHJlc3NFcnJvcixcbiAgS2V5UGFpcixcbiAgTWV0aG9kTm90SW1wbGVtZW50ZWRFcnJvcixcbiAgTVBDQWxnb3JpdGhtLFxuICBNdWx0aXNpZ1R5cGUsXG4gIG11bHRpc2lnVHlwZXMsXG4gIFBhcnNlZFRyYW5zYWN0aW9uLFxuICBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgU2lnbmVkVHJhbnNhY3Rpb24sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgdmVyaWZ5TVBDV2FsbGV0QWRkcmVzcyxcbiAgVW5leHBlY3RlZEFkZHJlc3NFcnJvcixcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4gfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBjcmVhdGVIYXNoLCBIYXNoIH0gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0IHsgU3RhcmtuZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUcmFuc2FjdGlvbkhleFBhcmFtcywgVHNzVmVyaWZ5U3RhcmtuZXRBZGRyZXNzT3B0aW9ucyB9IGZyb20gJy4vbGliL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmltcG9ydCB1dGlscyBmcm9tICcuL2xpYi91dGlscyc7XG5pbXBvcnQgeyBhdWRpdEVjZHNhUHJpdmF0ZUtleSB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5cbmV4cG9ydCBjbGFzcyBTdGFya25ldCBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFN0YXJrbmV0KGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5uYW1lO1xuICB9XG5cbiAgZ2V0QmFzZUNoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZmFtaWx5O1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZnVsbE5hbWU7XG4gIH1cblxuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLl9zdGF0aWNzQ29pbi5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbihwYXJhbXM6IFRyYW5zYWN0aW9uSGV4UGFyYW1zKTogUHJvbWlzZTxTdGFya25ldFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5nZXRCdWlsZGVyRmFjdG9yeSgpO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGF3YWl0IGZhY3RvcnkuZnJvbShwYXJhbXMudHJhbnNhY3Rpb25IZXgpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IHR4UGFyYW1zLCB0eFByZWJ1aWxkIH0gPSBwYXJhbXM7XG4gICAgY29uc3QgdHhIZXggPSB0eFByZWJ1aWxkPy50eEhleDtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3R4SGV4IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSBhd2FpdCB0aGlzLmV4cGxhaW5UcmFuc2FjdGlvbih7IHRyYW5zYWN0aW9uSGV4OiB0eEhleCB9KTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHR4UGFyYW1zLnJlY2lwaWVudHMpICYmIHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYCR7dGhpcy5nZXRDaGFpbigpfSBkb2Vzbid0IHN1cHBvcnQgc2VuZGluZyB0byBtb3JlIHRoYW4gMSBkZXN0aW5hdGlvbiBhZGRyZXNzIHdpdGhpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbi4gVHJ5IGFnYWluLCB1c2luZyBvbmx5IGEgc2luZ2xlIHJlY2lwaWVudC5gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChleHBsYWluZWRUeC5vdXRwdXRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IG91dHB1dHMgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG91dHB1dCA9IGV4cGxhaW5lZFR4Lm91dHB1dHNbMF07XG4gICAgICBjb25zdCByZWNpcGllbnQgPSB0eFBhcmFtcy5yZWNpcGllbnRzWzBdO1xuICAgICAgY29uc3Qgbm9ybWFsaXplZE91dHB1dCA9IHV0aWxzLm5vcm1hbGl6ZUFkZHJlc3Mob3V0cHV0LmFkZHJlc3MpO1xuICAgICAgY29uc3Qgbm9ybWFsaXplZFJlY2lwaWVudCA9IHV0aWxzLm5vcm1hbGl6ZUFkZHJlc3MocmVjaXBpZW50LmFkZHJlc3MpO1xuICAgICAgaWYgKG5vcm1hbGl6ZWRPdXRwdXQgIT09IG5vcm1hbGl6ZWRSZWNpcGllbnQgfHwgb3V0cHV0LmFtb3VudCAhPT0gcmVjaXBpZW50LmFtb3VudCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IG91dHB1dHMgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgaXNXYWxsZXRBZGRyZXNzKHBhcmFtczogVHNzVmVyaWZ5U3RhcmtuZXRBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgYWRkcmVzcyB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdmVyaWZ5TVBDV2FsbGV0QWRkcmVzcyhcbiAgICAgIHsgLi4ucGFyYW1zLCBrZXlDdXJ2ZTogJ3NlY3AyNTZrMScgfSxcbiAgICAgIHRoaXMuaXNWYWxpZEFkZHJlc3MuYmluZCh0aGlzKSxcbiAgICAgIChwdWJLZXkpID0+IHV0aWxzLmdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YktleSlcbiAgICApO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yKGBhZGRyZXNzIHZhbGlkYXRpb24gZmFpbHVyZTogYWRkcmVzcyAke2FkZHJlc3N9IGlzIG5vdCBhIHdhbGxldCBhZGRyZXNzYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlS2V5UGFpcihzZWVkPzogQnVmZmVyKTogS2V5UGFpciB7XG4gICAgcmV0dXJuIHV0aWxzLmdlbmVyYXRlS2V5UGFpcihzZWVkKTtcbiAgfVxuXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8vIFN0YXJrbmV0IGlzIFRTUy1vbmx5OyBzaWduaW5nIGlzIGhhbmRsZWQgYnkgdGhyZXNob2xkIEVDRFNBIGluIHdhbGxldC1wbGF0Zm9ybS9PVkMuXG4gIGFzeW5jIHNpZ25UcmFuc2FjdGlvbihfcGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBNZXRob2ROb3RJbXBsZW1lbnRlZEVycm9yKCdzaWduVHJhbnNhY3Rpb24nKTtcbiAgfVxuXG4gIGlzVmFsaWRQdWIoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFB1YmxpY0tleShrZXkpO1xuICB9XG5cbiAgaXNWYWxpZFBydihrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkUHJpdmF0ZUtleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLnRzcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0SGFzaEZ1bmN0aW9uKCk6IEhhc2gge1xuICAgIHJldHVybiBjcmVhdGVIYXNoKCdzaGEyNTYnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlckZhY3RvcnkoKTogVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYXVkaXREZWNyeXB0ZWRLZXkoeyBtdWx0aVNpZ1R5cGUsIHBydiwgcHVibGljS2V5IH06IEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKG11bHRpU2lnVHlwZSAhPT0gJ3RzcycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgbXVsdGlzaWd0eXBlJyk7XG4gICAgfVxuICAgIGF1ZGl0RWNkc2FQcml2YXRlS2V5KHBydiBhcyBzdHJpbmcsIHB1YmxpY0tleSBhcyBzdHJpbmcpO1xuICB9XG59XG4iXX0=
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 () {
@@ -122,5 +125,43 @@ describe('Starknet', function () {
122
125
  kp1.pub.should.not.equal(kp2.pub);
123
126
  });
124
127
  });
128
+ describe('verifyTransaction', () => {
129
+ it('should return true when txHex is a 0x-prefixed signableHex (deploy_account, no recipients)', async function () {
130
+ // During TSS ECDSA signing, sdk-core passes signableHex (0x-prefixed transaction hash)
131
+ // as txHex. It cannot be decoded as internal JSON hex, so verification must short-circuit.
132
+ const result = await basecoin.verifyTransaction({
133
+ txParams: { recipients: [] },
134
+ txPrebuild: { txHex: '0xdeadbeefcafe1234567890abcdef' },
135
+ wallet: {},
136
+ });
137
+ result.should.equal(true);
138
+ });
139
+ it('should return true when txHex is a 0x-prefixed signableHex (transfer with recipients)', async function () {
140
+ // Same signing path for transfers — signableHex is 0x-prefixed, full verification
141
+ // is already done in prebuildAndSignTransaction with serializedTxHex.
142
+ const result = await basecoin.verifyTransaction({
143
+ txParams: { recipients: [{ address: '0xabc', amount: '1000' }] },
144
+ txPrebuild: { txHex: '0xdeadbeefcafe1234567890abcdef' },
145
+ wallet: {},
146
+ });
147
+ result.should.equal(true);
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
+ });
157
+ it('should return true when txHex is absent', async function () {
158
+ const result = await basecoin.verifyTransaction({
159
+ txParams: { recipients: [] },
160
+ txPrebuild: {},
161
+ wallet: {},
162
+ });
163
+ result.should.equal(true);
164
+ });
165
+ });
125
166
  });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmtuZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvc3RhcmtuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBMEQ7QUFDMUQsNENBQTBDO0FBQzFDLDJDQUEyQztBQUMzQyxnRUFBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLCtDQUE4RDtBQUU5RCxRQUFRLENBQUMsVUFBVSxFQUFFO0lBQ25CLElBQUksS0FBbUIsQ0FBQztJQUN4QixJQUFJLFFBQVEsQ0FBQztJQUViLE1BQU0sQ0FBQyxLQUFLO1FBQ1YsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGdCQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUU7UUFDakMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxD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QztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtZQUNsRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay1hcGknO1xuaW1wb3J0IHsgU3RhcmtuZXQgfSBmcm9tICcuLi8uLi9zcmMvaW5kZXgnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vcmVzb3VyY2VzL3N0YXJrbmV0JztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IGdldEFkZHJlc3NGcm9tUHVibGljS2V5IH0gZnJvbSAnLi4vLi4vc3JjL2xpYi91dGlscyc7XG5cbmRlc2NyaWJlKCdTdGFya25ldCcsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJpdGdvOiBUZXN0Qml0R29BUEk7XG4gIGxldCBiYXNlY29pbjtcblxuICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ3Rlc3QnIH0pO1xuICAgIGJpdGdvLnNhZmVSZWdpc3Rlcignc3RhcmtuZXQnLCBTdGFya25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCd0c3RhcmtuZXQnLCBTdGFya25ldC5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gICAgYmFzZWNvaW4gPSBiaXRnby5jb2luKCdzdGFya25ldCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgaW5mbycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBzdGFya25ldCA9IGJpdGdvLmNvaW4oJ3N0YXJrbmV0Jyk7XG4gICAgY29uc3QgdHN0YXJrbmV0ID0gYml0Z28uY29pbigndHN0YXJrbmV0Jyk7XG5cbiAgICBzdGFya25ldC5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgnc3RhcmtuZXQnKTtcbiAgICBzdGFya25ldC5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ3N0YXJrbmV0Jyk7XG4gICAgc3RhcmtuZXQuZ2V0RnVsbE5hbWUoKS5zaG91bGQuZXF1YWwoJ1N0YXJrbmV0Jyk7XG4gICAgc3RhcmtuZXQuZ2V0QmFzZUZhY3RvcigpLnNob3VsZC5lcXVhbCgxZTE4KTtcbiAgICBzdGFya25ldC5zdXBwb3J0c1RzcygpLnNob3VsZC5lcXVhbCh0cnVlKTtcblxuICAgIHRzdGFya25ldC5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgndHN0YXJrbmV0Jyk7XG4gICAgdHN0YXJrbmV0LmdldEZhbWlseSgpLnNob3VsZC5lcXVhbCgnc3RhcmtuZXQnKTtcbiAgICB0c3RhcmtuZXQuZ2V0RnVsbE5hbWUoKS5zaG91bGQuZXF1YWwoJ1Rlc3RuZXQgU3RhcmtuZXQnKTtcbiAgICB0c3RhcmtuZXQuZ2V0QmFzZUZhY3RvcigpLnNob3VsZC5lcXVhbCgxZTE4KTtcbiAgICB0c3RhcmtuZXQuc3VwcG9ydHNUc3MoKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdBZGRyZXNzIHZhbGlkYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhIGNvcnJlY3QgU3RhcmtuZXQgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKHRlc3REYXRhLkFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYSBzZWNvbmQgY29ycmVjdCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZEFkZHJlc3ModGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDIuYWRkcmVzcykuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgYW4gb2J2aW91c2x5IGludmFsaWQgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKCdub3RfYW5fYWRkcmVzcycpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBhbiBlbXB0eSBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZEFkZHJlc3MoJycpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdBZGRyZXNzIGRlcml2YXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBkZXJpdmUgY29ycmVjdCBhZGRyZXNzIGZyb20gcHVibGljIGtleSBmb3IgYWNjb3VudDEnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBkZXJpdmVkID0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDEucHVibGljS2V5KTtcbiAgICAgIGRlcml2ZWQuc2hvdWxkLmVxdWFsKHRlc3REYXRhLkFjY291bnRzLmFjY291bnQxLmFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBkZXJpdmUgY29ycmVjdCBhZGRyZXNzIGZyb20gcHVibGljIGtleSBmb3IgYWNjb3VudDInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBkZXJpdmVkID0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDIucHVibGljS2V5KTtcbiAgICAgIGRlcml2ZWQuc2hvdWxkLmVxdWFsKHRlc3REYXRhLkFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBkZXJpdmUgY29ycmVjdCBhZGRyZXNzIGZyb20gcHVibGljIGtleSBmb3IgYWNjb3VudDMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBkZXJpdmVkID0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDMucHVibGljS2V5KTtcbiAgICAgIGRlcml2ZWQuc2hvdWxkLmVxdWFsKHRlc3REYXRhLkFjY291bnRzLmFjY291bnQzLmFkZHJlc3MpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnUHVibGljIGtleSB2YWxpZGF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYSBjb3JyZWN0IHVuY29tcHJlc3NlZCBwdWJsaWMga2V5JywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uaXNWYWxpZFB1Yih0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50MS5wdWJsaWNLZXkpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGFuIGludmFsaWQgcHVibGljIGtleScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRQdWIoJ2ludmFsaWQtcHVibGljLWtleScpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdNUEMgc3VwcG9ydCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHN1cHBvcnQgVFNTJywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uc3VwcG9ydHNUc3MoKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBFQ0RTQSBhcyBNUEMgYWxnb3JpdGhtJywgZnVuY3Rpb24gKCkge1xuICAgICAgYmFzZWNvaW4uZ2V0TVBDQWxnb3JpdGhtKCkuc2hvdWxkLmVxdWFsKCdlY2RzYScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnS2V5IHBhaXIgZ2VuZXJhdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGdlbmVyYXRlIGEga2V5IHBhaXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gYmFzZWNvaW4uZ2VuZXJhdGVLZXlQYWlyKCk7XG4gICAgICBzaG91bGQuZXhpc3Qoa2V5UGFpci5wdWIpO1xuICAgICAgc2hvdWxkLmV4aXN0KGtleVBhaXIucHJ2KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgZGlmZmVyZW50IGtleSBwYWlycyBlYWNoIHRpbWUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBrcDEgPSBiYXNlY29pbi5nZW5lcmF0ZUtleVBhaXIoKTtcbiAgICAgIGNvbnN0IGtwMiA9IGJhc2Vjb2luLmdlbmVyYXRlS2V5UGFpcigpO1xuICAgICAga3AxLnB1Yi5zaG91bGQubm90LmVxdWFsKGtwMi5wdWIpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcmtuZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvc3RhcmtuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBMEQ7QUFDMUQsNENBQTBDO0FBQzFDLDJDQUEyQztBQUMzQyxnRUFBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLCtDQUE4RDtBQUU5RCxRQUFRLENBQUMsVUFBVSxFQUFFO0lBQ25CLElBQUksS0FBbUIsQ0FBQztJQUN4QixJQUFJLFFBQVEsQ0FBQztJQUViLE1BQU0sQ0FBQyxLQUFLO1FBQ1YsS0FBSyxHQUFHLG9CQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGdCQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUU7UUFDakMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxD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TSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7Z0JBQ2hFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRTtnQkFDdkQsTUFBTSxFQUFFLEVBQVM7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0VBQXdFLEVBQUUsS0FBSztZQUNoRixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDOUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtnQkFDNUIsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGtFQUFrRSxFQUFFO2dCQUN6RixNQUFNLEVBQUUsRUFBUzthQUNsQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLO1lBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLGlCQUFpQixDQUFDO2dCQUM5QyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUM1QixVQUFVLEVBQUUsRUFBRTtnQkFDZCxNQUFNLEVBQUUsRUFBUzthQUNsQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstdGVzdCc7XG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcbmltcG9ydCB7IFN0YXJrbmV0IH0gZnJvbSAnLi4vLi4vc3JjL2luZGV4JztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uL3Jlc291cmNlcy9zdGFya25ldCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSB9IGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuXG5kZXNjcmliZSgnU3RhcmtuZXQnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBiaXRnbzogVGVzdEJpdEdvQVBJO1xuICBsZXQgYmFzZWNvaW47XG5cbiAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3N0YXJrbmV0JywgU3RhcmtuZXQuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLnNhZmVSZWdpc3RlcigndHN0YXJrbmV0JywgU3RhcmtuZXQuY3JlYXRlSW5zdGFuY2UpO1xuICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICAgIGJhc2Vjb2luID0gYml0Z28uY29pbignc3RhcmtuZXQnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIHJpZ2h0IGluZm8nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qgc3RhcmtuZXQgPSBiaXRnby5jb2luKCdzdGFya25ldCcpO1xuICAgIGNvbnN0IHRzdGFya25ldCA9IGJpdGdvLmNvaW4oJ3RzdGFya25ldCcpO1xuXG4gICAgc3RhcmtuZXQuZ2V0Q2hhaW4oKS5zaG91bGQuZXF1YWwoJ3N0YXJrbmV0Jyk7XG4gICAgc3RhcmtuZXQuZ2V0RmFtaWx5KCkuc2hvdWxkLmVxdWFsKCdzdGFya25ldCcpO1xuICAgIHN0YXJrbmV0LmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdTdGFya25ldCcpO1xuICAgIHN0YXJrbmV0LmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgc3RhcmtuZXQuc3VwcG9ydHNUc3MoKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG5cbiAgICB0c3RhcmtuZXQuZ2V0Q2hhaW4oKS5zaG91bGQuZXF1YWwoJ3RzdGFya25ldCcpO1xuICAgIHRzdGFya25ldC5nZXRGYW1pbHkoKS5zaG91bGQuZXF1YWwoJ3N0YXJrbmV0Jyk7XG4gICAgdHN0YXJrbmV0LmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdUZXN0bmV0IFN0YXJrbmV0Jyk7XG4gICAgdHN0YXJrbmV0LmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgdHN0YXJrbmV0LnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICB9KTtcblxuICBkZXNjcmliZSgnQWRkcmVzcyB2YWxpZGF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYSBjb3JyZWN0IFN0YXJrbmV0IGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkQWRkcmVzcyh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGEgc2Vjb25kIGNvcnJlY3QgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKHRlc3REYXRhLkFjY291bnRzLmFjY291bnQyLmFkZHJlc3MpLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IGFuIG9idmlvdXNseSBpbnZhbGlkIGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkQWRkcmVzcygnbm90X2FuX2FkZHJlc3MnKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgYW4gZW1wdHkgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRBZGRyZXNzKCcnKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQWRkcmVzcyBkZXJpdmF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZGVyaXZlIGNvcnJlY3QgYWRkcmVzcyBmcm9tIHB1YmxpYyBrZXkgZm9yIGFjY291bnQxJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHRlc3REYXRhLkFjY291bnRzLmFjY291bnQxLnB1YmxpY0tleSk7XG4gICAgICBkZXJpdmVkLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50MS5hZGRyZXNzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGVyaXZlIGNvcnJlY3QgYWRkcmVzcyBmcm9tIHB1YmxpYyBrZXkgZm9yIGFjY291bnQyJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHRlc3REYXRhLkFjY291bnRzLmFjY291bnQyLnB1YmxpY0tleSk7XG4gICAgICBkZXJpdmVkLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50Mi5hZGRyZXNzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGVyaXZlIGNvcnJlY3QgYWRkcmVzcyBmcm9tIHB1YmxpYyBrZXkgZm9yIGFjY291bnQzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHRlc3REYXRhLkFjY291bnRzLmFjY291bnQzLnB1YmxpY0tleSk7XG4gICAgICBkZXJpdmVkLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5BY2NvdW50cy5hY2NvdW50My5hZGRyZXNzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1B1YmxpYyBrZXkgdmFsaWRhdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGEgY29ycmVjdCB1bmNvbXByZXNzZWQgcHVibGljIGtleScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzVmFsaWRQdWIodGVzdERhdGEuQWNjb3VudHMuYWNjb3VudDEucHVibGljS2V5KS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBhbiBpbnZhbGlkIHB1YmxpYyBrZXknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiYXNlY29pbi5pc1ZhbGlkUHViKCdpbnZhbGlkLXB1YmxpYy1rZXknKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnTVBDIHN1cHBvcnQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzdXBwb3J0IFRTUycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLnN1cHBvcnRzVHNzKCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gRUNEU0EgYXMgTVBDIGFsZ29yaXRobScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmdldE1QQ0FsZ29yaXRobSgpLnNob3VsZC5lcXVhbCgnZWNkc2EnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaWRlbnRpZnkgYXMgcHJlLWhhc2hlZCBzaWduYWJsZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJhc2Vjb2luLmlzU2lnbmFibGVQcmVIYXNoZWQoe30gYXMgYW55KS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdLZXkgcGFpciBnZW5lcmF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBrZXkgcGFpcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBiYXNlY29pbi5nZW5lcmF0ZUtleVBhaXIoKTtcbiAgICAgIHNob3VsZC5leGlzdChrZXlQYWlyLnB1Yik7XG4gICAgICBzaG91bGQuZXhpc3Qoa2V5UGFpci5wcnYpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBkaWZmZXJlbnQga2V5IHBhaXJzIGVhY2ggdGltZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGtwMSA9IGJhc2Vjb2luLmdlbmVyYXRlS2V5UGFpcigpO1xuICAgICAgY29uc3Qga3AyID0gYmFzZWNvaW4uZ2VuZXJhdGVLZXlQYWlyKCk7XG4gICAgICBrcDEucHViLnNob3VsZC5ub3QuZXF1YWwoa3AyLnB1Yik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd2ZXJpZnlUcmFuc2FjdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdHhIZXggaXMgYSAweC1wcmVmaXhlZCBzaWduYWJsZUhleCAoZGVwbG95X2FjY291bnQsIG5vIHJlY2lwaWVudHMpJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gRHVyaW5nIFRTUyBFQ0RTQSBzaWduaW5nLCBzZGstY29yZSBwYXNzZXMgc2lnbmFibGVIZXggKDB4LXByZWZpeGVkIHRyYW5zYWN0aW9uIGhhc2gpXG4gICAgICAvLyBhcyB0eEhleC4gSXQgY2Fubm90IGJlIGRlY29kZWQgYXMgaW50ZXJuYWwgSlNPTiBoZXgsIHNvIHZlcmlmaWNhdGlvbiBtdXN0IHNob3J0LWNpcmN1aXQuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBiYXNlY29pbi52ZXJpZnlUcmFuc2FjdGlvbih7XG4gICAgICAgIHR4UGFyYW1zOiB7IHJlY2lwaWVudHM6IFtdIH0sXG4gICAgICAgIHR4UHJlYnVpbGQ6IHsgdHhIZXg6ICcweGRlYWRiZWVmY2FmZTEyMzQ1Njc4OTBhYmNkZWYnIH0sXG4gICAgICAgIHdhbGxldDoge30gYXMgYW55LFxuICAgICAgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHR4SGV4IGlzIGEgMHgtcHJlZml4ZWQgc2lnbmFibGVIZXggKHRyYW5zZmVyIHdpdGggcmVjaXBpZW50cyknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBTYW1lIHNpZ25pbmcgcGF0aCBmb3IgdHJhbnNmZXJzIOKAlCBzaWduYWJsZUhleCBpcyAweC1wcmVmaXhlZCwgZnVsbCB2ZXJpZmljYXRpb25cbiAgICAgIC8vIGlzIGFscmVhZHkgZG9uZSBpbiBwcmVidWlsZEFuZFNpZ25UcmFuc2FjdGlvbiB3aXRoIHNlcmlhbGl6ZWRUeEhleC5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHsgcmVjaXBpZW50czogW3sgYWRkcmVzczogJzB4YWJjJywgYW1vdW50OiAnMTAwMCcgfV0gfSxcbiAgICAgICAgdHhQcmVidWlsZDogeyB0eEhleDogJzB4ZGVhZGJlZWZjYWZlMTIzNDU2Nzg5MGFiY2RlZicgfSxcbiAgICAgICAgd2FsbGV0OiB7fSBhcyBhbnksXG4gICAgICB9KTtcbiAgICAgIHJlc3VsdC5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdHhIZXggaXMgYSA2NC1jaGFyYWN0ZXIgdW5wcmVmaXhlZCBzaWduYWJsZUhleCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHsgcmVjaXBpZW50czogW10gfSxcbiAgICAgICAgdHhQcmVidWlsZDogeyB0eEhleDogJ2RlYWRiZWVmY2FmZTEyMzQ1Njc4OTBhYmNkZWZkZWFkYmVlZmNhZmUxMjM0NTY3ODkwYWJjZGVmMTIzNDU2NzgnIH0sXG4gICAgICAgIHdhbGxldDoge30gYXMgYW55LFxuICAgICAgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHR4SGV4IGlzIGFic2VudCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJhc2Vjb2luLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgICAgdHhQYXJhbXM6IHsgcmVjaXBpZW50czogW10gfSxcbiAgICAgICAgdHhQcmVidWlsZDoge30sXG4gICAgICAgIHdhbGxldDoge30gYXMgYW55LFxuICAgICAgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19