@bitgo-beta/sdk-core 8.2.1-beta.1980 → 8.2.1-beta.1981

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.
Files changed (45) hide show
  1. package/dist/src/bitgo/defi/defiVault.d.ts +21 -1
  2. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -1
  3. package/dist/src/bitgo/defi/defiVault.js +36 -12
  4. package/dist/src/bitgo/defi/iDefiVault.d.ts +2 -1
  5. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -1
  6. package/dist/src/bitgo/defi/iDefiVault.js +1 -1
  7. package/dist/src/bitgo/keychain/iKeychains.d.ts +2 -0
  8. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  9. package/dist/src/bitgo/keychain/iKeychains.js +1 -1
  10. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  11. package/dist/src/bitgo/keychain/keychains.js +3 -1
  12. package/dist/src/bitgo/safe/iSafe.d.ts +4 -2
  13. package/dist/src/bitgo/safe/iSafe.d.ts.map +1 -1
  14. package/dist/src/bitgo/safe/iSafe.js +1 -1
  15. package/dist/src/bitgo/safe/iSafes.d.ts +13 -8
  16. package/dist/src/bitgo/safe/iSafes.d.ts.map +1 -1
  17. package/dist/src/bitgo/safe/iSafes.js +1 -1
  18. package/dist/src/bitgo/safe/safe.d.ts +3 -8
  19. package/dist/src/bitgo/safe/safe.d.ts.map +1 -1
  20. package/dist/src/bitgo/safe/safe.js +136 -4
  21. package/dist/src/bitgo/safe/safeDerivation.d.ts +7 -3
  22. package/dist/src/bitgo/safe/safeDerivation.d.ts.map +1 -1
  23. package/dist/src/bitgo/safe/safeDerivation.js +57 -17
  24. package/dist/src/bitgo/safe/safes.d.ts +7 -6
  25. package/dist/src/bitgo/safe/safes.d.ts.map +1 -1
  26. package/dist/src/bitgo/safe/safes.js +27 -19
  27. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts +1 -1
  28. package/dist/src/bitgo/utils/tss/recipientUtils.d.ts.map +1 -1
  29. package/dist/src/bitgo/utils/tss/recipientUtils.js +4 -2
  30. package/dist/src/bitgo/wallet/iWallet.d.ts +3 -2
  31. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  32. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  33. package/dist/src/bitgo/wallet/safeKeychain.d.ts +2 -2
  34. package/dist/src/bitgo/wallet/safeKeychain.d.ts.map +1 -1
  35. package/dist/src/bitgo/wallet/safeKeychain.js +10 -10
  36. package/dist/src/bitgo/wallet/wallet.d.ts +4 -0
  37. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  38. package/dist/src/bitgo/wallet/wallet.js +6 -2
  39. package/dist/test/unit/bitgo/defi/defiVault.js +56 -1
  40. package/dist/test/unit/bitgo/safe/safe.js +133 -5
  41. package/dist/test/unit/bitgo/safe/safes.js +45 -4
  42. package/dist/test/unit/bitgo/utils/tss/recipientUtils.js +14 -1
  43. package/dist/test/unit/bitgo/wallet/safeGetUserPrv.js +18 -40
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +8 -8
@@ -1,4 +1,4 @@
1
- import { GetVaultResponse } from '@bitgo/public-types';
1
+ import { GetVaultResponse, VaultProtocol } from '@bitgo/public-types';
2
2
  import { DefiOperation, DefiOperationListResult, DepositResult, DepositToVaultOptions, GetOperationOptions, GetVaultConfigOptions, IDefiVault, ListOperationsOptions, ResumeDepositOptions, WithdrawFromVaultOptions, WithdrawResult } from './iDefiVault';
3
3
  import { IWallet } from '../wallet';
4
4
  /**
@@ -23,11 +23,31 @@ export declare class DefiVault implements IDefiVault {
23
23
  private readonly wallet;
24
24
  private readonly bitgo;
25
25
  constructor(wallet: IWallet);
26
+ /**
27
+ * Minimal dispatch codec. The deposit path reads only `protocol` to choose
28
+ * between the concrete and morpho flows, so it must not hard-fail on the
29
+ * validity of unrelated response fields (e.g. `composition[]`) it never
30
+ * consumes. A code path must not fail on the validity of data it does not
31
+ * consume.
32
+ */
33
+ private static readonly VaultDispatch;
34
+ /**
35
+ * Fetch the raw vault config from defi-service. Shared by callers that
36
+ * decode the full response and callers that decode only what they use.
37
+ */
38
+ private fetchVaultRaw;
26
39
  /**
27
40
  * Fetch vault config from defi-service. Used internally to determine
28
41
  * which deposit path to take (Concrete vs Morpho).
29
42
  */
30
43
  getVaultConfig(params: GetVaultConfigOptions): Promise<GetVaultResponse>;
44
+ /**
45
+ * Fetch only the vault protocol from defi-service. Decodes the minimal
46
+ * `VaultDispatch` shape rather than the full `GetVaultResponse`, so callers
47
+ * that need only the protocol are not hostage to the validity of unrelated
48
+ * response fields (e.g. `composition[]`) they never consume.
49
+ */
50
+ getVaultProtocol(params: GetVaultConfigOptions): Promise<VaultProtocol>;
31
51
  /**
32
52
  * Deposit an amount of underlying asset into a vault.
33
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"defiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/defiVault.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAGL,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,WAAW,EAAE,MAAM;CAKhC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAEtB,MAAM,EAAE,OAAO;IAK3B;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW9E;;;;;;;;;;OAUG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB3E;;;;OAIG;YACW,sBAAsB;IAcpC;;;OAGG;YACW,oBAAoB;IAkDlC;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoCzE;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvE;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBrF;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;IA6BlF;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,aAAa;CAGtB"}
1
+ {"version":3,"file":"defiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/defiVault.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAGL,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,WAAW,EAAE,MAAM;CAKhC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAEtB,MAAM,EAAE,OAAO;IAK3B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA2C;IAEhF;;;OAGG;YACW,aAAa;IAU3B;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9E;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAS7E;;;;;;;;;;OAUG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB3E;;;;OAIG;YACW,sBAAsB;IAcpC;;;OAGG;YACW,oBAAoB;IAkDlC;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoCzE;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvE;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBrF;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC;IA6BlF;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,aAAa;CAGtB"}
@@ -68,18 +68,34 @@ class DefiVault {
68
68
  this.bitgo = wallet.bitgo;
69
69
  }
70
70
  /**
71
- * Fetch vault config from defi-service. Used internally to determine
72
- * which deposit path to take (Concrete vs Morpho).
71
+ * Fetch the raw vault config from defi-service. Shared by callers that
72
+ * decode the full response and callers that decode only what they use.
73
73
  */
