@bitgo-beta/sdk-api 1.10.1-beta.1452 → 1.10.1-beta.1454

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.
@@ -49,6 +49,7 @@ export interface BitGoAPIOptions {
49
49
  validate?: boolean;
50
50
  cookiesPropagationEnabled?: boolean;
51
51
  getAdditionalHeadersCb?: AdditionalHeadersCallback;
52
+ requestIdPrefix?: string;
52
53
  evm?: {
53
54
  [key: string]: {
54
55
  baseUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -4,4 +4,4 @@ exports.supportedRequestMethods = void 0;
4
4
  const patchedRequestMethods = ['get', 'post', 'put', 'del', 'patch', 'options'];
5
5
  var sdk_hmac_1 = require("@bitgo-beta/sdk-hmac");
6
6
  Object.defineProperty(exports, "supportedRequestMethods", { enumerable: true, get: function () { return sdk_hmac_1.supportedRequestMethods; } });
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFVLENBQUM7QUFRekYsaURBUzhCO0FBSDVCLG1IQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnROYW1lLCBJUmVxdWVzdFRyYWNlciwgVjFOZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgRUNQYWlySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgdHlwZSBBZ2VudCB9IGZyb20gJ2h0dHAnO1xuXG5leHBvcnQgdHlwZSBDb25zdGFudHMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5jb25zdCBwYXRjaGVkUmVxdWVzdE1ldGhvZHMgPSBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWwnLCAncGF0Y2gnLCAnb3B0aW9ucyddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUmVxdWVzdE1ldGhvZHMgPSAodHlwZW9mIHBhdGNoZWRSZXF1ZXN0TWV0aG9kcylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEFkZGl0aW9uYWxIZWFkZXJzQ2FsbGJhY2sgPSAoXG4gIG1ldGhvZDogUmVxdWVzdE1ldGhvZHMsXG4gIHVybDogc3RyaW5nLFxuICBkYXRhPzogc3RyaW5nXG4pID0+IEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT47XG5cbmV4cG9ydCB7XG4gIEF1dGhWZXJzaW9uLFxuICBDYWxjdWxhdGVIbWFjU3ViamVjdE9wdGlvbnMsXG4gIENhbGN1bGF0ZVJlcXVlc3RIZWFkZXJzT3B0aW9ucyxcbiAgQ2FsY3VsYXRlUmVxdWVzdEhtYWNPcHRpb25zLFxuICBSZXF1ZXN0SGVhZGVycyxcbiAgc3VwcG9ydGVkUmVxdWVzdE1ldGhvZHMsXG4gIFZlcmlmeVJlc3BvbnNlSW5mbyxcbiAgVmVyaWZ5UmVzcG9uc2VPcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstaG1hYyc7XG5leHBvcnQgaW50ZXJmYWNlIEJpdEdvQVBJT3B0aW9ucyB7XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICBhdXRoVmVyc2lvbj86IDIgfCAzO1xuICBjbGllbnRDb25zdGFudHM/OlxuICAgIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHwge1xuICAgICAgICBjb25zdGFudHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgIHR0bD86IG51bWJlcjtcbiAgICAgIH07XG4gIGN1c3RvbUJpdGNvaW5OZXR3b3JrPzogVjFOZXR3b3JrO1xuICBjdXN0b21Sb290VVJJPzogc3RyaW5nO1xuICBjdXN0b21TaWduaW5nQWRkcmVzcz86IHN0cmluZztcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgZW52PzogRW52aXJvbm1lbnROYW1lO1xuICBldGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgcG9seWdvbnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgYmFzZWV0aEFwaVRva2VuPzogc3RyaW5nO1xuICBhcmJpc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBvcHRpbWlzdGljRXRoZXJzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGJzY3NjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGZsckV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgbW9uRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgd29ybGRFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb21uaWFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb25laXVtRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgaG1hY1ZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIGN1c3RvbVByb3h5QWdlbnQ/OiBBZ2VudDtcbiAgcmVmcmVzaFRva2VuPzogc3RyaW5nO1xuICBzZXJ2ZXJYcHViPzogc3RyaW5nO1xuICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybD86IHN0cmluZztcbiAgdXNlUHJvZHVjdGlvbj86IGJvb2xlYW47XG4gIHVzZXJBZ2VudD86IHN0cmluZztcbiAgdmFsaWRhdGU/OiBib29sZWFuO1xuICBjb29raWVzUHJvcGFnYXRpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgZ2V0QWRkaXRpb25hbEhlYWRlcnNDYj86IEFkZGl0aW9uYWxIZWFkZXJzQ2FsbGJhY2s7XG4gIGV2bT86IHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgICAgYXBpVG9rZW4/OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NUb2tlbk9wdGlvbnMge1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpbmdPcHRpb25zIHtcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoZW50aWNhdGVPcHRpb25zIHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICB0cnVzdD86IG51bWJlcjtcbiAgZm9yY2VTTVM/OiBib29sZWFuO1xuICBleHRlbnNpYmxlPzogYm9vbGVhbjtcbiAgZm9yY2VWMUF1dGg/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5zdXJlIHRoYXQgdGhlIHVzZXIncyBFQ0RIIGtleWNoYWluIGlzIGNyZWF0ZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZGVzY3JpcHRpb24gSWYgc2V0IHRvIHRydWUsIHRoZSB1c2VyJ3MgRUNESCBrZXljaGFpbiB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC5cbiAgICogVGhlIGVjZGgga2V5Y2hhaW4gaXMgYSB1c2VyIGxldmVsIGtleWNoYWluIHRoYXQgZW5hYmxlcyB0aGUgc2hhcmluZyBvZiBzZWNyZXQgbWF0ZXJpYWwsXG4gICAqIHByaW1hcmlseSBmb3Igd2FsbGV0IHNoYXJpbmcsIGFzIHdlbGwgYXMgdGhlIHNpZ25pbmcgb2YgbGVzcyBwcml2YXRlIG1hdGVyaWFsIHN1Y2ggYXMgdmFyaW91cyBjcnlwdG9ncmFwaGljIGNoYWxsZW5nZXMuXG4gICAqIEl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoaXMgaXMgYWx3YXlzIHNldCB0byBhdm9pZCBhbnkgaXNzdWVzIHdoZW4gdXNpbmcgYSBCaXRHbyB3YWxsZXRcbiAgICovXG4gIGVuc3VyZUVjZGhLZXljaGFpbj86IGJvb2xlYW47XG4gIGZvclJlc2V0MkZBPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHN0YWdlIGZpbmdlcnByaW50IGhhc2ggdXNlZCBmb3IgZGV2aWNlIGlkZW50aWZpY2F0aW9uIGFuZCB2ZXJpZmljYXRpb24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKiBAZGVzY3JpcHRpb24gQW4gU0hBLTI1NiBoYXNoIHN0cmluZyBnZW5lcmF0ZWQgZnJvbSBkZXZpY2Utc3BlY2lmaWMgYXR0cmlidXRlc1xuICAgKi9cbiAgaW5pdGlhbEhhc2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZmluYWwgc3RhZ2UgZmluZ2VycHJpbnQgaGFzaCB1c2VkIGZvciB0cnVzdGVkIGRldmljZSB2ZXJpZmljYXRpb24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKiBAZGVzY3JpcHRpb24gQW4gU0hBLTI1NiBoYXNoIHN0cmluZyBkZXJpdmVkIGZyb20gdGhlIGluaXRpYWxIYXNoIGFuZCB2ZXJpZmljYXRpb24gY29kZVxuICAgKi9cbiAgZmluZ2VycHJpbnRIYXNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NlZEF1dGhlbnRpY2F0aW9uT3B0aW9ucyB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIGZvcmNlU01TOiBib29sZWFuO1xuICBvdHA/OiBzdHJpbmc7XG4gIHRydXN0PzogbnVtYmVyO1xuICBleHRlbnNpYmxlPzogYm9vbGVhbjtcbiAgZXh0ZW5zaW9uQWRkcmVzcz86IHN0cmluZztcbiAgZm9yY2VWMUF1dGg/OiBib29sZWFuO1xuICBmb3JSZXNldDJGQT86IGJvb2xlYW47XG4gIGluaXRpYWxIYXNoPzogc3RyaW5nO1xuICBmaW5nZXJwcmludEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQml0R29Kc29uIHtcbiAgdXNlcj86IFVzZXI7XG4gIHRva2VuPzogc3RyaW5nO1xuICBleHRlbnNpb25LZXk/OiBzdHJpbmc7XG4gIGVjZGhYcHJ2Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVBhc3N3b3JkT3B0aW9ucyB7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuSXNzdWFuY2VSZXNwb25zZSB7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGVuY3J5cHRlZFRva2VuOiBzdHJpbmc7XG4gIGVuY3J5cHRlZEVDREhYcHJ2Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuSXNzdWFuY2Uge1xuICB0b2tlbjogc3RyaW5nO1xuICBlY2RoWHBydj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NUb2tlblNwZW5kaW5nTGltaXQge1xuICBjb2luOiBzdHJpbmc7XG4gIHR4Q291bnQ/OiBudW1iZXI7XG4gIHR4VmFsdWU/OiBzdHJpbmc7XG4gIHR4VmFsdWVMaW1pdD86IHN0cmluZztcbiAgbWF4TGltaXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZEFjY2Vzc1Rva2VuT3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG90cD86IHN0cmluZztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIGlwUmVzdHJpY3Q/OiBzdHJpbmdbXTtcbiAgdHhWYWx1ZUxpbWl0PzogbnVtYmVyO1xuICBzY29wZTogc3RyaW5nW107XG4gIHNwZW5kaW5nTGltaXRzPzogQWNjZXNzVG9rZW5TcGVuZGluZ0xpbWl0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQWNjZXNzVG9rZW5SZXNwb25zZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGNsaWVudDogc3RyaW5nO1xuICB1c2VyOiBzdHJpbmc7XG4gIHNjb3BlOiBzdHJpbmdbXTtcbiAgY3JlYXRlZDogc3RyaW5nO1xuICBleHBpcmVzOiBzdHJpbmc7XG4gIGlwOiBzdHJpbmc7XG4gIGlwUmVzdHJpY3Q6IHN0cmluZ1tdO1xuICBvcmlnaW46IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaXNFeHRlbnNpYmxlOiBib29sZWFuO1xuICBlbmNyeXB0ZWRUb2tlbjogc3RyaW5nO1xuICBkZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICB0b2tlbjogc3RyaW5nO1xuICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICBleHRlbnNpb25BZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZUFjY2Vzc1Rva2VuT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRVc2VyT3B0aW9ucyB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5sb2NrT3B0aW9ucyB7XG4gIG90cD86IHN0cmluZztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZFRva2VuT3B0aW9ucyB7XG4gIGR1cmF0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwcmVjYXRlZFZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcGxpdFNlY3JldE9wdGlvbnMge1xuICBzZWVkOiBzdHJpbmc7XG4gIHBhc3N3b3Jkczogc3RyaW5nW107XG4gIG06IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTcGxpdFNlY3JldCB7XG4gIHhwdWI6IHN0cmluZztcbiAgbTogbnVtYmVyO1xuICBuOiBudW1iZXI7XG4gIHNlZWRTaGFyZXM6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvbnN0aXR1dGVTZWNyZXRPcHRpb25zIHtcbiAgc2hhcmRzOiBzdHJpbmdbXTtcbiAgcGFzc3dvcmRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvbnN0aXR1dGVkU2VjcmV0IHtcbiAgeHB1Yjogc3RyaW5nO1xuICB4cHJ2OiBzdHJpbmc7XG4gIHNlZWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlTaGFyZHNPcHRpb25zIHtcbiAgc2hhcmRzOiBzdHJpbmdbXTtcbiAgcGFzc3dvcmRzOiBzdHJpbmdbXTtcbiAgbTogbnVtYmVyO1xuICB4cHViOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0RWNkaFNlY3JldE9wdGlvbnMge1xuICBvdGhlclB1YktleUhleDogc3RyaW5nO1xuICBlY2tleTogRUNQYWlySW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZVBhc3N3b3JkT3B0aW9ucyB7XG4gIG9sZFBhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFc3RpbWF0ZUZlZU9wdGlvbnMge1xuICBudW1CbG9ja3M/OiBudW1iZXI7XG4gIG1heEZlZT86IG51bWJlcjtcbiAgaW5wdXRzPzogc3RyaW5nW107XG4gIHR4U2l6ZT86IG51bWJlcjtcbiAgY3BmcEF3YXJlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdlYmhvb2tPcHRpb25zIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0V2ViaG9va05vdGlmaWNhdGlvbnNPcHRpb25zIHtcbiAgcHJldklkPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaXRHb1NpbXVsYXRlV2ViaG9va09wdGlvbnMge1xuICB3ZWJob29rSWQ6IHN0cmluZztcbiAgYmxvY2tJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0ZVdpdGhBdXRoQ29kZU9wdGlvbnMge1xuICBhdXRoQ29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UHVzaFRva2VuT3B0aW9ucyB7XG4gIHB1c2hWZXJpZmljYXRpb25Ub2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJQdXNoVG9rZW5PcHRpb25zIHtcbiAgcHVzaFRva2VuOiB1bmtub3duO1xuICBvcGVyYXRpbmdTeXN0ZW06IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXNwb25zZSB7XG4gIC8vIFRoZSBBUEkgc2Vzc2lvbiByb3V0ZSBkb2VzIG5vdCByZXR1cm4gdGhpcy4gSXQncyBhbm5vdGF0ZWQgYnkgdGhlIFNES1xuICBhY2Nlc3NfdG9rZW4/OiBzdHJpbmc7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGVuY3J5cHRlZEVDREhYcHJ2Pzogc3RyaW5nO1xuICBlbmNyeXB0ZWRUb2tlbj86IHN0cmluZztcbiAgLy8gVW5pdCB0aW1lc3RhbXAgb2YgZXhwaXJhdGlvblxuICBleHBpcmVzX2F0OiBudW1iZXI7XG4gIC8vIHNlY29uZHMgaW4gd2hpY2ggdGhlIHRva2VuIHdpbGwgZXhwaXJlIGZyb20gaXNzdWFuY2VcbiAgZXhwaXJlc19pbjogbnVtYmVyO1xuICBzY29wZTogc3RyaW5nW107XG4gIHRva2VuX3R5cGU6IHN0cmluZztcbiAgdXNlcjogdW5rbm93bjtcbn1cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFVLENBQUM7QUFRekYsaURBUzhCO0FBSDVCLG1IQUFBLHVCQUF1QixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnROYW1lLCBJUmVxdWVzdFRyYWNlciwgVjFOZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgRUNQYWlySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgdHlwZSBBZ2VudCB9IGZyb20gJ2h0dHAnO1xuXG5leHBvcnQgdHlwZSBDb25zdGFudHMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5jb25zdCBwYXRjaGVkUmVxdWVzdE1ldGhvZHMgPSBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWwnLCAncGF0Y2gnLCAnb3B0aW9ucyddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUmVxdWVzdE1ldGhvZHMgPSAodHlwZW9mIHBhdGNoZWRSZXF1ZXN0TWV0aG9kcylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEFkZGl0aW9uYWxIZWFkZXJzQ2FsbGJhY2sgPSAoXG4gIG1ldGhvZDogUmVxdWVzdE1ldGhvZHMsXG4gIHVybDogc3RyaW5nLFxuICBkYXRhPzogc3RyaW5nXG4pID0+IEFycmF5PHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT47XG5cbmV4cG9ydCB7XG4gIEF1dGhWZXJzaW9uLFxuICBDYWxjdWxhdGVIbWFjU3ViamVjdE9wdGlvbnMsXG4gIENhbGN1bGF0ZVJlcXVlc3RIZWFkZXJzT3B0aW9ucyxcbiAgQ2FsY3VsYXRlUmVxdWVzdEhtYWNPcHRpb25zLFxuICBSZXF1ZXN0SGVhZGVycyxcbiAgc3VwcG9ydGVkUmVxdWVzdE1ldGhvZHMsXG4gIFZlcmlmeVJlc3BvbnNlSW5mbyxcbiAgVmVyaWZ5UmVzcG9uc2VPcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstaG1hYyc7XG5leHBvcnQgaW50ZXJmYWNlIEJpdEdvQVBJT3B0aW9ucyB7XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICBhdXRoVmVyc2lvbj86IDIgfCAzO1xuICBjbGllbnRDb25zdGFudHM/OlxuICAgIHwgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHwge1xuICAgICAgICBjb25zdGFudHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgIHR0bD86IG51bWJlcjtcbiAgICAgIH07XG4gIGN1c3RvbUJpdGNvaW5OZXR3b3JrPzogVjFOZXR3b3JrO1xuICBjdXN0b21Sb290VVJJPzogc3RyaW5nO1xuICBjdXN0b21TaWduaW5nQWRkcmVzcz86IHN0cmluZztcbiAgY2xpZW50SWQ/OiBzdHJpbmc7XG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgZW52PzogRW52aXJvbm1lbnROYW1lO1xuICBldGhlcnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgcG9seWdvbnNjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgYmFzZWV0aEFwaVRva2VuPzogc3RyaW5nO1xuICBhcmJpc2NhbkFwaVRva2VuPzogc3RyaW5nO1xuICBvcHRpbWlzdGljRXRoZXJzY2FuQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHprc3luY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGJzY3NjYW5BcGlUb2tlbj86IHN0cmluZztcbiAgY29yZWRhb0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIG9hc0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHNnYkV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIGZsckV4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHhkY0V4cGxvcmVyQXBpVG9rZW4/OiBzdHJpbmc7XG4gIHdlbWl4RXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgbW9uRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgd29ybGRFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb21uaWFFeHBsb3JlckFwaVRva2VuPzogc3RyaW5nO1xuICBzb25laXVtRXhwbG9yZXJBcGlUb2tlbj86IHN0cmluZztcbiAgaG1hY1ZlcmlmaWNhdGlvbj86IGJvb2xlYW47XG4gIGN1c3RvbVByb3h5QWdlbnQ/OiBBZ2VudDtcbiAgcmVmcmVzaFRva2VuPzogc3RyaW5nO1xuICBzZXJ2ZXJYcHViPzogc3RyaW5nO1xuICBzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybD86IHN0cmluZztcbiAgdXNlUHJvZHVjdGlvbj86IGJvb2xlYW47XG4gIHVzZXJBZ2VudD86IHN0cmluZztcbiAgdmFsaWRhdGU/OiBib29sZWFuO1xuICBjb29raWVzUHJvcGFnYXRpb25FbmFibGVkPzogYm9vbGVhbjtcbiAgZ2V0QWRkaXRpb25hbEhlYWRlcnNDYj86IEFkZGl0aW9uYWxIZWFkZXJzQ2FsbGJhY2s7XG4gIHJlcXVlc3RJZFByZWZpeD86IHN0cmluZztcbiAgZXZtPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgICBhcGlUb2tlbj86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc1Rva2VuT3B0aW9ucyB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGluZ09wdGlvbnMge1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0ZU9wdGlvbnMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBvdHA/OiBzdHJpbmc7XG4gIHRydXN0PzogbnVtYmVyO1xuICBmb3JjZVNNUz86IGJvb2xlYW47XG4gIGV4dGVuc2libGU/OiBib29sZWFuO1xuICBmb3JjZVYxQXV0aD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbnN1cmUgdGhhdCB0aGUgdXNlcidzIEVDREgga2V5Y2hhaW4gaXMgY3JlYXRlZC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBkZXNjcmlwdGlvbiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHVzZXIncyBFQ0RIIGtleWNoYWluIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICAgKiBUaGUgZWNkaCBrZXljaGFpbiBpcyBhIHVzZXIgbGV2ZWwga2V5Y2hhaW4gdGhhdCBlbmFibGVzIHRoZSBzaGFyaW5nIG9mIHNlY3JldCBtYXRlcmlhbCxcbiAgICogcHJpbWFyaWx5IGZvciB3YWxsZXQgc2hhcmluZywgYXMgd2VsbCBhcyB0aGUgc2lnbmluZyBvZiBsZXNzIHByaXZhdGUgbWF0ZXJpYWwgc3VjaCBhcyB2YXJpb3VzIGNyeXB0b2dyYXBoaWMgY2hhbGxlbmdlcy5cbiAgICogSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhpcyBpcyBhbHdheXMgc2V0IHRvIGF2b2lkIGFueSBpc3N1ZXMgd2hlbiB1c2luZyBhIEJpdEdvIHdhbGxldFxuICAgKi9cbiAgZW5zdXJlRWNkaEtleWNoYWluPzogYm9vbGVhbjtcbiAgZm9yUmVzZXQyRkE/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGluaXRpYWwgc3RhZ2UgZmluZ2VycHJpbnQgaGFzaCB1c2VkIGZvciBkZXZpY2UgaWRlbnRpZmljYXRpb24gYW5kIHZlcmlmaWNhdGlvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBkZXNjcmlwdGlvbiBBbiBTSEEtMjU2IGhhc2ggc3RyaW5nIGdlbmVyYXRlZCBmcm9tIGRldmljZS1zcGVjaWZpYyBhdHRyaWJ1dGVzXG4gICAqL1xuICBpbml0aWFsSGFzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaW5hbCBzdGFnZSBmaW5nZXJwcmludCBoYXNoIHVzZWQgZm9yIHRydXN0ZWQgZGV2aWNlIHZlcmlmaWNhdGlvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBkZXNjcmlwdGlvbiBBbiBTSEEtMjU2IGhhc2ggc3RyaW5nIGRlcml2ZWQgZnJvbSB0aGUgaW5pdGlhbEhhc2ggYW5kIHZlcmlmaWNhdGlvbiBjb2RlXG4gICAqL1xuICBmaW5nZXJwcmludEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc2VkQXV0aGVudGljYXRpb25PcHRpb25zIHtcbiAgZW1haWw6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgZm9yY2VTTVM6IGJvb2xlYW47XG4gIG90cD86IHN0cmluZztcbiAgdHJ1c3Q/OiBudW1iZXI7XG4gIGV4dGVuc2libGU/OiBib29sZWFuO1xuICBleHRlbnNpb25BZGRyZXNzPzogc3RyaW5nO1xuICBmb3JjZVYxQXV0aD86IGJvb2xlYW47XG4gIGZvclJlc2V0MkZBPzogYm9vbGVhbjtcbiAgaW5pdGlhbEhhc2g/OiBzdHJpbmc7XG4gIGZpbmdlcnByaW50SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaXRHb0pzb24ge1xuICB1c2VyPzogVXNlcjtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGV4dGVuc2lvbktleT86IHN0cmluZztcbiAgZWNkaFhwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UGFzc3dvcmRPcHRpb25zIHtcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5Jc3N1YW5jZVJlc3BvbnNlIHtcbiAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgZW5jcnlwdGVkVG9rZW46IHN0cmluZztcbiAgZW5jcnlwdGVkRUNESFhwcnY/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5Jc3N1YW5jZSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGVjZGhYcHJ2Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc1Rva2VuU3BlbmRpbmdMaW1pdCB7XG4gIGNvaW46IHN0cmluZztcbiAgdHhDb3VudD86IG51bWJlcjtcbiAgdHhWYWx1ZT86IHN0cmluZztcbiAgdHhWYWx1ZUxpbWl0Pzogc3RyaW5nO1xuICBtYXhMaW1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQWNjZXNzVG9rZW5PcHRpb25zIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3RwPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgaXBSZXN0cmljdD86IHN0cmluZ1tdO1xuICB0eFZhbHVlTGltaXQ/OiBudW1iZXI7XG4gIHNjb3BlOiBzdHJpbmdbXTtcbiAgc3BlbmRpbmdMaW1pdHM/OiBBY2Nlc3NUb2tlblNwZW5kaW5nTGltaXRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRBY2Nlc3NUb2tlblJlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY2xpZW50OiBzdHJpbmc7XG4gIHVzZXI6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZ1tdO1xuICBjcmVhdGVkOiBzdHJpbmc7XG4gIGV4cGlyZXM6IHN0cmluZztcbiAgaXA6IHN0cmluZztcbiAgaXBSZXN0cmljdDogc3RyaW5nW107XG4gIG9yaWdpbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpc0V4dGVuc2libGU6IGJvb2xlYW47XG4gIGVuY3J5cHRlZFRva2VuOiBzdHJpbmc7XG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIGV4dGVuc2lvbkFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlQWNjZXNzVG9rZW5PcHRpb25zIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFVzZXJPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbmxvY2tPcHRpb25zIHtcbiAgb3RwPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kVG9rZW5PcHRpb25zIHtcbiAgZHVyYXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXByZWNhdGVkVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICBhZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U2VjcmV0T3B0aW9ucyB7XG4gIHNlZWQ6IHN0cmluZztcbiAgcGFzc3dvcmRzOiBzdHJpbmdbXTtcbiAgbTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0U2VjcmV0IHtcbiAgeHB1Yjogc3RyaW5nO1xuICBtOiBudW1iZXI7XG4gIG46IG51bWJlcjtcbiAgc2VlZFNoYXJlczogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29uc3RpdHV0ZVNlY3JldE9wdGlvbnMge1xuICBzaGFyZHM6IHN0cmluZ1tdO1xuICBwYXNzd29yZHM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29uc3RpdHV0ZWRTZWNyZXQge1xuICB4cHViOiBzdHJpbmc7XG4gIHhwcnY6IHN0cmluZztcbiAgc2VlZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVNoYXJkc09wdGlvbnMge1xuICBzaGFyZHM6IHN0cmluZ1tdO1xuICBwYXNzd29yZHM6IHN0cmluZ1tdO1xuICBtOiBudW1iZXI7XG4gIHhwdWI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRFY2RoU2VjcmV0T3B0aW9ucyB7XG4gIG90aGVyUHViS2V5SGV4OiBzdHJpbmc7XG4gIGVja2V5OiBFQ1BhaXJJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlUGFzc3dvcmRPcHRpb25zIHtcbiAgb2xkUGFzc3dvcmQ6IHN0cmluZztcbiAgbmV3UGFzc3dvcmQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVzdGltYXRlRmVlT3B0aW9ucyB7XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgbWF4RmVlPzogbnVtYmVyO1xuICBpbnB1dHM/OiBzdHJpbmdbXTtcbiAgdHhTaXplPzogbnVtYmVyO1xuICBjcGZwQXdhcmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2ViaG9va09wdGlvbnMge1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RXZWJob29rTm90aWZpY2F0aW9uc09wdGlvbnMge1xuICBwcmV2SWQ/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpdEdvU2ltdWxhdGVXZWJob29rT3B0aW9ucyB7XG4gIHdlYmhvb2tJZDogc3RyaW5nO1xuICBibG9ja0lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRlV2l0aEF1dGhDb2RlT3B0aW9ucyB7XG4gIGF1dGhDb2RlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlQdXNoVG9rZW5PcHRpb25zIHtcbiAgcHVzaFZlcmlmaWNhdGlvblRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclB1c2hUb2tlbk9wdGlvbnMge1xuICBwdXNoVG9rZW46IHVua25vd247XG4gIG9wZXJhdGluZ1N5c3RlbTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpblJlc3BvbnNlIHtcbiAgLy8gVGhlIEFQSSBzZXNzaW9uIHJvdXRlIGRvZXMgbm90IHJldHVybiB0aGlzLiBJdCdzIGFubm90YXRlZCBieSB0aGUgU0RLXG4gIGFjY2Vzc190b2tlbj86IHN0cmluZztcbiAgZGVyaXZhdGlvblBhdGg6IHN0cmluZztcbiAgZW5jcnlwdGVkRUNESFhwcnY/OiBzdHJpbmc7XG4gIGVuY3J5cHRlZFRva2VuPzogc3RyaW5nO1xuICAvLyBVbml0IHRpbWVzdGFtcCBvZiBleHBpcmF0aW9uXG4gIGV4cGlyZXNfYXQ6IG51bWJlcjtcbiAgLy8gc2Vjb25kcyBpbiB3aGljaCB0aGUgdG9rZW4gd2lsbCBleHBpcmUgZnJvbSBpc3N1YW5jZVxuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHNjb3BlOiBzdHJpbmdbXTtcbiAgdG9rZW5fdHlwZTogc3RyaW5nO1xuICB1c2VyOiB1bmtub3duO1xufVxuIl19
@@ -70,6 +70,90 @@ describe('Constructor', function () {
70
70
  bitgo.cookiesPropagationEnabled.should.equal(false);
71
71
  });
72
72
  });
73
+ describe('requestIdPrefix argument', function () {
74
+ afterEach(function () {
75
+ nock_1.default.cleanAll();
76
+ });
77
+ it('should prepend requestIdPrefix to Request-ID header when set', async function () {
78
+ const bitgo = new bitgoAPI_1.BitGoAPI({
79
+ env: 'custom',
80
+ customRootURI: 'https://app.example.local',
81
+ requestIdPrefix: 'test-prefix-',
82
+ });
83
+ const scope = (0, nock_1.default)('https://app.example.local')
84
+ .get('/api/v1/ping')
85
+ .matchHeader('Request-ID', /^test-prefix-/)
86
+ .reply(200, { status: 'ok' });
87
+ await bitgo.ping({
88
+ reqId: {
89
+ toString: () => '12345',
90
+ inc: () => {
91
+ /* mock */
92
+ },
93
+ },
94
+ });
95
+ scope.isDone().should.be.true();
96
+ });
97
+ it('should not modify Request-ID header when requestIdPrefix is not set', async function () {
98
+ const bitgo = new bitgoAPI_1.BitGoAPI({
99
+ env: 'custom',
100
+ customRootURI: 'https://app.example.local',
101
+ });
102
+ const scope = (0, nock_1.default)('https://app.example.local')
103
+ .get('/api/v1/ping')
104
+ .matchHeader('Request-ID', /^12345$/)
105
+ .reply(200, { status: 'ok' });
106
+ await bitgo.ping({
107
+ reqId: {
108
+ toString: () => '12345',
109
+ inc: () => {
110
+ /* mock */
111
+ },
112
+ },
113
+ });
114
+ scope.isDone().should.be.true();
115
+ });
116
+ it('should correctly format Request-ID with prefix and numeric sequence', async function () {
117
+ const bitgo = new bitgoAPI_1.BitGoAPI({
118
+ env: 'custom',
119
+ customRootURI: 'https://app.example.local',
120
+ requestIdPrefix: 'myapp-v1-',
121
+ });
122
+ const scope = (0, nock_1.default)('https://app.example.local')
123
+ .get('/api/v1/ping')
124
+ .matchHeader('Request-ID', 'myapp-v1-trace-123')
125
+ .reply(200, { status: 'ok' });
126
+ await bitgo.ping({
127
+ reqId: {
128
+ toString: () => 'trace-123',
129
+ inc: () => {
130
+ /* mock */
131
+ },
132
+ },
133
+ });
134
+ scope.isDone().should.be.true();
135
+ });
136
+ it('should work with empty string prefix', async function () {
137
+ const bitgo = new bitgoAPI_1.BitGoAPI({
138
+ env: 'custom',
139
+ customRootURI: 'https://app.example.local',
140
+ requestIdPrefix: '',
141
+ });
142
+ const scope = (0, nock_1.default)('https://app.example.local')
143
+ .get('/api/v1/ping')
144
+ .matchHeader('Request-ID', 'abc-123')
145
+ .reply(200, { status: 'ok' });
146
+ await bitgo.ping({
147
+ reqId: {
148
+ toString: () => 'abc-123',
149
+ inc: () => {
150
+ /* mock */
151
+ },
152
+ },
153
+ });
154
+ scope.isDone().should.be.true();
155
+ });
156
+ });
73
157
  describe('http proxy agent', function () {
74
158
  it('http proxy agent shall be created when proxy(customProxyagent) is set', function () {
75
159
  const customProxyAgent = new proxy_agent_1.ProxyAgent({
@@ -390,4 +474,4 @@ describe('Constructor', function () {
390
474
  });
391
475
  });
392
476
  });
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29BUEkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvYml0Z29BUEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQkFBZ0I7QUFDaEIsaURBQThDO0FBQzlDLDZDQUF5QztBQUN6Qyw2Q0FBK0I7QUFDL0IsZ0RBQXdCO0FBRXhCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLG9DQUFvQyxFQUFFO1FBQzdDLEVBQUUsQ0FBQyxpREFBaUQsRUFBRTtZQUNwRCxNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFRLENBQUM7Z0JBQ3pCLEdBQUcsRUFBRSxRQUFRO2dCQUNiLGFBQWEsRUFBRSwyQkFBMkI7Z0JBQzFDLHlCQUF5QixFQUFFLElBQUk7YUFDaEMsQ0FBQyxDQUFDO1lBRUgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFDeEQsS0FBSyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7WUFDckQsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBUSxDQUFDO2dCQUN6QixHQUFHLEVBQUUsUUFBUTtnQkFDYixhQUFhLEVBQUUsMkJBQTJCO2dCQUMxQyx5QkFBeUIsRUFBRSxLQUFLO2FBQ2pDLENBQUMsQ0FBQztZQUVILEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFO1lBQ3JELE1B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LElBQUksRUFBRSxDQUFDO1lBQ2pFLG1CQUFnQixDQUFDLGdCQUFnQixHQUFJLG1CQUFnQixDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUM3RSxtQkFBZ0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsZUFBZSxDQUFDO1lBQ3hELG1CQUFnQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUV6RCxNQUFNLEtBQUssR0FBRyxJQUFBLGNBQUksRUFBQywyQkFBMkIsQ0FBQztpQkFDNUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDO2lCQUMvQixLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV4RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUUvQyxxQ0FBcUM7WUFDckMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFNUMscUZBQXFGO1lBQ3JGLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWpDLGNBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJy4uLy4uL3NyYy9iaXRnb0FQSSc7XG5pbXBvcnQgeyBQcm94eUFnZW50IH0gZnJvbSAncHJveHktYWdlbnQnO1xuaW1wb3J0ICogYXMgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IG5vY2sgZnJvbSAnbm9jayc7XG5cbmRlc2NyaWJlKCdDb25zdHJ1Y3RvcicsIGZ1bmN0aW9uICgpIHtcbiAgZGVzY3JpYmUoJ2Nvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQgYXJndW1lbnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ2Nvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQgaXMgZW5hYmxlZCBleHBsaWNpdGx5JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICAgIGNvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQ6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgYml0Z28uc2hvdWxkLmhhdmUucHJvcGVydHkoJ2Nvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQnKTtcbiAgICAgIGJpdGdvLmNvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Nvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQgaXMgZGlzYWJsZWQgZXhwbGljaXRseScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnLFxuICAgICAgICBjb29raWVzUHJvcGFnYXRpb25FbmFibGVkOiBmYWxzZSxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnY29va2llc1Byb3BhZ2F0aW9uRW5hYmxlZCcpO1xuICAgICAgYml0Z28uY29va2llc1Byb3BhZ2F0aW9uRW5hYmxlZC5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Nvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnLFxuICAgICAgfSk7XG5cbiAgICAgIGJpdGdvLnNob3VsZC5oYXZlLnByb3BlcnR5KCdjb29raWVzUHJvcGFnYXRpb25FbmFibGVkJyk7XG4gICAgICBiaXRnby5jb29raWVzUHJvcGFnYXRpb25FbmFibGVkLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnaHR0cCBwcm94eSBhZ2VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnaHR0cCBwcm94eSBhZ2VudCBzaGFsbCBiZSBjcmVhdGVkIHdoZW4gcHJveHkoY3VzdG9tUHJveHlhZ2VudCkgaXMgc2V0JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgY3VzdG9tUHJveHlBZ2VudCA9IG5ldyBQcm94eUFnZW50KHtcbiAgICAgICAgZ2V0UHJveHlGb3JVcmw6ICgpID0+ICdodHRwOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJyxcbiAgICAgICAgY3VzdG9tUHJveHlBZ2VudCxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnX2N1c3RvbVByb3h5QWdlbnQnLCBjdXN0b21Qcm94eUFnZW50KTtcbiAgICB9KTtcblxuICAgIGl0KCdiaXRnbyBhcGkgaXMgc3RpbGwgaW5pdGlhdGVkIHdoZW4gcHJveHkoY3VzdG9tUHJveHlBZ2VudCkgaXMgbm90IHNldCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnLFxuICAgICAgfSk7XG5cbiAgICAgIGJpdGdvLnNob3VsZC5oYXZlLnByb3BlcnR5KCdfY3VzdG9tUHJveHlBZ2VudCcsIHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd2ZXJpZnlBZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc3VjY2Vzc2Z1bGx5IHZlcmlmeSBhIGJhc2U1OCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICd0ZXN0JyxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby52ZXJpZnlBZGRyZXNzKHsgYWRkcmVzczogJzJONnBhVDJUVTROMVhwYVpqSmlBcFdKWG9leXJMM1VXcGtaJyB9KS5zaG91bGQuYmUudHJ1ZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZXNzZnVsbHkgdmVyaWZ5IGEgYmVjaDMyIGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgfSk7XG5cbiAgICAgIGJpdGdvXG4gICAgICAgIC52ZXJpZnlBZGRyZXNzKHsgYWRkcmVzczogJ3RiMXFndXp5azR3NmthcXRwc2N6czVhajB3OHI3NTk4anEzNmVnbThlOTh3cXBoM3J3bWV4NjhzZXNsZ3NnJyB9KVxuICAgICAgICAuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3VybCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCBVUkwgZm9yIHZlcnNpb24gMScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAndGVzdCcsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL3Rlc3QuYml0Z28uY29tJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcGF0aCA9ICcvdGVzdC1wYXRoJztcbiAgICAgIGNvbnN0IGV4cGVjdGVkVXJsID0gJ2h0dHBzOi8vdGVzdC5iaXRnby5jb20vYXBpL3YxL3Rlc3QtcGF0aCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBiaXRnby51cmwocGF0aCwgMSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKGV4cGVjdGVkVXJsKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IFVSTCBmb3IgdmVyc2lvbiAyJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICd0ZXN0JyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vdGVzdC5iaXRnby5jb20nLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBwYXRoID0gJy90ZXN0LXBhdGgnO1xuICAgICAgY29uc3QgZXhwZWN0ZWRVcmwgPSAnaHR0cHM6Ly90ZXN0LmJpdGdvLmNvbS9hcGkvdjIvdGVzdC1wYXRoJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJpdGdvLnVybChwYXRoLCAyKTtcbiAgICAgIHJlc3VsdC5zaG91bGQuZXF1YWwoZXhwZWN0ZWRVcmwpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGNvcnJlY3QgVVJMIGZvciB2ZXJzaW9uIDMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly90ZXN0LmJpdGdvLmNvbScsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhdGggPSAnL3Rlc3QtcGF0aCc7XG4gICAgICBjb25zdCBleHBlY3RlZFVybCA9ICdodHRwczovL3Rlc3QuYml0Z28uY29tL2FwaS92My90ZXN0LXBhdGgnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYml0Z28udXJsKHBhdGgsIDMpO1xuICAgICAgcmVzdWx0LnNob3VsZC5lcXVhbChleHBlY3RlZFVybCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRlZmF1bHQgdG8gdmVyc2lvbiAxIGlmIG5vIHZlcnNpb24gaXMgcHJvdmlkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly90ZXN0LmJpdGdvLmNvbScsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhdGggPSAnL3Rlc3QtcGF0aCc7XG4gICAgICBjb25zdCBleHBlY3RlZFVybCA9ICdodHRwczovL3Rlc3QuYml0Z28uY29tL2FwaS92MS90ZXN0LXBhdGgnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYml0Z28udXJsKHBhdGgpO1xuICAgICAgcmVzdWx0LnNob3VsZC5lcXVhbChleHBlY3RlZFVybCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkZWNyeXB0S2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgYml0Z286IEJpdEdvQVBJO1xuXG4gICAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgc2lub24ucmVzdG9yZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBpZiBubyBwYXJhbXMgYXJlIHByb3ZpZGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIGludGVudGlvbmFsbHkgY2FsbGluZyB3aXRoIG5vIHBhcmFtcyBmb3IgdGVzdFxuICAgICAgICBiaXRnby5kZWNyeXB0S2V5cygpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmNvbnRhaW5FcWwoJ01pc3NpbmcgcGFyYW1ldGVyJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGlmIHdhbGxldElkRW5jcnlwdGVkS2V5UGFpcnMgaXMgbWlzc2luZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IG1pc3NpbmcgcmVxdWlyZWQgcGFyYW1cbiAgICAgICAgYml0Z28uZGVjcnlwdEtleXMoeyBwYXNzd29yZDogJ3Bhc3N3b3JkMTIzJyB9KTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlcnJvciBidXQgZ290IG5vbmUnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZS5tZXNzYWdlLnNob3VsZC5jb250YWluRXFsKCdNaXNzaW5nIHBhcmFtZXRlcjogd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlycycpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBpZiBwYXNzd29yZCBpcyBtaXNzaW5nJywgZnVuY3Rpb24gKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIGludGVudGlvbmFsbHkgbWlzc2luZyByZXF1aXJlZCBwYXJhbVxuICAgICAgICBiaXRnby5kZWNyeXB0S2V5cyh7IHdhbGxldElkRW5jcnlwdGVkS2V5UGFpcnM6IFtdIH0pO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmNvbnRhaW5FcWwoJ01pc3NpbmcgcGFyYW1ldGVyOiBwYXNzd29yZCcpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBpZiB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzIGlzIG5vdCBhbiBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IHByb3ZpZGluZyB3cm9uZyB0eXBlXG4gICAgICAgIGJpdGdvLmRlY3J5cHRLZXlzKHsgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogJ25vdCBhbiBhcnJheScsIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnIH0pO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmVxdWFsKCd3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGVtcHR5IGFycmF5IGZvciBlbXB0eSB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYml0Z28uZGVjcnlwdEtleXMoeyB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzOiBbXSwgcGFzc3dvcmQ6ICdwYXNzd29yZDEyMycgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmJlLmFuLkFycmF5KCk7XG4gICAgICByZXN1bHQuc2hvdWxkLmJlLmVtcHR5KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGlmIGFueSB3YWxsZXRJZCBpcyBtaXNzaW5nIG9yIG5vdCBhIHN0cmluZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgICB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzOiBbXG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gaW50ZW50aW9uYWxseSBtaXNzaW5nIHdhbGxldElkXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXNzd29yZDogJ3Bhc3N3b3JkMTIzJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgZXJyb3IgYnV0IGdvdCBub25lJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGUubWVzc2FnZS5zaG91bGQuZXF1YWwoJ2VhY2gga2V5IHBhaXIgbXVzdCBoYXZlIGEgc3RyaW5nIHdhbGxldElkJyk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgICB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IHByb3ZpZGluZyB3cm9uZyB0eXBlXG4gICAgICAgICAgICAgIHdhbGxldElkOiAxMjMsXG4gICAgICAgICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXNzd29yZDogJ3Bhc3N3b3JkMTIzJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgZXJyb3IgYnV0IGdvdCBub25lJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGUubWVzc2FnZS5zaG91bGQuZXF1YWwoJ2VhY2gga2V5IHBhaXIgbXVzdCBoYXZlIGEgc3RyaW5nIHdhbGxldElkJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGlmIGFueSBlbmNyeXB0ZWRQcnYgaXMgbWlzc2luZyBvciBub3QgYSBzdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB0cnkge1xuICAgICAgICBiaXRnby5kZWNyeXB0S2V5cyh7XG4gICAgICAgICAgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogW1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIGludGVudGlvbmFsbHkgbWlzc2luZyBlbmNyeXB0ZWRQcnZcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcGFzc3dvcmQ6ICdwYXNzd29yZDEyMycsXG4gICAgICAgIH0pO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmVxdWFsKCdlYWNoIGtleSBwYWlyIG11c3QgaGF2ZSBhIHN0cmluZyBlbmNyeXB0ZWRQcnYnKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgYml0Z28uZGVjcnlwdEtleXMoe1xuICAgICAgICAgIHdhbGxldElkRW5jcnlwdGVkS2V5UGFpcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsXG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IHByb3ZpZGluZyB3cm9uZyB0eXBlXG4gICAgICAgICAgICAgIGVuY3J5cHRlZFBydjogMTIzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlcnJvciBidXQgZ290IG5vbmUnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZS5tZXNzYWdlLnNob3VsZC5lcXVhbCgnZWFjaCBrZXkgcGFpciBtdXN0IGhhdmUgYSBzdHJpbmcgZW5jcnlwdGVkUHJ2Jyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB3YWxsZXRJZHMgb2Yga2V5cyB0aGF0IGZhaWxlZCB0byBkZWNyeXB0JywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gQ3JlYXRlIGEgc3R1YiBmb3IgdGhlIGRlY3J5cHQgbWV0aG9kXG4gICAgICBjb25zdCBkZWNyeXB0U3R1YiA9IHNpbm9uLnN0dWIoYml0Z28sICdkZWNyeXB0Jyk7XG5cbiAgICAgIC8vIE1ha2UgaXQgc3VjY2VlZCBmb3IgZmlyc3Qgd2FsbGV0IGFuZCBmYWlsIGZvciBzZWNvbmQgd2FsbGV0XG4gICAgICBkZWNyeXB0U3R1Yi5vbkZpcnN0Q2FsbCgpLnJldHVybnMoJ2RlY3J5cHRlZC1rZXktMScpO1xuICAgICAgZGVjcnlwdFN0dWIub25TZWNvbmRDYWxsKCkudGhyb3dzKG5ldyBFcnJvcignZGVjcnlwdGlvbiBmYWlsZWQnKSk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogW1xuICAgICAgICAgIHsgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhLTEnIH0sXG4gICAgICAgICAgeyB3YWxsZXRJZDogJ3dhbGxldC1pZC0yJywgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkLWRhdGEtMicgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFzc3dvcmQ6ICdwYXNzd29yZDEyMycsXG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0LnNob3VsZC5iZS5hbi5BcnJheSgpO1xuICAgICAgcmVzdWx0LnNob3VsZC5oYXZlLmxlbmd0aCgxKTtcbiAgICAgIHJlc3VsdFswXS5zaG91bGQuZXF1YWwoJ3dhbGxldC1pZC0yJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvcnJlY3RseSBwcm9jZXNzIG11bHRpcGxlIHdhbGxldCBrZXlzJywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gQ3JlYXRlIGEgc3B5IG9uIHRoZSBkZWNyeXB0IG1ldGhvZFxuICAgICAgY29uc3QgZGVjcnlwdFN0dWIgPSBzaW5vbi5zdHViKGJpdGdvLCAnZGVjcnlwdCcpO1xuXG4gICAgICAvLyBDb25maWd1cmUgdGhlIHN0dWIgdG8gdGhyb3cgZm9yIHNwZWNpZmljIHdhbGxldHNcbiAgICAgIGRlY3J5cHRTdHViXG4gICAgICAgIC53aXRoQXJncyh7IGlucHV0OiAnZW5jcnlwdGVkLWRhdGEtMicsIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnIH0pXG4gICAgICAgIC50aHJvd3MobmV3IEVycm9yKCdkZWNyeXB0aW9uIGZhaWxlZCcpKTtcbiAgICAgIGRlY3J5cHRTdHViXG4gICAgICAgIC53aXRoQXJncyh7IGlucHV0OiAnZW5jcnlwdGVkLWRhdGEtNCcsIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnIH0pXG4gICAgICAgIC50aHJvd3MobmV3IEVycm9yKCdkZWNyeXB0aW9uIGZhaWxlZCcpKTtcbiAgICAgIGRlY3J5cHRTdHViLnJldHVybnMoJ3N1Y2Nlc3MnKTsgLy8gRGVmYXVsdCByZXR1cm4gZm9yIG90aGVyIGNhbGxzXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogW1xuICAgICAgICAgIHsgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhLTEnIH0sXG4gICAgICAgICAgeyB3YWxsZXRJZDogJ3dhbGxldC1pZC0yJywgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkLWRhdGEtMicgfSxcbiAgICAgICAgICB7IHdhbGxldElkOiAnd2FsbGV0LWlkLTMnLCBlbmNyeXB0ZWRQcnY6ICdlbmNyeXB0ZWQtZGF0YS0zJyB9LFxuICAgICAgICAgIHsgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtNCcsIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhLTQnIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNob3VsZCBiZSBjYWxsZWQgb25jZSBmb3IgZWFjaCB3YWxsZXRcbiAgICAgIGRlY3J5cHRTdHViLmNhbGxDb3VudC5zaG91bGQuZXF1YWwoNCk7XG5cbiAgICAgIC8vIFNob3VsZCBpbmNsdWRlIG9ubHkgdGhlIGZhaWxlZCB3YWxsZXQgSURzXG4gICAgICByZXN1bHQuc2hvdWxkLmJlLmFuLkFycmF5KCk7XG4gICAgICByZXN1bHQuc2hvdWxkLmhhdmUubGVuZ3RoKDIpO1xuICAgICAgcmVzdWx0LnNob3VsZC5jb250YWluRGVlcChbJ3dhbGxldC1pZC0yJywgJ3dhbGxldC1pZC00J10pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29uc3RhbnRzIHBhcmFtZXRlcicsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGFsbG93IHBhc3NpbmcgY29uc3RhbnRzIHZpYSBvcHRpb25zIGFuZCBleHBvc2UgdmlhIGZldGNoQ29uc3RhbnRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICAgIGNsaWVudENvbnN0YW50czogeyBtYXhGZWVSYXRlOiAnMTIzMTIzMTIzMTIzMTIzJyB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNvbnN0YW50cyA9IGF3YWl0IGJpdGdvLmZldGNoQ29uc3RhbnRzKCk7XG4gICAgICBjb25zdGFudHMuc2hvdWxkLmhhdmUucHJvcGVydHkoJ21heEZlZVJhdGUnLCAnMTIzMTIzMTIzMTIzMTIzJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlZnJlc2ggY29uc3RhbnRzIHdoZW4gY2FjaGUgaGFzIGV4cGlyZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJyxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTZXQgdXAgY2FjaGVkIGNvbnN0YW50cyB3aXRoIGFuIGV4cGlyZWQgY2FjaGVcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHMgPSAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzIHx8IHt9O1xuICAgICAgKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50c0V4cGlyZSA9IChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmUgfHwge307XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzWydjdXN0b20nXSA9IHsgbWF4RmVlUmF0ZTogJ29sZC12YWx1ZScgfTtcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmVbJ2N1c3RvbSddID0gbmV3IERhdGUoRGF0ZS5ub3coKSAtIDEwMDApOyAvLyBFeHBpcmVkIDEgc2Vjb25kIGFnb1xuXG4gICAgICBjb25zdCBzY29wZSA9IG5vY2soJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnKVxuICAgICAgICAuZ2V0KCcvYXBpL3YxL2NsaWVudC9jb25zdGFudHMnKVxuICAgICAgICAucmVwbHkoMjAwLCB7XG4gICAgICAgICAgY29uc3RhbnRzOiB7IG1heEZlZVJhdGU6ICduZXctdmFsdWUnLCBuZXdDb25zdGFudDogJ2FkZGVkJyB9LFxuICAgICAgICB9KTtcblxuICAgICAgY29uc3QgY29uc3RhbnRzID0gYXdhaXQgYml0Z28uZmV0Y2hDb25zdGFudHMoKTtcblxuICAgICAgLy8gU2hvdWxkIHJldHVybiB0aGUgbmV3IGNvbnN0YW50cyBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgIGNvbnN0YW50cy5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnbWF4RmVlUmF0ZScsICduZXctdmFsdWUnKTtcbiAgICAgIGNvbnN0YW50cy5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnbmV3Q29uc3RhbnQnLCAnYWRkZWQnKTtcblxuICAgICAgc2NvcGUuaXNEb25lKCkuc2hvdWxkLmJlLnRydWUoKTtcblxuICAgICAgbm9jay5jbGVhbkFsbCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB1c2UgY2FjaGVkIGNvbnN0YW50cyB3aGVuIGNhY2hlIGlzIHN0aWxsIHZhbGlkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICB9KTtcblxuICAgICAgLy8gU2V0IHVwIGNhY2hlZCBjb25zdGFudHMgd2l0aCBhIGZ1dHVyZSBleHBpcnlcbiAgICAgIGNvbnN0IGNhY2hlZENvbnN0YW50cyA9IHsgbWF4RmVlUmF0ZTogJ2NhY2hlZC12YWx1ZScsIGFub3RoZXJTZXR0aW5nOiAnY2FjaGVkLXNldHRpbmcnIH07XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzID0gKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50cyB8fCB7fTtcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmUgPSAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlIHx8IHt9O1xuICAgICAgKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50c1snY3VzdG9tJ10gPSBjYWNoZWRDb25zdGFudHM7XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlWydjdXN0b20nXSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyA1ICogNjAgKiAxMDAwKTsgLy8gVmFsaWQgZm9yIDUgbW9yZSBtaW51dGVzXG5cbiAgICAgIGNvbnN0IHNjb3BlID0gbm9jaygnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcpXG4gICAgICAgIC5nZXQoJy9hcGkvdjEvY2xpZW50L2NvbnN0YW50cycpXG4gICAgICAgIC5yZXBseSgyMDAsIHsgY29uc3RhbnRzOiB7IHNob3VsZE5vdEJlVXNlZDogdHJ1ZSB9IH0pO1xuXG4gICAgICBjb25zdCBjb25zdGFudHMgPSBhd2FpdCBiaXRnby5mZXRjaENvbnN0YW50cygpO1xuXG4gICAgICAvLyBTaG91bGQgcmV0dXJuIHRoZSBjYWNoZWQgY29uc3RhbnRzXG4gICAgICBjb25zdGFudHMuc2hvdWxkLmRlZXBFcXVhbChjYWNoZWRDb25zdGFudHMpO1xuXG4gICAgICAvLyBWZXJpZnkgdGhhdCBubyBIVFRQIHJlcXVlc3Qgd2FzIG1hZGUgKHNpbmNlIGNhY2hlIHdhcyB2YWxpZClcbiAgICAgIHNjb3BlLmlzRG9uZSgpLnNob3VsZC5iZS5mYWxzZSgpO1xuXG4gICAgICBub2NrLmNsZWFuQWxsKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHVzZSBjYWNoZWQgY29uc3RhbnRzIHdoZW4gbm8gY2FjaGUgZXhwaXJ5IGlzIHNldCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNldCB1cCBjYWNoZWQgY29uc3RhbnRzIHdpdGggbm8gZXhwaXJ5XG4gICAgICBjb25zdCBjYWNoZWRDb25zdGFudHMgPSB7IG1heEZlZVJhdGU6ICduby1leHBpcnktdmFsdWUnIH07XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzID0gKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50cyB8fCB7fTtcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmUgPSAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlIHx8IHt9O1xuICAgICAgKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50c1snY3VzdG9tJ10gPSBjYWNoZWRDb25zdGFudHM7XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlWydjdXN0b20nXSA9IHVuZGVmaW5lZDtcblxuICAgICAgY29uc3Qgc2NvcGUgPSBub2NrKCdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJylcbiAgICAgICAgLmdldCgnL2FwaS92MS9jbGllbnQvY29uc3RhbnRzJylcbiAgICAgICAgLnJlcGx5KDIwMCwgeyBjb25zdGFudHM6IHsgc2hvdWxkTm90QmVVc2VkOiB0cnVlIH0gfSk7XG5cbiAgICAgIGNvbnN0IGNvbnN0YW50cyA9IGF3YWl0IGJpdGdvLmZldGNoQ29uc3RhbnRzKCk7XG5cbiAgICAgIC8vIFNob3VsZCByZXR1cm4gdGhlIGNhY2hlZCBjb25zdGFudHNcbiAgICAgIGNvbnN0YW50cy5zaG91bGQuZGVlcEVxdWFsKGNhY2hlZENvbnN0YW50cyk7XG5cbiAgICAgIC8vIFZlcmlmeSB0aGF0IG5vIEhUVFAgcmVxdWVzdCB3YXMgbWFkZSAoc2luY2Ugbm8gZXhwaXJ5IG1lYW5zIGNhY2hlIGlzIGFsd2F5cyB2YWxpZClcbiAgICAgIHNjb3BlLmlzRG9uZSgpLnNob3VsZC5iZS5mYWxzZSgpO1xuXG4gICAgICBub2NrLmNsZWFuQWxsKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
477
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29BUEkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvYml0Z29BUEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQkFBZ0I7QUFDaEIsaURBQThDO0FBQzlDLDZDQUF5QztBQUN6Qyw2Q0FBK0I7QUFDL0IsZ0RBQXdCO0FBRXhCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsUUFBUSxDQUFDLG9DQUFvQyxFQUFFO1FBQzdDLEVBQUUsQ0FBQyxpREFBaUQsRUFBRTtZQUNwRCxNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFRLENBQUM7Z0JBQ3pCLEdBQUcsRUFBRSxRQUFRO2dCQUNiLGFBQWEsRUFBRSwyQkFBMkI7Z0JBQzFDLHlCQUF5QixFQUFFLElBQUk7YUFDaEMsQ0FBQyxDQUFDO1lBRUgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFDeEQsS0FBSyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7WUFDckQsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBUSxDQUFDO2dCQUN6QixHQUFHLEVBQUUsUUFBUTtnQkFDYixhQUFhLEVBQUUsMkJBQTJCO2dCQUMxQyx5QkFBeUIsRUFBRSxLQUFLO2FBQ2pDLENBQUMsQ0FBQztZQUVILEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFO1lBQ3JELE1B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eEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFL0MscUNBQXFDO1lBQ3JDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRTVDLHFGQUFxRjtZQUNyRixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVqQyxjQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICcuLi8uLi9zcmMvYml0Z29BUEknO1xuaW1wb3J0IHsgUHJveHlBZ2VudCB9IGZyb20gJ3Byb3h5LWFnZW50JztcbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCBub2NrIGZyb20gJ25vY2snO1xuXG5kZXNjcmliZSgnQ29uc3RydWN0b3InLCBmdW5jdGlvbiAoKSB7XG4gIGRlc2NyaWJlKCdjb29raWVzUHJvcGFnYXRpb25FbmFibGVkIGFyZ3VtZW50JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdjb29raWVzUHJvcGFnYXRpb25FbmFibGVkIGlzIGVuYWJsZWQgZXhwbGljaXRseScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnLFxuICAgICAgICBjb29raWVzUHJvcGFnYXRpb25FbmFibGVkOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGJpdGdvLnNob3VsZC5oYXZlLnByb3BlcnR5KCdjb29raWVzUHJvcGFnYXRpb25FbmFibGVkJyk7XG4gICAgICBiaXRnby5jb29raWVzUHJvcGFnYXRpb25FbmFibGVkLnNob3VsZC5lcXVhbCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb29raWVzUHJvcGFnYXRpb25FbmFibGVkIGlzIGRpc2FibGVkIGV4cGxpY2l0bHknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJyxcbiAgICAgICAgY29va2llc1Byb3BhZ2F0aW9uRW5hYmxlZDogZmFsc2UsXG4gICAgICB9KTtcblxuICAgICAgYml0Z28uc2hvdWxkLmhhdmUucHJvcGVydHkoJ2Nvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQnKTtcbiAgICAgIGJpdGdvLmNvb2tpZXNQcm9wYWdhdGlvbkVuYWJsZWQuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb29raWVzUHJvcGFnYXRpb25FbmFibGVkIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJyxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnY29va2llc1Byb3BhZ2F0aW9uRW5hYmxlZCcpO1xuICAgICAgYml0Z28uY29va2llc1Byb3BhZ2F0aW9uRW5hYmxlZC5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVxdWVzdElkUHJlZml4IGFyZ3VtZW50JywgZnVuY3Rpb24gKCkge1xuICAgIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBub2NrLmNsZWFuQWxsKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHByZXBlbmQgcmVxdWVzdElkUHJlZml4IHRvIFJlcXVlc3QtSUQgaGVhZGVyIHdoZW4gc2V0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICAgIHJlcXVlc3RJZFByZWZpeDogJ3Rlc3QtcHJlZml4LScsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2NvcGUgPSBub2NrKCdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJylcbiAgICAgICAgLmdldCgnL2FwaS92MS9waW5nJylcbiAgICAgICAgLm1hdGNoSGVhZGVyKCdSZXF1ZXN0LUlEJywgL150ZXN0LXByZWZpeC0vKVxuICAgICAgICAucmVwbHkoMjAwLCB7IHN0YXR1czogJ29rJyB9KTtcblxuICAgICAgYXdhaXQgYml0Z28ucGluZyh7XG4gICAgICAgIHJlcUlkOiB7XG4gICAgICAgICAgdG9TdHJpbmc6ICgpID0+ICcxMjM0NScsXG4gICAgICAgICAgaW5jOiAoKSA9PiB7XG4gICAgICAgICAgICAvKiBtb2NrICovXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9KTtcblxuICAgICAgc2NvcGUuaXNEb25lKCkuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IG1vZGlmeSBSZXF1ZXN0LUlEIGhlYWRlciB3aGVuIHJlcXVlc3RJZFByZWZpeCBpcyBub3Qgc2V0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2NvcGUgPSBub2NrKCdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJylcbiAgICAgICAgLmdldCgnL2FwaS92MS9waW5nJylcbiAgICAgICAgLm1hdGNoSGVhZGVyKCdSZXF1ZXN0LUlEJywgL14xMjM0NSQvKVxuICAgICAgICAucmVwbHkoMjAwLCB7IHN0YXR1czogJ29rJyB9KTtcblxuICAgICAgYXdhaXQgYml0Z28ucGluZyh7XG4gICAgICAgIHJlcUlkOiB7XG4gICAgICAgICAgdG9TdHJpbmc6ICgpID0+ICcxMjM0NScsXG4gICAgICAgICAgaW5jOiAoKSA9PiB7XG4gICAgICAgICAgICAvKiBtb2NrICovXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9KTtcblxuICAgICAgc2NvcGUuaXNEb25lKCkuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY29ycmVjdGx5IGZvcm1hdCBSZXF1ZXN0LUlEIHdpdGggcHJlZml4IGFuZCBudW1lcmljIHNlcXVlbmNlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICAgIHJlcXVlc3RJZFByZWZpeDogJ215YXBwLXYxLScsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2NvcGUgPSBub2NrKCdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJylcbiAgICAgICAgLmdldCgnL2FwaS92MS9waW5nJylcbiAgICAgICAgLm1hdGNoSGVhZGVyKCdSZXF1ZXN0LUlEJywgJ215YXBwLXYxLXRyYWNlLTEyMycpXG4gICAgICAgIC5yZXBseSgyMDAsIHsgc3RhdHVzOiAnb2snIH0pO1xuXG4gICAgICBhd2FpdCBiaXRnby5waW5nKHtcbiAgICAgICAgcmVxSWQ6IHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJ3RyYWNlLTEyMycsXG4gICAgICAgICAgaW5jOiAoKSA9PiB7XG4gICAgICAgICAgICAvKiBtb2NrICovXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9KTtcblxuICAgICAgc2NvcGUuaXNEb25lKCkuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgd29yayB3aXRoIGVtcHR5IHN0cmluZyBwcmVmaXgnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJyxcbiAgICAgICAgcmVxdWVzdElkUHJlZml4OiAnJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzY29wZSA9IG5vY2soJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnKVxuICAgICAgICAuZ2V0KCcvYXBpL3YxL3BpbmcnKVxuICAgICAgICAubWF0Y2hIZWFkZXIoJ1JlcXVlc3QtSUQnLCAnYWJjLTEyMycpXG4gICAgICAgIC5yZXBseSgyMDAsIHsgc3RhdHVzOiAnb2snIH0pO1xuXG4gICAgICBhd2FpdCBiaXRnby5waW5nKHtcbiAgICAgICAgcmVxSWQ6IHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJ2FiYy0xMjMnLFxuICAgICAgICAgIGluYzogKCkgPT4ge1xuICAgICAgICAgICAgLyogbW9jayAqL1xuICAgICAgICAgIH0sXG4gICAgICAgIH0gYXMgYW55LFxuICAgICAgfSk7XG5cbiAgICAgIHNjb3BlLmlzRG9uZSgpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnaHR0cCBwcm94eSBhZ2VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnaHR0cCBwcm94eSBhZ2VudCBzaGFsbCBiZSBjcmVhdGVkIHdoZW4gcHJveHkoY3VzdG9tUHJveHlhZ2VudCkgaXMgc2V0JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgY3VzdG9tUHJveHlBZ2VudCA9IG5ldyBQcm94eUFnZW50KHtcbiAgICAgICAgZ2V0UHJveHlGb3JVcmw6ICgpID0+ICdodHRwOi8vbG9jYWxob3N0OjMwMDAnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJyxcbiAgICAgICAgY3VzdG9tUHJveHlBZ2VudCxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnX2N1c3RvbVByb3h5QWdlbnQnLCBjdXN0b21Qcm94eUFnZW50KTtcbiAgICB9KTtcblxuICAgIGl0KCdiaXRnbyBhcGkgaXMgc3RpbGwgaW5pdGlhdGVkIHdoZW4gcHJveHkoY3VzdG9tUHJveHlBZ2VudCkgaXMgbm90IHNldCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnLFxuICAgICAgfSk7XG5cbiAgICAgIGJpdGdvLnNob3VsZC5oYXZlLnByb3BlcnR5KCdfY3VzdG9tUHJveHlBZ2VudCcsIHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd2ZXJpZnlBZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc3VjY2Vzc2Z1bGx5IHZlcmlmeSBhIGJhc2U1OCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICd0ZXN0JyxcbiAgICAgIH0pO1xuXG4gICAgICBiaXRnby52ZXJpZnlBZGRyZXNzKHsgYWRkcmVzczogJzJONnBhVDJUVTROMVhwYVpqSmlBcFdKWG9leXJMM1VXcGtaJyB9KS5zaG91bGQuYmUudHJ1ZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZXNzZnVsbHkgdmVyaWZ5IGEgYmVjaDMyIGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgfSk7XG5cbiAgICAgIGJpdGdvXG4gICAgICAgIC52ZXJpZnlBZGRyZXNzKHsgYWRkcmVzczogJ3RiMXFndXp5azR3NmthcXRwc2N6czVhajB3OHI3NTk4anEzNmVnbThlOTh3cXBoM3J3bWV4NjhzZXNsZ3NnJyB9KVxuICAgICAgICAuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3VybCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCBVUkwgZm9yIHZlcnNpb24gMScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAndGVzdCcsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL3Rlc3QuYml0Z28uY29tJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcGF0aCA9ICcvdGVzdC1wYXRoJztcbiAgICAgIGNvbnN0IGV4cGVjdGVkVXJsID0gJ2h0dHBzOi8vdGVzdC5iaXRnby5jb20vYXBpL3YxL3Rlc3QtcGF0aCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBiaXRnby51cmwocGF0aCwgMSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmVxdWFsKGV4cGVjdGVkVXJsKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IFVSTCBmb3IgdmVyc2lvbiAyJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICd0ZXN0JyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vdGVzdC5iaXRnby5jb20nLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBwYXRoID0gJy90ZXN0LXBhdGgnO1xuICAgICAgY29uc3QgZXhwZWN0ZWRVcmwgPSAnaHR0cHM6Ly90ZXN0LmJpdGdvLmNvbS9hcGkvdjIvdGVzdC1wYXRoJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJpdGdvLnVybChwYXRoLCAyKTtcbiAgICAgIHJlc3VsdC5zaG91bGQuZXF1YWwoZXhwZWN0ZWRVcmwpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGNvcnJlY3QgVVJMIGZvciB2ZXJzaW9uIDMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly90ZXN0LmJpdGdvLmNvbScsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhdGggPSAnL3Rlc3QtcGF0aCc7XG4gICAgICBjb25zdCBleHBlY3RlZFVybCA9ICdodHRwczovL3Rlc3QuYml0Z28uY29tL2FwaS92My90ZXN0LXBhdGgnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYml0Z28udXJsKHBhdGgsIDMpO1xuICAgICAgcmVzdWx0LnNob3VsZC5lcXVhbChleHBlY3RlZFVybCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRlZmF1bHQgdG8gdmVyc2lvbiAxIGlmIG5vIHZlcnNpb24gaXMgcHJvdmlkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly90ZXN0LmJpdGdvLmNvbScsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhdGggPSAnL3Rlc3QtcGF0aCc7XG4gICAgICBjb25zdCBleHBlY3RlZFVybCA9ICdodHRwczovL3Rlc3QuYml0Z28uY29tL2FwaS92MS90ZXN0LXBhdGgnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYml0Z28udXJsKHBhdGgpO1xuICAgICAgcmVzdWx0LnNob3VsZC5lcXVhbChleHBlY3RlZFVybCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkZWNyeXB0S2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgYml0Z286IEJpdEdvQVBJO1xuXG4gICAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ3Rlc3QnLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBhZnRlckVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgc2lub24ucmVzdG9yZSgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBpZiBubyBwYXJhbXMgYXJlIHByb3ZpZGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIGludGVudGlvbmFsbHkgY2FsbGluZyB3aXRoIG5vIHBhcmFtcyBmb3IgdGVzdFxuICAgICAgICBiaXRnby5kZWNyeXB0S2V5cygpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmNvbnRhaW5FcWwoJ01pc3NpbmcgcGFyYW1ldGVyJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGlmIHdhbGxldElkRW5jcnlwdGVkS2V5UGFpcnMgaXMgbWlzc2luZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IG1pc3NpbmcgcmVxdWlyZWQgcGFyYW1cbiAgICAgICAgYml0Z28uZGVjcnlwdEtleXMoeyBwYXNzd29yZDogJ3Bhc3N3b3JkMTIzJyB9KTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlcnJvciBidXQgZ290IG5vbmUnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZS5tZXNzYWdlLnNob3VsZC5jb250YWluRXFsKCdNaXNzaW5nIHBhcmFtZXRlcjogd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlycycpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBpZiBwYXNzd29yZCBpcyBtaXNzaW5nJywgZnVuY3Rpb24gKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIGludGVudGlvbmFsbHkgbWlzc2luZyByZXF1aXJlZCBwYXJhbVxuICAgICAgICBiaXRnby5kZWNyeXB0S2V5cyh7IHdhbGxldElkRW5jcnlwdGVkS2V5UGFpcnM6IFtdIH0pO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmNvbnRhaW5FcWwoJ01pc3NpbmcgcGFyYW1ldGVyOiBwYXNzd29yZCcpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBpZiB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzIGlzIG5vdCBhbiBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IHByb3ZpZGluZyB3cm9uZyB0eXBlXG4gICAgICAgIGJpdGdvLmRlY3J5cHRLZXlzKHsgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogJ25vdCBhbiBhcnJheScsIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnIH0pO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmVxdWFsKCd3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGVtcHR5IGFycmF5IGZvciBlbXB0eSB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYml0Z28uZGVjcnlwdEtleXMoeyB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzOiBbXSwgcGFzc3dvcmQ6ICdwYXNzd29yZDEyMycgfSk7XG4gICAgICByZXN1bHQuc2hvdWxkLmJlLmFuLkFycmF5KCk7XG4gICAgICByZXN1bHQuc2hvdWxkLmJlLmVtcHR5KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGlmIGFueSB3YWxsZXRJZCBpcyBtaXNzaW5nIG9yIG5vdCBhIHN0cmluZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgICB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzOiBbXG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gaW50ZW50aW9uYWxseSBtaXNzaW5nIHdhbGxldElkXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXNzd29yZDogJ3Bhc3N3b3JkMTIzJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgZXJyb3IgYnV0IGdvdCBub25lJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGUubWVzc2FnZS5zaG91bGQuZXF1YWwoJ2VhY2gga2V5IHBhaXIgbXVzdCBoYXZlIGEgc3RyaW5nIHdhbGxldElkJyk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgICB3YWxsZXRJZEVuY3J5cHRlZEtleVBhaXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IHByb3ZpZGluZyB3cm9uZyB0eXBlXG4gICAgICAgICAgICAgIHdhbGxldElkOiAxMjMsXG4gICAgICAgICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXNzd29yZDogJ3Bhc3N3b3JkMTIzJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgZXJyb3IgYnV0IGdvdCBub25lJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGUubWVzc2FnZS5zaG91bGQuZXF1YWwoJ2VhY2gga2V5IHBhaXIgbXVzdCBoYXZlIGEgc3RyaW5nIHdhbGxldElkJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGlmIGFueSBlbmNyeXB0ZWRQcnYgaXMgbWlzc2luZyBvciBub3QgYSBzdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB0cnkge1xuICAgICAgICBiaXRnby5kZWNyeXB0S2V5cyh7XG4gICAgICAgICAgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogW1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIGludGVudGlvbmFsbHkgbWlzc2luZyBlbmNyeXB0ZWRQcnZcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcGFzc3dvcmQ6ICdwYXNzd29yZDEyMycsXG4gICAgICAgIH0pO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGVycm9yIGJ1dCBnb3Qgbm9uZScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlLm1lc3NhZ2Uuc2hvdWxkLmVxdWFsKCdlYWNoIGtleSBwYWlyIG11c3QgaGF2ZSBhIHN0cmluZyBlbmNyeXB0ZWRQcnYnKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgYml0Z28uZGVjcnlwdEtleXMoe1xuICAgICAgICAgIHdhbGxldElkRW5jcnlwdGVkS2V5UGFpcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsXG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpbnRlbnRpb25hbGx5IHByb3ZpZGluZyB3cm9uZyB0eXBlXG4gICAgICAgICAgICAgIGVuY3J5cHRlZFBydjogMTIzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBlcnJvciBidXQgZ290IG5vbmUnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZS5tZXNzYWdlLnNob3VsZC5lcXVhbCgnZWFjaCBrZXkgcGFpciBtdXN0IGhhdmUgYSBzdHJpbmcgZW5jcnlwdGVkUHJ2Jyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB3YWxsZXRJZHMgb2Yga2V5cyB0aGF0IGZhaWxlZCB0byBkZWNyeXB0JywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gQ3JlYXRlIGEgc3R1YiBmb3IgdGhlIGRlY3J5cHQgbWV0aG9kXG4gICAgICBjb25zdCBkZWNyeXB0U3R1YiA9IHNpbm9uLnN0dWIoYml0Z28sICdkZWNyeXB0Jyk7XG5cbiAgICAgIC8vIE1ha2UgaXQgc3VjY2VlZCBmb3IgZmlyc3Qgd2FsbGV0IGFuZCBmYWlsIGZvciBzZWNvbmQgd2FsbGV0XG4gICAgICBkZWNyeXB0U3R1Yi5vbkZpcnN0Q2FsbCgpLnJldHVybnMoJ2RlY3J5cHRlZC1rZXktMScpO1xuICAgICAgZGVjcnlwdFN0dWIub25TZWNvbmRDYWxsKCkudGhyb3dzKG5ldyBFcnJvcignZGVjcnlwdGlvbiBmYWlsZWQnKSk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogW1xuICAgICAgICAgIHsgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhLTEnIH0sXG4gICAgICAgICAgeyB3YWxsZXRJZDogJ3dhbGxldC1pZC0yJywgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkLWRhdGEtMicgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFzc3dvcmQ6ICdwYXNzd29yZDEyMycsXG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0LnNob3VsZC5iZS5hbi5BcnJheSgpO1xuICAgICAgcmVzdWx0LnNob3VsZC5oYXZlLmxlbmd0aCgxKTtcbiAgICAgIHJlc3VsdFswXS5zaG91bGQuZXF1YWwoJ3dhbGxldC1pZC0yJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvcnJlY3RseSBwcm9jZXNzIG11bHRpcGxlIHdhbGxldCBrZXlzJywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gQ3JlYXRlIGEgc3B5IG9uIHRoZSBkZWNyeXB0IG1ldGhvZFxuICAgICAgY29uc3QgZGVjcnlwdFN0dWIgPSBzaW5vbi5zdHViKGJpdGdvLCAnZGVjcnlwdCcpO1xuXG4gICAgICAvLyBDb25maWd1cmUgdGhlIHN0dWIgdG8gdGhyb3cgZm9yIHNwZWNpZmljIHdhbGxldHNcbiAgICAgIGRlY3J5cHRTdHViXG4gICAgICAgIC53aXRoQXJncyh7IGlucHV0OiAnZW5jcnlwdGVkLWRhdGEtMicsIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnIH0pXG4gICAgICAgIC50aHJvd3MobmV3IEVycm9yKCdkZWNyeXB0aW9uIGZhaWxlZCcpKTtcbiAgICAgIGRlY3J5cHRTdHViXG4gICAgICAgIC53aXRoQXJncyh7IGlucHV0OiAnZW5jcnlwdGVkLWRhdGEtNCcsIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnIH0pXG4gICAgICAgIC50aHJvd3MobmV3IEVycm9yKCdkZWNyeXB0aW9uIGZhaWxlZCcpKTtcbiAgICAgIGRlY3J5cHRTdHViLnJldHVybnMoJ3N1Y2Nlc3MnKTsgLy8gRGVmYXVsdCByZXR1cm4gZm9yIG90aGVyIGNhbGxzXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJpdGdvLmRlY3J5cHRLZXlzKHtcbiAgICAgICAgd2FsbGV0SWRFbmNyeXB0ZWRLZXlQYWlyczogW1xuICAgICAgICAgIHsgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtMScsIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhLTEnIH0sXG4gICAgICAgICAgeyB3YWxsZXRJZDogJ3dhbGxldC1pZC0yJywgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkLWRhdGEtMicgfSxcbiAgICAgICAgICB7IHdhbGxldElkOiAnd2FsbGV0LWlkLTMnLCBlbmNyeXB0ZWRQcnY6ICdlbmNyeXB0ZWQtZGF0YS0zJyB9LFxuICAgICAgICAgIHsgd2FsbGV0SWQ6ICd3YWxsZXQtaWQtNCcsIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZC1kYXRhLTQnIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhc3N3b3JkOiAncGFzc3dvcmQxMjMnLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNob3VsZCBiZSBjYWxsZWQgb25jZSBmb3IgZWFjaCB3YWxsZXRcbiAgICAgIGRlY3J5cHRTdHViLmNhbGxDb3VudC5zaG91bGQuZXF1YWwoNCk7XG5cbiAgICAgIC8vIFNob3VsZCBpbmNsdWRlIG9ubHkgdGhlIGZhaWxlZCB3YWxsZXQgSURzXG4gICAgICByZXN1bHQuc2hvdWxkLmJlLmFuLkFycmF5KCk7XG4gICAgICByZXN1bHQuc2hvdWxkLmhhdmUubGVuZ3RoKDIpO1xuICAgICAgcmVzdWx0LnNob3VsZC5jb250YWluRGVlcChbJ3dhbGxldC1pZC0yJywgJ3dhbGxldC1pZC00J10pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29uc3RhbnRzIHBhcmFtZXRlcicsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGFsbG93IHBhc3NpbmcgY29uc3RhbnRzIHZpYSBvcHRpb25zIGFuZCBleHBvc2UgdmlhIGZldGNoQ29uc3RhbnRzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICAgIGNsaWVudENvbnN0YW50czogeyBtYXhGZWVSYXRlOiAnMTIzMTIzMTIzMTIzMTIzJyB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNvbnN0YW50cyA9IGF3YWl0IGJpdGdvLmZldGNoQ29uc3RhbnRzKCk7XG4gICAgICBjb25zdGFudHMuc2hvdWxkLmhhdmUucHJvcGVydHkoJ21heEZlZVJhdGUnLCAnMTIzMTIzMTIzMTIzMTIzJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlZnJlc2ggY29uc3RhbnRzIHdoZW4gY2FjaGUgaGFzIGV4cGlyZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBiaXRnbyA9IG5ldyBCaXRHb0FQSSh7XG4gICAgICAgIGVudjogJ2N1c3RvbScsXG4gICAgICAgIGN1c3RvbVJvb3RVUkk6ICdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJyxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTZXQgdXAgY2FjaGVkIGNvbnN0YW50cyB3aXRoIGFuIGV4cGlyZWQgY2FjaGVcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHMgPSAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzIHx8IHt9O1xuICAgICAgKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50c0V4cGlyZSA9IChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmUgfHwge307XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzWydjdXN0b20nXSA9IHsgbWF4RmVlUmF0ZTogJ29sZC12YWx1ZScgfTtcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmVbJ2N1c3RvbSddID0gbmV3IERhdGUoRGF0ZS5ub3coKSAtIDEwMDApOyAvLyBFeHBpcmVkIDEgc2Vjb25kIGFnb1xuXG4gICAgICBjb25zdCBzY29wZSA9IG5vY2soJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnKVxuICAgICAgICAuZ2V0KCcvYXBpL3YxL2NsaWVudC9jb25zdGFudHMnKVxuICAgICAgICAucmVwbHkoMjAwLCB7XG4gICAgICAgICAgY29uc3RhbnRzOiB7IG1heEZlZVJhdGU6ICduZXctdmFsdWUnLCBuZXdDb25zdGFudDogJ2FkZGVkJyB9LFxuICAgICAgICB9KTtcblxuICAgICAgY29uc3QgY29uc3RhbnRzID0gYXdhaXQgYml0Z28uZmV0Y2hDb25zdGFudHMoKTtcblxuICAgICAgLy8gU2hvdWxkIHJldHVybiB0aGUgbmV3IGNvbnN0YW50cyBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgIGNvbnN0YW50cy5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnbWF4RmVlUmF0ZScsICduZXctdmFsdWUnKTtcbiAgICAgIGNvbnN0YW50cy5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnbmV3Q29uc3RhbnQnLCAnYWRkZWQnKTtcblxuICAgICAgc2NvcGUuaXNEb25lKCkuc2hvdWxkLmJlLnRydWUoKTtcblxuICAgICAgbm9jay5jbGVhbkFsbCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB1c2UgY2FjaGVkIGNvbnN0YW50cyB3aGVuIGNhY2hlIGlzIHN0aWxsIHZhbGlkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYml0Z28gPSBuZXcgQml0R29BUEkoe1xuICAgICAgICBlbnY6ICdjdXN0b20nLFxuICAgICAgICBjdXN0b21Sb290VVJJOiAnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcsXG4gICAgICB9KTtcblxuICAgICAgLy8gU2V0IHVwIGNhY2hlZCBjb25zdGFudHMgd2l0aCBhIGZ1dHVyZSBleHBpcnlcbiAgICAgIGNvbnN0IGNhY2hlZENvbnN0YW50cyA9IHsgbWF4RmVlUmF0ZTogJ2NhY2hlZC12YWx1ZScsIGFub3RoZXJTZXR0aW5nOiAnY2FjaGVkLXNldHRpbmcnIH07XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzID0gKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50cyB8fCB7fTtcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmUgPSAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlIHx8IHt9O1xuICAgICAgKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50c1snY3VzdG9tJ10gPSBjYWNoZWRDb25zdGFudHM7XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlWydjdXN0b20nXSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyA1ICogNjAgKiAxMDAwKTsgLy8gVmFsaWQgZm9yIDUgbW9yZSBtaW51dGVzXG5cbiAgICAgIGNvbnN0IHNjb3BlID0gbm9jaygnaHR0cHM6Ly9hcHAuZXhhbXBsZS5sb2NhbCcpXG4gICAgICAgIC5nZXQoJy9hcGkvdjEvY2xpZW50L2NvbnN0YW50cycpXG4gICAgICAgIC5yZXBseSgyMDAsIHsgY29uc3RhbnRzOiB7IHNob3VsZE5vdEJlVXNlZDogdHJ1ZSB9IH0pO1xuXG4gICAgICBjb25zdCBjb25zdGFudHMgPSBhd2FpdCBiaXRnby5mZXRjaENvbnN0YW50cygpO1xuXG4gICAgICAvLyBTaG91bGQgcmV0dXJuIHRoZSBjYWNoZWQgY29uc3RhbnRzXG4gICAgICBjb25zdGFudHMuc2hvdWxkLmRlZXBFcXVhbChjYWNoZWRDb25zdGFudHMpO1xuXG4gICAgICAvLyBWZXJpZnkgdGhhdCBubyBIVFRQIHJlcXVlc3Qgd2FzIG1hZGUgKHNpbmNlIGNhY2hlIHdhcyB2YWxpZClcbiAgICAgIHNjb3BlLmlzRG9uZSgpLnNob3VsZC5iZS5mYWxzZSgpO1xuXG4gICAgICBub2NrLmNsZWFuQWxsKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHVzZSBjYWNoZWQgY29uc3RhbnRzIHdoZW4gbm8gY2FjaGUgZXhwaXJ5IGlzIHNldCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJpdGdvID0gbmV3IEJpdEdvQVBJKHtcbiAgICAgICAgZW52OiAnY3VzdG9tJyxcbiAgICAgICAgY3VzdG9tUm9vdFVSSTogJ2h0dHBzOi8vYXBwLmV4YW1wbGUubG9jYWwnLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNldCB1cCBjYWNoZWQgY29uc3RhbnRzIHdpdGggbm8gZXhwaXJ5XG4gICAgICBjb25zdCBjYWNoZWRDb25zdGFudHMgPSB7IG1heEZlZVJhdGU6ICduby1leHBpcnktdmFsdWUnIH07XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzID0gKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50cyB8fCB7fTtcbiAgICAgIChCaXRHb0FQSSBhcyBhbnkpLl9jb25zdGFudHNFeHBpcmUgPSAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlIHx8IHt9O1xuICAgICAgKEJpdEdvQVBJIGFzIGFueSkuX2NvbnN0YW50c1snY3VzdG9tJ10gPSBjYWNoZWRDb25zdGFudHM7XG4gICAgICAoQml0R29BUEkgYXMgYW55KS5fY29uc3RhbnRzRXhwaXJlWydjdXN0b20nXSA9IHVuZGVmaW5lZDtcblxuICAgICAgY29uc3Qgc2NvcGUgPSBub2NrKCdodHRwczovL2FwcC5leGFtcGxlLmxvY2FsJylcbiAgICAgICAgLmdldCgnL2FwaS92MS9jbGllbnQvY29uc3RhbnRzJylcbiAgICAgICAgLnJlcGx5KDIwMCwgeyBjb25zdGFudHM6IHsgc2hvdWxkTm90QmVVc2VkOiB0cnVlIH0gfSk7XG5cbiAgICAgIGNvbnN0IGNvbnN0YW50cyA9IGF3YWl0IGJpdGdvLmZldGNoQ29uc3RhbnRzKCk7XG5cbiAgICAgIC8vIFNob3VsZCByZXR1cm4gdGhlIGNhY2hlZCBjb25zdGFudHNcbiAgICAgIGNvbnN0YW50cy5zaG91bGQuZGVlcEVxdWFsKGNhY2hlZENvbnN0YW50cyk7XG5cbiAgICAgIC8vIFZlcmlmeSB0aGF0IG5vIEhUVFAgcmVxdWVzdCB3YXMgbWFkZSAoc2luY2Ugbm8gZXhwaXJ5IG1lYW5zIGNhY2hlIGlzIGFsd2F5cyB2YWxpZClcbiAgICAgIHNjb3BlLmlzRG9uZSgpLnNob3VsZC5iZS5mYWxzZSgpO1xuXG4gICAgICBub2NrLmNsZWFuQWxsKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=