@bitgo-beta/sdk-core 8.2.1-beta.2053 → 8.2.1-beta.2055

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.
@@ -24,6 +24,13 @@ export declare class CoinFactory {
24
24
  * @throws Error
25
25
  */
26
26
  register(name: string, coin: CoinConstructor): void;
27
+ /**
28
+ * Checks if a constructor is registered for the given coin or token name,
29
+ * regardless of whether the name is present in the coin map.
30
+ * @param name Name of coin or token
31
+ * @returns {boolean}
32
+ */
33
+ hasCoinConstructor(name: string): boolean;
27
34
  /**
28
35
  * Checks if the coin is present in both coin map and constructor map
29
36
  * @param name Name of coin
@@ -1 +1 @@
1
- {"version":3,"file":"coinFactory.d.ts","sourceRoot":"","sources":["../../../src/bitgo/coinFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAS,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC;AAEtG,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAAe;IAKpC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAI1D;;;;OAIG;IAEI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC;;;;;OAKG;IACI,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,eAAe,GAAG,IAAI;IAapG;;;;;OAKG;IACI,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ;CAmB7D;AAED,eAAO,MAAM,iBAAiB,EAAE,WAA+B,CAAC"}
1
+ {"version":3,"file":"coinFactory.d.ts","sourceRoot":"","sources":["../../../src/bitgo/coinFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAS,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC;AAEtG,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAAe;IAKpC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAI1D;;;;;OAKG;IACI,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhD;;;;OAIG;IAEI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC;;;;;OAKG;IACI,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,eAAe,GAAG,IAAI;IAapG;;;;;OAKG;IACI,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ;CAmB7D;AAED,eAAO,MAAM,iBAAiB,EAAE,WAA+B,CAAC"}
@@ -29,6 +29,15 @@ class CoinFactory {
29
29
  register(name, coin) {
30
30
  this.coinConstructors.set(name, coin);
31
31
  }
32
+ /**
33
+ * Checks if a constructor is registered for the given coin or token name,
34
+ * regardless of whether the name is present in the coin map.
35
+ * @param name Name of coin or token
36
+ * @returns {boolean}
37
+ */
38
+ hasCoinConstructor(name) {
39
+ return this.getCoinConstructor(name) !== undefined;
40
+ }
32
41
  /**
33
42
  * Checks if the coin is present in both coin map and constructor map
34
43
  * @param name Name of coin
@@ -76,4 +85,4 @@ class CoinFactory {
76
85
  }
77
86
  exports.CoinFactory = CoinFactory;
78
87
  exports.GlobalCoinFactory = new CoinFactory();
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxpREFBdUc7QUFHdkcscUNBQWdEO0FBU2hELE1BQWEsV0FBVztJQUl0QixZQUFZLFVBQW1CLGVBQUs7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGtCQUFrQixDQUFDLElBQVk7UUFDckMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBcUI7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFFSSxPQUFPLENBQUMsSUFBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLFdBQXNDLEVBQUUsZUFBZ0M7UUFDM0YsSUFDRSxDQUFDLENBQ0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDM0QsRUFDRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsS0FBZ0IsRUFBRSxJQUFZO1FBQy9DLElBQUksV0FBVyxDQUFDO1FBRWhCLElBQUksQ0FBQztZQUNILFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSw2QkFBbUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFuRkQsa0NBbUZDO0FBRVksUUFBQSxpQkFBaUIsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IGNvaW5zLCBDb2luTWFwLCBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5Ob3REZWZpbmVkRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZENvaW5FcnJvciB9IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHR5cGUgQ29pbkNvbnN0cnVjdG9yID0gKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikgPT4gQmFzZUNvaW47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZWRDb2luQ29uc3RydWN0b3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvaW5Db25zdHJ1Y3RvcjogQ29pbkNvbnN0cnVjdG9yO1xufVxuXG5leHBvcnQgY2xhc3MgQ29pbkZhY3Rvcnkge1xuICBwcml2YXRlIGNvaW5Db25zdHJ1Y3RvcnM6IE1hcDxzdHJpbmcsIENvaW5Db25zdHJ1Y3Rvcj47XG4gIHByaXZhdGUgY29pbk1hcDogQ29pbk1hcDtcblxuICBjb25zdHJ1Y3Rvcihjb2luTWFwOiBDb2luTWFwID0gY29pbnMpIHtcbiAgICB0aGlzLmNvaW5Db25zdHJ1Y3RvcnMgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5jb2luTWFwID0gY29pbk1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNvaW4gb3IgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7KE9iamVjdHx1bmRlZmluZWQpfVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb2luQ29uc3RydWN0b3IobmFtZTogc3RyaW5nKTogQ29pbkNvbnN0cnVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jb2luQ29uc3RydWN0b3JzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29pbkNvbnN0cnVjdG9ycyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29pbkNvbnN0cnVjdG9ycy5nZXQobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBjb2luIG9yIGFkZHJlc3NcbiAgICogQHBhcmFtIGNvaW4gQ29pbiBwbHVnaW4ncyBjb25zdHJ1Y3RvclxuICAgKiBAdGhyb3dzIEVycm9yXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIobmFtZTogc3RyaW5nLCBjb2luOiBDb2luQ29uc3RydWN0b3IpOiB2b2lkIHtcbiAgICB0aGlzLmNvaW5Db25zdHJ1Y3RvcnMuc2V0KG5hbWUsIGNvaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29pbiBpcyBwcmVzZW50IGluIGJvdGggY29pbiBtYXAgYW5kIGNvbnN0cnVjdG9yIG1hcFxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNvaW5cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuXG4gIHB1YmxpYyBoYXNDb2luKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvaW5NYXAuaGFzKG5hbWUpICYmIHRoaXMuZ2V0Q29pbkNvbnN0cnVjdG9yKG5hbWUpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgdG9rZW4gaW4gdGhlIGNvaW4gbWFwIGFuZCB0aGUgY29uc3RydWN0b3IgbWFwLlxuICAgKiBAcGFyYW0gc3RhdGljc0NvaW4gVGhlIHN0YXRpYyBjb2luIGRlZmluaXRpb24gZnJvbSBCaXRHbyBTdGF0aWNzXG4gICAqIEBwYXJhbSBjb2luQ29uc3RydWN0b3IgVGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgY29pbiBwbHVnaW5cbiAgICogQHRocm93cyBFcnJvclxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyVG9rZW4oc3RhdGljc0NvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4sIGNvaW5Db25zdHJ1Y3RvcjogQ29pbkNvbnN0cnVjdG9yKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIShcbiAgICAgICAgdGhpcy5jb2luTWFwLmhhcyhzdGF0aWNzQ29pbi5uYW1lKSB8fFxuICAgICAgICB0aGlzLmNvaW5NYXAuaGFzKHN0YXRpY3NDb2luLmlkKSB8fFxuICAgICAgICAoc3RhdGljc0NvaW4uYWxpYXMgJiYgdGhpcy5jb2luTWFwLmhhcyhzdGF0aWNzQ29pbi5hbGlhcykpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLmNvaW5NYXAuYWRkQ29pbihzdGF0aWNzQ29pbik7XG4gICAgfVxuICAgIHRoaXMucmVnaXN0ZXIoc3RhdGljc0NvaW4ubmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYml0Z28gSW5zdGFuY2Ugb2YgQml0R29cbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBjb2luIG9yIGFkZHJlc3NcbiAgICogQHRocm93cyBDb2luTm90RGVmaW5lZEVycm9yXG4gICAqIEB0aHJvd3MgVW5zdXBwb3J0ZWRDb2luRXJyb3JcbiAgICovXG4gIHB1YmxpYyBnZXRJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBuYW1lOiBzdHJpbmcpOiBCYXNlQ29pbiB7XG4gICAgbGV0IHN0YXRpY3NDb2luO1xuXG4gICAgdHJ5IHtcbiAgICAgIHN0YXRpY3NDb2luID0gdGhpcy5jb2luTWFwLmdldChuYW1lKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgQ29pbk5vdERlZmluZWRFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IHRoaXMuZ2V0Q29pbkNvbnN0cnVjdG9yKG5hbWUpO1xuXG4gICAgaWYgKGNvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gY29uc3RydWN0b3IoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDb2luRXJyb3IobmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEdsb2JhbENvaW5GYWN0b3J5OiBDb2luRmFjdG9yeSA9IG5ldyBDb2luRmFjdG9yeSgpO1xuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vY29pbkZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxpREFBdUc7QUFHdkcscUNBQWdEO0FBU2hELE1BQWEsV0FBVztJQUl0QixZQUFZLFVBQW1CLGVBQUs7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGtCQUFrQixDQUFDLElBQVk7UUFDckMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBcUI7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksa0JBQWtCLENBQUMsSUFBWTtRQUNwQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7O09BSUc7SUFFSSxPQUFPLENBQUMsSUFBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLFdBQXNDLEVBQUUsZUFBZ0M7UUFDM0YsSUFDRSxDQUFDLENBQ0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDM0QsRUFDRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsS0FBZ0IsRUFBRSxJQUFZO1FBQy9DLElBQUksV0FBVyxDQUFDO1FBRWhCLElBQUksQ0FBQztZQUNILFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSw2QkFBbUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUE3RkQsa0NBNkZDO0FBRVksUUFBQSxpQkFBaUIsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IGNvaW5zLCBDb2luTWFwLCBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5Ob3REZWZpbmVkRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZENvaW5FcnJvciB9IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHR5cGUgQ29pbkNvbnN0cnVjdG9yID0gKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikgPT4gQmFzZUNvaW47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZWRDb2luQ29uc3RydWN0b3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvaW5Db25zdHJ1Y3RvcjogQ29pbkNvbnN0cnVjdG9yO1xufVxuXG5leHBvcnQgY2xhc3MgQ29pbkZhY3Rvcnkge1xuICBwcml2YXRlIGNvaW5Db25zdHJ1Y3RvcnM6IE1hcDxzdHJpbmcsIENvaW5Db25zdHJ1Y3Rvcj47XG4gIHByaXZhdGUgY29pbk1hcDogQ29pbk1hcDtcblxuICBjb25zdHJ1Y3Rvcihjb2luTWFwOiBDb2luTWFwID0gY29pbnMpIHtcbiAgICB0aGlzLmNvaW5Db25zdHJ1Y3RvcnMgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5jb2luTWFwID0gY29pbk1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIGNvaW4gb3IgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7KE9iamVjdHx1bmRlZmluZWQpfVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb2luQ29uc3RydWN0b3IobmFtZTogc3RyaW5nKTogQ29pbkNvbnN0cnVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jb2luQ29uc3RydWN0b3JzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29pbkNvbnN0cnVjdG9ycyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29pbkNvbnN0cnVjdG9ycy5nZXQobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBjb2luIG9yIGFkZHJlc3NcbiAgICogQHBhcmFtIGNvaW4gQ29pbiBwbHVnaW4ncyBjb25zdHJ1Y3RvclxuICAgKiBAdGhyb3dzIEVycm9yXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIobmFtZTogc3RyaW5nLCBjb2luOiBDb2luQ29uc3RydWN0b3IpOiB2b2lkIHtcbiAgICB0aGlzLmNvaW5Db25zdHJ1Y3RvcnMuc2V0KG5hbWUsIGNvaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhIGNvbnN0cnVjdG9yIGlzIHJlZ2lzdGVyZWQgZm9yIHRoZSBnaXZlbiBjb2luIG9yIHRva2VuIG5hbWUsXG4gICAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgbmFtZSBpcyBwcmVzZW50IGluIHRoZSBjb2luIG1hcC5cbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBjb2luIG9yIHRva2VuXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgcHVibGljIGhhc0NvaW5Db25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb2luQ29uc3RydWN0b3IobmFtZSkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvaW4gaXMgcHJlc2VudCBpbiBib3RoIGNvaW4gbWFwIGFuZCBjb25zdHJ1Y3RvciBtYXBcbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBjb2luXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cblxuICBwdWJsaWMgaGFzQ29pbihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2luTWFwLmhhcyhuYW1lKSAmJiB0aGlzLmdldENvaW5Db25zdHJ1Y3RvcihuYW1lKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHRva2VuIGluIHRoZSBjb2luIG1hcCBhbmQgdGhlIGNvbnN0cnVjdG9yIG1hcC5cbiAgICogQHBhcmFtIHN0YXRpY3NDb2luIFRoZSBzdGF0aWMgY29pbiBkZWZpbml0aW9uIGZyb20gQml0R28gU3RhdGljc1xuICAgKiBAcGFyYW0gY29pbkNvbnN0cnVjdG9yIFRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIGNvaW4gcGx1Z2luXG4gICAqIEB0aHJvd3MgRXJyb3JcbiAgICovXG4gIHB1YmxpYyByZWdpc3RlclRva2VuKHN0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+LCBjb2luQ29uc3RydWN0b3I6IENvaW5Db25zdHJ1Y3Rvcik6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIHRoaXMuY29pbk1hcC5oYXMoc3RhdGljc0NvaW4ubmFtZSkgfHxcbiAgICAgICAgdGhpcy5jb2luTWFwLmhhcyhzdGF0aWNzQ29pbi5pZCkgfHxcbiAgICAgICAgKHN0YXRpY3NDb2luLmFsaWFzICYmIHRoaXMuY29pbk1hcC5oYXMoc3RhdGljc0NvaW4uYWxpYXMpKVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5jb2luTWFwLmFkZENvaW4oc3RhdGljc0NvaW4pO1xuICAgIH1cbiAgICB0aGlzLnJlZ2lzdGVyKHN0YXRpY3NDb2luLm5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGJpdGdvIEluc3RhbmNlIG9mIEJpdEdvXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgY29pbiBvciBhZGRyZXNzXG4gICAqIEB0aHJvd3MgQ29pbk5vdERlZmluZWRFcnJvclxuICAgKiBAdGhyb3dzIFVuc3VwcG9ydGVkQ29pbkVycm9yXG4gICAqL1xuICBwdWJsaWMgZ2V0SW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgbmFtZTogc3RyaW5nKTogQmFzZUNvaW4ge1xuICAgIGxldCBzdGF0aWNzQ29pbjtcblxuICAgIHRyeSB7XG4gICAgICBzdGF0aWNzQ29pbiA9IHRoaXMuY29pbk1hcC5nZXQobmFtZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIENvaW5Ob3REZWZpbmVkRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY29uc3RydWN0b3IgPSB0aGlzLmdldENvaW5Db25zdHJ1Y3RvcihuYW1lKTtcblxuICAgIGlmIChjb25zdHJ1Y3Rvcikge1xuICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ29pbkVycm9yKG5hbWUpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBHbG9iYWxDb2luRmFjdG9yeTogQ29pbkZhY3RvcnkgPSBuZXcgQ29pbkZhY3RvcnkoKTtcbiJdfQ==