74
- async getVaultConfig(params) {
75
- if (!params.vaultId) {
74
+ async fetchVaultRaw(vaultId) {
75
+ if (!vaultId) {
76
76
  throw new Error('vaultId is required');
77
77
  }
78
- const raw = await this.bitgo
79
- .get(this.bitgo.microservicesUrl(`/api/defi-service/v1/vaults/${params.vaultId}`))
78
+ return await this.bitgo
79
+ .get(this.bitgo.microservicesUrl(`/api/defi-service/v1/vaults/${vaultId}`))
80
80
  .set('enterprise-id', this.wallet.toJSON().enterprise)
81
81
  .result();
82
- return (0, utils_1.decodeWithCodec)(public_types_1.GetVaultResponse, raw, 'getVaultConfig');
82
+ }
83
+ /**
84
+ * Fetch vault config from defi-service. Used internally to determine
85
+ * which deposit path to take (Concrete vs Morpho).
86
+ */
87
+ async getVaultConfig(params) {
88
+ return (0, utils_1.decodeWithCodec)(public_types_1.GetVaultResponse, await this.fetchVaultRaw(params.vaultId), 'getVaultConfig');
89
+ }
90
+ /**
91
+ * Fetch only the vault protocol from defi-service. Decodes the minimal
92
+ * `VaultDispatch` shape rather than the full `GetVaultResponse`, so callers
93
+ * that need only the protocol are not hostage to the validity of unrelated
94
+ * response fields (e.g. `composition[]`) they never consume.
95
+ */
96
+ async getVaultProtocol(params) {
97
+ const { protocol } = (0, utils_1.decodeWithCodec)(DefiVault.VaultDispatch, await this.fetchVaultRaw(params.vaultId), 'vaultDispatch');
98
+ return protocol;
83
99
  }
84
100
  /**
85
101
  * Deposit an amount of underlying asset into a vault.
@@ -99,15 +115,15 @@ class DefiVault {
99
115
  if (!params.amount) {
100
116
  throw new Error('amount is required');
101
117
  }
102
- const config = await this.getVaultConfig({ vaultId: params.vaultId });
103
- if (config.protocol === public_types_1.VaultProtocol.CONCRETE_BTCCX) {
118
+ const protocol = await this.getVaultProtocol({ vaultId: params.vaultId });
119
+ if (protocol === public_types_1.VaultProtocol.CONCRETE_BTCCX) {
104
120
  return this.depositToConcreteVault(params);
105
121
  }
106
- else if (config.protocol === public_types_1.VaultProtocol.MORPHO) {
122
+ else if (protocol === public_types_1.VaultProtocol.MORPHO) {
107
123
  return this.depositToMorphoVault(params);
108
124
  }
109
125
  else {
110
- throw new Error(`Unsupported vault protocol: ${config.protocol}`);
126
+ throw new Error(`Unsupported vault protocol: ${protocol}`);
111
127
  }
112
128
  }
113
129
  /**
@@ -352,4 +368,12 @@ class DefiVault {
352
368
  }
353
369
  }
354
370
  exports.DefiVault = DefiVault;
355
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaVZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2RlZmkvZGVmaVZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gseUNBQTJCO0FBQzNCLHNEQUFzRTtBQWtCdEUsb0NBQTJDO0FBRTNDOztHQUVHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxLQUFLO0lBR25ELFlBQVksV0FBbUI7UUFDN0IsS0FBSyxDQUFDLCtDQUErQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLEdBQUcsNEJBQTRCLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBUkQsZ0VBUUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxTQUFTO0lBSXBCLFlBQVksTUFBZTtRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBNkI7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUs7YUFDekIsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ2pGLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7YUFDckQsTUFB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LENBQUM7UUFDNUcsT0FBTztZQUNMLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM3QyxLQUFLLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksbUJBQW1CO1NBQzVELENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLGdDQUFnQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUM7SUFDdkUsQ0FBQztDQUNGO0FBalVELDhCQWlVQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgR2V0VmF1bHRSZXNwb25zZSwgVmF1bHRQcm90b2NvbCB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ29uY3JldGVEZXBvc2l0UmVzdWx0LFxuICBNb3JwaG9EZXBvc2l0UmVzdWx0LFxuICBEZWZpT3BlcmF0aW9uLFxuICBEZWZpT3BlcmF0aW9uTGlzdFJlc3VsdCxcbiAgRGVwb3NpdFJlc3VsdCxcbiAgRGVwb3NpdFRvVmF1bHRPcHRpb25zLFxuICBHZXRPcGVyYXRpb25PcHRpb25zLFxuICBHZXRWYXVsdENvbmZpZ09wdGlvbnMsXG4gIElEZWZpVmF1bHQsXG4gIExpc3RPcGVyYXRpb25zT3B0aW9ucyxcbiAgUmVzdW1lRGVwb3NpdE9wdGlvbnMsXG4gIFdpdGhkcmF3RnJvbVZhdWx0T3B0aW9ucyxcbiAgV2l0aGRyYXdSZXN1bHQsXG59IGZyb20gJy4vaURlZmlWYXVsdCc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vd2FsbGV0JztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBkZWNvZGVXaXRoQ29kZWMgfSBmcm9tICcuLi91dGlscyc7XG5cbi8qKlxuICogRXJyb3IgdGhyb3duIHdoZW4gYSBjb25jdXJyZW50IGFjdGl2ZSBkZXBvc2l0IGFscmVhZHkgZXhpc3RzIGZvciB0aGUgKHdhbGxldCwgdmF1bHQpIHBhaXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3RpdmVPcGVyYXRpb25FeGlzdHNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IG9wZXJhdGlvbklkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3BlcmF0aW9uSWQ6IHN0cmluZykge1xuICAgIHN1cGVyKGBBbiBhY3RpdmUgZGVwb3NpdCBvcGVyYXRpb24gYWxyZWFkeSBleGlzdHM6ICR7b3BlcmF0aW9uSWR9YCk7XG4gICAgdGhpcy5uYW1lID0gJ0FjdGl2ZU9wZXJhdGlvbkV4aXN0c0Vycm9yJztcbiAgICB0aGlzLm9wZXJhdGlvbklkID0gb3BlcmF0aW9uSWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBPcmNoZXN0cmF0ZXMgRVJDLTQ2MjYgdmF1bHQgZGVwb3NpdCBhbmQgd2l0aGRyYXcgZmxvd3MgZm9yIGEgd2FsbGV0LlxuICpcbiAqIEV4cG9zZWQgYXMgYHdhbGxldC5kZWZpYCBvbiB0aGUgV2FsbGV0IGNsYXNzLiBTZWUgVEREIMKnNi4zLjEgZm9yIHRoZSBmdWxsXG4gKiBkZXNpZ246IHRoZSBTREsgc2VxdWVuY2VzIHR3byBzZW5kTWFueSBjYWxscyAoYXBwcm92ZSArIGRlcG9zaXQpIGFuZFxuICogcmV0dXJucyBhbiBvcGVyYXRpb25JZCB0aGF0IHRoZSBVSSB1c2VzIGZvciBzdGF0dXMgdHJhY2tpbmcgYW5kIHJlY292ZXJ5LlxuICpcbiAqIFVzZXMgd2FsbGV0LnNlbmRNYW55KCkgdW5kZXIgdGhlIGhvb2Qgc28gdGhhdCBib3RoIGN1c3RvZHkgd2FsbGV0c1xuICogKHR4UmVxdWVzdCBjcmVhdGlvbiBvbmx5KSBhbmQgaG90IHdhbGxldHMgKGNyZWF0ZSArIHNpZ24gKyBicm9hZGNhc3QpXG4gKiBhcmUgaGFuZGxlZCBieSB0aGUgZXhpc3RpbmcgaW5mcmFzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZpVmF1bHQgaW1wbGVtZW50cyBJRGVmaVZhdWx0IHtcbiAgcHJpdmF0ZSByZWFkb25seSB3YWxsZXQ6IElXYWxsZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcblxuICBjb25zdHJ1Y3Rvcih3YWxsZXQ6IElXYWxsZXQpIHtcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLmJpdGdvID0gd2FsbGV0LmJpdGdvO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHZhdWx0IGNvbmZpZyBmcm9tIGRlZmktc2VydmljZS4gVXNlZCBpbnRlcm5hbGx5IHRvIGRldGVybWluZVxuICAgKiB3aGljaCBkZXBvc2l0IHBhdGggdG8gdGFrZSAoQ29uY3JldGUgdnMgTW9ycGhvKS5cbiAgICovXG4gIGFzeW5jIGdldFZhdWx0Q29uZmlnKHBhcmFtczogR2V0VmF1bHRDb25maWdPcHRpb25zKTogUHJvbWlzZTxHZXRWYXVsdFJlc3BvbnNlPiB7XG4gICAgaWYgKCFwYXJhbXMudmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5nZXQodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL2RlZmktc2VydmljZS92MS92YXVsdHMvJHtwYXJhbXMudmF1bHRJZH1gKSlcbiAgICAgIC5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLndhbGxldC50b0pTT04oKS5lbnRlcnByaXNlKVxuICAgICAgLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVXaXRoQ29kZWMoR2V0VmF1bHRSZXNwb25zZSwgcmF3LCAnZ2V0VmF1bHRDb25maWcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXBvc2l0IGFuIGFtb3VudCBvZiB1bmRlcmx5aW5nIGFzc2V0IGludG8gYSB2YXVsdC5cbiAgICpcbiAgICogRGlzcGF0Y2hlcyB0byB0aGUgY29uY3JldGUgb3IgbW9ycGhvIHBhdGggYmFzZWQgb24gdmF1bHQgcHJvdmlkZXIuXG4gICAqIFRoZSBjb25jcmV0ZSBwYXRoIHJldHVybnMgYSBwZW5kaW5nQXBwcm92YWwgKGN1c3RvZGlhbCB3YWxsZXQpLlxuICAgKiBUaGUgbW9ycGhvIHBhdGggaXNzdWVzIHR3byBzZW5kTWFueSBjYWxscyAoYXBwcm92ZSArIGRlcG9zaXQpLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLnZhdWx0SWQgLSBEZUZpLXNlcnZpY2UgdmF1bHQgaWRlbnRpZmllclxuICAgKiBAcGFyYW0gcGFyYW1zLmFtb3VudCAtIGFtb3VudCBpbiBiYXNlIHVuaXRzIG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0XG4gICAqIEBwYXJhbSBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSAtIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keVxuICAgKi9cbiAgYXN5bmMgZGVwb3NpdFRvVmF1bHQocGFyYW1zOiBEZXBvc2l0VG9WYXVsdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+IHtcbiAgICBpZiAoIXBhcmFtcy52YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhdWx0SWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCFwYXJhbXMuYW1vdW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Ftb3VudCBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZ2V0VmF1bHRDb25maWcoeyB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCB9KTtcblxuICAgIGlmIChjb25maWcucHJvdG9jb2wgPT09IFZhdWx0UHJvdG9jb2wuQ09OQ1JFVEVfQlRDQ1gpIHtcbiAgICAgIHJldHVybiB0aGlzLmRlcG9zaXRUb0NvbmNyZXRlVmF1bHQocGFyYW1zKTtcbiAgICB9IGVsc2UgaWYgKGNvbmZpZy5wcm90b2NvbCA9PT0gVmF1bHRQcm90b2NvbC5NT1JQSE8pIHtcbiAgICAgIHJldHVybiB0aGlzLmRlcG9zaXRUb01vcnBob1ZhdWx0KHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdmF1bHQgcHJvdG9jb2w6ICR7Y29uZmlnLnByb3RvY29sfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb25jcmV0ZSBCVEMgdmF1bHQgZGVwb3NpdCBwYXRoLiBUaGUgY2xpZW50IEJUQyB3YWxsZXQgaXMgY3VzdG9kaWFsLCBzb1xuICAgKiBzZW5kTWFueSByZXR1cm5zIGEgcGVuZGluZ0FwcHJvdmFsIHJhdGhlciB0aGFuIGEgc2lnbmVkIHRyYW5zZmVyLlxuICAgKiBObyByZWNpcGllbnRzIGFyZSBzZW50IOKAlCBXUCByZXNvbHZlcyB0aGUgZXNjcm93IGRlc3RpbmF0aW9uIHNlcnZlci1zaWRlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBkZXBvc2l0VG9Db25jcmV0ZVZhdWx0KHBhcmFtczogRGVwb3NpdFRvVmF1bHRPcHRpb25zKTogUHJvbWlzZTxDb25jcmV0ZURlcG9zaXRSZXN1bHQ+IHtcbiAgICBjb25zdCBzZW5kTWFueVJlc3VsdCA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmRNYW55KHtcbiAgICAgIHR5cGU6ICdkZWZpLWRlcG9zaXQnLFxuICAgICAgZGVmaVBhcmFtczoge1xuICAgICAgICB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCxcbiAgICAgICAgYW1vdW50OiBwYXJhbXMuYW1vdW50LFxuICAgICAgICBhY3Rpb25UeXBlOiAnZGVmaS1kZXBvc2l0JyxcbiAgICAgIH0sXG4gICAgICAuLi4ocGFyYW1zLndhbGxldFBhc3NwaHJhc2UgPyB7IHdhbGxldFBhc3NwaHJhc2U6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0gOiB7fSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5leHRyYWN0Q29uY3JldGVEZXBvc2l0UmVzdWx0KHNlbmRNYW55UmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3JwaG8gdmF1bHQgZGVwb3NpdCBwYXRoLiBJc3N1ZXMgdHdvIHNlbmRNYW55IGNhbGxzIChhcHByb3ZlICsgZGVwb3NpdClcbiAgICogYW5kIHJldHVybnMgdGhlIG9wZXJhdGlvbklkIHRoYXQgbGlua3MgdGhlbS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZGVwb3NpdFRvTW9ycGhvVmF1bHQocGFyYW1zOiBEZXBvc2l0VG9WYXVsdE9wdGlvbnMpOiBQcm9taXNlPE1vcnBob0RlcG9zaXRSZXN1bHQ+IHtcbiAgICAvLyBUT0RPKENHRC0xNzA5KTogUmUtZW5hYmxlIGFjdGl2ZSBvcGVyYXRpb24gcHJlLWZsaWdodCBjaGVjayBvbmNlIHRoZVxuICAgIC8vIGRlZmktc2VydmljZSBvcGVyYXRpb25zIGVuZHBvaW50IGlzIGRlcGxveWVkIGFuZCByZXR1cm5pbmcgYWN0aXZlIHN0YXRlLlxuICAgIC8vIGNvbnN0IGFjdGl2ZU9wczogRGVmaU9wZXJhdGlvbkxpc3RSZXN1bHQgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgLy8gICAuZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLm9wZXJhdGlvbnNVcmwoKSkpXG4gICAgLy8gICAucXVlcnkoeyB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCwgc3RhdGU6ICdhY3RpdmUnIH0pXG4gICAgLy8gICAucmVzdWx0KCk7XG4gICAgLy9cbiAgICAvLyBpZiAoYWN0aXZlT3BzLml0ZW1zICYmIGFjdGl2ZU9wcy5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgLy8gICB0aHJvdyBuZXcgQWN0aXZlT3BlcmF0aW9uRXhpc3RzRXJyb3IoYWN0aXZlT3BzLml0ZW1zWzBdLm9wZXJhdGlvbklkKTtcbiAgICAvLyB9XG5cbiAgICAvLyBTdGVwIDE6IEFwcHJvdmUgdHhSZXF1ZXN0IHZpYSBzZW5kTWFueVxuICAgIGNvbnN0IGFwcHJvdmVSZXN1bHQgPSBhd2FpdCB0aGlzLndhbGxldC5zZW5kTWFueSh7XG4gICAgICB0eXBlOiAnZGVmaUFwcHJvdmUnLFxuICAgICAgZGVmaVBhcmFtczoge1xuICAgICAgICB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCxcbiAgICAgICAgYW1vdW50OiBwYXJhbXMuYW1vdW50LFxuICAgICAgfSxcbiAgICAgIC4uLihwYXJhbXMud2FsbGV0UGFzc3BocmFzZSA/IHsgd2FsbGV0UGFzc3BocmFzZTogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgfSA6IHt9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFwcHJvdmVUeFJlcXVlc3RJZCA9IHRoaXMuZXh0cmFjdFR4UmVxdWVzdElkKGFwcHJvdmVSZXN1bHQpO1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gdGhpcy5leHRyYWN0T3BlcmF0aW9uSWQoYXBwcm92ZVJlc3VsdCk7XG5cbiAgICBpZiAoIW9wZXJhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZXJhdGlvbklkIG5vdCBmb3VuZCBpbiBhcHByb3ZlIHR4UmVxdWVzdCByZXNwb25zZScpO1xuICAgIH1cblxuICAgIC8vIFN0ZXAgMjogRGVwb3NpdCB0eFJlcXVlc3QgdmlhIHNlbmRNYW55XG4gICAgY29uc3QgZGVwb3NpdFJlc3VsdCA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmRNYW55KHtcbiAgICAgIHR5cGU6ICdkZWZpRGVwb3NpdCcsXG4gICAgICBkZWZpUGFyYW1zOiB7XG4gICAgICAgIHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkLFxuICAgICAgICBhbW91bnQ6IHBhcmFtcy5hbW91bnQsXG4gICAgICAgIG9wZXJhdGlvbklkLFxuICAgICAgfSxcbiAgICAgIC4uLihwYXJhbXMud2FsbGV0UGFzc3BocmFzZSA/IHsgd2FsbGV0UGFzc3BocmFzZTogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgfSA6IHt9KSxcbiAgICB9KTtcbiAgICBjb25zdCBkZXBvc2l0VHhSZXF1ZXN0SWQgPSB0aGlzLmV4dHJhY3RUeFJlcXVlc3RJZChkZXBvc2l0UmVzdWx0KTtcblxuICAgIHJldHVybiB7XG4gICAgICBvcGVyYXRpb25JZCxcbiAgICAgIHR4UmVxdWVzdElkczoge1xuICAgICAgICBhcHByb3ZlOiBhcHByb3ZlVHhSZXF1ZXN0SWQsXG4gICAgICAgIGRlcG9zaXQ6IGRlcG9zaXRUeFJlcXVlc3RJZCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN1bWUgYSBwYXJ0aWFsbHktY29tcGxldGVkIGRlcG9zaXQuIENhbGwgdGhpcyB3aGVuIHRoZSBTREsgcHJvY2VzcyBkaWVkXG4gICAqIGJldHdlZW4gdGhlIGFwcHJvdmUgYW5kIGRlcG9zaXQgdHhSZXF1ZXN0IGNyZWF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLm9wZXJhdGlvbklkIC0gdGhlIG9wZXJhdGlvbklkIGZyb20gdGhlIG9yaWdpbmFsIGRlcG9zaXRUb1ZhdWx0IGNhbGxcbiAgICogQHBhcmFtIHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIC0gcmVxdWlyZWQgZm9yIGhvdCB3YWxsZXRzLCBvbWl0IGZvciBjdXN0b2R5XG4gICAqL1xuICBhc3luYyByZXN1bWVEZXBvc2l0KHBhcmFtczogUmVzdW1lRGVwb3NpdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+IHtcbiAgICBpZiAoIXBhcmFtcy5vcGVyYXRpb25JZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcGVyYXRpb25JZCBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIC8vIEZldGNoIHRoZSBvcGVyYXRpb24gdG8gZ2V0IHRoZSB2YXVsdCBhbmQgYW1vdW50IGRldGFpbHNcbiAgICBjb25zdCBvcGVyYXRpb24gPSBhd2FpdCB0aGlzLmdldE9wZXJhdGlvbih7IG9wZXJhdGlvbklkOiBwYXJhbXMub3BlcmF0aW9uSWQgfSk7XG5cbiAgICBpZiAob3BlcmF0aW9uLmFzc29jaWF0ZWRUeFJlcXVlc3RJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZXBvc2l0IHR4UmVxdWVzdCBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBvcGVyYXRpb247IG5vdGhpbmcgdG8gcmVzdW1lJyk7XG4gICAgfVxuXG4gICAgaWYgKCFvcGVyYXRpb24udHhSZXF1ZXN0SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXBwcm92ZSB0eFJlcXVlc3Qgbm90IGZvdW5kIGZvciB0aGlzIG9wZXJhdGlvbjsgY2Fubm90IHJlc3VtZScpO1xuICAgIH1cblxuICAgIC8vIElzc3VlIHRoZSBkZXBvc2l0IHR4UmVxdWVzdCB1c2luZyB0aGUgZXhpc3Rpbmcgb3BlcmF0aW9uJ3MgZGV0YWlsc1xuICAgIGNvbnN0IGRlcG9zaXRSZXN1bHQgPSBhd2FpdCB0aGlzLndhbGxldC5zZW5kTWFueSh7XG4gICAgICB0eXBlOiAnZGVmaURlcG9zaXQnLFxuICAgICAgZGVmaVBhcmFtczoge1xuICAgICAgICB2YXVsdElkOiBvcGVyYXRpb24udmF1bHRJZCxcbiAgICAgICAgYW1vdW50OiBvcGVyYXRpb24uYXNzZXRBbW91bnQsXG4gICAgICAgIG9wZXJhdGlvbklkOiBwYXJhbXMub3BlcmF0aW9uSWQsXG4gICAgICB9LFxuICAgICAgLi4uKHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlID8geyB3YWxsZXRQYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9IDoge30pLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9wZXJhdGlvbklkOiBwYXJhbXMub3BlcmF0aW9uSWQsXG4gICAgICB0eFJlcXVlc3RJZHM6IHtcbiAgICAgICAgYXBwcm92ZTogb3BlcmF0aW9uLnR4UmVxdWVzdElkLFxuICAgICAgICBkZXBvc2l0OiB0aGlzLmV4dHJhY3RUeFJlcXVlc3RJZChkZXBvc2l0UmVzdWx0KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSBEZUZpIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5vcGVyYXRpb25JZCAtIHRoZSBvcGVyYXRpb24gdG8gcmV0cmlldmVcbiAgICovXG4gIGFzeW5jIGdldE9wZXJhdGlvbihwYXJhbXM6IEdldE9wZXJhdGlvbk9wdGlvbnMpOiBQcm9taXNlPERlZmlPcGVyYXRpb24+IHtcbiAgICBpZiAoIXBhcmFtcy5vcGVyYXRpb25JZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcGVyYXRpb25JZCBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5vcGVyYXRpb25zVXJsKCkgKyAnLycgKyBwYXJhbXMub3BlcmF0aW9uSWQpKS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9wZXJhdGlvbnMgZm9yIGEgdmF1bHQgZmlsdGVyZWQgYnkgd2FsbGV0SWQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMudmF1bHRJZCAtIHZhdWx0IHRvIGxpc3Qgb3BlcmF0aW9ucyBmb3JcbiAgICogQHBhcmFtIHBhcmFtcy5zdGF0ZSAtIG9wdGlvbmFsIHN0YXRlIGZpbHRlclxuICAgKiBAcGFyYW0gcGFyYW1zLnR5cGUgLSBvcHRpb25hbCB0eXBlIGZpbHRlciAoREVQT1NJVCB8IFdJVEhEUkFXKVxuICAgKiBAcGFyYW0gcGFyYW1zLmxpbWl0IC0gcGFnZSBzaXplXG4gICAqIEBwYXJhbSBwYXJhbXMuY3Vyc29yIC0gcGFnaW5hdGlvbiBjdXJzb3JcbiAgICovXG4gIGFzeW5jIGxpc3RPcGVyYXRpb25zKHBhcmFtczogTGlzdE9wZXJhdGlvbnNPcHRpb25zKTogUHJvbWlzZTxEZWZpT3BlcmF0aW9uTGlzdFJlc3VsdD4ge1xuICAgIGlmICghcGFyYW1zLnZhdWx0SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndmF1bHRJZCBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+ID0ge1xuICAgICAgdmF1bHRJZDogcGFyYW1zLnZhdWx0SWQsXG4gICAgfTtcbiAgICBpZiAocGFyYW1zLnN0YXRlKSBxdWVyeS5zdGF0ZSA9IHBhcmFtcy5zdGF0ZTtcbiAgICBpZiAocGFyYW1zLnR5cGUpIHF1ZXJ5LnR5cGUgPSBwYXJhbXMudHlwZTtcbiAgICBpZiAocGFyYW1zLmxpbWl0KSBxdWVyeS5saW1pdCA9IHBhcmFtcy5saW1pdDtcbiAgICBpZiAocGFyYW1zLmN1cnNvcikgcXVlcnkuY3Vyc29yID0gcGFyYW1zLmN1cnNvcjtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5vcGVyYXRpb25zVXJsKCkpKS5xdWVyeShxdWVyeSkucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogV2l0aGRyYXcgdmF1bHQgc2hhcmVzIGZyb20gYSBEZUZpIHZhdWx0LlxuICAgKlxuICAgKiBJc3N1ZXMgYSBzaW5nbGUgc2VuZE1hbnkgY2FsbCAoZGVmaVdpdGhkcmF3KSBhbmQgcmV0dXJucyB0aGUgb3BlcmF0aW9uSWRcbiAgICogYW5kIHR4UmVxdWVzdElkLiBUaGUgc3RhdGUgbWFjaGluZSBmb3Igd2l0aGRyYXdhbCBpcyBzaW1wbGVyIHRoYW4gZGVwb3NpdDpcbiAgICogQ1JFQVRFRCDihpIgV0lUSERSQVdfVFhfUkVRVUVTVEVEIOKGkiBXSVRIRFJBV19TSUdORUQg4oaSIFdJVEhEUkFXX0NPTkZJUk1FRCDihpIgQ09NUExFVEVEXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMudmF1bHRJZCAtIERlRmktc2VydmljZSB2YXVsdCBpZGVudGlmaWVyXG4gICAqIEBwYXJhbSBwYXJhbXMuYW1vdW50IC0gYW1vdW50IGluIGJhc2UgdW5pdHMgb2YgdGhlIHZhdWx0IHNoYXJlIHRva2VuXG4gICAqIEBwYXJhbSBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSAtIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keVxuICAgKi9cbiAgYXN5bmMgd2l0aGRyYXdGcm9tVmF1bHQocGFyYW1zOiBXaXRoZHJhd0Zyb21WYXVsdE9wdGlvbnMpOiBQcm9taXNlPFdpdGhkcmF3UmVzdWx0PiB7XG4gICAgaWYgKCFwYXJhbXMudmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghcGFyYW1zLmFtb3VudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB3aXRoZHJhd1Jlc3VsdCA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmRNYW55KHtcbiAgICAgIHR5cGU6ICdkZWZpV2l0aGRyYXcnLFxuICAgICAgZGVmaVBhcmFtczoge1xuICAgICAgICB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCxcbiAgICAgICAgYW1vdW50OiBwYXJhbXMuYW1vdW50LFxuICAgICAgfSxcbiAgICAgIC4uLihwYXJhbXMud2FsbGV0UGFzc3BocmFzZSA/IHsgd2FsbGV0UGFzc3BocmFzZTogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgfSA6IHt9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHR4UmVxdWVzdElkID0gdGhpcy5leHRyYWN0VHhSZXF1ZXN0SWQod2l0aGRyYXdSZXN1bHQpO1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gdGhpcy5leHRyYWN0T3BlcmF0aW9uSWQod2l0aGRyYXdSZXN1bHQpO1xuXG4gICAgaWYgKCFvcGVyYXRpb25JZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcGVyYXRpb25JZCBub3QgZm91bmQgaW4gd2l0aGRyYXcgdHhSZXF1ZXN0IHJlc3BvbnNlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgb3BlcmF0aW9uSWQsIHR4UmVxdWVzdElkIH07XG4gIH1cblxuICAvLyDilIDilIAgSW50ZXJuYWwgaGVscGVycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICAvKipcbiAgICogRXh0cmFjdCB0eFJlcXVlc3RJZCBmcm9tIGEgc2VuZE1hbnkgcmVzdWx0LlxuICAgKiBzZW5kTWFueSByZXR1cm5zIGRpZmZlcmVudCBzaGFwZXMgZGVwZW5kaW5nIG9uIHdhbGxldCB0eXBlOlxuICAgKiAtIFRTUyBmdWxsOiB7IHR4UmVxdWVzdDogeyB0eFJlcXVlc3RJZCB9IH0gb3IgeyBwZW5kaW5nQXBwcm92YWwsIHR4UmVxdWVzdCB9XG4gICAqIC0gVFNTIGxpdGU6IHJlc3VsdCBmcm9tIHRzc1V0aWxzLnNlbmRUeFJlcXVlc3RcbiAgICovXG4gIHByaXZhdGUgZXh0cmFjdFR4UmVxdWVzdElkKHNlbmRNYW55UmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHN0cmluZyB7XG4gICAgY29uc3QgdHhSZXF1ZXN0ID0gc2VuZE1hbnlSZXN1bHQudHhSZXF1ZXN0IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0eFJlcXVlc3Q/LnR4UmVxdWVzdElkKSB7XG4gICAgICByZXR1cm4gdHhSZXF1ZXN0LnR4UmVxdWVzdElkIGFzIHN0cmluZztcbiAgICB9XG4gICAgaWYgKHNlbmRNYW55UmVzdWx0LnR4UmVxdWVzdElkKSB7XG4gICAgICByZXR1cm4gc2VuZE1hbnlSZXN1bHQudHhSZXF1ZXN0SWQgYXMgc3RyaW5nO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3R4UmVxdWVzdElkIG5vdCBmb3VuZCBpbiBzZW5kTWFueSByZXNwb25zZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3Qgb3BlcmF0aW9uSWQgZnJvbSBhIHNlbmRNYW55IHJlc3VsdC5cbiAgICpcbiAgICogVGhlIFdQIHdyaXRlcyB0aGUgZGVmaS1zZXJ2aWNlLW1pbnRlZCBvcGVyYXRpb25JZCBpbnRvIHRoZSBidWlsdFxuICAgKiB0cmFuc2FjdGlvbidzIGBjb2luU3BlY2lmaWNgIChhbG9uZ3NpZGUgYGFzc2lnbmVkTm9uY2VgKSwgbm90IGludG8gdGhlXG4gICAqIGludGVudC4gUmVhZCBpdCBmcm9tIHRoZXJlOiB0aGUgYGZ1bGxgIGFwaVZlcnNpb24gc3VyZmFjZXMgaXQgYXRcbiAgICogYHRyYW5zYWN0aW9uc1swXS51bnNpZ25lZFR4LmNvaW5TcGVjaWZpYy5vcGVyYXRpb25JZGAsIHRoZSBgbGl0ZWAgdmVyc2lvblxuICAgKiBhdCBgdW5zaWduZWRUeHNbMF0uY29pblNwZWNpZmljLm9wZXJhdGlvbklkYC4gRmFsbCBiYWNrIHRvXG4gICAqIGBpbnRlbnQub3BlcmF0aW9uSWRgIGZvciBmb3J3YXJkLWNvbXBhdCBpbiBjYXNlIHRoZSBXUCBsYXRlciBhbHNvXG4gICAqIHBvcHVsYXRlcyB0aGUgaW50ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBleHRyYWN0T3BlcmF0aW9uSWQoc2VuZE1hbnlSZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0eFJlcXVlc3QgPSBzZW5kTWFueVJlc3VsdC50eFJlcXVlc3QgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKCF0eFJlcXVlc3QpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gZnVsbCBhcGlWZXJzaW9uOiB0cmFuc2FjdGlvbnNbMF0udW5zaWduZWRUeC5jb2luU3BlY2lmaWMub3BlcmF0aW9uSWRcbiAgICBjb25zdCB0cmFuc2FjdGlvbnMgPSB0eFJlcXVlc3QudHJhbnNhY3Rpb25zIGFzIEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmdWxsVW5zaWduZWRUeCA9IHRyYW5zYWN0aW9ucz8uWzBdPy51bnNpZ25lZFR4IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZ1bGxDb2luU3BlY2lmaWMgPSBmdWxsVW5zaWduZWRUeD8uY29pblNwZWNpZmljIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChmdWxsQ29pblNwZWNpZmljPy5vcGVyYXRpb25JZCkge1xuICAgICAgcmV0dXJuIGZ1bGxDb2luU3BlY2lmaWMub3BlcmF0aW9uSWQgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIC8vIGxpdGUgYXBpVmVyc2lvbjogdW5zaWduZWRUeHNbMF0uY29pblNwZWNpZmljLm9wZXJhdGlvbklkXG4gICAgY29uc3QgdW5zaWduZWRUeHMgPSB0eFJlcXVlc3QudW5zaWduZWRUeHMgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGxpdGVDb2luU3BlY2lmaWMgPSB1bnNpZ25lZFR4cz8uWzBdPy5jb2luU3BlY2lmaWMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKGxpdGVDb2luU3BlY2lmaWM/Lm9wZXJhdGlvbklkKSB7XG4gICAgICByZXR1cm4gbGl0ZUNvaW5TcGVjaWZpYy5vcGVyYXRpb25JZCBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgLy8gZm9yd2FyZC1jb21wYXQ6IGludGVudC5vcGVyYXRpb25JZCAoaW4gY2FzZSB0aGUgV1AgbGF0ZXIgcG9wdWxhdGVzIHRoZSBpbnRlbnQpXG4gICAgY29uc3QgaW50ZW50ID0gdHhSZXF1ZXN0LmludGVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gaW50ZW50Py5vcGVyYXRpb25JZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdHMge0BsaW5rIENvbmNyZXRlRGVwb3NpdFJlc3VsdH0gZnJvbSBhIGN1c3RvZGlhbCBzZW5kTWFueSByZXNwb25zZS5cbiAgICogQ29uY3JldGUgQlRDIGRlcG9zaXRzIHJldHVybiBhIGBwZW5kaW5nQXBwcm92YWxgIGluc3RlYWQgb2YgYSB0eFJlcXVlc3Qg4oCUXG4gICAqIHRocm93cyBpZiBgcGVuZGluZ0FwcHJvdmFsLmlkYCBpcyBhYnNlbnQsIGluZGljYXRpbmcgYW4gdW5leHBlY3RlZCBzaGFwZS5cbiAgICovXG4gIHByaXZhdGUgZXh0cmFjdENvbmNyZXRlRGVwb3NpdFJlc3VsdChzZW5kTWFueVJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBDb25jcmV0ZURlcG9zaXRSZXN1bHQge1xuICAgIGNvbnN0IFNlbmRNYW55Q29uY3JldGVSZXNwb25zZSA9IHQudHlwZSh7XG4gICAgICBwZW5kaW5nQXBwcm92YWw6IHQuaW50ZXJzZWN0aW9uKFt0LnR5cGUoeyBpZDogdC5zdHJpbmcgfSksIHQucGFydGlhbCh7IHN0YXRlOiB0LnN0cmluZyB9KV0pLFxuICAgIH0pO1xuICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVXaXRoQ29kZWMoU2VuZE1hbnlDb25jcmV0ZVJlc3BvbnNlLCBzZW5kTWFueVJlc3VsdCwgJ2RlZmktZGVwb3NpdCBzZW5kTWFueSByZXNwb25zZScpO1xuICAgIHJldHVybiB7XG4gICAgICBwZW5kaW5nQXBwcm92YWxJZDogZGVjb2RlZC5wZW5kaW5nQXBwcm92YWwuaWQsXG4gICAgICBzdGF0ZTogZGVjb2RlZC5wZW5kaW5nQXBwcm92YWwuc3RhdGUgPz8gJ2F3YWl0aW5nU2lnbmF0dXJlJyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVyYXRpb25zVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAvYXBpL2RlZmktc2VydmljZS92MS93YWxsZXRzLyR7dGhpcy53YWxsZXQuaWQoKX0vb3BlcmF0aW9uc2A7XG4gIH1cbn1cbiJdfQ==
371
+ /**
372
+ * Minimal dispatch codec. The deposit path reads only `protocol` to choose
373
+ * between the concrete and morpho flows, so it must not hard-fail on the
374
+ * validity of unrelated response fields (e.g. `composition[]`) it never
375
+ * consumes. A code path must not fail on the validity of data it does not
376
+ * consume.
377
+ */
378
+ DefiVault.VaultDispatch = t.type({ protocol: public_types_1.VaultProtocolType });
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaVZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2RlZmkvZGVmaVZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gseUNBQTJCO0FBQzNCLHNEQUF5RjtBQWtCekYsb0NBQTJDO0FBRTNDOztHQUVHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxLQUFLO0lBR25ELFlBQVksV0FBbUI7UUFDN0IsS0FBSyxDQUFDLCtDQUErQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLEdBQUcsNEJBQTRCLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBUkQsZ0VBUUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxTQUFTO0lBSXBCLFlBQVksTUFBZTtRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQVdEOzs7T0FHRztJQUNLLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZTtRQUN6QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSzthQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQywrQkFBK0IsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUMxRSxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQ3JELE1BQU0sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FH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QUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVGLENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLElBQUEsdUJBQWUsRUFBQyx3QkFBd0IsRUFBRSxjQUFjLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUM1RyxPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzdDLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxtQkFBbUI7U0FDNUQsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sZ0NBQWdDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQztJQUN2RSxDQUFDOztBQS9WSCw4QkFnV0M7QUF2VkM7Ozs7OztHQU1HO0FBQ3FCLHVCQUFhLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxnQ0FBaUIsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IEdldFZhdWx0UmVzcG9uc2UsIFZhdWx0UHJvdG9jb2wsIFZhdWx0UHJvdG9jb2xUeXBlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQge1xuICBDb25jcmV0ZURlcG9zaXRSZXN1bHQsXG4gIE1vcnBob0RlcG9zaXRSZXN1bHQsXG4gIERlZmlPcGVyYXRpb24sXG4gIERlZmlPcGVyYXRpb25MaXN0UmVzdWx0LFxuICBEZXBvc2l0UmVzdWx0LFxuICBEZXBvc2l0VG9WYXVsdE9wdGlvbnMsXG4gIEdldE9wZXJhdGlvbk9wdGlvbnMsXG4gIEdldFZhdWx0Q29uZmlnT3B0aW9ucyxcbiAgSURlZmlWYXVsdCxcbiAgTGlzdE9wZXJhdGlvbnNPcHRpb25zLFxuICBSZXN1bWVEZXBvc2l0T3B0aW9ucyxcbiAgV2l0aGRyYXdGcm9tVmF1bHRPcHRpb25zLFxuICBXaXRoZHJhd1Jlc3VsdCxcbn0gZnJvbSAnLi9pRGVmaVZhdWx0JztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IGRlY29kZVdpdGhDb2RlYyB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBFcnJvciB0aHJvd24gd2hlbiBhIGNvbmN1cnJlbnQgYWN0aXZlIGRlcG9zaXQgYWxyZWFkeSBleGlzdHMgZm9yIHRoZSAod2FsbGV0LCB2YXVsdCkgcGFpci5cbiAqL1xuZXhwb3J0IGNsYXNzIEFjdGl2ZU9wZXJhdGlvbkV4aXN0c0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0aW9uSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcGVyYXRpb25JZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoYEFuIGFjdGl2ZSBkZXBvc2l0IG9wZXJhdGlvbiBhbHJlYWR5IGV4aXN0czogJHtvcGVyYXRpb25JZH1gKTtcbiAgICB0aGlzLm5hbWUgPSAnQWN0aXZlT3BlcmF0aW9uRXhpc3RzRXJyb3InO1xuICAgIHRoaXMub3BlcmF0aW9uSWQgPSBvcGVyYXRpb25JZDtcbiAgfVxufVxuXG4vKipcbiAqIE9yY2hlc3RyYXRlcyBFUkMtNDYyNiB2YXVsdCBkZXBvc2l0IGFuZCB3aXRoZHJhdyBmbG93cyBmb3IgYSB3YWxsZXQuXG4gKlxuICogRXhwb3NlZCBhcyBgd2FsbGV0LmRlZmlgIG9uIHRoZSBXYWxsZXQgY2xhc3MuIFNlZSBUREQgwqc2LjMuMSBmb3IgdGhlIGZ1bGxcbiAqIGRlc2lnbjogdGhlIFNESyBzZXF1ZW5jZXMgdHdvIHNlbmRNYW55IGNhbGxzIChhcHByb3ZlICsgZGVwb3NpdCkgYW5kXG4gKiByZXR1cm5zIGFuIG9wZXJhdGlvbklkIHRoYXQgdGhlIFVJIHVzZXMgZm9yIHN0YXR1cyB0cmFja2luZyBhbmQgcmVjb3ZlcnkuXG4gKlxuICogVXNlcyB3YWxsZXQuc2VuZE1hbnkoKSB1bmRlciB0aGUgaG9vZCBzbyB0aGF0IGJvdGggY3VzdG9keSB3YWxsZXRzXG4gKiAodHhSZXF1ZXN0IGNyZWF0aW9uIG9ubHkpIGFuZCBob3Qgd2FsbGV0cyAoY3JlYXRlICsgc2lnbiArIGJyb2FkY2FzdClcbiAqIGFyZSBoYW5kbGVkIGJ5IHRoZSBleGlzdGluZyBpbmZyYXN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmlWYXVsdCBpbXBsZW1lbnRzIElEZWZpVmF1bHQge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuXG4gIGNvbnN0cnVjdG9yKHdhbGxldDogSVdhbGxldCkge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuYml0Z28gPSB3YWxsZXQuYml0Z287XG4gIH1cblxuICAvKipcbiAgICogTWluaW1hbCBkaXNwYXRjaCBjb2RlYy4gVGhlIGRlcG9zaXQgcGF0aCByZWFkcyBvbmx5IGBwcm90b2NvbGAgdG8gY2hvb3NlXG4gICAqIGJldHdlZW4gdGhlIGNvbmNyZXRlIGFuZCBtb3JwaG8gZmxvd3MsIHNvIGl0IG11c3Qgbm90IGhhcmQtZmFpbCBvbiB0aGVcbiAgICogdmFsaWRpdHkgb2YgdW5yZWxhdGVkIHJlc3BvbnNlIGZpZWxkcyAoZS5nLiBgY29tcG9zaXRpb25bXWApIGl0IG5ldmVyXG4gICAqIGNvbnN1bWVzLiBBIGNvZGUgcGF0aCBtdXN0IG5vdCBmYWlsIG9uIHRoZSB2YWxpZGl0eSBvZiBkYXRhIGl0IGRvZXMgbm90XG4gICAqIGNvbnN1bWUuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBWYXVsdERpc3BhdGNoID0gdC50eXBlKHsgcHJvdG9jb2w6IFZhdWx0UHJvdG9jb2xUeXBlIH0pO1xuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgcmF3IHZhdWx0IGNvbmZpZyBmcm9tIGRlZmktc2VydmljZS4gU2hhcmVkIGJ5IGNhbGxlcnMgdGhhdFxuICAgKiBkZWNvZGUgdGhlIGZ1bGwgcmVzcG9uc2UgYW5kIGNhbGxlcnMgdGhhdCBkZWNvZGUgb25seSB3aGF0IHRoZXkgdXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaFZhdWx0UmF3KHZhdWx0SWQ6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAuZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChgL2FwaS9kZWZpLXNlcnZpY2UvdjEvdmF1bHRzLyR7dmF1bHRJZH1gKSlcbiAgICAgIC5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLndhbGxldC50b0pTT04oKS5lbnRlcnByaXNlKVxuICAgICAgLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHZhdWx0IGNvbmZpZyBmcm9tIGRlZmktc2VydmljZS4gVXNlZCBpbnRlcm5hbGx5IHRvIGRldGVybWluZVxuICAgKiB3aGljaCBkZXBvc2l0IHBhdGggdG8gdGFrZSAoQ29uY3JldGUgdnMgTW9ycGhvKS5cbiAgICovXG4gIGFzeW5jIGdldFZhdWx0Q29uZmlnKHBhcmFtczogR2V0VmF1bHRDb25maWdPcHRpb25zKTogUHJvbWlzZTxHZXRWYXVsdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGRlY29kZVdpdGhDb2RlYyhHZXRWYXVsdFJlc3BvbnNlLCBhd2FpdCB0aGlzLmZldGNoVmF1bHRSYXcocGFyYW1zLnZhdWx0SWQpLCAnZ2V0VmF1bHRDb25maWcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBvbmx5IHRoZSB2YXVsdCBwcm90b2NvbCBmcm9tIGRlZmktc2VydmljZS4gRGVjb2RlcyB0aGUgbWluaW1hbFxuICAgKiBgVmF1bHREaXNwYXRjaGAgc2hhcGUgcmF0aGVyIHRoYW4gdGhlIGZ1bGwgYEdldFZhdWx0UmVzcG9uc2VgLCBzbyBjYWxsZXJzXG4gICAqIHRoYXQgbmVlZCBvbmx5IHRoZSBwcm90b2NvbCBhcmUgbm90IGhvc3RhZ2UgdG8gdGhlIHZhbGlkaXR5IG9mIHVucmVsYXRlZFxuICAgKiByZXNwb25zZSBmaWVsZHMgKGUuZy4gYGNvbXBvc2l0aW9uW11gKSB0aGV5IG5ldmVyIGNvbnN1bWUuXG4gICAqL1xuICBhc3luYyBnZXRWYXVsdFByb3RvY29sKHBhcmFtczogR2V0VmF1bHRDb25maWdPcHRpb25zKTogUHJvbWlzZTxWYXVsdFByb3RvY29sPiB7XG4gICAgY29uc3QgeyBwcm90b2NvbCB9ID0gZGVjb2RlV2l0aENvZGVjKFxuICAgICAgRGVmaVZhdWx0LlZhdWx0RGlzcGF0Y2gsXG4gICAgICBhd2FpdCB0aGlzLmZldGNoVmF1bHRSYXcocGFyYW1zLnZhdWx0SWQpLFxuICAgICAgJ3ZhdWx0RGlzcGF0Y2gnXG4gICAgKTtcbiAgICByZXR1cm4gcHJvdG9jb2w7XG4gIH1cblxuICAvKipcbiAgICogRGVwb3NpdCBhbiBhbW91bnQgb2YgdW5kZXJseWluZyBhc3NldCBpbnRvIGEgdmF1bHQuXG4gICAqXG4gICAqIERpc3BhdGNoZXMgdG8gdGhlIGNvbmNyZXRlIG9yIG1vcnBobyBwYXRoIGJhc2VkIG9uIHZhdWx0IHByb3ZpZGVyLlxuICAgKiBUaGUgY29uY3JldGUgcGF0aCByZXR1cm5zIGEgcGVuZGluZ0FwcHJvdmFsIChjdXN0b2RpYWwgd2FsbGV0KS5cbiAgICogVGhlIG1vcnBobyBwYXRoIGlzc3VlcyB0d28gc2VuZE1hbnkgY2FsbHMgKGFwcHJvdmUgKyBkZXBvc2l0KS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy52YXVsdElkIC0gRGVGaS1zZXJ2aWNlIHZhdWx0IGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnQgLSBhbW91bnQgaW4gYmFzZSB1bml0cyBvZiB0aGUgdW5kZXJseWluZyBhc3NldFxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSByZXF1aXJlZCBmb3IgaG90IHdhbGxldHMsIG9taXQgZm9yIGN1c3RvZHlcbiAgICovXG4gIGFzeW5jIGRlcG9zaXRUb1ZhdWx0KHBhcmFtczogRGVwb3NpdFRvVmF1bHRPcHRpb25zKTogUHJvbWlzZTxEZXBvc2l0UmVzdWx0PiB7XG4gICAgaWYgKCFwYXJhbXMudmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghcGFyYW1zLmFtb3VudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm90b2NvbCA9IGF3YWl0IHRoaXMuZ2V0VmF1bHRQcm90b2NvbCh7IHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkIH0pO1xuXG4gICAgaWYgKHByb3RvY29sID09PSBWYXVsdFByb3RvY29sLkNPTkNSRVRFX0JUQ0NYKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZXBvc2l0VG9Db25jcmV0ZVZhdWx0KHBhcmFtcyk7XG4gICAgfSBlbHNlIGlmIChwcm90b2NvbCA9PT0gVmF1bHRQcm90b2NvbC5NT1JQSE8pIHtcbiAgICAgIHJldHVybiB0aGlzLmRlcG9zaXRUb01vcnBob1ZhdWx0KHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdmF1bHQgcHJvdG9jb2w6ICR7cHJvdG9jb2x9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbmNyZXRlIEJUQyB2YXVsdCBkZXBvc2l0IHBhdGguIFRoZSBjbGllbnQgQlRDIHdhbGxldCBpcyBjdXN0b2RpYWwsIHNvXG4gICAqIHNlbmRNYW55IHJldHVybnMgYSBwZW5kaW5nQXBwcm92YWwgcmF0aGVyIHRoYW4gYSBzaWduZWQgdHJhbnNmZXIuXG4gICAqIE5vIHJlY2lwaWVudHMgYXJlIHNlbnQg4oCUIFdQIHJlc29sdmVzIHRoZSBlc2Nyb3cgZGVzdGluYXRpb24gc2VydmVyLXNpZGUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGRlcG9zaXRUb0NvbmNyZXRlVmF1bHQocGFyYW1zOiBEZXBvc2l0VG9WYXVsdE9wdGlvbnMpOiBQcm9taXNlPENvbmNyZXRlRGVwb3NpdFJlc3VsdD4ge1xuICAgIGNvbnN0IHNlbmRNYW55UmVzdWx0ID0gYXdhaXQgdGhpcy53YWxsZXQuc2VuZE1hbnkoe1xuICAgICAgdHlwZTogJ2RlZmktZGVwb3NpdCcsXG4gICAgICBkZWZpUGFyYW1zOiB7XG4gICAgICAgIHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkLFxuICAgICAgICBhbW91bnQ6IHBhcmFtcy5hbW91bnQsXG4gICAgICAgIGFjdGlvblR5cGU6ICdkZWZpLWRlcG9zaXQnLFxuICAgICAgfSxcbiAgICAgIC4uLihwYXJhbXMud2FsbGV0UGFzc3BocmFzZSA/IHsgd2FsbGV0UGFzc3BocmFzZTogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgfSA6IHt9KSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmV4dHJhY3RDb25jcmV0ZURlcG9zaXRSZXN1bHQoc2VuZE1hbnlSZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vcnBobyB2YXVsdCBkZXBvc2l0IHBhdGguIElzc3VlcyB0d28gc2VuZE1hbnkgY2FsbHMgKGFwcHJvdmUgKyBkZXBvc2l0KVxuICAgKiBhbmQgcmV0dXJucyB0aGUgb3BlcmF0aW9uSWQgdGhhdCBsaW5rcyB0aGVtLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBkZXBvc2l0VG9Nb3JwaG9WYXVsdChwYXJhbXM6IERlcG9zaXRUb1ZhdWx0T3B0aW9ucyk6IFByb21pc2U8TW9ycGhvRGVwb3NpdFJlc3VsdD4ge1xuICAgIC8vIFRPRE8oQ0dELTE3MDkpOiBSZS1lbmFibGUgYWN0aXZlIG9wZXJhdGlvbiBwcmUtZmxpZ2h0IGNoZWNrIG9uY2UgdGhlXG4gICAgLy8gZGVmaS1zZXJ2aWNlIG9wZXJhdGlvbnMgZW5kcG9pbnQgaXMgZGVwbG95ZWQgYW5kIHJldHVybmluZyBhY3RpdmUgc3RhdGUuXG4gICAgLy8gY29uc3QgYWN0aXZlT3BzOiBEZWZpT3BlcmF0aW9uTGlzdFJlc3VsdCA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAvLyAgIC5nZXQodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKHRoaXMub3BlcmF0aW9uc1VybCgpKSlcbiAgICAvLyAgIC5xdWVyeSh7IHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkLCBzdGF0ZTogJ2FjdGl2ZScgfSlcbiAgICAvLyAgIC5yZXN1bHQoKTtcbiAgICAvL1xuICAgIC8vIGlmIChhY3RpdmVPcHMuaXRlbXMgJiYgYWN0aXZlT3BzLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAvLyAgIHRocm93IG5ldyBBY3RpdmVPcGVyYXRpb25FeGlzdHNFcnJvcihhY3RpdmVPcHMuaXRlbXNbMF0ub3BlcmF0aW9uSWQpO1xuICAgIC8vIH1cblxuICAgIC8vIFN0ZXAgMTogQXBwcm92ZSB0eFJlcXVlc3QgdmlhIHNlbmRNYW55XG4gICAgY29uc3QgYXBwcm92ZVJlc3VsdCA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmRNYW55KHtcbiAgICAgIHR5cGU6ICdkZWZpQXBwcm92ZScsXG4gICAgICBkZWZpUGFyYW1zOiB7XG4gICAgICAgIHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkLFxuICAgICAgICBhbW91bnQ6IHBhcmFtcy5hbW91bnQsXG4gICAgICB9LFxuICAgICAgLi4uKHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlID8geyB3YWxsZXRQYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9IDoge30pLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXBwcm92ZVR4UmVxdWVzdElkID0gdGhpcy5leHRyYWN0VHhSZXF1ZXN0SWQoYXBwcm92ZVJlc3VsdCk7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSB0aGlzLmV4dHJhY3RPcGVyYXRpb25JZChhcHByb3ZlUmVzdWx0KTtcblxuICAgIGlmICghb3BlcmF0aW9uSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3BlcmF0aW9uSWQgbm90IGZvdW5kIGluIGFwcHJvdmUgdHhSZXF1ZXN0IHJlc3BvbnNlJyk7XG4gICAgfVxuXG4gICAgLy8gU3RlcCAyOiBEZXBvc2l0IHR4UmVxdWVzdCB2aWEgc2VuZE1hbnlcbiAgICBjb25zdCBkZXBvc2l0UmVzdWx0ID0gYXdhaXQgdGhpcy53YWxsZXQuc2VuZE1hbnkoe1xuICAgICAgdHlwZTogJ2RlZmlEZXBvc2l0JyxcbiAgICAgIGRlZmlQYXJhbXM6IHtcbiAgICAgICAgdmF1bHRJZDogcGFyYW1zLnZhdWx0SWQsXG4gICAgICAgIGFtb3VudDogcGFyYW1zLmFtb3VudCxcbiAgICAgICAgb3BlcmF0aW9uSWQsXG4gICAgICB9LFxuICAgICAgLi4uKHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlID8geyB3YWxsZXRQYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9IDoge30pLFxuICAgIH0pO1xuICAgIGNvbnN0IGRlcG9zaXRUeFJlcXVlc3RJZCA9IHRoaXMuZXh0cmFjdFR4UmVxdWVzdElkKGRlcG9zaXRSZXN1bHQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9wZXJhdGlvbklkLFxuICAgICAgdHhSZXF1ZXN0SWRzOiB7XG4gICAgICAgIGFwcHJvdmU6IGFwcHJvdmVUeFJlcXVlc3RJZCxcbiAgICAgICAgZGVwb3NpdDogZGVwb3NpdFR4UmVxdWVzdElkLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VtZSBhIHBhcnRpYWxseS1jb21wbGV0ZWQgZGVwb3NpdC4gQ2FsbCB0aGlzIHdoZW4gdGhlIFNESyBwcm9jZXNzIGRpZWRcbiAgICogYmV0d2VlbiB0aGUgYXBwcm92ZSBhbmQgZGVwb3NpdCB0eFJlcXVlc3QgY3JlYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMub3BlcmF0aW9uSWQgLSB0aGUgb3BlcmF0aW9uSWQgZnJvbSB0aGUgb3JpZ2luYWwgZGVwb3NpdFRvVmF1bHQgY2FsbFxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSByZXF1aXJlZCBmb3IgaG90IHdhbGxldHMsIG9taXQgZm9yIGN1c3RvZHlcbiAgICovXG4gIGFzeW5jIHJlc3VtZURlcG9zaXQocGFyYW1zOiBSZXN1bWVEZXBvc2l0T3B0aW9ucyk6IFByb21pc2U8RGVwb3NpdFJlc3VsdD4ge1xuICAgIGlmICghcGFyYW1zLm9wZXJhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZXJhdGlvbklkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgLy8gRmV0Y2ggdGhlIG9wZXJhdGlvbiB0byBnZXQgdGhlIHZhdWx0IGFuZCBhbW91bnQgZGV0YWlsc1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGF3YWl0IHRoaXMuZ2V0T3BlcmF0aW9uKHsgb3BlcmF0aW9uSWQ6IHBhcmFtcy5vcGVyYXRpb25JZCB9KTtcblxuICAgIGlmIChvcGVyYXRpb24uYXNzb2NpYXRlZFR4UmVxdWVzdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlcG9zaXQgdHhSZXF1ZXN0IGFscmVhZHkgZXhpc3RzIGZvciB0aGlzIG9wZXJhdGlvbjsgbm90aGluZyB0byByZXN1bWUnKTtcbiAgICB9XG5cbiAgICBpZiAoIW9wZXJhdGlvbi50eFJlcXVlc3RJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHByb3ZlIHR4UmVxdWVzdCBub3QgZm91bmQgZm9yIHRoaXMgb3BlcmF0aW9uOyBjYW5ub3QgcmVzdW1lJyk7XG4gICAgfVxuXG4gICAgLy8gSXNzdWUgdGhlIGRlcG9zaXQgdHhSZXF1ZXN0IHVzaW5nIHRoZSBleGlzdGluZyBvcGVyYXRpb24ncyBkZXRhaWxzXG4gICAgY29uc3QgZGVwb3NpdFJlc3VsdCA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmRNYW55KHtcbiAgICAgIHR5cGU6ICdkZWZpRGVwb3NpdCcsXG4gICAgICBkZWZpUGFyYW1zOiB7XG4gICAgICAgIHZhdWx0SWQ6IG9wZXJhdGlvbi52YXVsdElkLFxuICAgICAgICBhbW91bnQ6IG9wZXJhdGlvbi5hc3NldEFtb3VudCxcbiAgICAgICAgb3BlcmF0aW9uSWQ6IHBhcmFtcy5vcGVyYXRpb25JZCxcbiAgICAgIH0sXG4gICAgICAuLi4ocGFyYW1zLndhbGxldFBhc3NwaHJhc2UgPyB7IHdhbGxldFBhc3NwaHJhc2U6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0gOiB7fSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3BlcmF0aW9uSWQ6IHBhcmFtcy5vcGVyYXRpb25JZCxcbiAgICAgIHR4UmVxdWVzdElkczoge1xuICAgICAgICBhcHByb3ZlOiBvcGVyYXRpb24udHhSZXF1ZXN0SWQsXG4gICAgICAgIGRlcG9zaXQ6IHRoaXMuZXh0cmFjdFR4UmVxdWVzdElkKGRlcG9zaXRSZXN1bHQpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiBhIERlRmkgb3BlcmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLm9wZXJhdGlvbklkIC0gdGhlIG9wZXJhdGlvbiB0byByZXRyaWV2ZVxuICAgKi9cbiAgYXN5bmMgZ2V0T3BlcmF0aW9uKHBhcmFtczogR2V0T3BlcmF0aW9uT3B0aW9ucyk6IFByb21pc2U8RGVmaU9wZXJhdGlvbj4ge1xuICAgIGlmICghcGFyYW1zLm9wZXJhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZXJhdGlvbklkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLm9wZXJhdGlvbnNVcmwoKSArICcvJyArIHBhcmFtcy5vcGVyYXRpb25JZCkpLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3Qgb3BlcmF0aW9ucyBmb3IgYSB2YXVsdCBmaWx0ZXJlZCBieSB3YWxsZXRJZC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy52YXVsdElkIC0gdmF1bHQgdG8gbGlzdCBvcGVyYXRpb25zIGZvclxuICAgKiBAcGFyYW0gcGFyYW1zLnN0YXRlIC0gb3B0aW9uYWwgc3RhdGUgZmlsdGVyXG4gICAqIEBwYXJhbSBwYXJhbXMudHlwZSAtIG9wdGlvbmFsIHR5cGUgZmlsdGVyIChERVBPU0lUIHwgV0lUSERSQVcpXG4gICAqIEBwYXJhbSBwYXJhbXMubGltaXQgLSBwYWdlIHNpemVcbiAgICogQHBhcmFtIHBhcmFtcy5jdXJzb3IgLSBwYWdpbmF0aW9uIGN1cnNvclxuICAgKi9cbiAgYXN5bmMgbGlzdE9wZXJhdGlvbnMocGFyYW1zOiBMaXN0T3BlcmF0aW9uc09wdGlvbnMpOiBQcm9taXNlPERlZmlPcGVyYXRpb25MaXN0UmVzdWx0PiB7XG4gICAgaWYgKCFwYXJhbXMudmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4gPSB7XG4gICAgICB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCxcbiAgICB9O1xuICAgIGlmIChwYXJhbXMuc3RhdGUpIHF1ZXJ5LnN0YXRlID0gcGFyYW1zLnN0YXRlO1xuICAgIGlmIChwYXJhbXMudHlwZSkgcXVlcnkudHlwZSA9IHBhcmFtcy50eXBlO1xuICAgIGlmIChwYXJhbXMubGltaXQpIHF1ZXJ5LmxpbWl0ID0gcGFyYW1zLmxpbWl0O1xuICAgIGlmIChwYXJhbXMuY3Vyc29yKSBxdWVyeS5jdXJzb3IgPSBwYXJhbXMuY3Vyc29yO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLm9wZXJhdGlvbnNVcmwoKSkpLnF1ZXJ5KHF1ZXJ5KS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaXRoZHJhdyB2YXVsdCBzaGFyZXMgZnJvbSBhIERlRmkgdmF1bHQuXG4gICAqXG4gICAqIElzc3VlcyBhIHNpbmdsZSBzZW5kTWFueSBjYWxsIChkZWZpV2l0aGRyYXcpIGFuZCByZXR1cm5zIHRoZSBvcGVyYXRpb25JZFxuICAgKiBhbmQgdHhSZXF1ZXN0SWQuIFRoZSBzdGF0ZSBtYWNoaW5lIGZvciB3aXRoZHJhd2FsIGlzIHNpbXBsZXIgdGhhbiBkZXBvc2l0OlxuICAgKiBDUkVBVEVEIOKGkiBXSVRIRFJBV19UWF9SRVFVRVNURUQg4oaSIFdJVEhEUkFXX1NJR05FRCDihpIgV0lUSERSQVdfQ09ORklSTUVEIOKGkiBDT01QTEVURURcbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy52YXVsdElkIC0gRGVGaS1zZXJ2aWNlIHZhdWx0IGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnQgLSBhbW91bnQgaW4gYmFzZSB1bml0cyBvZiB0aGUgdmF1bHQgc2hhcmUgdG9rZW5cbiAgICogQHBhcmFtIHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIC0gcmVxdWlyZWQgZm9yIGhvdCB3YWxsZXRzLCBvbWl0IGZvciBjdXN0b2R5XG4gICAqL1xuICBhc3luYyB3aXRoZHJhd0Zyb21WYXVsdChwYXJhbXM6IFdpdGhkcmF3RnJvbVZhdWx0T3B0aW9ucyk6IFByb21pc2U8V2l0aGRyYXdSZXN1bHQ+IHtcbiAgICBpZiAoIXBhcmFtcy52YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhdWx0SWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCFwYXJhbXMuYW1vdW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Ftb3VudCBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHdpdGhkcmF3UmVzdWx0ID0gYXdhaXQgdGhpcy53YWxsZXQuc2VuZE1hbnkoe1xuICAgICAgdHlwZTogJ2RlZmlXaXRoZHJhdycsXG4gICAgICBkZWZpUGFyYW1zOiB7XG4gICAgICAgIHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkLFxuICAgICAgICBhbW91bnQ6IHBhcmFtcy5hbW91bnQsXG4gICAgICB9LFxuICAgICAgLi4uKHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlID8geyB3YWxsZXRQYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9IDoge30pLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdHhSZXF1ZXN0SWQgPSB0aGlzLmV4dHJhY3RUeFJlcXVlc3RJZCh3aXRoZHJhd1Jlc3VsdCk7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSB0aGlzLmV4dHJhY3RPcGVyYXRpb25JZCh3aXRoZHJhd1Jlc3VsdCk7XG5cbiAgICBpZiAoIW9wZXJhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZXJhdGlvbklkIG5vdCBmb3VuZCBpbiB3aXRoZHJhdyB0eFJlcXVlc3QgcmVzcG9uc2UnKTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBvcGVyYXRpb25JZCwgdHhSZXF1ZXN0SWQgfTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBJbnRlcm5hbCBoZWxwZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8qKlxuICAgKiBFeHRyYWN0IHR4UmVxdWVzdElkIGZyb20gYSBzZW5kTWFueSByZXN1bHQuXG4gICAqIHNlbmRNYW55IHJldHVybnMgZGlmZmVyZW50IHNoYXBlcyBkZXBlbmRpbmcgb24gd2FsbGV0IHR5cGU6XG4gICAqIC0gVFNTIGZ1bGw6IHsgdHhSZXF1ZXN0OiB7IHR4UmVxdWVzdElkIH0gfSBvciB7IHBlbmRpbmdBcHByb3ZhbCwgdHhSZXF1ZXN0IH1cbiAgICogLSBUU1MgbGl0ZTogcmVzdWx0IGZyb20gdHNzVXRpbHMuc2VuZFR4UmVxdWVzdFxuICAgKi9cbiAgcHJpdmF0ZSBleHRyYWN0VHhSZXF1ZXN0SWQoc2VuZE1hbnlSZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogc3RyaW5nIHtcbiAgICBjb25zdCB0eFJlcXVlc3QgPSBzZW5kTWFueVJlc3VsdC50eFJlcXVlc3QgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKHR4UmVxdWVzdD8udHhSZXF1ZXN0SWQpIHtcbiAgICAgIHJldHVybiB0eFJlcXVlc3QudHhSZXF1ZXN0SWQgYXMgc3RyaW5nO1xuICAgIH1cbiAgICBpZiAoc2VuZE1hbnlSZXN1bHQudHhSZXF1ZXN0SWQpIHtcbiAgICAgIHJldHVybiBzZW5kTWFueVJlc3VsdC50eFJlcXVlc3RJZCBhcyBzdHJpbmc7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcigndHhSZXF1ZXN0SWQgbm90IGZvdW5kIGluIHNlbmRNYW55IHJlc3BvbnNlJyk7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdCBvcGVyYXRpb25JZCBmcm9tIGEgc2VuZE1hbnkgcmVzdWx0LlxuICAgKlxuICAgKiBUaGUgV1Agd3JpdGVzIHRoZSBkZWZpLXNlcnZpY2UtbWludGVkIG9wZXJhdGlvbklkIGludG8gdGhlIGJ1aWx0XG4gICAqIHRyYW5zYWN0aW9uJ3MgYGNvaW5TcGVjaWZpY2AgKGFsb25nc2lkZSBgYXNzaWduZWROb25jZWApLCBub3QgaW50byB0aGVcbiAgICogaW50ZW50LiBSZWFkIGl0IGZyb20gdGhlcmU6IHRoZSBgZnVsbGAgYXBpVmVyc2lvbiBzdXJmYWNlcyBpdCBhdFxuICAgKiBgdHJhbnNhY3Rpb25zWzBdLnVuc2lnbmVkVHguY29pblNwZWNpZmljLm9wZXJhdGlvbklkYCwgdGhlIGBsaXRlYCB2ZXJzaW9uXG4gICAqIGF0IGB1bnNpZ25lZFR4c1swXS5jb2luU3BlY2lmaWMub3BlcmF0aW9uSWRgLiBGYWxsIGJhY2sgdG9cbiAgICogYGludGVudC5vcGVyYXRpb25JZGAgZm9yIGZvcndhcmQtY29tcGF0IGluIGNhc2UgdGhlIFdQIGxhdGVyIGFsc29cbiAgICogcG9wdWxhdGVzIHRoZSBpbnRlbnQuXG4gICAqL1xuICBwcml2YXRlIGV4dHJhY3RPcGVyYXRpb25JZChzZW5kTWFueVJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHR4UmVxdWVzdCA9IHNlbmRNYW55UmVzdWx0LnR4UmVxdWVzdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXR4UmVxdWVzdCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBmdWxsIGFwaVZlcnNpb246IHRyYW5zYWN0aW9uc1swXS51bnNpZ25lZFR4LmNvaW5TcGVjaWZpYy5vcGVyYXRpb25JZFxuICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IHR4UmVxdWVzdC50cmFuc2FjdGlvbnMgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZ1bGxVbnNpZ25lZFR4ID0gdHJhbnNhY3Rpb25zPy5bMF0/LnVuc2lnbmVkVHggYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgZnVsbENvaW5TcGVjaWZpYyA9IGZ1bGxVbnNpZ25lZFR4Py5jb2luU3BlY2lmaWMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKGZ1bGxDb2luU3BlY2lmaWM/Lm9wZXJhdGlvbklkKSB7XG4gICAgICByZXR1cm4gZnVsbENvaW5TcGVjaWZpYy5vcGVyYXRpb25JZCBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgLy8gbGl0ZSBhcGlWZXJzaW9uOiB1bnNpZ25lZFR4c1swXS5jb2luU3BlY2lmaWMub3BlcmF0aW9uSWRcbiAgICBjb25zdCB1bnNpZ25lZFR4cyA9IHR4UmVxdWVzdC51bnNpZ25lZFR4cyBhcyBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgbGl0ZUNvaW5TcGVjaWZpYyA9IHVuc2lnbmVkVHhzPy5bMF0/LmNvaW5TcGVjaWZpYyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAobGl0ZUNvaW5TcGVjaWZpYz8ub3BlcmF0aW9uSWQpIHtcbiAgICAgIHJldHVybiBsaXRlQ29pblNwZWNpZmljLm9wZXJhdGlvbklkIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICAvLyBmb3J3YXJkLWNvbXBhdDogaW50ZW50Lm9wZXJhdGlvbklkIChpbiBjYXNlIHRoZSBXUCBsYXRlciBwb3B1bGF0ZXMgdGhlIGludGVudClcbiAgICBjb25zdCBpbnRlbnQgPSB0eFJlcXVlc3QuaW50ZW50IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiBpbnRlbnQ/Lm9wZXJhdGlvbklkIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWN0cyB7QGxpbmsgQ29uY3JldGVEZXBvc2l0UmVzdWx0fSBmcm9tIGEgY3VzdG9kaWFsIHNlbmRNYW55IHJlc3BvbnNlLlxuICAgKiBDb25jcmV0ZSBCVEMgZGVwb3NpdHMgcmV0dXJuIGEgYHBlbmRpbmdBcHByb3ZhbGAgaW5zdGVhZCBvZiBhIHR4UmVxdWVzdCDigJRcbiAgICogdGhyb3dzIGlmIGBwZW5kaW5nQXBwcm92YWwuaWRgIGlzIGFic2VudCwgaW5kaWNhdGluZyBhbiB1bmV4cGVjdGVkIHNoYXBlLlxuICAgKi9cbiAgcHJpdmF0ZSBleHRyYWN0Q29uY3JldGVEZXBvc2l0UmVzdWx0KHNlbmRNYW55UmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IENvbmNyZXRlRGVwb3NpdFJlc3VsdCB7XG4gICAgY29uc3QgU2VuZE1hbnlDb25jcmV0ZVJlc3BvbnNlID0gdC50eXBlKHtcbiAgICAgIHBlbmRpbmdBcHByb3ZhbDogdC5pbnRlcnNlY3Rpb24oW3QudHlwZSh7IGlkOiB0LnN0cmluZyB9KSwgdC5wYXJ0aWFsKHsgc3RhdGU6IHQuc3RyaW5nIH0pXSksXG4gICAgfSk7XG4gICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVdpdGhDb2RlYyhTZW5kTWFueUNvbmNyZXRlUmVzcG9uc2UsIHNlbmRNYW55UmVzdWx0LCAnZGVmaS1kZXBvc2l0IHNlbmRNYW55IHJlc3BvbnNlJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBlbmRpbmdBcHByb3ZhbElkOiBkZWNvZGVkLnBlbmRpbmdBcHByb3ZhbC5pZCxcbiAgICAgIHN0YXRlOiBkZWNvZGVkLnBlbmRpbmdBcHByb3ZhbC5zdGF0ZSA/PyAnYXdhaXRpbmdTaWduYXR1cmUnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIG9wZXJhdGlvbnNVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC9hcGkvZGVmaS1zZXJ2aWNlL3YxL3dhbGxldHMvJHt0aGlzLndhbGxldC5pZCgpfS9vcGVyYXRpb25zYDtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @prettier
3
3
  */
4
- import { GetVaultResponse } from '@bitgo/public-types';
4
+ import { GetVaultResponse, VaultProtocol } from '@bitgo/public-types';
5
5
  export interface DepositToVaultOptions {
6
6
  /** DeFi-service vault identifier */
7
7
  vaultId: string;
@@ -75,6 +75,7 @@ export interface IDefiVault {
75
75
  getOperation(params: GetOperationOptions): Promise<DefiOperation>;
76
76
  listOperations(params: ListOperationsOptions): Promise<DefiOperationListResult>;
77
77
  getVaultConfig(params: GetVaultConfigOptions): Promise<GetVaultResponse>;
78
+ getVaultProtocol(params: GetVaultConfigOptions): Promise<VaultProtocol>;
78
79
  withdrawFromVault(params: WithdrawFromVaultOptions): Promise<WithdrawResult>;
79
80
  }
80
81
  //# sourceMappingURL=iDefiVault.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iDefiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/iDefiVault.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAChF,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC9E"}
1
+ {"version":3,"file":"iDefiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/iDefiVault.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAChF,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACxE,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC9E"}
@@ -3,4 +3,4 @@
3
3
  * @prettier
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaURlZmlWYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9kZWZpL2lEZWZpVmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuXG5pbXBvcnQgeyBHZXRWYXVsdFJlc3BvbnNlIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwb3NpdFRvVmF1bHRPcHRpb25zIHtcbiAgLyoqIERlRmktc2VydmljZSB2YXVsdCBpZGVudGlmaWVyICovXG4gIHZhdWx0SWQ6IHN0cmluZztcbiAgLyoqIEFtb3VudCBpbiBiYXNlIHVuaXRzIG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0ICovXG4gIGFtb3VudDogc3RyaW5nO1xuICAvKiogV2FsbGV0IHBhc3NwaHJhc2Ug4oCUIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3VtZURlcG9zaXRPcHRpb25zIHtcbiAgLyoqIG9wZXJhdGlvbklkIG9mIHRoZSBwYXJ0aWFsbHktY29tcGxldGVkIGRlcG9zaXQgKi9cbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFdhbGxldCBwYXNzcGhyYXNlIOKAlCByZXF1aXJlZCBmb3IgaG90IHdhbGxldHMsIG9taXQgZm9yIGN1c3RvZHkgKi9cbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRPcGVyYXRpb25PcHRpb25zIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0T3BlcmF0aW9uc09wdGlvbnMge1xuICB2YXVsdElkOiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgY3Vyc29yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFZhdWx0Q29uZmlnT3B0aW9ucyB7XG4gIHZhdWx0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWZpT3BlcmF0aW9uIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgd2FsbGV0SWQ6IHN0cmluZztcbiAgdmF1bHRJZDogc3RyaW5nO1xuICB0eXBlOiAnREVQT1NJVCcgfCAnV0lUSERSQVcnO1xuICBhc3NldEFtb3VudDogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbiAgYXNzb2NpYXRlZFR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uY3JldGVEZXBvc2l0UmVzdWx0IHtcbiAgcGVuZGluZ0FwcHJvdmFsSWQ6IHN0cmluZztcbiAgc3RhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb3JwaG9EZXBvc2l0UmVzdWx0IHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdHhSZXF1ZXN0SWRzOiB7IGFwcHJvdmU6IHN0cmluZzsgZGVwb3NpdDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCB0eXBlIERlcG9zaXRSZXN1bHQgPSBDb25jcmV0ZURlcG9zaXRSZXN1bHQgfCBNb3JwaG9EZXBvc2l0UmVzdWx0O1xuXG5leHBvcnQgaW50ZXJmYWNlIERlZmlPcGVyYXRpb25MaXN0UmVzdWx0IHtcbiAgaXRlbXM6IERlZmlPcGVyYXRpb25bXTtcbiAgbmV4dEN1cnNvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoZHJhd0Zyb21WYXVsdE9wdGlvbnMge1xuICAvKiogRGVGaS1zZXJ2aWNlIHZhdWx0IGlkZW50aWZpZXIgKi9cbiAgdmF1bHRJZDogc3RyaW5nO1xuICAvKiogQW1vdW50IGluIGJhc2UgdW5pdHMgb2YgdGhlIHZhdWx0IHNoYXJlIHRva2VuICovXG4gIGFtb3VudDogc3RyaW5nO1xuICAvKiogV2FsbGV0IHBhc3NwaHJhc2Ug4oCUIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhkcmF3UmVzdWx0IHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVmaVZhdWx0IHtcbiAgZGVwb3NpdFRvVmF1bHQocGFyYW1zOiBEZXBvc2l0VG9WYXVsdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICByZXN1bWVEZXBvc2l0KHBhcmFtczogUmVzdW1lRGVwb3NpdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICBnZXRPcGVyYXRpb24ocGFyYW1zOiBHZXRPcGVyYXRpb25PcHRpb25zKTogUHJvbWlzZTxEZWZpT3BlcmF0aW9uPjtcbiAgbGlzdE9wZXJhdGlvbnMocGFyYW1zOiBMaXN0T3BlcmF0aW9uc09wdGlvbnMpOiBQcm9taXNlPERlZmlPcGVyYXRpb25MaXN0UmVzdWx0PjtcbiAgZ2V0VmF1bHRDb25maWcocGFyYW1zOiBHZXRWYXVsdENvbmZpZ09wdGlvbnMpOiBQcm9taXNlPEdldFZhdWx0UmVzcG9uc2U+O1xuICB3aXRoZHJhd0Zyb21WYXVsdChwYXJhbXM6IFdpdGhkcmF3RnJvbVZhdWx0T3B0aW9ucyk6IFByb21pc2U8V2l0aGRyYXdSZXN1bHQ+O1xufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaURlZmlWYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9kZWZpL2lEZWZpVmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuXG5pbXBvcnQgeyBHZXRWYXVsdFJlc3BvbnNlLCBWYXVsdFByb3RvY29sIH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwb3NpdFRvVmF1bHRPcHRpb25zIHtcbiAgLyoqIERlRmktc2VydmljZSB2YXVsdCBpZGVudGlmaWVyICovXG4gIHZhdWx0SWQ6IHN0cmluZztcbiAgLyoqIEFtb3VudCBpbiBiYXNlIHVuaXRzIG9mIHRoZSB1bmRlcmx5aW5nIGFzc2V0ICovXG4gIGFtb3VudDogc3RyaW5nO1xuICAvKiogV2FsbGV0IHBhc3NwaHJhc2Ug4oCUIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3VtZURlcG9zaXRPcHRpb25zIHtcbiAgLyoqIG9wZXJhdGlvbklkIG9mIHRoZSBwYXJ0aWFsbHktY29tcGxldGVkIGRlcG9zaXQgKi9cbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFdhbGxldCBwYXNzcGhyYXNlIOKAlCByZXF1aXJlZCBmb3IgaG90IHdhbGxldHMsIG9taXQgZm9yIGN1c3RvZHkgKi9cbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRPcGVyYXRpb25PcHRpb25zIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0T3BlcmF0aW9uc09wdGlvbnMge1xuICB2YXVsdElkOiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgY3Vyc29yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFZhdWx0Q29uZmlnT3B0aW9ucyB7XG4gIHZhdWx0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWZpT3BlcmF0aW9uIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgd2FsbGV0SWQ6IHN0cmluZztcbiAgdmF1bHRJZDogc3RyaW5nO1xuICB0eXBlOiAnREVQT1NJVCcgfCAnV0lUSERSQVcnO1xuICBhc3NldEFtb3VudDogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICB0eFJlcXVlc3RJZD86IHN0cmluZztcbiAgYXNzb2NpYXRlZFR4UmVxdWVzdElkPzogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uY3JldGVEZXBvc2l0UmVzdWx0IHtcbiAgcGVuZGluZ0FwcHJvdmFsSWQ6IHN0cmluZztcbiAgc3RhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb3JwaG9EZXBvc2l0UmVzdWx0IHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdHhSZXF1ZXN0SWRzOiB7IGFwcHJvdmU6IHN0cmluZzsgZGVwb3NpdDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCB0eXBlIERlcG9zaXRSZXN1bHQgPSBDb25jcmV0ZURlcG9zaXRSZXN1bHQgfCBNb3JwaG9EZXBvc2l0UmVzdWx0O1xuXG5leHBvcnQgaW50ZXJmYWNlIERlZmlPcGVyYXRpb25MaXN0UmVzdWx0IHtcbiAgaXRlbXM6IERlZmlPcGVyYXRpb25bXTtcbiAgbmV4dEN1cnNvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoZHJhd0Zyb21WYXVsdE9wdGlvbnMge1xuICAvKiogRGVGaS1zZXJ2aWNlIHZhdWx0IGlkZW50aWZpZXIgKi9cbiAgdmF1bHRJZDogc3RyaW5nO1xuICAvKiogQW1vdW50IGluIGJhc2UgdW5pdHMgb2YgdGhlIHZhdWx0IHNoYXJlIHRva2VuICovXG4gIGFtb3VudDogc3RyaW5nO1xuICAvKiogV2FsbGV0IHBhc3NwaHJhc2Ug4oCUIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhkcmF3UmVzdWx0IHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVmaVZhdWx0IHtcbiAgZGVwb3NpdFRvVmF1bHQocGFyYW1zOiBEZXBvc2l0VG9WYXVsdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICByZXN1bWVEZXBvc2l0KHBhcmFtczogUmVzdW1lRGVwb3NpdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICBnZXRPcGVyYXRpb24ocGFyYW1zOiBHZXRPcGVyYXRpb25PcHRpb25zKTogUHJvbWlzZTxEZWZpT3BlcmF0aW9uPjtcbiAgbGlzdE9wZXJhdGlvbnMocGFyYW1zOiBMaXN0T3BlcmF0aW9uc09wdGlvbnMpOiBQcm9taXNlPERlZmlPcGVyYXRpb25MaXN0UmVzdWx0PjtcbiAgZ2V0VmF1bHRDb25maWcocGFyYW1zOiBHZXRWYXVsdENvbmZpZ09wdGlvbnMpOiBQcm9taXNlPEdldFZhdWx0UmVzcG9uc2U+O1xuICBnZXRWYXVsdFByb3RvY29sKHBhcmFtczogR2V0VmF1bHRDb25maWdPcHRpb25zKTogUHJvbWlzZTxWYXVsdFByb3RvY29sPjtcbiAgd2l0aGRyYXdGcm9tVmF1bHQocGFyYW1zOiBXaXRoZHJhd0Zyb21WYXVsdE9wdGlvbnMpOiBQcm9taXNlPFdpdGhkcmF3UmVzdWx0Pjtcbn1cbiJdfQ==
@@ -120,6 +120,8 @@ export interface AddKeychainOptions {
120
120
  originalPasscodeEncryptionCode?: string;
121
121
  enterprise?: string;
122
122
  derivedFromParentWithSeed?: any;
123
+ /** Safe user-root key id this child was derived from. @experimental */
124
+ parent?: string;
123
125
  disableKRSEmail?: boolean;
124
126
  provider?: string;
125
127
  reqId?: IRequestTracer;
@@ -1 +1 @@
1
- {"version":3,"file":"iKeychains.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/keychain/iKeychains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iKeychains.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/keychain/iKeychains.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,4 @@ var KeyIndices;
7
7
  KeyIndices[KeyIndices["BACKUP"] = 1] = "BACKUP";
8
8
  KeyIndices[KeyIndices["BITGO"] = 2] = "BITGO";
9
9
  })(KeyIndices || (exports.KeyIndices = KeyIndices = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUtleWNoYWlucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9rZXljaGFpbi9pS2V5Y2hhaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVRQSxJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsMkNBQVEsQ0FBQTtJQUNSLCtDQUFVLENBQUE7SUFDViw2Q0FBUyxDQUFBO0FBQ1gsQ0FBQyxFQUpXLFVBQVUsMEJBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuY3J5cHRpb25WZXJzaW9uLCBJUmVxdWVzdFRyYWNlciB9IGZyb20gJy4uLy4uL2FwaSc7XG5pbXBvcnQgeyBLZXljaGFpbnNUcmlwbGV0LCBLZXlQYWlyIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0Z29QdWJLZXlUeXBlIH0gZnJvbSAnLi4vdXRpbHMvdHNzL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vd2FsbGV0JztcbmltcG9ydCB7IEJpdEdvS2V5RnJvbU92Y1NoYXJlcywgT3ZjVG9CaXRHb0pTT04gfSBmcm9tICcuL292Y0pzb25Db2RlYyc7XG5cbmV4cG9ydCB0eXBlIEtleVR5cGUgPSAndHNzJyB8ICdpbmRlcGVuZGVudCcgfCAnYmxzZGtnJztcblxuZXhwb3J0IGludGVyZmFjZSBXZWJhdXRobkluZm8ge1xuICBwcmZTYWx0OiBzdHJpbmc7XG4gIG90cERldmljZUlkOiBzdHJpbmc7XG4gIGVuY3J5cHRlZFBydjogc3RyaW5nO1xuICAvKiogUmVxdWlyZWQgYnkgUE9TVCAva2V5IHRvIHZhbGlkYXRlIHRoZSBQUkYgc2FsdDsgbm90IG5lZWRlZCBvbiB0aGUgUFVUIC9rZXkvOmlkIHVwZGF0ZSBwYXRoLiAqL1xuICBlbnRlcnByaXNlSWQ/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB0eXBlIHsgV2ViYXV0aG5LZXlFbmNyeXB0aW9uSW5mbyB9IGZyb20gJy4uL3dhbGxldC9pV2FsbGV0cyc7XG5leHBvcnQgdHlwZSB7IFdlYmF1dGhuS2V5RW5jcnlwdGlvbkluZm8gfTtcblxuZXhwb3J0IHR5cGUgU291cmNlVHlwZSA9ICdiaXRnbycgfCAnYmFja3VwJyB8ICd1c2VyJyB8ICdjb2xkJztcblxuZXhwb3J0IHR5cGUgV2ViYXV0aG5GbXQgPSAnbm9uZScgfCAncGFja2VkJyB8ICdmaWRvLXUyZic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViYXV0aG5BdXRoZW50aWNhdG9ySW5mbyB7XG4gIGNyZWRJRDogc3RyaW5nO1xuICBmbXQ6IFdlYmF1dGhuRm10O1xuICBwdWJsaWNLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljaGFpbldlYmF1dGhuRGV2aWNlIHtcbiAgb3RwRGV2aWNlSWQ6IHN0cmluZztcbiAgYXV0aGVudGljYXRvckluZm86IFdlYmF1dGhuQXV0aGVudGljYXRvckluZm87XG4gIC8vIHNhbHQgZm9yIHRoZSB3ZWJhdXRobiBwcmYgZXh0ZW5zaW9uXG4gIHByZlNhbHQ6IHN0cmluZztcbiAgLy8gV2FsbGV0IHByaXZhdGUga2V5IGVuY3J5cHRlZCB0byB3ZWJhdXRobiBkZXJpdmVkIHBhc3N3b3JkXG4gIGVuY3J5cHRlZFBydjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNoYWluIHtcbiAgaWQ6IHN0cmluZztcbiAgcHViPzogc3RyaW5nO1xuICBwcnY/OiBzdHJpbmc7XG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICBlbmNyeXB0ZWRQcnY/OiBzdHJpbmc7XG4gIC8vIFJlcXVpcmVkIGZvciBNUENWMiBrZXlzIHdoZXJlIHdlIHJlZHVjZSB0aGUgYW1vdW50IG9mIGRhdGEgbmVlZGVkIGZvciB0aGUga2V5Y2FyZC5cbiAgLy8gQ29udGFpbnMgdGhlIHBhcnR5J3MgcHJpdmF0ZSBzY2FsYXIgKHNfaSkgYXMgcHJpdmF0ZSBrZXkgbWF0ZXJpYWwsIENCT1ItZW5jb2RlZFxuICAvLyBhbmQgZW5jcnlwdGVkIHdpdGggdGhlIHdhbGxldCBwYXNzcGhyYXNlLiBUaGlzIGlzIG9ubHkgZ2VuZXJhdGVkIGNsaWVudCBzaWRlIGFuZFxuICAvLyBpcyBub3Qgc2VudCB0byBXUC5cbiAgcmVkdWNlZEVuY3J5cHRlZFBydj86IHN0cmluZztcbiAgZGVyaXZhdGlvblBhdGg/OiBzdHJpbmc7XG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG4gIC8qKiBTYWZlIHJvb3Qga2V5IGlkIHRoaXMgY2hpbGQga2V5IHdhcyBkZXJpdmVkIGZyb20gKFdDTi0xMTcyKS4gKi9cbiAgcGFyZW50Pzogc3RyaW5nO1xuICBjb21tb25QdWI/OiBzdHJpbmc7XG4gIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICBrZXlTaGFyZXM/OiBBcGlLZXlTaGFyZVtdO1xuICB3YWxsZXRIU01HUEdQdWJsaWNLZXlTaWdzPzogc3RyaW5nO1xuICBoc21UeXBlPzogQml0Z29QdWJLZXlUeXBlO1xuICB0eXBlOiBLZXlUeXBlO1xuICBzb3VyY2U/OiBTb3VyY2VUeXBlO1xuICBjb2luU3BlY2lmaWM/OiB7IFtjb2luTmFtZTogc3RyaW5nXTogdW5rbm93biB9O1xuICAvLyBBbHRlcm5hdGl2ZSBlbmNyeXB0ZWRQcnYgdXNpbmcgd2ViYXV0aG4gYW5kIHRoZSBwcmYgZXh0ZW5zaW9uXG4gIHdlYmF1dGhuRGV2aWNlcz86IEtleWNoYWluV2ViYXV0aG5EZXZpY2VbXTtcbiAgLy8gRXRoZXJldW0gYWRkcmVzcyBkZXJpdmVkIGZyb20geHB1YlxuICBldGhBZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBPcHRpb25hbEtleWNoYWluRW5jcnlwdGVkS2V5ID0gUGljazxLZXljaGFpbiwgJ2VuY3J5cHRlZFBydicgfCAnd2ViYXV0aG5EZXZpY2VzJz47XG5cbmV4cG9ydCB0eXBlIEtleWNoYWluV2l0aEVuY3J5cHRlZFBydiA9IE9taXQ8S2V5Y2hhaW4sICdlbmNyeXB0ZWRQcnYnPiAmIHtcbiAgZW5jcnlwdGVkUHJ2OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZWRLZXljaGFpbnMge1xuICBbcHVia2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEtleWNoYWluc1Jlc3VsdCB7XG4gIGtleXM6IEtleWNoYWluW107XG4gIG5leHRCYXRjaFByZXZJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRLZXljaGFpbk9wdGlvbnMge1xuICBpZDogc3RyaW5nO1xuICB4cHViPzogc3RyaW5nO1xuICBldGhBZGRyZXNzPzogc3RyaW5nO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RLZXljaGFpbk9wdGlvbnMge1xuICBsaW1pdD86IG51bWJlcjtcbiAgcHJldklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVBhc3N3b3JkT3B0aW9ucyB7XG4gIG9sZFBhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbnZlbG9wZSB2ZXJzaW9uIHRvIGVtaXQgZm9yIHRoZSByZS1lbmNyeXB0ZWQga2V5Y2hhaW5zLiBEZWZhdWx0cyB0byBwcmVzZXJ2aW5nIGVhY2hcbiAgICoga2V5Y2hhaW4ncyBleGlzdGluZyBlbnZlbG9wZSB2ZXJzaW9uIChubyBmb3JjZWQgbWlncmF0aW9uKS4gUGFzcyBgMmAgdG8gb3B0IGluIHRvIHRoZVxuICAgKiBBcmdvbjJpZCB1cGdyYWRlIGZvciB2MSAoU0pDTCkga2V5Y2hhaW5zIG9uY2UgdGhlIGNhbGxlciBpcyByZWFkeSAoZS5nLiBhZnRlciB0aGVcbiAgICogU2VwdCAxNSBicmVha2luZy1jaGFuZ2Ugd2luZG93IGNsb3NlcykuXG4gICAqL1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmRPcHRpb25zIHtcbiAga2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgb2xkUGFzc3dvcmQ/OiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkPzogc3RyaW5nO1xuICAvKipcbiAgICogRW52ZWxvcGUgdmVyc2lvbiB0byBlbWl0LiBEZWZhdWx0cyB0byBwcmVzZXJ2aW5nIHRoZSBzb3VyY2UgZW52ZWxvcGUncyB2ZXJzaW9uLlxuICAgKiBQYXNzIGAyYCB0byBvcHQgaW4gdG8gdGhlIEFyZ29uMmlkIHVwZ3JhZGUuXG4gICAqL1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSByb3RhdGVLZXljaGFpbiBtZXRob2QgZm9yIG9mYyBtdWx0aS11c2VyLWtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGlkIC0gdGhlIHB1YmxpYyBpZCBvZiB0aGUga2V5Y2hhaW5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXNzd29yZCAtIHRoZSB1c2VyIHBhc3N3b3JkIHVzZSB0byBlbmNyeXB0L2RlY3J5cHQgdGhlIHByaXZhdGUga2V5XG4gKiBAcHJvcGVydHkge0lSZXF1ZXN0VHJhY2VyfSByZXFJZCAtIG9wdGlvbmFsIHJlcUlkXG4gKi9cbmV4cG9ydCB0eXBlIFJvdGF0ZUtleWNoYWluT3B0aW9ucyA9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICAgICAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHB1Yjogc3RyaW5nO1xuICAgICAgZW5jcnlwdGVkUHJ2OiBzdHJpbmc7XG4gICAgICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkS2V5Y2hhaW5PcHRpb25zIHtcbiAgcHViPzogc3RyaW5nO1xuICBjb21tb25QdWI/OiBzdHJpbmc7XG4gIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICBlbmNyeXB0ZWRQcnY/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGtleVR5cGU/OiBLZXlUeXBlO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZD86IGFueTtcbiAgZGlzYWJsZUtSU0VtYWlsPzogYm9vbGVhbjtcbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIGtyc1NwZWNpZmljPzogYW55O1xuICBrZXlTaGFyZXM/OiBBcGlLZXlTaGFyZVtdO1xuICB1c2VyR1BHUHVibGljS2V5Pzogc3RyaW5nO1xuICBiYWNrdXBHUEdQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGFsZ29Vc2VkPzogc3RyaW5nO1xuICBpc0Rpc3RyaWJ1dGVkQ3VzdG9keT86IGJvb2xlYW47XG4gIC8vIGluZGljYXRlcyBpZiB0aGUga2V5IGlzIE1QQ3YyIG9yIG5vdFxuICBpc01QQ3YyPzogYm9vbGVhbjtcbiAgY29pblNwZWNpZmljPzogeyBbY29pbk5hbWU6IHN0cmluZ106IHVua25vd24gfTtcbiAgLyoqIFdlYkF1dGhuIGRldmljZXMgdGhhdCBoYXZlIGFuIGFkZGl0aW9uYWwgZW5jcnlwdGVkIGNvcHkgb2YgdGhlIHByaXZhdGUga2V5LCBrZXllZCBieSBQUkYtZGVyaXZlZCBwYXNzcGhyYXNlcy5cbiAgICogIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgd2ViYXV0aG5JbmZvfSBpbnN0ZWFkIOKAlCB0aGUgYmFja2VuZCByZWFkcyBgd2ViYXV0aG5JbmZvYCAoc2luZ2xlIG9iamVjdCksIG5vdCBgd2ViYXV0aG5EZXZpY2VzYC4gKi9cbiAgd2ViYXV0aG5EZXZpY2VzPzogV2ViYXV0aG5JbmZvW107XG4gIC8qKiBTaW5nbGUgd2ViYXV0aG4gZGV2aWNlIHRvIGF0b21pY2FsbHkgYXR0YWNoIGR1cmluZyBrZXkgY3JlYXRpb24uXG4gICAqICBTZW50IGFzIGB3ZWJhdXRobkluZm9gIGluIHRoZSBQT1NUIC9rZXkgYm9keSBzbyB0aGUgYmFja2VuZCBjYW4gbGlua1xuICAgKiAgdGhlIHBhc3NrZXkgdG8gdGhlIGtleWNoYWluIGluIHRoZSBzYW1lIHJlcXVlc3QuICovXG4gIHdlYmF1dGhuSW5mbz86IFdlYmF1dGhuSW5mbztcbiAgLyoqIFB1YmxpYyBpZCBvZiB0aGUgc2FmZSB0aGlzIGtleSBpcyBhIHJvb3Qgb2YgKFdhbGxldCBTYWZlcyB2MSkuIFdoZW4gc2V0LCB0aGUgYmFja2VuZCB0YWdzXG4gICAqICB0aGUga2V5IHdpdGggdGhlIHNhZmUgYW5kIHN0YW1wcyBpdHMgY3VydmUgc2VydmVyLXNpZGUuIEBleHBlcmltZW50YWwgKi9cbiAgc2FmZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaUtleVNoYXJlIHtcbiAgZnJvbTogJ3VzZXInIHwgJ2JhY2t1cCcgfCAnYml0Z28nO1xuICB0bzogJ3VzZXInIHwgJ2JhY2t1cCcgfCAnYml0Z28nO1xuICBwdWJsaWNTaGFyZTogc3RyaW5nO1xuICBwcml2YXRlU2hhcmU6IHN0cmluZztcbiAgcHJpdmF0ZVNoYXJlUHJvb2Y/OiBzdHJpbmc7XG4gIHBhaWxsaWVyUHVibGljS2V5Pzogc3RyaW5nO1xuICBuPzogc3RyaW5nO1xuICB2c3NQcm9vZj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCYWNrdXBPcHRpb25zIHtcbiAgcHJvdmlkZXI/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHN0cmluZztcbiAgZGlzYWJsZUtSU0VtYWlsPzogYm9vbGVhbjtcbiAga3JzU3BlY2lmaWM/OiBhbnk7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGtleVR5cGU/OiBLZXlUeXBlO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICBjb21tb25QdWI/OiBzdHJpbmc7XG4gIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICBwcnY/OiBzdHJpbmc7XG4gIGVuY3J5cHRlZFBydj86IHN0cmluZztcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbiAgLyoqIFB1YmxpYyBpZCBvZiB0aGUgc2FmZSB0aGlzIGJhY2t1cCBrZXkgaXMgYSByb290IG9mIChXYWxsZXQgU2FmZXMgdjEpLiBAZXhwZXJpbWVudGFsICovXG4gIHNhZmVJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCaXRHb09wdGlvbnMge1xuICBzb3VyY2U/OiAnYml0Z28nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICBrZXlUeXBlPzogS2V5VHlwZTtcbiAgaXNEaXN0cmlidXRlZEN1c3RvZHk/OiBib29sZWFuO1xuICAvKiogUHVibGljIGlkIG9mIHRoZSBzYWZlIHRoaXMgQml0R28ga2V5IGlzIGEgcm9vdCBvZiAoV2FsbGV0IFNhZmVzIHYxKS4gQGV4cGVyaW1lbnRhbCAqL1xuICBzYWZlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIERlY3J5cHRlZFJldHJvZml0UGF5bG9hZCA9IHtcbiAgZGVjcnlwdGVkVXNlcktleTogc3RyaW5nO1xuICBkZWNyeXB0ZWRCYWNrdXBLZXk6IHN0cmluZztcbiAgd2FsbGV0SWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTXBjT3B0aW9ucyB7XG4gIG11bHRpc2lnVHlwZTogJ29uY2hhaW4nIHwgJ3Rzcyc7XG4gIHBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgcmV0cm9maXQ/OiBEZWNyeXB0ZWRSZXRyb2ZpdFBheWxvYWQ7XG4gIHdlYmF1dGhuSW5mbz86IFdlYmF1dGhuS2V5RW5jcnlwdGlvbkluZm87XG4gIGVuY3J5cHRpb25WZXJzaW9uPzogRW5jcnlwdGlvblZlcnNpb247XG4gIC8qKiBQdWJsaWMgaWQgb2YgdGhlIHNhZmUgdGhlc2UgTVBDIHJvb3Qga2V5cyBiZWxvbmcgdG8gKFdhbGxldCBTYWZlcyB2MSkuIFRocmVhZGVkIHRocm91Z2ggdGhlXG4gICAqICBjZXJlbW9ueSBzbyB0aGUgcmVzdWx0aW5nIHVzZXIvYmFja3VwL2JpdGdvIGtleXMgbGFuZCB0YWdnZWQuIEBleHBlcmltZW50YWwgKi9cbiAgc2FmZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY3JlYXRlTXBjT3B0aW9ucyBleHRlbmRzIE9taXQ8Q3JlYXRlTXBjT3B0aW9ucywgJ3JldHJvZml0JyB8ICdtdWx0aXNpZ1R5cGUnPiB7XG4gIGNvaW46IHN0cmluZztcbiAgd2FsbGV0SWQ6IHN0cmluZztcbiAgcGFzc3BocmFzZTogc3RyaW5nO1xuICBvdHA6IHN0cmluZztcbiAgZW50ZXJwcmlzZTogc3RyaW5nO1xuICBlbmNyeXB0ZWRNYXRlcmlhbDoge1xuICAgIGVuY3J5cHRlZFVzZXJLZXk6IHN0cmluZztcbiAgICBlbmNyeXB0ZWRCYWNrdXBLZXk6IHN0cmluZztcbiAgICBlbmNyeXB0ZWRXYWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0S2V5c0ZvclNpZ25pbmdPcHRpb25zIHtcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAgd2FsbGV0PzogSVdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRTaWduaW5nS2V5QXBpIHtcbiAgdXNlcklkOiBzdHJpbmc7XG4gIHVzZXJFbWFpbDogc3RyaW5nO1xuICBkZXJpdmVkUHVia2V5OiBzdHJpbmc7XG4gIC8vIFRoZXNlIGFyZSBwcmVzZW50IHdoZW4gdXNlciBmZXRjaGVzIHRoZWlyIG93biBlY2RoIGtleWNoYWluIGZvciBzaWduaW5nLlxuICBkZXJpdmF0aW9uUGF0aD86IHN0cmluZztcbiAgZWNkaEtleWNoYWluPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVjZGhEZXJpdmVkS2V5cGFpciB7XG4gIGRlcml2ZWRQdWJLZXk6IHN0cmluZzsgLy8gSGV4IHN0cmluZ1xuICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nOyAvLyBEZXJpdmF0aW9uIHBhdGggb2YgdGhlIGtleXBhaXJcbiAgeHBydjogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBLZXlJbmRpY2VzIHtcbiAgVVNFUiA9IDAsXG4gIEJBQ0tVUCA9IDEsXG4gIEJJVEdPID0gMixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJS2V5Y2hhaW5zIHtcbiAgZ2V0KHBhcmFtczogR2V0S2V5Y2hhaW5PcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIGxpc3QocGFyYW1zPzogTGlzdEtleWNoYWluT3B0aW9ucyk6IFByb21pc2U8TGlzdEtleWNoYWluc1Jlc3VsdD47XG4gIHVwZGF0ZVBhc3N3b3JkKHBhcmFtczogVXBkYXRlUGFzc3dvcmRPcHRpb25zKTogUHJvbWlzZTxDaGFuZ2VkS2V5Y2hhaW5zPjtcbiAgdXBkYXRlU2luZ2xlS2V5Y2hhaW5QYXNzd29yZChwYXJhbXM/OiBVcGRhdGVTaW5nbGVLZXljaGFpblBhc3N3b3JkT3B0aW9ucyk6IFByb21pc2U8S2V5Y2hhaW4+O1xuICBnZXRFbmNyeXB0aW9uVmVyc2lvbihjaXBoZXJ0ZXh0OiBzdHJpbmcpOiBFbmNyeXB0aW9uVmVyc2lvbjtcbiAgcmVlbmNyeXB0QXNWMihlbmNyeXB0ZWRQcnY6IHN0cmluZywgcGFzc3BocmFzZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBjcmVhdGUocGFyYW1zPzogeyBzZWVkPzogQnVmZmVyOyBpc1Jvb3RLZXk/OiBib29sZWFuIH0pOiBLZXlQYWlyO1xuICBhZGQocGFyYW1zPzogQWRkS2V5Y2hhaW5PcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIGNyZWF0ZUJpdEdvKHBhcmFtcz86IENyZWF0ZUJpdEdvT3B0aW9ucyk6IFByb21pc2U8S2V5Y2hhaW4+O1xuICBjcmVhdGVCYWNrdXAocGFyYW1zPzogQ3JlYXRlQmFja3VwT3B0aW9ucyk6IFByb21pc2U8S2V5Y2hhaW4+O1xuICBnZXRLZXlzRm9yU2lnbmluZyhwYXJhbXM/OiBHZXRLZXlzRm9yU2lnbmluZ09wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluW10+O1xuICBjcmVhdGVNcGMocGFyYW1zOiBDcmVhdGVNcGNPcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PjtcbiAgcmVjcmVhdGVNcGMocGFyYW1zOiBSZWNyZWF0ZU1wY09wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+O1xuICBjcmVhdGVUc3NCaXRHb0tleUZyb21PdmNTaGFyZXMob3ZjT3V0cHV0OiBPdmNUb0JpdEdvSlNPTiwgZW50ZXJwcmlzZT86IHN0cmluZyk6IFByb21pc2U8Qml0R29LZXlGcm9tT3ZjU2hhcmVzPjtcbiAgY3JlYXRlVXNlcktleWNoYWluKHVzZXJQYXNzd29yZDogc3RyaW5nLCBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIHJvdGF0ZUtleWNoYWluKHBhcmFtczogUm90YXRlS2V5Y2hhaW5PcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj47XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUtleWNoYWlucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9rZXljaGFpbi9pS2V5Y2hhaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXlRQSxJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsMkNBQVEsQ0FBQTtJQUNSLCtDQUFVLENBQUE7SUFDViw2Q0FBUyxDQUFBO0FBQ1gsQ0FBQyxFQUpXLFVBQVUsMEJBQVYsVUFBVSxRQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuY3J5cHRpb25WZXJzaW9uLCBJUmVxdWVzdFRyYWNlciB9IGZyb20gJy4uLy4uL2FwaSc7XG5pbXBvcnQgeyBLZXljaGFpbnNUcmlwbGV0LCBLZXlQYWlyIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0Z29QdWJLZXlUeXBlIH0gZnJvbSAnLi4vdXRpbHMvdHNzL2Jhc2VUeXBlcyc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vd2FsbGV0JztcbmltcG9ydCB7IEJpdEdvS2V5RnJvbU92Y1NoYXJlcywgT3ZjVG9CaXRHb0pTT04gfSBmcm9tICcuL292Y0pzb25Db2RlYyc7XG5cbmV4cG9ydCB0eXBlIEtleVR5cGUgPSAndHNzJyB8ICdpbmRlcGVuZGVudCcgfCAnYmxzZGtnJztcblxuZXhwb3J0IGludGVyZmFjZSBXZWJhdXRobkluZm8ge1xuICBwcmZTYWx0OiBzdHJpbmc7XG4gIG90cERldmljZUlkOiBzdHJpbmc7XG4gIGVuY3J5cHRlZFBydjogc3RyaW5nO1xuICAvKiogUmVxdWlyZWQgYnkgUE9TVCAva2V5IHRvIHZhbGlkYXRlIHRoZSBQUkYgc2FsdDsgbm90IG5lZWRlZCBvbiB0aGUgUFVUIC9rZXkvOmlkIHVwZGF0ZSBwYXRoLiAqL1xuICBlbnRlcnByaXNlSWQ/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB0eXBlIHsgV2ViYXV0aG5LZXlFbmNyeXB0aW9uSW5mbyB9IGZyb20gJy4uL3dhbGxldC9pV2FsbGV0cyc7XG5leHBvcnQgdHlwZSB7IFdlYmF1dGhuS2V5RW5jcnlwdGlvbkluZm8gfTtcblxuZXhwb3J0IHR5cGUgU291cmNlVHlwZSA9ICdiaXRnbycgfCAnYmFja3VwJyB8ICd1c2VyJyB8ICdjb2xkJztcblxuZXhwb3J0IHR5cGUgV2ViYXV0aG5GbXQgPSAnbm9uZScgfCAncGFja2VkJyB8ICdmaWRvLXUyZic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViYXV0aG5BdXRoZW50aWNhdG9ySW5mbyB7XG4gIGNyZWRJRDogc3RyaW5nO1xuICBmbXQ6IFdlYmF1dGhuRm10O1xuICBwdWJsaWNLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljaGFpbldlYmF1dGhuRGV2aWNlIHtcbiAgb3RwRGV2aWNlSWQ6IHN0cmluZztcbiAgYXV0aGVudGljYXRvckluZm86IFdlYmF1dGhuQXV0aGVudGljYXRvckluZm87XG4gIC8vIHNhbHQgZm9yIHRoZSB3ZWJhdXRobiBwcmYgZXh0ZW5zaW9uXG4gIHByZlNhbHQ6IHN0cmluZztcbiAgLy8gV2FsbGV0IHByaXZhdGUga2V5IGVuY3J5cHRlZCB0byB3ZWJhdXRobiBkZXJpdmVkIHBhc3N3b3JkXG4gIGVuY3J5cHRlZFBydjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNoYWluIHtcbiAgaWQ6IHN0cmluZztcbiAgcHViPzogc3RyaW5nO1xuICBwcnY/OiBzdHJpbmc7XG4gIHByb3ZpZGVyPzogc3RyaW5nO1xuICBlbmNyeXB0ZWRQcnY/OiBzdHJpbmc7XG4gIC8vIFJlcXVpcmVkIGZvciBNUENWMiBrZXlzIHdoZXJlIHdlIHJlZHVjZSB0aGUgYW1vdW50IG9mIGRhdGEgbmVlZGVkIGZvciB0aGUga2V5Y2FyZC5cbiAgLy8gQ29udGFpbnMgdGhlIHBhcnR5J3MgcHJpdmF0ZSBzY2FsYXIgKHNfaSkgYXMgcHJpdmF0ZSBrZXkgbWF0ZXJpYWwsIENCT1ItZW5jb2RlZFxuICAvLyBhbmQgZW5jcnlwdGVkIHdpdGggdGhlIHdhbGxldCBwYXNzcGhyYXNlLiBUaGlzIGlzIG9ubHkgZ2VuZXJhdGVkIGNsaWVudCBzaWRlIGFuZFxuICAvLyBpcyBub3Qgc2VudCB0byBXUC5cbiAgcmVkdWNlZEVuY3J5cHRlZFBydj86IHN0cmluZztcbiAgZGVyaXZhdGlvblBhdGg/OiBzdHJpbmc7XG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG4gIC8qKiBTYWZlIHJvb3Qga2V5IGlkIHRoaXMgY2hpbGQga2V5IHdhcyBkZXJpdmVkIGZyb20gKFdDTi0xMTcyKS4gKi9cbiAgcGFyZW50Pzogc3RyaW5nO1xuICBjb21tb25QdWI/OiBzdHJpbmc7XG4gIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICBrZXlTaGFyZXM/OiBBcGlLZXlTaGFyZVtdO1xuICB3YWxsZXRIU01HUEdQdWJsaWNLZXlTaWdzPzogc3RyaW5nO1xuICBoc21UeXBlPzogQml0Z29QdWJLZXlUeXBlO1xuICB0eXBlOiBLZXlUeXBlO1xuICBzb3VyY2U/OiBTb3VyY2VUeXBlO1xuICBjb2luU3BlY2lmaWM/OiB7IFtjb2luTmFtZTogc3RyaW5nXTogdW5rbm93biB9O1xuICAvLyBBbHRlcm5hdGl2ZSBlbmNyeXB0ZWRQcnYgdXNpbmcgd2ViYXV0aG4gYW5kIHRoZSBwcmYgZXh0ZW5zaW9uXG4gIHdlYmF1dGhuRGV2aWNlcz86IEtleWNoYWluV2ViYXV0aG5EZXZpY2VbXTtcbiAgLy8gRXRoZXJldW0gYWRkcmVzcyBkZXJpdmVkIGZyb20geHB1YlxuICBldGhBZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBPcHRpb25hbEtleWNoYWluRW5jcnlwdGVkS2V5ID0gUGljazxLZXljaGFpbiwgJ2VuY3J5cHRlZFBydicgfCAnd2ViYXV0aG5EZXZpY2VzJz47XG5cbmV4cG9ydCB0eXBlIEtleWNoYWluV2l0aEVuY3J5cHRlZFBydiA9IE9taXQ8S2V5Y2hhaW4sICdlbmNyeXB0ZWRQcnYnPiAmIHtcbiAgZW5jcnlwdGVkUHJ2OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZWRLZXljaGFpbnMge1xuICBbcHVia2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEtleWNoYWluc1Jlc3VsdCB7XG4gIGtleXM6IEtleWNoYWluW107XG4gIG5leHRCYXRjaFByZXZJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRLZXljaGFpbk9wdGlvbnMge1xuICBpZDogc3RyaW5nO1xuICB4cHViPzogc3RyaW5nO1xuICBldGhBZGRyZXNzPzogc3RyaW5nO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RLZXljaGFpbk9wdGlvbnMge1xuICBsaW1pdD86IG51bWJlcjtcbiAgcHJldklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVBhc3N3b3JkT3B0aW9ucyB7XG4gIG9sZFBhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbnZlbG9wZSB2ZXJzaW9uIHRvIGVtaXQgZm9yIHRoZSByZS1lbmNyeXB0ZWQga2V5Y2hhaW5zLiBEZWZhdWx0cyB0byBwcmVzZXJ2aW5nIGVhY2hcbiAgICoga2V5Y2hhaW4ncyBleGlzdGluZyBlbnZlbG9wZSB2ZXJzaW9uIChubyBmb3JjZWQgbWlncmF0aW9uKS4gUGFzcyBgMmAgdG8gb3B0IGluIHRvIHRoZVxuICAgKiBBcmdvbjJpZCB1cGdyYWRlIGZvciB2MSAoU0pDTCkga2V5Y2hhaW5zIG9uY2UgdGhlIGNhbGxlciBpcyByZWFkeSAoZS5nLiBhZnRlciB0aGVcbiAgICogU2VwdCAxNSBicmVha2luZy1jaGFuZ2Ugd2luZG93IGNsb3NlcykuXG4gICAqL1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmRPcHRpb25zIHtcbiAga2V5Y2hhaW4/OiBLZXljaGFpbjtcbiAgb2xkUGFzc3dvcmQ/OiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkPzogc3RyaW5nO1xuICAvKipcbiAgICogRW52ZWxvcGUgdmVyc2lvbiB0byBlbWl0LiBEZWZhdWx0cyB0byBwcmVzZXJ2aW5nIHRoZSBzb3VyY2UgZW52ZWxvcGUncyB2ZXJzaW9uLlxuICAgKiBQYXNzIGAyYCB0byBvcHQgaW4gdG8gdGhlIEFyZ29uMmlkIHVwZ3JhZGUuXG4gICAqL1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSByb3RhdGVLZXljaGFpbiBtZXRob2QgZm9yIG9mYyBtdWx0aS11c2VyLWtleVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGlkIC0gdGhlIHB1YmxpYyBpZCBvZiB0aGUga2V5Y2hhaW5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXNzd29yZCAtIHRoZSB1c2VyIHBhc3N3b3JkIHVzZSB0byBlbmNyeXB0L2RlY3J5cHQgdGhlIHByaXZhdGUga2V5XG4gKiBAcHJvcGVydHkge0lSZXF1ZXN0VHJhY2VyfSByZXFJZCAtIG9wdGlvbmFsIHJlcUlkXG4gKi9cbmV4cG9ydCB0eXBlIFJvdGF0ZUtleWNoYWluT3B0aW9ucyA9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICAgICAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHB1Yjogc3RyaW5nO1xuICAgICAgZW5jcnlwdGVkUHJ2OiBzdHJpbmc7XG4gICAgICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkS2V5Y2hhaW5PcHRpb25zIHtcbiAgcHViPzogc3RyaW5nO1xuICBjb21tb25QdWI/OiBzdHJpbmc7XG4gIGNvbW1vbktleWNoYWluPzogc3RyaW5nO1xuICBlbmNyeXB0ZWRQcnY/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGtleVR5cGU/OiBLZXlUeXBlO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZD86IGFueTtcbiAgLyoqIFNhZmUgdXNlci1yb290IGtleSBpZCB0aGlzIGNoaWxkIHdhcyBkZXJpdmVkIGZyb20uIEBleHBlcmltZW50YWwgKi9cbiAgcGFyZW50Pzogc3RyaW5nO1xuICBkaXNhYmxlS1JTRW1haWw/OiBib29sZWFuO1xuICBwcm92aWRlcj86IHN0cmluZztcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbiAga3JzU3BlY2lmaWM/OiBhbnk7XG4gIGtleVNoYXJlcz86IEFwaUtleVNoYXJlW107XG4gIHVzZXJHUEdQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGJhY2t1cEdQR1B1YmxpY0tleT86IHN0cmluZztcbiAgYWxnb1VzZWQ/OiBzdHJpbmc7XG4gIGlzRGlzdHJpYnV0ZWRDdXN0b2R5PzogYm9vbGVhbjtcbiAgLy8gaW5kaWNhdGVzIGlmIHRoZSBrZXkgaXMgTVBDdjIgb3Igbm90XG4gIGlzTVBDdjI/OiBib29sZWFuO1xuICBjb2luU3BlY2lmaWM/OiB7IFtjb2luTmFtZTogc3RyaW5nXTogdW5rbm93biB9O1xuICAvKiogV2ViQXV0aG4gZGV2aWNlcyB0aGF0IGhhdmUgYW4gYWRkaXRpb25hbCBlbmNyeXB0ZWQgY29weSBvZiB0aGUgcHJpdmF0ZSBrZXksIGtleWVkIGJ5IFBSRi1kZXJpdmVkIHBhc3NwaHJhc2VzLlxuICAgKiAgQGRlcHJlY2F0ZWQgVXNlIHtAbGluayB3ZWJhdXRobkluZm99IGluc3RlYWQg4oCUIHRoZSBiYWNrZW5kIHJlYWRzIGB3ZWJhdXRobkluZm9gIChzaW5nbGUgb2JqZWN0KSwgbm90IGB3ZWJhdXRobkRldmljZXNgLiAqL1xuICB3ZWJhdXRobkRldmljZXM/OiBXZWJhdXRobkluZm9bXTtcbiAgLyoqIFNpbmdsZSB3ZWJhdXRobiBkZXZpY2UgdG8gYXRvbWljYWxseSBhdHRhY2ggZHVyaW5nIGtleSBjcmVhdGlvbi5cbiAgICogIFNlbnQgYXMgYHdlYmF1dGhuSW5mb2AgaW4gdGhlIFBPU1QgL2tleSBib2R5IHNvIHRoZSBiYWNrZW5kIGNhbiBsaW5rXG4gICAqICB0aGUgcGFzc2tleSB0byB0aGUga2V5Y2hhaW4gaW4gdGhlIHNhbWUgcmVxdWVzdC4gKi9cbiAgd2ViYXV0aG5JbmZvPzogV2ViYXV0aG5JbmZvO1xuICAvKiogUHVibGljIGlkIG9mIHRoZSBzYWZlIHRoaXMga2V5IGlzIGEgcm9vdCBvZiAoV2FsbGV0IFNhZmVzIHYxKS4gV2hlbiBzZXQsIHRoZSBiYWNrZW5kIHRhZ3NcbiAgICogIHRoZSBrZXkgd2l0aCB0aGUgc2FmZSBhbmQgc3RhbXBzIGl0cyBjdXJ2ZSBzZXJ2ZXItc2lkZS4gQGV4cGVyaW1lbnRhbCAqL1xuICBzYWZlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpS2V5U2hhcmUge1xuICBmcm9tOiAndXNlcicgfCAnYmFja3VwJyB8ICdiaXRnbyc7XG4gIHRvOiAndXNlcicgfCAnYmFja3VwJyB8ICdiaXRnbyc7XG4gIHB1YmxpY1NoYXJlOiBzdHJpbmc7XG4gIHByaXZhdGVTaGFyZTogc3RyaW5nO1xuICBwcml2YXRlU2hhcmVQcm9vZj86IHN0cmluZztcbiAgcGFpbGxpZXJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIG4/OiBzdHJpbmc7XG4gIHZzc1Byb29mPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUJhY2t1cE9wdGlvbnMge1xuICBwcm92aWRlcj86IHN0cmluZztcbiAgc291cmNlPzogc3RyaW5nO1xuICBkaXNhYmxlS1JTRW1haWw/OiBib29sZWFuO1xuICBrcnNTcGVjaWZpYz86IGFueTtcbiAgdHlwZT86IHN0cmluZztcbiAga2V5VHlwZT86IEtleVR5cGU7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIGNvbW1vblB1Yj86IHN0cmluZztcbiAgY29tbW9uS2V5Y2hhaW4/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbiAgZW5jcnlwdGVkUHJ2Pzogc3RyaW5nO1xuICBwYXNzcGhyYXNlPzogc3RyaW5nO1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xuICAvKiogUHVibGljIGlkIG9mIHRoZSBzYWZlIHRoaXMgYmFja3VwIGtleSBpcyBhIHJvb3Qgb2YgKFdhbGxldCBTYWZlcyB2MSkuIEBleHBlcmltZW50YWwgKi9cbiAgc2FmZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUJpdEdvT3B0aW9ucyB7XG4gIHNvdXJjZT86ICdiaXRnbyc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXI7XG4gIGtleVR5cGU/OiBLZXlUeXBlO1xuICBpc0Rpc3RyaWJ1dGVkQ3VzdG9keT86IGJvb2xlYW47XG4gIC8qKiBQdWJsaWMgaWQgb2YgdGhlIHNhZmUgdGhpcyBCaXRHbyBrZXkgaXMgYSByb290IG9mIChXYWxsZXQgU2FmZXMgdjEpLiBAZXhwZXJpbWVudGFsICovXG4gIHNhZmVJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRGVjcnlwdGVkUmV0cm9maXRQYXlsb2FkID0ge1xuICBkZWNyeXB0ZWRVc2VyS2V5OiBzdHJpbmc7XG4gIGRlY3J5cHRlZEJhY2t1cEtleTogc3RyaW5nO1xuICB3YWxsZXRJZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVNcGNPcHRpb25zIHtcbiAgbXVsdGlzaWdUeXBlOiAnb25jaGFpbicgfCAndHNzJztcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlPzogc3RyaW5nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICByZXRyb2ZpdD86IERlY3J5cHRlZFJldHJvZml0UGF5bG9hZDtcbiAgd2ViYXV0aG5JbmZvPzogV2ViYXV0aG5LZXlFbmNyeXB0aW9uSW5mbztcbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbiAgLyoqIFB1YmxpYyBpZCBvZiB0aGUgc2FmZSB0aGVzZSBNUEMgcm9vdCBrZXlzIGJlbG9uZyB0byAoV2FsbGV0IFNhZmVzIHYxKS4gVGhyZWFkZWQgdGhyb3VnaCB0aGVcbiAgICogIGNlcmVtb255IHNvIHRoZSByZXN1bHRpbmcgdXNlci9iYWNrdXAvYml0Z28ga2V5cyBsYW5kIHRhZ2dlZC4gQGV4cGVyaW1lbnRhbCAqL1xuICBzYWZlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjcmVhdGVNcGNPcHRpb25zIGV4dGVuZHMgT21pdDxDcmVhdGVNcGNPcHRpb25zLCAncmV0cm9maXQnIHwgJ211bHRpc2lnVHlwZSc+IHtcbiAgY29pbjogc3RyaW5nO1xuICB3YWxsZXRJZDogc3RyaW5nO1xuICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gIG90cDogc3RyaW5nO1xuICBlbnRlcnByaXNlOiBzdHJpbmc7XG4gIGVuY3J5cHRlZE1hdGVyaWFsOiB7XG4gICAgZW5jcnlwdGVkVXNlcktleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZEJhY2t1cEtleTogc3RyaW5nO1xuICAgIGVuY3J5cHRlZFdhbGxldFBhc3NwaHJhc2U6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRLZXlzRm9yU2lnbmluZ09wdGlvbnMge1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICB3YWxsZXQ/OiBJV2FsbGV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFNpZ25pbmdLZXlBcGkge1xuICB1c2VySWQ6IHN0cmluZztcbiAgdXNlckVtYWlsOiBzdHJpbmc7XG4gIGRlcml2ZWRQdWJrZXk6IHN0cmluZztcbiAgLy8gVGhlc2UgYXJlIHByZXNlbnQgd2hlbiB1c2VyIGZldGNoZXMgdGhlaXIgb3duIGVjZGgga2V5Y2hhaW4gZm9yIHNpZ25pbmcuXG4gIGRlcml2YXRpb25QYXRoPzogc3RyaW5nO1xuICBlY2RoS2V5Y2hhaW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWNkaERlcml2ZWRLZXlwYWlyIHtcbiAgZGVyaXZlZFB1YktleTogc3RyaW5nOyAvLyBIZXggc3RyaW5nXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7IC8vIERlcml2YXRpb24gcGF0aCBvZiB0aGUga2V5cGFpclxuICB4cHJ2OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEtleUluZGljZXMge1xuICBVU0VSID0gMCxcbiAgQkFDS1VQID0gMSxcbiAgQklUR08gPSAyLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElLZXljaGFpbnMge1xuICBnZXQocGFyYW1zOiBHZXRLZXljaGFpbk9wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluPjtcbiAgbGlzdChwYXJhbXM/OiBMaXN0S2V5Y2hhaW5PcHRpb25zKTogUHJvbWlzZTxMaXN0S2V5Y2hhaW5zUmVzdWx0PjtcbiAgdXBkYXRlUGFzc3dvcmQocGFyYW1zOiBVcGRhdGVQYXNzd29yZE9wdGlvbnMpOiBQcm9taXNlPENoYW5nZWRLZXljaGFpbnM+O1xuICB1cGRhdGVTaW5nbGVLZXljaGFpblBhc3N3b3JkKHBhcmFtcz86IFVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmRPcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIGdldEVuY3J5cHRpb25WZXJzaW9uKGNpcGhlcnRleHQ6IHN0cmluZyk6IEVuY3J5cHRpb25WZXJzaW9uO1xuICByZWVuY3J5cHRBc1YyKGVuY3J5cHRlZFBydjogc3RyaW5nLCBwYXNzcGhyYXNlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG4gIGNyZWF0ZShwYXJhbXM/OiB7IHNlZWQ/OiBCdWZmZXI7IGlzUm9vdEtleT86IGJvb2xlYW4gfSk6IEtleVBhaXI7XG4gIGFkZChwYXJhbXM/OiBBZGRLZXljaGFpbk9wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluPjtcbiAgY3JlYXRlQml0R28ocGFyYW1zPzogQ3JlYXRlQml0R29PcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIGNyZWF0ZUJhY2t1cChwYXJhbXM/OiBDcmVhdGVCYWNrdXBPcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj47XG4gIGdldEtleXNGb3JTaWduaW5nKHBhcmFtcz86IEdldEtleXNGb3JTaWduaW5nT3B0aW9ucyk6IFByb21pc2U8S2V5Y2hhaW5bXT47XG4gIGNyZWF0ZU1wYyhwYXJhbXM6IENyZWF0ZU1wY09wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+O1xuICByZWNyZWF0ZU1wYyhwYXJhbXM6IFJlY3JlYXRlTXBjT3B0aW9ucyk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD47XG4gIGNyZWF0ZVRzc0JpdEdvS2V5RnJvbU92Y1NoYXJlcyhvdmNPdXRwdXQ6IE92Y1RvQml0R29KU09OLCBlbnRlcnByaXNlPzogc3RyaW5nKTogUHJvbWlzZTxCaXRHb0tleUZyb21PdmNTaGFyZXM+O1xuICBjcmVhdGVVc2VyS2V5Y2hhaW4odXNlclBhc3N3b3JkOiBzdHJpbmcsIGVuY3J5cHRpb25WZXJzaW9uPzogRW5jcnlwdGlvblZlcnNpb24pOiBQcm9taXNlPEtleWNoYWluPjtcbiAgcm90YXRlS2V5Y2hhaW4ocGFyYW1zOiBSb3RhdGVLZXljaGFpbk9wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluPjtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"keychains.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/keychain/keychains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAElB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,mCAAmC,EACpC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAkC,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAEzB,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IAKjD;;;;;;;OAOG;IACG,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAcxD;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmB1E;;;;;;;;;;;;;;;;;OAiBG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkD9E;;;;;OAKG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAgB3D;;;;;;;;;;;;OAYG;IACG,4BAA4B,CAAC,MAAM,GAAE,mCAAwC,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6BvG;;;;;;;;OAQG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9E;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO;IAOpE;;;OAGG;IACG,GAAG,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA0D7D;;;OAGG;IACG,WAAW,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOrE;;;;OAIG;IACG,YAAY,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwBvE;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,GAAE,wBAA6B,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAWnF;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqC9D,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgDxE;;;;;;;OAOG;IACG,8BAA8B,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0GjH;;;;OAIG;IACG,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB5G;;;;;;;OAOG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmCtE;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;CAGnD"}
1
+ {"version":3,"file":"keychains.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/keychain/keychains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAElB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,mCAAmC,EACpC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAkC,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAEzB,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;IAKjD;;;;;;;OAOG;IACG,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAcxD;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmB1E;;;;;;;;;;;;;;;;;OAiBG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkD9E;;;;;OAKG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAgB3D;;;;;;;;;;;;OAYG;IACG,4BAA4B,CAAC,MAAM,GAAE,mCAAwC,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6BvG;;;;;;;;OAQG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9E;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO;IAOpE;;;OAGG;IACG,GAAG,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4D7D;;;OAGG;IACG,WAAW,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOrE;;;;OAIG;IACG,YAAY,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwBvE;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,GAAE,wBAA6B,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAWnF;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqC9D,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgDxE;;;;;;;OAOG;IACG,8BAA8B,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0GjH;;;;OAIG;IACG,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsB5G;;;;;;;OAOG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmCtE;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;CAGnD"}