@decaf-ts/for-nest 0.11.2-refactor.4 → 0.11.2-refactor.5

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.
@@ -100,5 +100,5 @@ function resolveBlockTarget(verb, path) {
100
100
  }
101
101
  return undefined;
102
102
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpT3BlcmF0aW9uRnJvbU1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RlY2FmLW1vZGVsL2RlY29yYXRvcnMvQXBpT3BlcmF0aW9uRnJvbU1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQVksTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGFBQWEsR0FFZCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGtCQUFrQixJQUFJLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkQ7Ozs7Ozs7R0FPRztBQUNIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLGdCQUF1QyxFQUN2QyxJQUFlLEVBQ2YsSUFBYTtJQUViLE1BQU0sVUFBVSxHQUdaO1FBQ0YsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7UUFDOUIsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDbEMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7UUFDaEMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7UUFDcEMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDdkMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENB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TTtRQUM1QyxjQUFjLEVBQUUscUJBQXFCLENBQUMsTUFBTTtRQUM1QyxjQUFjLEVBQUUscUJBQXFCLENBQUMsTUFBTTtRQUM1QyxjQUFjLEVBQUUscUJBQXFCLENBQUMsTUFBTTtRQUM1QyxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxXQUFXO1FBQ3RELGdCQUFnQixFQUFFLHFCQUFxQixDQUFDLFFBQVE7S0FDakQsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHksIE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBBcGlFeGNsdWRlRW5kcG9pbnQgfSBmcm9tIFwiQG5lc3Rqcy9zd2FnZ2VyXCI7XG5pbXBvcnQge1xuICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMsXG4gIE9wZXJhdGlvbktleXMsXG4gIENydWRPcGVyYXRpb25zLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1vZGVsQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBEZWxldGUsIEdldCwgUGF0Y2gsIFBvc3QsIFB1dCB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuXG5pbXBvcnQgeyBpc09wZXJhdGlvbkJsb2NrZWQgYXMgY29yZUlzT3BlcmF0aW9uQmxvY2tlZCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBIdHRwVmVyYnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gQ1JVRCBvcGVyYXRpb24gaXMgYmxvY2tlZCBmb3IgYSBzcGVjaWZpYyBtb2RlbCBjb25zdHJ1Y3Rvci5cbiAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgb3BlcmF0aW9uLWJsb2NraW5nIGhhbmRsZXIgbWV0YWRhdGEgc3RvcmVkIG9uIHRoZSBwcm92aWRlZCBtb2RlbCBjb25zdHJ1Y3RvciAodW5kZXIgYE9wZXJhdGlvbktleXMuUkVGTEVDVCArIE9wZXJhdGlvbktleXMuQkxPQ0tgKSwgZXhlY3V0ZXMgaXQgKGlmIHByZXNlbnQpIHdpdGggaXRzIHBlcnNpc3RlZCBhcmd1bWVudHMgcGx1cyB0aGUgcmVxdWVzdGVkIG9wZXJhdGlvbiwgYW5kIHJldHVybnMgd2hldGhlciB0aGUgb3BlcmF0aW9uIGlzIGJsb2NrZWQuIElmIG5vIGhhbmRsZXIgZXhpc3RzLCB0aGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgYWxsb3dlZCAocmV0dXJucyBgZmFsc2VgKS5cbiAqIEBwYXJhbSB7TW9kZWxDb25zdHJ1Y3Rvcjxhbnk+fSBNb2RlbENvbnN0cnVjdG9yIC0gVGhlIHRhcmdldCBtb2RlbCBjb25zdHJ1Y3RvciB3aG9zZSBtZXRhZGF0YSBtYXkgaW5jbHVkZSBhIGJsb2NraW5nIGhhbmRsZXIuXG4gKiBAcGFyYW0ge0NydWRPcGVyYXRpb25zfSBvcCAtIFRoZSBDUlVEIG9wZXJhdGlvbiB0byBldmFsdWF0ZSAoZS5nLiwgYE9wZXJhdGlvbktleXMuQ1JFQVRFYCwgYE9wZXJhdGlvbktleXMuUkVBRGAsIGBPcGVyYXRpb25LZXlzLlVQREFURWAsIGBPcGVyYXRpb25LZXlzLkRFTEVURWApLlxuICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBleHBsaWNpdGx5IGJsb2NrZWQgYnkgdGhlIG1vZGVsJ3MgaGFuZGxlcjsgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKiBAZnVuY3Rpb24gaXNPcGVyYXRpb25CbG9ja2VkXG4gKi9cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmRpdGlvbmFsbHkgYXBwbGllcyBhbiBIVFRQIG1ldGhvZCBkZWNvcmF0b3IgZm9yIGEgZ2l2ZW4gbW9kZWwgYW5kIHZlcmIsIGhpZGluZyB0aGUgZW5kcG9pbnQgaW4gU3dhZ2dlciAoYW5kIG5vdCByZWdpc3RlcmluZyB0aGUgcm91dGUpIHdoZW4gdGhlIG1vZGVsIGJsb2NrcyB0aGF0IENSVUQgb3BlcmF0aW9uLlxuICogQHN1bW1hcnkgTWFwcyBhbiBIVFRQIHZlcmIgdG8gaXRzIGNvcnJlc3BvbmRpbmcgYENydWRPcGVyYXRpb25zYCBrZXkgYW5kIE5lc3QgSFRUUCBkZWNvcmF0b3IgKGBAR2V0YCwgYEBQb3N0YCwgZXRjLikuIEl0IGNoZWNrcyBgaXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIGNydWRPcClgIGFuZCwgaWYgYmxvY2tlZCwgYXBwbGllcyBvbmx5IGBAQXBpRXhjbHVkZUVuZHBvaW50KClgIChTd2FnZ2VyLWhpZGRlbiwgbm8gTmVzdCByb3V0ZSkuIElmIHBlcm1pdHRlZCwgaXQgYXBwbGllcyB0aGUgYXBwcm9wcmlhdGUgSFRUUCBkZWNvcmF0b3Igd2l0aCB0aGUgb3B0aW9uYWwgYHBhdGhgLlxuICogQHBhcmFtIHtNb2RlbENvbnN0cnVjdG9yPGFueT59IE1vZGVsQ29uc3RydWN0b3IgLSBUaGUgbW9kZWwgY29uc3RydWN0b3IgdXNlZCB0byByZXNvbHZlIG9wZXJhdGlvbi1ibG9ja2luZyBydWxlcy5cbiAqIEBwYXJhbSB7SHR0cFZlcmJzfSB2ZXJiIC0gVGhlIEhUVFAgdmVyYiB0byBtYXAgKGUuZy4sIGBcIkdFVFwiIHwgXCJQT1NUXCIgfCBcIlBVVFwiIHwgXCJQQVRDSFwiIHwgXCJERUxFVEVcImApLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHJvdXRlIHBhdGggcGFzc2VkIHRocm91Z2ggdG8gdGhlIGNvcnJlc3BvbmRpbmcgTmVzdCBIVFRQIG1ldGhvZCBkZWNvcmF0b3IuXG4gKiBAcmV0dXJuIHtNZXRob2REZWNvcmF0b3J9IEEgbWV0aG9kIGRlY29yYXRvciB0aGF0IGVpdGhlciBleGNsdWRlcyB0aGUgZW5kcG9pbnQgZnJvbSBTd2FnZ2VyIChhbmQgcm91dGUgcmVnaXN0cmF0aW9uKSBvciBhcHBsaWVzIHRoZSBjb3JyZWN0IEhUVFAgZGVjb3JhdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBpT3BlcmF0aW9uRnJvbU1vZGVsKFxuICBNb2RlbENvbnN0cnVjdG9yOiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gIHZlcmI6IEh0dHBWZXJicyxcbiAgcGF0aD86IHN0cmluZ1xuKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgY29uc3QgaHR0cFRvQ3J1ZDogUmVjb3JkPFxuICAgIEh0dHBWZXJicyxcbiAgICBbQ3J1ZE9wZXJhdGlvbnMsIChwYXRoPzogc3RyaW5nKSA9PiBNZXRob2REZWNvcmF0b3JdXG4gID4gPSB7XG4gICAgR0VUOiBbT3BlcmF0aW9uS2V5cy5SRUFELCBHZXRdLFxuICAgIFBPU1Q6IFtPcGVyYXRpb25LZXlzLkNSRUFURSwgUG9zdF0sXG4gICAgUFVUOiBbT3BlcmF0aW9uS2V5cy5VUERBVEUsIFB1dF0sXG4gICAgUEFUQ0g6IFtPcGVyYXRpb25LZXlzLlVQREFURSwgUGF0Y2hdLFxuICAgIERFTEVURTogW09wZXJhdGlvbktleXMuREVMRVRFLCBEZWxldGVdLFxuICB9O1xuXG4gIGNvbnN0IFtjcnVkT3AsIEh0dHBNZXRob2REZWNvcmF0b3JdID0gaHR0cFRvQ3J1ZFt2ZXJiXTtcbiAgY29uc3QgdGFyZ2V0ID0gcmVzb2x2ZUJsb2NrVGFyZ2V0KHZlcmIsIHBhdGgpO1xuICByZXR1cm4gdGFyZ2V0XG4gICAgPyBjb3JlSXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIHRhcmdldC5raW5kIGFzIGFueSwgdGFyZ2V0LnZhbHVlKVxuICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSlcbiAgICA6IGNvcmVJc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgY3J1ZE9wKVxuICAgID8gYXBwbHkoQXBpRXhjbHVkZUVuZHBvaW50KCkpXG4gICAgOiBhcHBseShIdHRwTWV0aG9kRGVjb3JhdG9yKHBhdGgpKTtcbn1cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmRpdGlvbmFsbHkgYXBwbGllcyBhbiBIVFRQIG1ldGhvZCBkZWNvcmF0b3IgZm9yIGEgZ2l2ZW4gbW9kZWwgYW5kIHZlcmIsIGhpZGluZyB0aGUgZW5kcG9pbnQgaW4gU3dhZ2dlciAoYW5kIG5vdCByZWdpc3RlcmluZyB0aGUgcm91dGUpIHdoZW4gdGhlIG1vZGVsIGJsb2NrcyB0aGF0IENSVUQgb3BlcmF0aW9uLlxuICogQHN1bW1hcnkgTWFwcyBhbiBIVFRQIHZlcmIgdG8gaXRzIGNvcnJlc3BvbmRpbmcgYENydWRPcGVyYXRpb25zYCBrZXkgYW5kIE5lc3QgSFRUUCBkZWNvcmF0b3IgKGBAR2V0YCwgYEBQb3N0YCwgZXRjLikuIEl0IGNoZWNrcyBgaXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIGNydWRPcClgIGFuZCwgaWYgYmxvY2tlZCwgYXBwbGllcyBvbmx5IGBAQXBpRXhjbHVkZUVuZHBvaW50KClgIChTd2FnZ2VyLWhpZGRlbiwgbm8gTmVzdCByb3V0ZSkuIElmIHBlcm1pdHRlZCwgaXQgYXBwbGllcyB0aGUgYXBwcm9wcmlhdGUgSFRUUCBkZWNvcmF0b3Igd2l0aCB0aGUgb3B0aW9uYWwgYHBhdGhgLlxuICogQHBhcmFtIHtNb2RlbENvbnN0cnVjdG9yPGFueT59IE1vZGVsQ29uc3RydWN0b3IgLSBUaGUgbW9kZWwgY29uc3RydWN0b3IgdXNlZCB0byByZXNvbHZlIG9wZXJhdGlvbi1ibG9ja2luZyBydWxlcy5cbiAqIEBwYXJhbSB7SHR0cFZlcmJzfSB2ZXJiIC0gVGhlIEhUVFAgdmVyYiB0byBtYXAgKGUuZy4sIGBcIkdFVFwiIHwgXCJQT1NUXCIgfCBcIlBVVFwiIHwgXCJQQVRDSFwiIHwgXCJERUxFVEVcImApLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHJvdXRlIHBhdGggcGFzc2VkIHRocm91Z2ggdG8gdGhlIGNvcnJlc3BvbmRpbmcgTmVzdCBIVFRQIG1ldGhvZCBkZWNvcmF0b3IuXG4gKiBAcmV0dXJuIHtNZXRob2REZWNvcmF0b3J9IEEgbWV0aG9kIGRlY29yYXRvciB0aGF0IGVpdGhlciBleGNsdWRlcyB0aGUgZW5kcG9pbnQgZnJvbSBTd2FnZ2VyIChhbmQgcm91dGUgcmVnaXN0cmF0aW9uKSBvciBhcHBsaWVzIHRoZSBjb3JyZWN0IEhUVFAgZGVjb3JhdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQnVsa0FwaU9wZXJhdGlvbkZyb21Nb2RlbChcbiAgTW9kZWxDb25zdHJ1Y3RvcjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICB2ZXJiOiBIdHRwVmVyYnMsXG4gIHBhdGg/OiBzdHJpbmdcbik6IE1ldGhvZERlY29yYXRvciB7XG4gIGNvbnN0IGh0dHBUb0NydWQ6IFJlY29yZDxcbiAgICBIdHRwVmVyYnMsXG4gICAgW0J1bGtDcnVkT3BlcmF0aW9uS2V5cywgKHBhdGg/OiBzdHJpbmcpID0+IE1ldGhvZERlY29yYXRvcl1cbiAgPiA9IHtcbiAgICBHRVQ6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuUkVBRF9BTEwsIEdldF0sXG4gICAgUE9TVDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLCBQb3N0XSxcbiAgICBQVVQ6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTCwgUHV0XSxcbiAgICBQQVRDSDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLCBQYXRjaF0sXG4gICAgREVMRVRFOiBbQnVsa0NydWRPcGVyYXRpb25LZXlzLkRFTEVURV9BTEwsIERlbGV0ZV0sXG4gIH07XG5cbiAgY29uc3QgW2NydWRPcCwgSHR0cE1ldGhvZERlY29yYXRvcl0gPSBodHRwVG9DcnVkW3ZlcmJdO1xuICBjb25zdCB0YXJnZXQgPSBwYXRoID8gcmVzb2x2ZUJsb2NrVGFyZ2V0KHZlcmIsIHBhdGgpIDogdW5kZWZpbmVkO1xuICByZXR1cm4gdGFyZ2V0XG4gICAgPyBjb3JlSXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIHRhcmdldC5raW5kIGFzIGFueSwgdGFyZ2V0LnZhbHVlKVxuICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSlcbiAgICA6IGNvcmVJc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgXCJidWxrXCIgYXMgYW55LCBjcnVkT3AgYXMgYW55KVxuICAgID8gYXBwbHkoQXBpRXhjbHVkZUVuZHBvaW50KCkpXG4gICAgOiBhcHBseShIdHRwTWV0aG9kRGVjb3JhdG9yKHBhdGgpKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVCbG9ja1RhcmdldChcbiAgdmVyYjogSHR0cFZlcmJzLFxuICBwYXRoPzogc3RyaW5nXG4pOiB7IGtpbmQ6IFwiY3J1ZFwiIHwgXCJzdGF0ZW1lbnRcIiB8IFwicXVlcnlcIiB8IFwiYnVsa1wiOyB2YWx1ZTogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICBpZiAoIXBhdGgpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgY29uc3Qgbm9ybWFsaXplZCA9IHBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIik7XG4gIGNvbnN0IHN0YXRlbWVudFRhcmdldHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgXCJsaXN0QnkvOmtleVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTElTVF9CWSxcbiAgICBcInBhZ2luYXRlQnkvOmtleS86cGFnZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRV9CWSxcbiAgICBcImZpbmQvOnZhbHVlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5GSU5ELFxuICAgIFwicGFnZS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0UsXG4gICAgXCJmaW5kT25lQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZLFxuICAgIFwiZmluZEJ5LzprZXkvOnZhbHVlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5GSU5EX0JZLFxuICAgIFwic3RhdGVtZW50LzptZXRob2QvKmFyZ3NcIjogXCJzdGF0ZW1lbnRcIixcbiAgICBcImNvdW50T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRixcbiAgICBcIm1heE9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTUFYX09GLFxuICAgIFwibWluT2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NSU5fT0YsXG4gICAgXCJhdmdPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRixcbiAgICBcInN1bU9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuU1VNX09GLFxuICAgIFwiZGlzdGluY3RPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkRJU1RJTkNUX09GLFxuICAgIFwiZ3JvdXBPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkdST1VQX09GLFxuICB9O1xuXG4gIGlmIChub3JtYWxpemVkLnN0YXJ0c1dpdGgoXCJxdWVyeS9cIikpIHtcbiAgICByZXR1cm4geyBraW5kOiBcInF1ZXJ5XCIsIHZhbHVlOiBub3JtYWxpemVkLnJlcGxhY2UoL15xdWVyeVxcLy8sIFwiXCIpIH07XG4gIH1cblxuICBjb25zdCBzdGF0ZW1lbnRWYWx1ZSA9IHN0YXRlbWVudFRhcmdldHNbbm9ybWFsaXplZF07XG4gIGlmIChzdGF0ZW1lbnRWYWx1ZSkge1xuICAgIHJldHVybiB7IGtpbmQ6IFwic3RhdGVtZW50XCIsIHZhbHVlOiBzdGF0ZW1lbnRWYWx1ZSB9O1xuICB9XG5cbiAgaWYgKHZlcmIgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZCA9PT0gXCJcIikge1xuICAgIHJldHVybiB7IGtpbmQ6IFwiY3J1ZFwiLCB2YWx1ZTogT3BlcmF0aW9uS2V5cy5SRUFEIH07XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpT3BlcmF0aW9uRnJvbU1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQXBpT3BlcmF0aW9uRnJvbU1vZGVsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBc0JBLHNEQWlCQztBQVNELDhEQWlCQztBQWpFRCxxREFBNkM7QUFDN0MsNkNBQXFEO0FBQ3JELDJEQUFnRjtBQUNoRiwyQ0FBK0Q7QUFDL0QseUNBQThFO0FBQzlFLHlDQUF1RDtBQUN2RDs7Ozs7OztHQU9HO0FBQ0g7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJO0lBQzlELE1BQU0sVUFBVSxHQUFHO1FBQ2YsR0FBRyxFQUFFLENBQUMsNkJBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBRyxDQUFDO1FBQzlCLElBQUksRUFBRSxDQUFDLDZCQUFhLENBQUMsTUFBTSxFQUFFLGFBQUksQ0FBQztRQUNsQyxHQUFHLEVBQUUsQ0FBQyw2QkFBYSxDQUFDLE1BQU0sRUFBRSxZQUFHLENBQUM7UUFDaEMsS0FBSyxFQUFFLENBQUMsNkJBQWEsQ0FBQyxNQUFNLEVBQUUsY0FBSyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxDQUFDLDZCQUFhLENBQUMsTUFBTSxFQUFFLGVBQU0sQ0FBQztLQUN6QyxDQUFDO0lBQ0YsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsT0FBTyxNQUFNO1FBQ1QsQ0FBQyxDQUFDLElBQUEseUJBQXNCLEVBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxJQUFBLGtCQUFLLEVBQUMsSUFBQSw0QkFBa0IsR0FBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxJ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QztJQUNGLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUNELHNqYkFBc2piIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHkgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEFwaUV4Y2x1ZGVFbmRwb2ludCB9IGZyb20gXCJAbmVzdGpzL3N3YWdnZXJcIjtcbmltcG9ydCB7IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cywgT3BlcmF0aW9uS2V5cywgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IERlbGV0ZSwgR2V0LCBQYXRjaCwgUG9zdCwgUHV0IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBpc09wZXJhdGlvbkJsb2NrZWQgYXMgY29yZUlzT3BlcmF0aW9uQmxvY2tlZCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gQ1JVRCBvcGVyYXRpb24gaXMgYmxvY2tlZCBmb3IgYSBzcGVjaWZpYyBtb2RlbCBjb25zdHJ1Y3Rvci5cbiAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgb3BlcmF0aW9uLWJsb2NraW5nIGhhbmRsZXIgbWV0YWRhdGEgc3RvcmVkIG9uIHRoZSBwcm92aWRlZCBtb2RlbCBjb25zdHJ1Y3RvciAodW5kZXIgYE9wZXJhdGlvbktleXMuUkVGTEVDVCArIE9wZXJhdGlvbktleXMuQkxPQ0tgKSwgZXhlY3V0ZXMgaXQgKGlmIHByZXNlbnQpIHdpdGggaXRzIHBlcnNpc3RlZCBhcmd1bWVudHMgcGx1cyB0aGUgcmVxdWVzdGVkIG9wZXJhdGlvbiwgYW5kIHJldHVybnMgd2hldGhlciB0aGUgb3BlcmF0aW9uIGlzIGJsb2NrZWQuIElmIG5vIGhhbmRsZXIgZXhpc3RzLCB0aGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgYWxsb3dlZCAocmV0dXJucyBgZmFsc2VgKS5cbiAqIEBwYXJhbSB7TW9kZWxDb25zdHJ1Y3Rvcjxhbnk+fSBNb2RlbENvbnN0cnVjdG9yIC0gVGhlIHRhcmdldCBtb2RlbCBjb25zdHJ1Y3RvciB3aG9zZSBtZXRhZGF0YSBtYXkgaW5jbHVkZSBhIGJsb2NraW5nIGhhbmRsZXIuXG4gKiBAcGFyYW0ge0NydWRPcGVyYXRpb25zfSBvcCAtIFRoZSBDUlVEIG9wZXJhdGlvbiB0byBldmFsdWF0ZSAoZS5nLiwgYE9wZXJhdGlvbktleXMuQ1JFQVRFYCwgYE9wZXJhdGlvbktleXMuUkVBRGAsIGBPcGVyYXRpb25LZXlzLlVQREFURWAsIGBPcGVyYXRpb25LZXlzLkRFTEVURWApLlxuICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBleHBsaWNpdGx5IGJsb2NrZWQgYnkgdGhlIG1vZGVsJ3MgaGFuZGxlcjsgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKiBAZnVuY3Rpb24gaXNPcGVyYXRpb25CbG9ja2VkXG4gKi9cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmRpdGlvbmFsbHkgYXBwbGllcyBhbiBIVFRQIG1ldGhvZCBkZWNvcmF0b3IgZm9yIGEgZ2l2ZW4gbW9kZWwgYW5kIHZlcmIsIGhpZGluZyB0aGUgZW5kcG9pbnQgaW4gU3dhZ2dlciAoYW5kIG5vdCByZWdpc3RlcmluZyB0aGUgcm91dGUpIHdoZW4gdGhlIG1vZGVsIGJsb2NrcyB0aGF0IENSVUQgb3BlcmF0aW9uLlxuICogQHN1bW1hcnkgTWFwcyBhbiBIVFRQIHZlcmIgdG8gaXRzIGNvcnJlc3BvbmRpbmcgYENydWRPcGVyYXRpb25zYCBrZXkgYW5kIE5lc3QgSFRUUCBkZWNvcmF0b3IgKGBAR2V0YCwgYEBQb3N0YCwgZXRjLikuIEl0IGNoZWNrcyBgaXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIGNydWRPcClgIGFuZCwgaWYgYmxvY2tlZCwgYXBwbGllcyBvbmx5IGBAQXBpRXhjbHVkZUVuZHBvaW50KClgIChTd2FnZ2VyLWhpZGRlbiwgbm8gTmVzdCByb3V0ZSkuIElmIHBlcm1pdHRlZCwgaXQgYXBwbGllcyB0aGUgYXBwcm9wcmlhdGUgSFRUUCBkZWNvcmF0b3Igd2l0aCB0aGUgb3B0aW9uYWwgYHBhdGhgLlxuICogQHBhcmFtIHtNb2RlbENvbnN0cnVjdG9yPGFueT59IE1vZGVsQ29uc3RydWN0b3IgLSBUaGUgbW9kZWwgY29uc3RydWN0b3IgdXNlZCB0byByZXNvbHZlIG9wZXJhdGlvbi1ibG9ja2luZyBydWxlcy5cbiAqIEBwYXJhbSB7SHR0cFZlcmJzfSB2ZXJiIC0gVGhlIEhUVFAgdmVyYiB0byBtYXAgKGUuZy4sIGBcIkdFVFwiIHwgXCJQT1NUXCIgfCBcIlBVVFwiIHwgXCJQQVRDSFwiIHwgXCJERUxFVEVcImApLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHJvdXRlIHBhdGggcGFzc2VkIHRocm91Z2ggdG8gdGhlIGNvcnJlc3BvbmRpbmcgTmVzdCBIVFRQIG1ldGhvZCBkZWNvcmF0b3IuXG4gKiBAcmV0dXJuIHtNZXRob2REZWNvcmF0b3J9IEEgbWV0aG9kIGRlY29yYXRvciB0aGF0IGVpdGhlciBleGNsdWRlcyB0aGUgZW5kcG9pbnQgZnJvbSBTd2FnZ2VyIChhbmQgcm91dGUgcmVnaXN0cmF0aW9uKSBvciBhcHBsaWVzIHRoZSBjb3JyZWN0IEhUVFAgZGVjb3JhdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RydWN0b3IsIHZlcmIsIHBhdGgpIHtcbiAgICBjb25zdCBodHRwVG9DcnVkID0ge1xuICAgICAgICBHRVQ6IFtPcGVyYXRpb25LZXlzLlJFQUQsIEdldF0sXG4gICAgICAgIFBPU1Q6IFtPcGVyYXRpb25LZXlzLkNSRUFURSwgUG9zdF0sXG4gICAgICAgIFBVVDogW09wZXJhdGlvbktleXMuVVBEQVRFLCBQdXRdLFxuICAgICAgICBQQVRDSDogW09wZXJhdGlvbktleXMuVVBEQVRFLCBQYXRjaF0sXG4gICAgICAgIERFTEVURTogW09wZXJhdGlvbktleXMuREVMRVRFLCBEZWxldGVdLFxuICAgIH07XG4gICAgY29uc3QgW2NydWRPcCwgSHR0cE1ldGhvZERlY29yYXRvcl0gPSBodHRwVG9DcnVkW3ZlcmJdO1xuICAgIGNvbnN0IHRhcmdldCA9IHJlc29sdmVCbG9ja1RhcmdldCh2ZXJiLCBwYXRoKTtcbiAgICByZXR1cm4gdGFyZ2V0XG4gICAgICAgID8gY29yZUlzT3BlcmF0aW9uQmxvY2tlZChNb2RlbENvbnN0cnVjdG9yLCB0YXJnZXQua2luZCwgdGFyZ2V0LnZhbHVlKVxuICAgICAgICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgICAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSlcbiAgICAgICAgOiBjb3JlSXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIGNydWRPcClcbiAgICAgICAgICAgID8gYXBwbHkoQXBpRXhjbHVkZUVuZHBvaW50KCkpXG4gICAgICAgICAgICA6IGFwcGx5KEh0dHBNZXRob2REZWNvcmF0b3IocGF0aCkpO1xufVxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZGl0aW9uYWxseSBhcHBsaWVzIGFuIEhUVFAgbWV0aG9kIGRlY29yYXRvciBmb3IgYSBnaXZlbiBtb2RlbCBhbmQgdmVyYiwgaGlkaW5nIHRoZSBlbmRwb2ludCBpbiBTd2FnZ2VyIChhbmQgbm90IHJlZ2lzdGVyaW5nIHRoZSByb3V0ZSkgd2hlbiB0aGUgbW9kZWwgYmxvY2tzIHRoYXQgQ1JVRCBvcGVyYXRpb24uXG4gKiBAc3VtbWFyeSBNYXBzIGFuIEhUVFAgdmVyYiB0byBpdHMgY29ycmVzcG9uZGluZyBgQ3J1ZE9wZXJhdGlvbnNgIGtleSBhbmQgTmVzdCBIVFRQIGRlY29yYXRvciAoYEBHZXRgLCBgQFBvc3RgLCBldGMuKS4gSXQgY2hlY2tzIGBpc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgY3J1ZE9wKWAgYW5kLCBpZiBibG9ja2VkLCBhcHBsaWVzIG9ubHkgYEBBcGlFeGNsdWRlRW5kcG9pbnQoKWAgKFN3YWdnZXItaGlkZGVuLCBubyBOZXN0IHJvdXRlKS4gSWYgcGVybWl0dGVkLCBpdCBhcHBsaWVzIHRoZSBhcHByb3ByaWF0ZSBIVFRQIGRlY29yYXRvciB3aXRoIHRoZSBvcHRpb25hbCBgcGF0aGAuXG4gKiBAcGFyYW0ge01vZGVsQ29uc3RydWN0b3I8YW55Pn0gTW9kZWxDb25zdHJ1Y3RvciAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvciB1c2VkIHRvIHJlc29sdmUgb3BlcmF0aW9uLWJsb2NraW5nIHJ1bGVzLlxuICogQHBhcmFtIHtIdHRwVmVyYnN9IHZlcmIgLSBUaGUgSFRUUCB2ZXJiIHRvIG1hcCAoZS5nLiwgYFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiUFVUXCIgfCBcIlBBVENIXCIgfCBcIkRFTEVURVwiYCkuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3BhdGhdIC0gT3B0aW9uYWwgcm91dGUgcGF0aCBwYXNzZWQgdGhyb3VnaCB0byB0aGUgY29ycmVzcG9uZGluZyBOZXN0IEhUVFAgbWV0aG9kIGRlY29yYXRvci5cbiAqIEByZXR1cm4ge01ldGhvZERlY29yYXRvcn0gQSBtZXRob2QgZGVjb3JhdG9yIHRoYXQgZWl0aGVyIGV4Y2x1ZGVzIHRoZSBlbmRwb2ludCBmcm9tIFN3YWdnZXIgKGFuZCByb3V0ZSByZWdpc3RyYXRpb24pIG9yIGFwcGxpZXMgdGhlIGNvcnJlY3QgSFRUUCBkZWNvcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBCdWxrQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RydWN0b3IsIHZlcmIsIHBhdGgpIHtcbiAgICBjb25zdCBodHRwVG9DcnVkID0ge1xuICAgICAgICBHRVQ6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuUkVBRF9BTEwsIEdldF0sXG4gICAgICAgIFBPU1Q6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuQ1JFQVRFX0FMTCwgUG9zdF0sXG4gICAgICAgIFBVVDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLCBQdXRdLFxuICAgICAgICBQQVRDSDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLCBQYXRjaF0sXG4gICAgICAgIERFTEVURTogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMLCBEZWxldGVdLFxuICAgIH07XG4gICAgY29uc3QgW2NydWRPcCwgSHR0cE1ldGhvZERlY29yYXRvcl0gPSBodHRwVG9DcnVkW3ZlcmJdO1xuICAgIGNvbnN0IHRhcmdldCA9IHBhdGggPyByZXNvbHZlQmxvY2tUYXJnZXQodmVyYiwgcGF0aCkgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRhcmdldFxuICAgICAgICA/IGNvcmVJc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgdGFyZ2V0LmtpbmQsIHRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgID8gYXBwbHkoQXBpRXhjbHVkZUVuZHBvaW50KCkpXG4gICAgICAgICAgICA6IGFwcGx5KEh0dHBNZXRob2REZWNvcmF0b3IocGF0aCkpXG4gICAgICAgIDogY29yZUlzT3BlcmF0aW9uQmxvY2tlZChNb2RlbENvbnN0cnVjdG9yLCBcImJ1bGtcIiwgY3J1ZE9wKVxuICAgICAgICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgICAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSk7XG59XG5mdW5jdGlvbiByZXNvbHZlQmxvY2tUYXJnZXQodmVyYiwgcGF0aCkge1xuICAgIGlmICghcGF0aClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBub3JtYWxpemVkID0gcGF0aC5yZXBsYWNlKC9eXFwvK3xcXC8rJC9nLCBcIlwiKTtcbiAgICBjb25zdCBzdGF0ZW1lbnRUYXJnZXRzID0ge1xuICAgICAgICBcImxpc3RCeS86a2V5XCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5MSVNUX0JZLFxuICAgICAgICBcInBhZ2luYXRlQnkvOmtleS86cGFnZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRV9CWSxcbiAgICAgICAgXCJmaW5kLzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORCxcbiAgICAgICAgXCJwYWdlLzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRSxcbiAgICAgICAgXCJmaW5kT25lQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZLFxuICAgICAgICBcImZpbmRCeS86a2V5Lzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9CWSxcbiAgICAgICAgXCJzdGF0ZW1lbnQvOm1ldGhvZC8qYXJnc1wiOiBcInN0YXRlbWVudFwiLFxuICAgICAgICBcImNvdW50T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRixcbiAgICAgICAgXCJtYXhPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1BWF9PRixcbiAgICAgICAgXCJtaW5PZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1JTl9PRixcbiAgICAgICAgXCJhdmdPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRixcbiAgICAgICAgXCJzdW1PZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlNVTV9PRixcbiAgICAgICAgXCJkaXN0aW5jdE9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRElTVElOQ1RfT0YsXG4gICAgICAgIFwiZ3JvdXBPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkdST1VQX09GLFxuICAgIH07XG4gICAgaWYgKG5vcm1hbGl6ZWQuc3RhcnRzV2l0aChcInF1ZXJ5L1wiKSkge1xuICAgICAgICByZXR1cm4geyBraW5kOiBcInF1ZXJ5XCIsIHZhbHVlOiBub3JtYWxpemVkLnJlcGxhY2UoL15xdWVyeVxcLy8sIFwiXCIpIH07XG4gICAgfVxuICAgIGNvbnN0IHN0YXRlbWVudFZhbHVlID0gc3RhdGVtZW50VGFyZ2V0c1tub3JtYWxpemVkXTtcbiAgICBpZiAoc3RhdGVtZW50VmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHsga2luZDogXCJzdGF0ZW1lbnRcIiwgdmFsdWU6IHN0YXRlbWVudFZhbHVlIH07XG4gICAgfVxuICAgIGlmICh2ZXJiID09PSBcIkdFVFwiICYmIG5vcm1hbGl6ZWQgPT09IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIHsga2luZDogXCJjcnVkXCIsIHZhbHVlOiBPcGVyYXRpb25LZXlzLlJFQUQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVFYQnBUM0JsY21GMGFXOXVSbkp2YlUxdlpHVnNMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJSbFkyRm1MVzF2WkdWc0wyUmxZMjl5WVhSdmNuTXZRWEJwVDNCbGNtRjBhVzl1Um5KdmJVMXZaR1ZzTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1JVRkJSU3hMUVVGTExFVkJRVmtzVFVGQlRTeHpRa0ZCYzBJc1EwRkJRenRCUVVOMlJDeFBRVUZQTEVWQlFVVXNhMEpCUVd0Q0xFVkJRVVVzVFVGQlRTeHBRa0ZCYVVJc1EwRkJRenRCUVVOeVJDeFBRVUZQTEVWQlEwd3NjVUpCUVhGQ0xFVkJRM0pDTEdGQlFXRXNSMEZGWkN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlJXcERMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1IwRkJSeXhGUVVGRkxFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkZMMFFzVDBGQlR5eEZRVUZGTEd0Q1FVRnJRaXhKUVVGSkxITkNRVUZ6UWl4RlFVRkZMRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZET1VVc1QwRkJUeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZIZGtRN096czdPenM3UjBGUFJ6dEJRVU5JT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzY1VKQlFYRkNMRU5CUTI1RExHZENRVUYxUXl4RlFVTjJReXhKUVVGbExFVkJRMllzU1VGQllUdEpRVVZpTEUxQlFVMHNWVUZCVlN4SFFVZGFPMUZCUTBZc1IwRkJSeXhGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NSVUZCUlN4SFFVRkhMRU5CUVVNN1VVRkRPVUlzU1VGQlNTeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU03VVVGRGJFTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1lVRkJZU3hEUVVGRExFMUJRVTBzUlVGQlJTeEhRVUZITEVOQlFVTTdVVUZEYUVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEUxQlFVMHNSVUZCUlN4TFFVRkxMRU5CUVVNN1VVRkRjRU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU03UzBGRGRrTXNRMEZCUXp0SlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRVVVzYlVKQlFXMUNMRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTVUZEZGtRc1RVRkJUU3hOUVVGTkxFZEJRVWNzYTBKQlFXdENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6bERMRTlCUVU4c1RVRkJUVHRSUVVOWUxFTkJRVU1zUTBGQlF5eHpRa0ZCYzBJc1EwRkJReXhuUWtGQlowSXNSVUZCUlN4TlFVRk5MRU5CUVVNc1NVRkJWeXhGUVVGRkxFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTTdXVUZETVVVc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE8xbEJRemRDTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRjRU1zUTBGQlF5eERRVUZETEhOQ1FVRnpRaXhEUVVGRExHZENRVUZuUWl4RlFVRkZMRTFCUVUwc1EwRkJRenRaUVVOc1JDeERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEVOQlFVTTdXVUZETjBJc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzWkRMRU5CUVVNN1FVRkRSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMSGxDUVVGNVFpeERRVU4yUXl4blFrRkJkVU1zUlVGRGRrTXNTVUZCWlN4RlFVTm1MRWxCUVdFN1NVRkZZaXhOUVVGTkxGVkJRVlVzUjBGSFdqdFJRVU5HTEVkQlFVY3NSVUZCUlN4RFFVRkRMSEZDUVVGeFFpeERRVUZETEZGQlFWRXNSVUZCUlN4SFFVRkhMRU5CUVVNN1VVRkRNVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXp0UlFVTTVReXhIUVVGSExFVkJRVVVzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETzFGQlF6VkRMRXRCUVVzc1JVRkJSU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRlZCUVZVc1JVRkJSU3hMUVVGTExFTkJRVU03VVVGRGFFUXNUVUZCVFN4RlFVRkZMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNWVUZCVlN4RlFVRkZMRTFCUVUwc1EwRkJRenRMUVVOdVJDeERRVUZETzBsQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU4yUkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRE8wbEJRMnBGTEU5QlFVOHNUVUZCVFR0UlFVTllMRU5CUVVNc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4blFrRkJaMElzUlVGQlJTeE5RVUZOTEVOQlFVTXNTVUZCVnl4RlFVRkZMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU03V1VGRE1VVXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4RFFVRkRPMWxCUXpkQ0xFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEY0VNc1EwRkJReXhEUVVGRExITkNRVUZ6UWl4RFFVRkRMR2RDUVVGblFpeEZRVUZGTEUxQlFXRXNSVUZCUlN4TlFVRmhMRU5CUVVNN1dVRkRlRVVzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUlVGQlJTeERRVUZETzFsQlF6ZENMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU4yUXl4RFFVRkRPMEZCUTBRc1UwRkJVeXhyUWtGQmEwSXNRMEZEZWtJc1NVRkJaU3hGUVVObUxFbEJRV0U3U1VGRllpeEpRVUZKTEVOQlFVTXNTVUZCU1R0UlFVRkZMRTlCUVU4c1UwRkJVeXhEUVVGRE8wbEJSVFZDTEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zV1VGQldTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTJ4RUxFMUJRVTBzWjBKQlFXZENMRWRCUVRKQ08xRkJReTlETEdGQlFXRXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTzFGQlF6VkRMSFZDUVVGMVFpeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExFOUJRVTg3VVVGRGRFUXNZVUZCWVN4RlFVRkZMSEZDUVVGeFFpeERRVUZETEVsQlFVazdVVUZEZWtNc1lVRkJZU3hGUVVGRkxIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrN1VVRkRla01zZFVKQlFYVkNMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNWMEZCVnp0UlFVTXhSQ3h2UWtGQmIwSXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTzFGQlEyNUVMSGxDUVVGNVFpeEZRVUZGTEZkQlFWYzdVVUZEZEVNc1owSkJRV2RDTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVVVGQlVUdFJRVU5vUkN4alFVRmpMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0UlFVTTFReXhqUVVGakxFVkJRVVVzY1VKQlFYRkNMRU5CUVVNc1RVRkJUVHRSUVVNMVF5eGpRVUZqTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVFVGQlRUdFJRVU0xUXl4alFVRmpMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0UlFVTTFReXh0UWtGQmJVSXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFhRVUZYTzFGQlEzUkVMR2RDUVVGblFpeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExGRkJRVkU3UzBGRGFrUXNRMEZCUXp0SlFVVkdMRWxCUVVrc1ZVRkJWU3hEUVVGRExGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUTNCRExFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRM1JGTEVOQlFVTTdTVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXhuUWtGQlowSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVOd1JDeEpRVUZKTEdOQlFXTXNSVUZCUlN4RFFVRkRPMUZCUTI1Q0xFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNWMEZCVnl4RlFVRkZMRXRCUVVzc1JVRkJSU3hqUVVGakxFVkJRVVVzUTBGQlF6dEpRVU4wUkN4RFFVRkRPMGxCUlVRc1NVRkJTU3hKUVVGSkxFdEJRVXNzUzBGQlN5eEpRVUZKTEZWQlFWVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1EwRkJRenRSUVVONFF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzWVVGQllTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMGxCUTNKRUxFTkJRVU03U1VGRlJDeFBRVUZQTEZOQlFWTXNRMEZCUXp0QlFVTnVRaXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dZWEJ3Ykhrc0lFMWxkR0ZrWVhSaElIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCQmNHbEZlR05zZFdSbFJXNWtjRzlwYm5RZ2ZTQm1jbTl0SUZ3aVFHNWxjM1JxY3k5emQyRm5aMlZ5WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JDZFd4clEzSjFaRTl3WlhKaGRHbHZia3RsZVhNc1hHNGdJRTl3WlhKaGRHbHZia3RsZVhNc1hHNGdJRU55ZFdSUGNHVnlZWFJwYjI1ekxGeHVmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2V5QkVaV3hsZEdVc0lFZGxkQ3dnVUdGMFkyZ3NJRkJ2YzNRc0lGQjFkQ0I5SUdaeWIyMGdYQ0pBYm1WemRHcHpMMk52YlcxdmJsd2lPMXh1WEc1cGJYQnZjblFnZXlCcGMwOXdaWEpoZEdsdmJrSnNiMk5yWldRZ1lYTWdZMjl5WlVselQzQmxjbUYwYVc5dVFteHZZMnRsWkNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUhzZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJJZEhSd1ZtVnlZbk1nZlNCbWNtOXRJRndpTGk5MGVYQmxjMXdpTzF4dVhHNHZLaXBjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJFWlhSbGNtMXBibVZ6SUdsbUlHRWdaMmwyWlc0Z1ExSlZSQ0J2Y0dWeVlYUnBiMjRnYVhNZ1lteHZZMnRsWkNCbWIzSWdZU0J6Y0dWamFXWnBZeUJ0YjJSbGJDQmpiMjV6ZEhKMVkzUnZjaTVjYmlBcUlFQnpkVzF0WVhKNUlGSmxkSEpwWlhabGN5QjBhR1VnYjNCbGNtRjBhVzl1TFdKc2IyTnJhVzVuSUdoaGJtUnNaWElnYldWMFlXUmhkR0VnYzNSdmNtVmtJRzl1SUhSb1pTQndjbTkyYVdSbFpDQnRiMlJsYkNCamIyNXpkSEoxWTNSdmNpQW9kVzVrWlhJZ1lFOXdaWEpoZEdsdmJrdGxlWE11VWtWR1RFVkRWQ0FySUU5d1pYSmhkR2x2Ymt0bGVYTXVRa3hQUTB0Z0tTd2daWGhsWTNWMFpYTWdhWFFnS0dsbUlIQnlaWE5sYm5RcElIZHBkR2dnYVhSeklIQmxjbk5wYzNSbFpDQmhjbWQxYldWdWRITWdjR3gxY3lCMGFHVWdjbVZ4ZFdWemRHVmtJRzl3WlhKaGRHbHZiaXdnWVc1a0lISmxkSFZ5Ym5NZ2QyaGxkR2hsY2lCMGFHVWdiM0JsY21GMGFXOXVJR2x6SUdKc2IyTnJaV1F1SUVsbUlHNXZJR2hoYm1Sc1pYSWdaWGhwYzNSekxDQjBhR1VnYjNCbGNtRjBhVzl1SUdseklHTnZibk5wWkdWeVpXUWdZV3hzYjNkbFpDQW9jbVYwZFhKdWN5QmdabUZzYzJWZ0tTNWNiaUFxSUVCd1lYSmhiU0I3VFc5a1pXeERiMjV6ZEhKMVkzUnZjanhoYm5rK2ZTQk5iMlJsYkVOdmJuTjBjblZqZEc5eUlDMGdWR2hsSUhSaGNtZGxkQ0J0YjJSbGJDQmpiMjV6ZEhKMVkzUnZjaUIzYUc5elpTQnRaWFJoWkdGMFlTQnRZWGtnYVc1amJIVmtaU0JoSUdKc2IyTnJhVzVuSUdoaGJtUnNaWEl1WEc0Z0tpQkFjR0Z5WVcwZ2UwTnlkV1JQY0dWeVlYUnBiMjV6ZlNCdmNDQXRJRlJvWlNCRFVsVkVJRzl3WlhKaGRHbHZiaUIwYnlCbGRtRnNkV0YwWlNBb1pTNW5MaXdnWUU5d1pYSmhkR2x2Ymt0bGVYTXVRMUpGUVZSRllDd2dZRTl3WlhKaGRHbHZia3RsZVhNdVVrVkJSR0FzSUdCUGNHVnlZWFJwYjI1TFpYbHpMbFZRUkVGVVJXQXNJR0JQY0dWeVlYUnBiMjVMWlhsekxrUkZURVZVUldBcExseHVJQ29nUUhKbGRIVnliaUI3WW05dmJHVmhibjBnWUhSeWRXVmdJSGRvWlc0Z2RHaGxJRzl3WlhKaGRHbHZiaUJwY3lCbGVIQnNhV05wZEd4NUlHSnNiMk5yWldRZ1lua2dkR2hsSUcxdlpHVnNKM01nYUdGdVpHeGxjanNnYjNSb1pYSjNhWE5sSUdCbVlXeHpaV0F1WEc0Z0tpQkFablZ1WTNScGIyNGdhWE5QY0dWeVlYUnBiMjVDYkc5amEyVmtYRzRnS2k5Y2JpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRU52Ym1ScGRHbHZibUZzYkhrZ1lYQndiR2xsY3lCaGJpQklWRlJRSUcxbGRHaHZaQ0JrWldOdmNtRjBiM0lnWm05eUlHRWdaMmwyWlc0Z2JXOWtaV3dnWVc1a0lIWmxjbUlzSUdocFpHbHVaeUIwYUdVZ1pXNWtjRzlwYm5RZ2FXNGdVM2RoWjJkbGNpQW9ZVzVrSUc1dmRDQnlaV2RwYzNSbGNtbHVaeUIwYUdVZ2NtOTFkR1VwSUhkb1pXNGdkR2hsSUcxdlpHVnNJR0pzYjJOcmN5QjBhR0YwSUVOU1ZVUWdiM0JsY21GMGFXOXVMbHh1SUNvZ1FITjFiVzFoY25rZ1RXRndjeUJoYmlCSVZGUlFJSFpsY21JZ2RHOGdhWFJ6SUdOdmNuSmxjM0J2Ym1ScGJtY2dZRU55ZFdSUGNHVnlZWFJwYjI1ellDQnJaWGtnWVc1a0lFNWxjM1FnU0ZSVVVDQmtaV052Y21GMGIzSWdLR0JBUjJWMFlDd2dZRUJRYjNOMFlDd2daWFJqTGlrdUlFbDBJR05vWldOcmN5QmdhWE5QY0dWeVlYUnBiMjVDYkc5amEyVmtLRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSXNJR055ZFdSUGNDbGdJR0Z1WkN3Z2FXWWdZbXh2WTJ0bFpDd2dZWEJ3YkdsbGN5QnZibXg1SUdCQVFYQnBSWGhqYkhWa1pVVnVaSEJ2YVc1MEtDbGdJQ2hUZDJGbloyVnlMV2hwWkdSbGJpd2dibThnVG1WemRDQnliM1YwWlNrdUlFbG1JSEJsY20xcGRIUmxaQ3dnYVhRZ1lYQndiR2xsY3lCMGFHVWdZWEJ3Y205d2NtbGhkR1VnU0ZSVVVDQmtaV052Y21GMGIzSWdkMmwwYUNCMGFHVWdiM0IwYVc5dVlXd2dZSEJoZEdoZ0xseHVJQ29nUUhCaGNtRnRJSHROYjJSbGJFTnZibk4wY25WamRHOXlQR0Z1ZVQ1OUlFMXZaR1ZzUTI5dWMzUnlkV04wYjNJZ0xTQlVhR1VnYlc5a1pXd2dZMjl1YzNSeWRXTjBiM0lnZFhObFpDQjBieUJ5WlhOdmJIWmxJRzl3WlhKaGRHbHZiaTFpYkc5amEybHVaeUJ5ZFd4bGN5NWNiaUFxSUVCd1lYSmhiU0I3U0hSMGNGWmxjbUp6ZlNCMlpYSmlJQzBnVkdobElFaFVWRkFnZG1WeVlpQjBieUJ0WVhBZ0tHVXVaeTRzSUdCY0lrZEZWRndpSUh3Z1hDSlFUMU5VWENJZ2ZDQmNJbEJWVkZ3aUlId2dYQ0pRUVZSRFNGd2lJSHdnWENKRVJVeEZWRVZjSW1BcExseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR3WVhSb1hTQXRJRTl3ZEdsdmJtRnNJSEp2ZFhSbElIQmhkR2dnY0dGemMyVmtJSFJvY205MVoyZ2dkRzhnZEdobElHTnZjbkpsYzNCdmJtUnBibWNnVG1WemRDQklWRlJRSUcxbGRHaHZaQ0JrWldOdmNtRjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdE5aWFJvYjJSRVpXTnZjbUYwYjNKOUlFRWdiV1YwYUc5a0lHUmxZMjl5WVhSdmNpQjBhR0YwSUdWcGRHaGxjaUJsZUdOc2RXUmxjeUIwYUdVZ1pXNWtjRzlwYm5RZ1puSnZiU0JUZDJGbloyVnlJQ2hoYm1RZ2NtOTFkR1VnY21WbmFYTjBjbUYwYVc5dUtTQnZjaUJoY0hCc2FXVnpJSFJvWlNCamIzSnlaV04wSUVoVVZGQWdaR1ZqYjNKaGRHOXlMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1FYQnBUM0JsY21GMGFXOXVSbkp2YlUxdlpHVnNLRnh1SUNCTmIyUmxiRU52Ym5OMGNuVmpkRzl5T2lCTmIyUmxiRU52Ym5OMGNuVmpkRzl5UEdGdWVUNHNYRzRnSUhabGNtSTZJRWgwZEhCV1pYSmljeXhjYmlBZ2NHRjBhRDg2SUhOMGNtbHVaMXh1S1RvZ1RXVjBhRzlrUkdWamIzSmhkRzl5SUh0Y2JpQWdZMjl1YzNRZ2FIUjBjRlJ2UTNKMVpEb2dVbVZqYjNKa1BGeHVJQ0FnSUVoMGRIQldaWEppY3l4Y2JpQWdJQ0JiUTNKMVpFOXdaWEpoZEdsdmJuTXNJQ2h3WVhSb1B6b2djM1J5YVc1bktTQTlQaUJOWlhSb2IyUkVaV052Y21GMGIzSmRYRzRnSUQ0Z1BTQjdYRzRnSUNBZ1IwVlVPaUJiVDNCbGNtRjBhVzl1UzJWNWN5NVNSVUZFTENCSFpYUmRMRnh1SUNBZ0lGQlBVMVE2SUZ0UGNHVnlZWFJwYjI1TFpYbHpMa05TUlVGVVJTd2dVRzl6ZEYwc1hHNGdJQ0FnVUZWVU9pQmJUM0JsY21GMGFXOXVTMlY1Y3k1VlVFUkJWRVVzSUZCMWRGMHNYRzRnSUNBZ1VFRlVRMGc2SUZ0UGNHVnlZWFJwYjI1TFpYbHpMbFZRUkVGVVJTd2dVR0YwWTJoZExGeHVJQ0FnSUVSRlRFVlVSVG9nVzA5d1pYSmhkR2x2Ymt0bGVYTXVSRVZNUlZSRkxDQkVaV3hsZEdWZExGeHVJQ0I5TzF4dVhHNGdJR052Ym5OMElGdGpjblZrVDNBc0lFaDBkSEJOWlhSb2IyUkVaV052Y21GMGIzSmRJRDBnYUhSMGNGUnZRM0oxWkZ0MlpYSmlYVHRjYmlBZ1kyOXVjM1FnZEdGeVoyVjBJRDBnY21WemIyeDJaVUpzYjJOclZHRnlaMlYwS0habGNtSXNJSEJoZEdncE8xeHVJQ0J5WlhSMWNtNGdkR0Z5WjJWMFhHNGdJQ0FnUHlCamIzSmxTWE5QY0dWeVlYUnBiMjVDYkc5amEyVmtLRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSXNJSFJoY21kbGRDNXJhVzVrSUdGeklHRnVlU3dnZEdGeVoyVjBMblpoYkhWbEtWeHVJQ0FnSUNBZ1B5QmhjSEJzZVNoQmNHbEZlR05zZFdSbFJXNWtjRzlwYm5Rb0tTbGNiaUFnSUNBZ0lEb2dZWEJ3Ykhrb1NIUjBjRTFsZEdodlpFUmxZMjl5WVhSdmNpaHdZWFJvS1NsY2JpQWdJQ0E2SUdOdmNtVkpjMDl3WlhKaGRHbHZia0pzYjJOclpXUW9UVzlrWld4RGIyNXpkSEoxWTNSdmNpd2dZM0oxWkU5d0tWeHVJQ0FnSUQ4Z1lYQndiSGtvUVhCcFJYaGpiSFZrWlVWdVpIQnZhVzUwS0NrcFhHNGdJQ0FnT2lCaGNIQnNlU2hJZEhSd1RXVjBhRzlrUkdWamIzSmhkRzl5S0hCaGRHZ3BLVHRjYm4xY2JpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRU52Ym1ScGRHbHZibUZzYkhrZ1lYQndiR2xsY3lCaGJpQklWRlJRSUcxbGRHaHZaQ0JrWldOdmNtRjBiM0lnWm05eUlHRWdaMmwyWlc0Z2JXOWtaV3dnWVc1a0lIWmxjbUlzSUdocFpHbHVaeUIwYUdVZ1pXNWtjRzlwYm5RZ2FXNGdVM2RoWjJkbGNpQW9ZVzVrSUc1dmRDQnlaV2RwYzNSbGNtbHVaeUIwYUdVZ2NtOTFkR1VwSUhkb1pXNGdkR2hsSUcxdlpHVnNJR0pzYjJOcmN5QjBhR0YwSUVOU1ZVUWdiM0JsY21GMGFXOXVMbHh1SUNvZ1FITjFiVzFoY25rZ1RXRndjeUJoYmlCSVZGUlFJSFpsY21JZ2RHOGdhWFJ6SUdOdmNuSmxjM0J2Ym1ScGJtY2dZRU55ZFdSUGNHVnlZWFJwYjI1ellDQnJaWGtnWVc1a0lFNWxjM1FnU0ZSVVVDQmtaV052Y21GMGIzSWdLR0JBUjJWMFlDd2dZRUJRYjNOMFlDd2daWFJqTGlrdUlFbDBJR05vWldOcmN5QmdhWE5QY0dWeVlYUnBiMjVDYkc5amEyVmtLRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSXNJR055ZFdSUGNDbGdJR0Z1WkN3Z2FXWWdZbXh2WTJ0bFpDd2dZWEJ3YkdsbGN5QnZibXg1SUdCQVFYQnBSWGhqYkhWa1pVVnVaSEJ2YVc1MEtDbGdJQ2hUZDJGbloyVnlMV2hwWkdSbGJpd2dibThnVG1WemRDQnliM1YwWlNrdUlFbG1JSEJsY20xcGRIUmxaQ3dnYVhRZ1lYQndiR2xsY3lCMGFHVWdZWEJ3Y205d2NtbGhkR1VnU0ZSVVVDQmtaV052Y21GMGIzSWdkMmwwYUNCMGFHVWdiM0IwYVc5dVlXd2dZSEJoZEdoZ0xseHVJQ29nUUhCaGNtRnRJSHROYjJSbGJFTnZibk4wY25WamRHOXlQR0Z1ZVQ1OUlFMXZaR1ZzUTI5dWMzUnlkV04wYjNJZ0xTQlVhR1VnYlc5a1pXd2dZMjl1YzNSeWRXTjBiM0lnZFhObFpDQjBieUJ5WlhOdmJIWmxJRzl3WlhKaGRHbHZiaTFpYkc5amEybHVaeUJ5ZFd4bGN5NWNiaUFxSUVCd1lYSmhiU0I3U0hSMGNGWmxjbUp6ZlNCMlpYSmlJQzBnVkdobElFaFVWRkFnZG1WeVlpQjBieUJ0WVhBZ0tHVXVaeTRzSUdCY0lrZEZWRndpSUh3Z1hDSlFUMU5VWENJZ2ZDQmNJbEJWVkZ3aUlId2dYQ0pRUVZSRFNGd2lJSHdnWENKRVJVeEZWRVZjSW1BcExseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR3WVhSb1hTQXRJRTl3ZEdsdmJtRnNJSEp2ZFhSbElIQmhkR2dnY0dGemMyVmtJSFJvY205MVoyZ2dkRzhnZEdobElHTnZjbkpsYzNCdmJtUnBibWNnVG1WemRDQklWRlJRSUcxbGRHaHZaQ0JrWldOdmNtRjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdE5aWFJvYjJSRVpXTnZjbUYwYjNKOUlFRWdiV1YwYUc5a0lHUmxZMjl5WVhSdmNpQjBhR0YwSUdWcGRHaGxjaUJsZUdOc2RXUmxjeUIwYUdVZ1pXNWtjRzlwYm5RZ1puSnZiU0JUZDJGbloyVnlJQ2hoYm1RZ2NtOTFkR1VnY21WbmFYTjBjbUYwYVc5dUtTQnZjaUJoY0hCc2FXVnpJSFJvWlNCamIzSnlaV04wSUVoVVZGQWdaR1ZqYjNKaGRHOXlMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1FuVnNhMEZ3YVU5d1pYSmhkR2x2YmtaeWIyMU5iMlJsYkNoY2JpQWdUVzlrWld4RGIyNXpkSEoxWTNSdmNqb2dUVzlrWld4RGIyNXpkSEoxWTNSdmNqeGhibmsrTEZ4dUlDQjJaWEppT2lCSWRIUndWbVZ5WW5Nc1hHNGdJSEJoZEdnL09pQnpkSEpwYm1kY2JpazZJRTFsZEdodlpFUmxZMjl5WVhSdmNpQjdYRzRnSUdOdmJuTjBJR2gwZEhCVWIwTnlkV1E2SUZKbFkyOXlaRHhjYmlBZ0lDQklkSFJ3Vm1WeVluTXNYRzRnSUNBZ1cwSjFiR3REY25Wa1QzQmxjbUYwYVc5dVMyVjVjeXdnS0hCaGRHZy9PaUJ6ZEhKcGJtY3BJRDArSUUxbGRHaHZaRVJsWTI5eVlYUnZjbDFjYmlBZ1BpQTlJSHRjYmlBZ0lDQkhSVlE2SUZ0Q2RXeHJRM0oxWkU5d1pYSmhkR2x2Ymt0bGVYTXVVa1ZCUkY5QlRFd3NJRWRsZEYwc1hHNGdJQ0FnVUU5VFZEb2dXMEoxYkd0RGNuVmtUM0JsY21GMGFXOXVTMlY1Y3k1RFVrVkJWRVZmUVV4TUxDQlFiM04wWFN4Y2JpQWdJQ0JRVlZRNklGdENkV3hyUTNKMVpFOXdaWEpoZEdsdmJrdGxlWE11VlZCRVFWUkZYMEZNVEN3Z1VIVjBYU3hjYmlBZ0lDQlFRVlJEU0RvZ1cwSjFiR3REY25Wa1QzQmxjbUYwYVc5dVMyVjVjeTVWVUVSQlZFVmZRVXhNTENCUVlYUmphRjBzWEc0Z0lDQWdSRVZNUlZSRk9pQmJRblZzYTBOeWRXUlBjR1Z5WVhScGIyNUxaWGx6TGtSRlRFVlVSVjlCVEV3c0lFUmxiR1YwWlYwc1hHNGdJSDA3WEc1Y2JpQWdZMjl1YzNRZ1cyTnlkV1JQY0N3Z1NIUjBjRTFsZEdodlpFUmxZMjl5WVhSdmNsMGdQU0JvZEhSd1ZHOURjblZrVzNabGNtSmRPMXh1SUNCamIyNXpkQ0IwWVhKblpYUWdQU0J3WVhSb0lEOGdjbVZ6YjJ4MlpVSnNiMk5yVkdGeVoyVjBLSFpsY21Jc0lIQmhkR2dwSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0J5WlhSMWNtNGdkR0Z5WjJWMFhHNGdJQ0FnUHlCamIzSmxTWE5QY0dWeVlYUnBiMjVDYkc5amEyVmtLRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSXNJSFJoY21kbGRDNXJhVzVrSUdGeklHRnVlU3dnZEdGeVoyVjBMblpoYkhWbEtWeHVJQ0FnSUNBZ1B5QmhjSEJzZVNoQmNHbEZlR05zZFdSbFJXNWtjRzlwYm5Rb0tTbGNiaUFnSUNBZ0lEb2dZWEJ3Ykhrb1NIUjBjRTFsZEdodlpFUmxZMjl5WVhSdmNpaHdZWFJvS1NsY2JpQWdJQ0E2SUdOdmNtVkpjMDl3WlhKaGRHbHZia0pzYjJOclpXUW9UVzlrWld4RGIyNXpkSEoxWTNSdmNpd2dYQ0ppZFd4clhDSWdZWE1nWVc1NUxDQmpjblZrVDNBZ1lYTWdZVzU1S1Z4dUlDQWdJRDhnWVhCd2JIa29RWEJwUlhoamJIVmtaVVZ1WkhCdmFXNTBLQ2twWEc0Z0lDQWdPaUJoY0hCc2VTaElkSFJ3VFdWMGFHOWtSR1ZqYjNKaGRHOXlLSEJoZEdncEtUdGNibjFjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZDYkc5amExUmhjbWRsZENoY2JpQWdkbVZ5WWpvZ1NIUjBjRlpsY21KekxGeHVJQ0J3WVhSb1B6b2djM1J5YVc1blhHNHBPaUI3SUd0cGJtUTZJRndpWTNKMVpGd2lJSHdnWENKemRHRjBaVzFsYm5SY0lpQjhJRndpY1hWbGNubGNJaUI4SUZ3aVluVnNhMXdpT3lCMllXeDFaVG9nYzNSeWFXNW5JSDBnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0JwWmlBb0lYQmhkR2dwSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdZMjl1YzNRZ2JtOXliV0ZzYVhwbFpDQTlJSEJoZEdndWNtVndiR0ZqWlNndlhseGNMeXQ4WEZ3dkt5UXZaeXdnWENKY0lpazdYRzRnSUdOdmJuTjBJSE4wWVhSbGJXVnVkRlJoY21kbGRITTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lITjBjbWx1Wno0Z1BTQjdYRzRnSUNBZ1hDSnNhWE4wUW5rdk9tdGxlVndpT2lCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVURWxUVkY5Q1dTeGNiaUFnSUNCY0luQmhaMmx1WVhSbFFua3ZPbXRsZVM4NmNHRm5aVndpT2lCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVVRUZIUlY5Q1dTeGNiaUFnSUNCY0ltWnBibVF2T25aaGJIVmxYQ0k2SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NUdTVTVFTEZ4dUlDQWdJRndpY0dGblpTODZkbUZzZFdWY0lqb2dVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGxCQlIwVXNYRzRnSUNBZ1hDSm1hVzVrVDI1bFFua3ZPbXRsZVM4NmRtRnNkV1ZjSWpvZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa1pKVGtSZlQwNUZYMEpaTEZ4dUlDQWdJRndpWm1sdVpFSjVMenByWlhrdk9uWmhiSFZsWENJNklGQnlaWEJoY21Wa1UzUmhkR1Z0Wlc1MFMyVjVjeTVHU1U1RVgwSlpMRnh1SUNBZ0lGd2ljM1JoZEdWdFpXNTBMenB0WlhSb2IyUXZLbUZ5WjNOY0lqb2dYQ0p6ZEdGMFpXMWxiblJjSWl4Y2JpQWdJQ0JjSW1OdmRXNTBUMll2T21acFpXeGtYQ0k2SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NURUMVZPVkY5UFJpeGNiaUFnSUNCY0ltMWhlRTltTHpwbWFXVnNaRndpT2lCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTXVUVUZZWDA5R0xGeHVJQ0FnSUZ3aWJXbHVUMll2T21acFpXeGtYQ0k2SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NU5TVTVmVDBZc1hHNGdJQ0FnWENKaGRtZFBaaTg2Wm1sbGJHUmNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrRldSMTlQUml4Y2JpQWdJQ0JjSW5OMWJVOW1MenBtYVdWc1pGd2lPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVUxVk5YMDlHTEZ4dUlDQWdJRndpWkdsemRHbHVZM1JQWmk4NlptbGxiR1JjSWpvZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMa1JKVTFSSlRrTlVYMDlHTEZ4dUlDQWdJRndpWjNKdmRYQlBaaTg2Wm1sbGJHUmNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrZFNUMVZRWDA5R0xGeHVJQ0I5TzF4dVhHNGdJR2xtSUNodWIzSnRZV3hwZW1Wa0xuTjBZWEowYzFkcGRHZ29YQ0p4ZFdWeWVTOWNJaWtwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdleUJyYVc1a09pQmNJbkYxWlhKNVhDSXNJSFpoYkhWbE9pQnViM0p0WVd4cGVtVmtMbkpsY0d4aFkyVW9MMTV4ZFdWeWVWeGNMeThzSUZ3aVhDSXBJSDA3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0J6ZEdGMFpXMWxiblJXWVd4MVpTQTlJSE4wWVhSbGJXVnVkRlJoY21kbGRITmJibTl5YldGc2FYcGxaRjA3WEc0Z0lHbG1JQ2h6ZEdGMFpXMWxiblJXWVd4MVpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN0lHdHBibVE2SUZ3aWMzUmhkR1Z0Wlc1MFhDSXNJSFpoYkhWbE9pQnpkR0YwWlcxbGJuUldZV3gxWlNCOU8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0habGNtSWdQVDA5SUZ3aVIwVlVYQ0lnSmlZZ2JtOXliV0ZzYVhwbFpDQTlQVDBnWENKY0lpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN0lHdHBibVE2SUZ3aVkzSjFaRndpTENCMllXeDFaVG9nVDNCbGNtRjBhVzl1UzJWNWN5NVNSVUZFSUgwN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVmVnh1SWwxOSJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpT3BlcmF0aW9uRnJvbU1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RlY2FmLW1vZGVsL2RlY29yYXRvcnMvQXBpT3BlcmF0aW9uRnJvbU1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGFBQWEsR0FFZCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGtCQUFrQixJQUFJLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkQ7Ozs7Ozs7R0FPRztBQUNIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLGdCQUF1QyxFQUN2QyxJQUFlLEVBQ2YsSUFBYTtJQUViLE1BQU0sVUFBVSxHQUdaO1FBQ0YsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7UUFDOUIsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDbEMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7UUFDaEMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7UUFDcEMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDdkMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENB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TTtRQUM1QyxjQUFjLEVBQUUscUJBQXFCLENBQUMsTUFBTTtRQUM1QyxjQUFjLEVBQUUscUJBQXFCLENBQUMsTUFBTTtRQUM1QyxjQUFjLEVBQUUscUJBQXFCLENBQUMsTUFBTTtRQUM1QyxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxXQUFXO1FBQ3RELGdCQUFnQixFQUFFLHFCQUFxQixDQUFDLFFBQVE7S0FDakQsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHkgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEFwaUV4Y2x1ZGVFbmRwb2ludCB9IGZyb20gXCJAbmVzdGpzL3N3YWdnZXJcIjtcbmltcG9ydCB7XG4gIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyxcbiAgT3BlcmF0aW9uS2V5cyxcbiAgQ3J1ZE9wZXJhdGlvbnMsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTW9kZWxDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IERlbGV0ZSwgR2V0LCBQYXRjaCwgUG9zdCwgUHV0IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5cbmltcG9ydCB7IGlzT3BlcmF0aW9uQmxvY2tlZCBhcyBjb3JlSXNPcGVyYXRpb25CbG9ja2VkIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBQcmVwYXJlZFN0YXRlbWVudEtleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEh0dHBWZXJicyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERldGVybWluZXMgaWYgYSBnaXZlbiBDUlVEIG9wZXJhdGlvbiBpcyBibG9ja2VkIGZvciBhIHNwZWNpZmljIG1vZGVsIGNvbnN0cnVjdG9yLlxuICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBvcGVyYXRpb24tYmxvY2tpbmcgaGFuZGxlciBtZXRhZGF0YSBzdG9yZWQgb24gdGhlIHByb3ZpZGVkIG1vZGVsIGNvbnN0cnVjdG9yICh1bmRlciBgT3BlcmF0aW9uS2V5cy5SRUZMRUNUICsgT3BlcmF0aW9uS2V5cy5CTE9DS2ApLCBleGVjdXRlcyBpdCAoaWYgcHJlc2VudCkgd2l0aCBpdHMgcGVyc2lzdGVkIGFyZ3VtZW50cyBwbHVzIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLCBhbmQgcmV0dXJucyB3aGV0aGVyIHRoZSBvcGVyYXRpb24gaXMgYmxvY2tlZC4gSWYgbm8gaGFuZGxlciBleGlzdHMsIHRoZSBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCBhbGxvd2VkIChyZXR1cm5zIGBmYWxzZWApLlxuICogQHBhcmFtIHtNb2RlbENvbnN0cnVjdG9yPGFueT59IE1vZGVsQ29uc3RydWN0b3IgLSBUaGUgdGFyZ2V0IG1vZGVsIGNvbnN0cnVjdG9yIHdob3NlIG1ldGFkYXRhIG1heSBpbmNsdWRlIGEgYmxvY2tpbmcgaGFuZGxlci5cbiAqIEBwYXJhbSB7Q3J1ZE9wZXJhdGlvbnN9IG9wIC0gVGhlIENSVUQgb3BlcmF0aW9uIHRvIGV2YWx1YXRlIChlLmcuLCBgT3BlcmF0aW9uS2V5cy5DUkVBVEVgLCBgT3BlcmF0aW9uS2V5cy5SRUFEYCwgYE9wZXJhdGlvbktleXMuVVBEQVRFYCwgYE9wZXJhdGlvbktleXMuREVMRVRFYCkuXG4gKiBAcmV0dXJuIHtib29sZWFufSBgdHJ1ZWAgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGV4cGxpY2l0bHkgYmxvY2tlZCBieSB0aGUgbW9kZWwncyBoYW5kbGVyOyBvdGhlcndpc2UgYGZhbHNlYC5cbiAqIEBmdW5jdGlvbiBpc09wZXJhdGlvbkJsb2NrZWRcbiAqL1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZGl0aW9uYWxseSBhcHBsaWVzIGFuIEhUVFAgbWV0aG9kIGRlY29yYXRvciBmb3IgYSBnaXZlbiBtb2RlbCBhbmQgdmVyYiwgaGlkaW5nIHRoZSBlbmRwb2ludCBpbiBTd2FnZ2VyIChhbmQgbm90IHJlZ2lzdGVyaW5nIHRoZSByb3V0ZSkgd2hlbiB0aGUgbW9kZWwgYmxvY2tzIHRoYXQgQ1JVRCBvcGVyYXRpb24uXG4gKiBAc3VtbWFyeSBNYXBzIGFuIEhUVFAgdmVyYiB0byBpdHMgY29ycmVzcG9uZGluZyBgQ3J1ZE9wZXJhdGlvbnNgIGtleSBhbmQgTmVzdCBIVFRQIGRlY29yYXRvciAoYEBHZXRgLCBgQFBvc3RgLCBldGMuKS4gSXQgY2hlY2tzIGBpc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgY3J1ZE9wKWAgYW5kLCBpZiBibG9ja2VkLCBhcHBsaWVzIG9ubHkgYEBBcGlFeGNsdWRlRW5kcG9pbnQoKWAgKFN3YWdnZXItaGlkZGVuLCBubyBOZXN0IHJvdXRlKS4gSWYgcGVybWl0dGVkLCBpdCBhcHBsaWVzIHRoZSBhcHByb3ByaWF0ZSBIVFRQIGRlY29yYXRvciB3aXRoIHRoZSBvcHRpb25hbCBgcGF0aGAuXG4gKiBAcGFyYW0ge01vZGVsQ29uc3RydWN0b3I8YW55Pn0gTW9kZWxDb25zdHJ1Y3RvciAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvciB1c2VkIHRvIHJlc29sdmUgb3BlcmF0aW9uLWJsb2NraW5nIHJ1bGVzLlxuICogQHBhcmFtIHtIdHRwVmVyYnN9IHZlcmIgLSBUaGUgSFRUUCB2ZXJiIHRvIG1hcCAoZS5nLiwgYFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiUFVUXCIgfCBcIlBBVENIXCIgfCBcIkRFTEVURVwiYCkuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3BhdGhdIC0gT3B0aW9uYWwgcm91dGUgcGF0aCBwYXNzZWQgdGhyb3VnaCB0byB0aGUgY29ycmVzcG9uZGluZyBOZXN0IEhUVFAgbWV0aG9kIGRlY29yYXRvci5cbiAqIEByZXR1cm4ge01ldGhvZERlY29yYXRvcn0gQSBtZXRob2QgZGVjb3JhdG9yIHRoYXQgZWl0aGVyIGV4Y2x1ZGVzIHRoZSBlbmRwb2ludCBmcm9tIFN3YWdnZXIgKGFuZCByb3V0ZSByZWdpc3RyYXRpb24pIG9yIGFwcGxpZXMgdGhlIGNvcnJlY3QgSFRUUCBkZWNvcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBcGlPcGVyYXRpb25Gcm9tTW9kZWwoXG4gIE1vZGVsQ29uc3RydWN0b3I6IE1vZGVsQ29uc3RydWN0b3I8YW55PixcbiAgdmVyYjogSHR0cFZlcmJzLFxuICBwYXRoPzogc3RyaW5nXG4pOiBNZXRob2REZWNvcmF0b3Ige1xuICBjb25zdCBodHRwVG9DcnVkOiBSZWNvcmQ8XG4gICAgSHR0cFZlcmJzLFxuICAgIFtDcnVkT3BlcmF0aW9ucywgKHBhdGg/OiBzdHJpbmcpID0+IE1ldGhvZERlY29yYXRvcl1cbiAgPiA9IHtcbiAgICBHRVQ6IFtPcGVyYXRpb25LZXlzLlJFQUQsIEdldF0sXG4gICAgUE9TVDogW09wZXJhdGlvbktleXMuQ1JFQVRFLCBQb3N0XSxcbiAgICBQVVQ6IFtPcGVyYXRpb25LZXlzLlVQREFURSwgUHV0XSxcbiAgICBQQVRDSDogW09wZXJhdGlvbktleXMuVVBEQVRFLCBQYXRjaF0sXG4gICAgREVMRVRFOiBbT3BlcmF0aW9uS2V5cy5ERUxFVEUsIERlbGV0ZV0sXG4gIH07XG5cbiAgY29uc3QgW2NydWRPcCwgSHR0cE1ldGhvZERlY29yYXRvcl0gPSBodHRwVG9DcnVkW3ZlcmJdO1xuICBjb25zdCB0YXJnZXQgPSByZXNvbHZlQmxvY2tUYXJnZXQodmVyYiwgcGF0aCk7XG4gIHJldHVybiB0YXJnZXRcbiAgICA/IGNvcmVJc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgdGFyZ2V0LmtpbmQgYXMgYW55LCB0YXJnZXQudmFsdWUpXG4gICAgICA/IGFwcGx5KEFwaUV4Y2x1ZGVFbmRwb2ludCgpKVxuICAgICAgOiBhcHBseShIdHRwTWV0aG9kRGVjb3JhdG9yKHBhdGgpKVxuICAgIDogY29yZUlzT3BlcmF0aW9uQmxvY2tlZChNb2RlbENvbnN0cnVjdG9yLCBjcnVkT3ApXG4gICAgICA/IGFwcGx5KEFwaUV4Y2x1ZGVFbmRwb2ludCgpKVxuICAgICAgOiBhcHBseShIdHRwTWV0aG9kRGVjb3JhdG9yKHBhdGgpKTtcbn1cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmRpdGlvbmFsbHkgYXBwbGllcyBhbiBIVFRQIG1ldGhvZCBkZWNvcmF0b3IgZm9yIGEgZ2l2ZW4gbW9kZWwgYW5kIHZlcmIsIGhpZGluZyB0aGUgZW5kcG9pbnQgaW4gU3dhZ2dlciAoYW5kIG5vdCByZWdpc3RlcmluZyB0aGUgcm91dGUpIHdoZW4gdGhlIG1vZGVsIGJsb2NrcyB0aGF0IENSVUQgb3BlcmF0aW9uLlxuICogQHN1bW1hcnkgTWFwcyBhbiBIVFRQIHZlcmIgdG8gaXRzIGNvcnJlc3BvbmRpbmcgYENydWRPcGVyYXRpb25zYCBrZXkgYW5kIE5lc3QgSFRUUCBkZWNvcmF0b3IgKGBAR2V0YCwgYEBQb3N0YCwgZXRjLikuIEl0IGNoZWNrcyBgaXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIGNydWRPcClgIGFuZCwgaWYgYmxvY2tlZCwgYXBwbGllcyBvbmx5IGBAQXBpRXhjbHVkZUVuZHBvaW50KClgIChTd2FnZ2VyLWhpZGRlbiwgbm8gTmVzdCByb3V0ZSkuIElmIHBlcm1pdHRlZCwgaXQgYXBwbGllcyB0aGUgYXBwcm9wcmlhdGUgSFRUUCBkZWNvcmF0b3Igd2l0aCB0aGUgb3B0aW9uYWwgYHBhdGhgLlxuICogQHBhcmFtIHtNb2RlbENvbnN0cnVjdG9yPGFueT59IE1vZGVsQ29uc3RydWN0b3IgLSBUaGUgbW9kZWwgY29uc3RydWN0b3IgdXNlZCB0byByZXNvbHZlIG9wZXJhdGlvbi1ibG9ja2luZyBydWxlcy5cbiAqIEBwYXJhbSB7SHR0cFZlcmJzfSB2ZXJiIC0gVGhlIEhUVFAgdmVyYiB0byBtYXAgKGUuZy4sIGBcIkdFVFwiIHwgXCJQT1NUXCIgfCBcIlBVVFwiIHwgXCJQQVRDSFwiIHwgXCJERUxFVEVcImApLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHJvdXRlIHBhdGggcGFzc2VkIHRocm91Z2ggdG8gdGhlIGNvcnJlc3BvbmRpbmcgTmVzdCBIVFRQIG1ldGhvZCBkZWNvcmF0b3IuXG4gKiBAcmV0dXJuIHtNZXRob2REZWNvcmF0b3J9IEEgbWV0aG9kIGRlY29yYXRvciB0aGF0IGVpdGhlciBleGNsdWRlcyB0aGUgZW5kcG9pbnQgZnJvbSBTd2FnZ2VyIChhbmQgcm91dGUgcmVnaXN0cmF0aW9uKSBvciBhcHBsaWVzIHRoZSBjb3JyZWN0IEhUVFAgZGVjb3JhdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQnVsa0FwaU9wZXJhdGlvbkZyb21Nb2RlbChcbiAgTW9kZWxDb25zdHJ1Y3RvcjogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICB2ZXJiOiBIdHRwVmVyYnMsXG4gIHBhdGg/OiBzdHJpbmdcbik6IE1ldGhvZERlY29yYXRvciB7XG4gIGNvbnN0IGh0dHBUb0NydWQ6IFJlY29yZDxcbiAgICBIdHRwVmVyYnMsXG4gICAgW0J1bGtDcnVkT3BlcmF0aW9uS2V5cywgKHBhdGg/OiBzdHJpbmcpID0+IE1ldGhvZERlY29yYXRvcl1cbiAgPiA9IHtcbiAgICBHRVQ6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuUkVBRF9BTEwsIEdldF0sXG4gICAgUE9TVDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLCBQb3N0XSxcbiAgICBQVVQ6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTCwgUHV0XSxcbiAgICBQQVRDSDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLCBQYXRjaF0sXG4gICAgREVMRVRFOiBbQnVsa0NydWRPcGVyYXRpb25LZXlzLkRFTEVURV9BTEwsIERlbGV0ZV0sXG4gIH07XG5cbiAgY29uc3QgW2NydWRPcCwgSHR0cE1ldGhvZERlY29yYXRvcl0gPSBodHRwVG9DcnVkW3ZlcmJdO1xuICBjb25zdCB0YXJnZXQgPSBwYXRoID8gcmVzb2x2ZUJsb2NrVGFyZ2V0KHZlcmIsIHBhdGgpIDogdW5kZWZpbmVkO1xuICByZXR1cm4gdGFyZ2V0XG4gICAgPyBjb3JlSXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIHRhcmdldC5raW5kIGFzIGFueSwgdGFyZ2V0LnZhbHVlKVxuICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSlcbiAgICA6IGNvcmVJc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgXCJidWxrXCIgYXMgYW55LCBjcnVkT3AgYXMgYW55KVxuICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSk7XG59XG5mdW5jdGlvbiByZXNvbHZlQmxvY2tUYXJnZXQoXG4gIHZlcmI6IEh0dHBWZXJicyxcbiAgcGF0aD86IHN0cmluZ1xuKTpcbiAgfCB7IGtpbmQ6IFwiY3J1ZFwiIHwgXCJzdGF0ZW1lbnRcIiB8IFwicXVlcnlcIiB8IFwiYnVsa1wiOyB2YWx1ZTogc3RyaW5nIH1cbiAgfCB1bmRlZmluZWQge1xuICBpZiAoIXBhdGgpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgY29uc3Qgbm9ybWFsaXplZCA9IHBhdGgucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgXCJcIik7XG4gIGNvbnN0IHN0YXRlbWVudFRhcmdldHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgXCJsaXN0QnkvOmtleVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTElTVF9CWSxcbiAgICBcInBhZ2luYXRlQnkvOmtleS86cGFnZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRV9CWSxcbiAgICBcImZpbmQvOnZhbHVlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5GSU5ELFxuICAgIFwicGFnZS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlBBR0UsXG4gICAgXCJmaW5kT25lQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZLFxuICAgIFwiZmluZEJ5LzprZXkvOnZhbHVlXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5GSU5EX0JZLFxuICAgIFwic3RhdGVtZW50LzptZXRob2QvKmFyZ3NcIjogXCJzdGF0ZW1lbnRcIixcbiAgICBcImNvdW50T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRixcbiAgICBcIm1heE9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuTUFYX09GLFxuICAgIFwibWluT2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5NSU5fT0YsXG4gICAgXCJhdmdPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRixcbiAgICBcInN1bU9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuU1VNX09GLFxuICAgIFwiZGlzdGluY3RPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkRJU1RJTkNUX09GLFxuICAgIFwiZ3JvdXBPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkdST1VQX09GLFxuICB9O1xuXG4gIGlmIChub3JtYWxpemVkLnN0YXJ0c1dpdGgoXCJxdWVyeS9cIikpIHtcbiAgICByZXR1cm4geyBraW5kOiBcInF1ZXJ5XCIsIHZhbHVlOiBub3JtYWxpemVkLnJlcGxhY2UoL15xdWVyeVxcLy8sIFwiXCIpIH07XG4gIH1cblxuICBjb25zdCBzdGF0ZW1lbnRWYWx1ZSA9IHN0YXRlbWVudFRhcmdldHNbbm9ybWFsaXplZF07XG4gIGlmIChzdGF0ZW1lbnRWYWx1ZSkge1xuICAgIHJldHVybiB7IGtpbmQ6IFwic3RhdGVtZW50XCIsIHZhbHVlOiBzdGF0ZW1lbnRWYWx1ZSB9O1xuICB9XG5cbiAgaWYgKHZlcmIgPT09IFwiR0VUXCIgJiYgbm9ybWFsaXplZCA9PT0gXCJcIikge1xuICAgIHJldHVybiB7IGtpbmQ6IFwiY3J1ZFwiLCB2YWx1ZTogT3BlcmF0aW9uS2V5cy5SRUFEIH07XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpT3BlcmF0aW9uRnJvbU1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQXBpT3BlcmF0aW9uRnJvbU1vZGVsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBc0JBLHNEQWlCQztBQVNELDhEQWlCQztBQWpFRCxxREFBNkM7QUFDN0MsNkNBQXFEO0FBQ3JELDJEQUFnRjtBQUNoRiwyQ0FBK0Q7QUFDL0QseUNBQThFO0FBQzlFLHlDQUF1RDtBQUN2RDs7Ozs7OztHQU9HO0FBQ0g7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJO0lBQzlELE1BQU0sVUFBVSxHQUFHO1FBQ2YsR0FBRyxFQUFFLENBQUMsNkJBQWEsQ0FBQyxJQUFJLEVBQUUsWUFBRyxDQUFDO1FBQzlCLElBQUksRUFBRSxDQUFDLDZCQUFhLENBQUMsTUFBTSxFQUFFLGFBQUksQ0FBQztRQUNsQyxHQUFHLEVBQUUsQ0FBQyw2QkFBYSxDQUFDLE1BQU0sRUFBRSxZQUFHLENBQUM7UUFDaEMsS0FBSyxFQUFFLENBQUMsNkJBQWEsQ0FBQyxNQUFNLEVBQUUsY0FBSyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxDQUFDLDZCQUFhLENBQUMsTUFBTSxFQUFFLGVBQU0sQ0FBQztLQUN6QyxDQUFDO0lBQ0YsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsT0FBTyxNQUFNO1FBQ1QsQ0FBQyxDQUFDLElBQUEseUJBQXNCLEVBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxJQUFBLGtCQUFLLEVBQUMsSUFBQSw0QkFBa0IsR0FBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxJ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QztJQUNGLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssS0FBSyxJQUFJLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUNELDhqYkFBOGpiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHkgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEFwaUV4Y2x1ZGVFbmRwb2ludCB9IGZyb20gXCJAbmVzdGpzL3N3YWdnZXJcIjtcbmltcG9ydCB7IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cywgT3BlcmF0aW9uS2V5cywgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IERlbGV0ZSwgR2V0LCBQYXRjaCwgUG9zdCwgUHV0IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBpc09wZXJhdGlvbkJsb2NrZWQgYXMgY29yZUlzT3BlcmF0aW9uQmxvY2tlZCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgUHJlcGFyZWRTdGF0ZW1lbnRLZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gQ1JVRCBvcGVyYXRpb24gaXMgYmxvY2tlZCBmb3IgYSBzcGVjaWZpYyBtb2RlbCBjb25zdHJ1Y3Rvci5cbiAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgb3BlcmF0aW9uLWJsb2NraW5nIGhhbmRsZXIgbWV0YWRhdGEgc3RvcmVkIG9uIHRoZSBwcm92aWRlZCBtb2RlbCBjb25zdHJ1Y3RvciAodW5kZXIgYE9wZXJhdGlvbktleXMuUkVGTEVDVCArIE9wZXJhdGlvbktleXMuQkxPQ0tgKSwgZXhlY3V0ZXMgaXQgKGlmIHByZXNlbnQpIHdpdGggaXRzIHBlcnNpc3RlZCBhcmd1bWVudHMgcGx1cyB0aGUgcmVxdWVzdGVkIG9wZXJhdGlvbiwgYW5kIHJldHVybnMgd2hldGhlciB0aGUgb3BlcmF0aW9uIGlzIGJsb2NrZWQuIElmIG5vIGhhbmRsZXIgZXhpc3RzLCB0aGUgb3BlcmF0aW9uIGlzIGNvbnNpZGVyZWQgYWxsb3dlZCAocmV0dXJucyBgZmFsc2VgKS5cbiAqIEBwYXJhbSB7TW9kZWxDb25zdHJ1Y3Rvcjxhbnk+fSBNb2RlbENvbnN0cnVjdG9yIC0gVGhlIHRhcmdldCBtb2RlbCBjb25zdHJ1Y3RvciB3aG9zZSBtZXRhZGF0YSBtYXkgaW5jbHVkZSBhIGJsb2NraW5nIGhhbmRsZXIuXG4gKiBAcGFyYW0ge0NydWRPcGVyYXRpb25zfSBvcCAtIFRoZSBDUlVEIG9wZXJhdGlvbiB0byBldmFsdWF0ZSAoZS5nLiwgYE9wZXJhdGlvbktleXMuQ1JFQVRFYCwgYE9wZXJhdGlvbktleXMuUkVBRGAsIGBPcGVyYXRpb25LZXlzLlVQREFURWAsIGBPcGVyYXRpb25LZXlzLkRFTEVURWApLlxuICogQHJldHVybiB7Ym9vbGVhbn0gYHRydWVgIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBleHBsaWNpdGx5IGJsb2NrZWQgYnkgdGhlIG1vZGVsJ3MgaGFuZGxlcjsgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKiBAZnVuY3Rpb24gaXNPcGVyYXRpb25CbG9ja2VkXG4gKi9cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmRpdGlvbmFsbHkgYXBwbGllcyBhbiBIVFRQIG1ldGhvZCBkZWNvcmF0b3IgZm9yIGEgZ2l2ZW4gbW9kZWwgYW5kIHZlcmIsIGhpZGluZyB0aGUgZW5kcG9pbnQgaW4gU3dhZ2dlciAoYW5kIG5vdCByZWdpc3RlcmluZyB0aGUgcm91dGUpIHdoZW4gdGhlIG1vZGVsIGJsb2NrcyB0aGF0IENSVUQgb3BlcmF0aW9uLlxuICogQHN1bW1hcnkgTWFwcyBhbiBIVFRQIHZlcmIgdG8gaXRzIGNvcnJlc3BvbmRpbmcgYENydWRPcGVyYXRpb25zYCBrZXkgYW5kIE5lc3QgSFRUUCBkZWNvcmF0b3IgKGBAR2V0YCwgYEBQb3N0YCwgZXRjLikuIEl0IGNoZWNrcyBgaXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIGNydWRPcClgIGFuZCwgaWYgYmxvY2tlZCwgYXBwbGllcyBvbmx5IGBAQXBpRXhjbHVkZUVuZHBvaW50KClgIChTd2FnZ2VyLWhpZGRlbiwgbm8gTmVzdCByb3V0ZSkuIElmIHBlcm1pdHRlZCwgaXQgYXBwbGllcyB0aGUgYXBwcm9wcmlhdGUgSFRUUCBkZWNvcmF0b3Igd2l0aCB0aGUgb3B0aW9uYWwgYHBhdGhgLlxuICogQHBhcmFtIHtNb2RlbENvbnN0cnVjdG9yPGFueT59IE1vZGVsQ29uc3RydWN0b3IgLSBUaGUgbW9kZWwgY29uc3RydWN0b3IgdXNlZCB0byByZXNvbHZlIG9wZXJhdGlvbi1ibG9ja2luZyBydWxlcy5cbiAqIEBwYXJhbSB7SHR0cFZlcmJzfSB2ZXJiIC0gVGhlIEhUVFAgdmVyYiB0byBtYXAgKGUuZy4sIGBcIkdFVFwiIHwgXCJQT1NUXCIgfCBcIlBVVFwiIHwgXCJQQVRDSFwiIHwgXCJERUxFVEVcImApLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHJvdXRlIHBhdGggcGFzc2VkIHRocm91Z2ggdG8gdGhlIGNvcnJlc3BvbmRpbmcgTmVzdCBIVFRQIG1ldGhvZCBkZWNvcmF0b3IuXG4gKiBAcmV0dXJuIHtNZXRob2REZWNvcmF0b3J9IEEgbWV0aG9kIGRlY29yYXRvciB0aGF0IGVpdGhlciBleGNsdWRlcyB0aGUgZW5kcG9pbnQgZnJvbSBTd2FnZ2VyIChhbmQgcm91dGUgcmVnaXN0cmF0aW9uKSBvciBhcHBsaWVzIHRoZSBjb3JyZWN0IEhUVFAgZGVjb3JhdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RydWN0b3IsIHZlcmIsIHBhdGgpIHtcbiAgICBjb25zdCBodHRwVG9DcnVkID0ge1xuICAgICAgICBHRVQ6IFtPcGVyYXRpb25LZXlzLlJFQUQsIEdldF0sXG4gICAgICAgIFBPU1Q6IFtPcGVyYXRpb25LZXlzLkNSRUFURSwgUG9zdF0sXG4gICAgICAgIFBVVDogW09wZXJhdGlvbktleXMuVVBEQVRFLCBQdXRdLFxuICAgICAgICBQQVRDSDogW09wZXJhdGlvbktleXMuVVBEQVRFLCBQYXRjaF0sXG4gICAgICAgIERFTEVURTogW09wZXJhdGlvbktleXMuREVMRVRFLCBEZWxldGVdLFxuICAgIH07XG4gICAgY29uc3QgW2NydWRPcCwgSHR0cE1ldGhvZERlY29yYXRvcl0gPSBodHRwVG9DcnVkW3ZlcmJdO1xuICAgIGNvbnN0IHRhcmdldCA9IHJlc29sdmVCbG9ja1RhcmdldCh2ZXJiLCBwYXRoKTtcbiAgICByZXR1cm4gdGFyZ2V0XG4gICAgICAgID8gY29yZUlzT3BlcmF0aW9uQmxvY2tlZChNb2RlbENvbnN0cnVjdG9yLCB0YXJnZXQua2luZCwgdGFyZ2V0LnZhbHVlKVxuICAgICAgICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgICAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSlcbiAgICAgICAgOiBjb3JlSXNPcGVyYXRpb25CbG9ja2VkKE1vZGVsQ29uc3RydWN0b3IsIGNydWRPcClcbiAgICAgICAgICAgID8gYXBwbHkoQXBpRXhjbHVkZUVuZHBvaW50KCkpXG4gICAgICAgICAgICA6IGFwcGx5KEh0dHBNZXRob2REZWNvcmF0b3IocGF0aCkpO1xufVxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZGl0aW9uYWxseSBhcHBsaWVzIGFuIEhUVFAgbWV0aG9kIGRlY29yYXRvciBmb3IgYSBnaXZlbiBtb2RlbCBhbmQgdmVyYiwgaGlkaW5nIHRoZSBlbmRwb2ludCBpbiBTd2FnZ2VyIChhbmQgbm90IHJlZ2lzdGVyaW5nIHRoZSByb3V0ZSkgd2hlbiB0aGUgbW9kZWwgYmxvY2tzIHRoYXQgQ1JVRCBvcGVyYXRpb24uXG4gKiBAc3VtbWFyeSBNYXBzIGFuIEhUVFAgdmVyYiB0byBpdHMgY29ycmVzcG9uZGluZyBgQ3J1ZE9wZXJhdGlvbnNgIGtleSBhbmQgTmVzdCBIVFRQIGRlY29yYXRvciAoYEBHZXRgLCBgQFBvc3RgLCBldGMuKS4gSXQgY2hlY2tzIGBpc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgY3J1ZE9wKWAgYW5kLCBpZiBibG9ja2VkLCBhcHBsaWVzIG9ubHkgYEBBcGlFeGNsdWRlRW5kcG9pbnQoKWAgKFN3YWdnZXItaGlkZGVuLCBubyBOZXN0IHJvdXRlKS4gSWYgcGVybWl0dGVkLCBpdCBhcHBsaWVzIHRoZSBhcHByb3ByaWF0ZSBIVFRQIGRlY29yYXRvciB3aXRoIHRoZSBvcHRpb25hbCBgcGF0aGAuXG4gKiBAcGFyYW0ge01vZGVsQ29uc3RydWN0b3I8YW55Pn0gTW9kZWxDb25zdHJ1Y3RvciAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvciB1c2VkIHRvIHJlc29sdmUgb3BlcmF0aW9uLWJsb2NraW5nIHJ1bGVzLlxuICogQHBhcmFtIHtIdHRwVmVyYnN9IHZlcmIgLSBUaGUgSFRUUCB2ZXJiIHRvIG1hcCAoZS5nLiwgYFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiUFVUXCIgfCBcIlBBVENIXCIgfCBcIkRFTEVURVwiYCkuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3BhdGhdIC0gT3B0aW9uYWwgcm91dGUgcGF0aCBwYXNzZWQgdGhyb3VnaCB0byB0aGUgY29ycmVzcG9uZGluZyBOZXN0IEhUVFAgbWV0aG9kIGRlY29yYXRvci5cbiAqIEByZXR1cm4ge01ldGhvZERlY29yYXRvcn0gQSBtZXRob2QgZGVjb3JhdG9yIHRoYXQgZWl0aGVyIGV4Y2x1ZGVzIHRoZSBlbmRwb2ludCBmcm9tIFN3YWdnZXIgKGFuZCByb3V0ZSByZWdpc3RyYXRpb24pIG9yIGFwcGxpZXMgdGhlIGNvcnJlY3QgSFRUUCBkZWNvcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBCdWxrQXBpT3BlcmF0aW9uRnJvbU1vZGVsKE1vZGVsQ29uc3RydWN0b3IsIHZlcmIsIHBhdGgpIHtcbiAgICBjb25zdCBodHRwVG9DcnVkID0ge1xuICAgICAgICBHRVQ6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuUkVBRF9BTEwsIEdldF0sXG4gICAgICAgIFBPU1Q6IFtCdWxrQ3J1ZE9wZXJhdGlvbktleXMuQ1JFQVRFX0FMTCwgUG9zdF0sXG4gICAgICAgIFBVVDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLCBQdXRdLFxuICAgICAgICBQQVRDSDogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5VUERBVEVfQUxMLCBQYXRjaF0sXG4gICAgICAgIERFTEVURTogW0J1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMLCBEZWxldGVdLFxuICAgIH07XG4gICAgY29uc3QgW2NydWRPcCwgSHR0cE1ldGhvZERlY29yYXRvcl0gPSBodHRwVG9DcnVkW3ZlcmJdO1xuICAgIGNvbnN0IHRhcmdldCA9IHBhdGggPyByZXNvbHZlQmxvY2tUYXJnZXQodmVyYiwgcGF0aCkgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRhcmdldFxuICAgICAgICA/IGNvcmVJc09wZXJhdGlvbkJsb2NrZWQoTW9kZWxDb25zdHJ1Y3RvciwgdGFyZ2V0LmtpbmQsIHRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgID8gYXBwbHkoQXBpRXhjbHVkZUVuZHBvaW50KCkpXG4gICAgICAgICAgICA6IGFwcGx5KEh0dHBNZXRob2REZWNvcmF0b3IocGF0aCkpXG4gICAgICAgIDogY29yZUlzT3BlcmF0aW9uQmxvY2tlZChNb2RlbENvbnN0cnVjdG9yLCBcImJ1bGtcIiwgY3J1ZE9wKVxuICAgICAgICAgICAgPyBhcHBseShBcGlFeGNsdWRlRW5kcG9pbnQoKSlcbiAgICAgICAgICAgIDogYXBwbHkoSHR0cE1ldGhvZERlY29yYXRvcihwYXRoKSk7XG59XG5mdW5jdGlvbiByZXNvbHZlQmxvY2tUYXJnZXQodmVyYiwgcGF0aCkge1xuICAgIGlmICghcGF0aClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBub3JtYWxpemVkID0gcGF0aC5yZXBsYWNlKC9eXFwvK3xcXC8rJC9nLCBcIlwiKTtcbiAgICBjb25zdCBzdGF0ZW1lbnRUYXJnZXRzID0ge1xuICAgICAgICBcImxpc3RCeS86a2V5XCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5MSVNUX0JZLFxuICAgICAgICBcInBhZ2luYXRlQnkvOmtleS86cGFnZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRV9CWSxcbiAgICAgICAgXCJmaW5kLzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORCxcbiAgICAgICAgXCJwYWdlLzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuUEFHRSxcbiAgICAgICAgXCJmaW5kT25lQnkvOmtleS86dmFsdWVcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkZJTkRfT05FX0JZLFxuICAgICAgICBcImZpbmRCeS86a2V5Lzp2YWx1ZVwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRklORF9CWSxcbiAgICAgICAgXCJzdGF0ZW1lbnQvOm1ldGhvZC8qYXJnc1wiOiBcInN0YXRlbWVudFwiLFxuICAgICAgICBcImNvdW50T2YvOmZpZWxkXCI6IFByZXBhcmVkU3RhdGVtZW50S2V5cy5DT1VOVF9PRixcbiAgICAgICAgXCJtYXhPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1BWF9PRixcbiAgICAgICAgXCJtaW5PZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLk1JTl9PRixcbiAgICAgICAgXCJhdmdPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkFWR19PRixcbiAgICAgICAgXCJzdW1PZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLlNVTV9PRixcbiAgICAgICAgXCJkaXN0aW5jdE9mLzpmaWVsZFwiOiBQcmVwYXJlZFN0YXRlbWVudEtleXMuRElTVElOQ1RfT0YsXG4gICAgICAgIFwiZ3JvdXBPZi86ZmllbGRcIjogUHJlcGFyZWRTdGF0ZW1lbnRLZXlzLkdST1VQX09GLFxuICAgIH07XG4gICAgaWYgKG5vcm1hbGl6ZWQuc3RhcnRzV2l0aChcInF1ZXJ5L1wiKSkge1xuICAgICAgICByZXR1cm4geyBraW5kOiBcInF1ZXJ5XCIsIHZhbHVlOiBub3JtYWxpemVkLnJlcGxhY2UoL15xdWVyeVxcLy8sIFwiXCIpIH07XG4gICAgfVxuICAgIGNvbnN0IHN0YXRlbWVudFZhbHVlID0gc3RhdGVtZW50VGFyZ2V0c1tub3JtYWxpemVkXTtcbiAgICBpZiAoc3RhdGVtZW50VmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHsga2luZDogXCJzdGF0ZW1lbnRcIiwgdmFsdWU6IHN0YXRlbWVudFZhbHVlIH07XG4gICAgfVxuICAgIGlmICh2ZXJiID09PSBcIkdFVFwiICYmIG5vcm1hbGl6ZWQgPT09IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIHsga2luZDogXCJjcnVkXCIsIHZhbHVlOiBPcGVyYXRpb25LZXlzLlJFQUQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVFYQnBUM0JsY21GMGFXOXVSbkp2YlUxdlpHVnNMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJSbFkyRm1MVzF2WkdWc0wyUmxZMjl5WVhSdmNuTXZRWEJwVDNCbGNtRjBhVzl1Um5KdmJVMXZaR1ZzTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeHpRa0ZCYzBJc1EwRkJRenRCUVVNM1F5eFBRVUZQTEVWQlFVVXNhMEpCUVd0Q0xFVkJRVVVzVFVGQlRTeHBRa0ZCYVVJc1EwRkJRenRCUVVOeVJDeFBRVUZQTEVWQlEwd3NjVUpCUVhGQ0xFVkJRM0pDTEdGQlFXRXNSMEZGWkN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlJXcERMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1IwRkJSeXhGUVVGRkxFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkZMMFFzVDBGQlR5eEZRVUZGTEd0Q1FVRnJRaXhKUVVGSkxITkNRVUZ6UWl4RlFVRkZMRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZET1VVc1QwRkJUeXhGUVVGRkxIRkNRVUZ4UWl4RlFVRkZMRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZIZGtRN096czdPenM3UjBGUFJ6dEJRVU5JT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzY1VKQlFYRkNMRU5CUTI1RExHZENRVUYxUXl4RlFVTjJReXhKUVVGbExFVkJRMllzU1VGQllUdEpRVVZpTEUxQlFVMHNWVUZCVlN4SFFVZGFPMUZCUTBZc1IwRkJSeXhGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NSVUZCUlN4SFFVRkhMRU5CUVVNN1VVRkRPVUlzU1VGQlNTeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU03VVVGRGJFTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1lVRkJZU3hEUVVGRExFMUJRVTBzUlVGQlJTeEhRVUZITEVOQlFVTTdVVUZEYUVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zWVVGQllTeERRVUZETEUxQlFVMHNSVUZCUlN4TFFVRkxMRU5CUVVNN1VVRkRjRU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU03UzBGRGRrTXNRMEZCUXp0SlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRVVVzYlVKQlFXMUNMRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTVUZEZGtRc1RVRkJUU3hOUVVGTkxFZEJRVWNzYTBKQlFXdENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6bERMRTlCUVU4c1RVRkJUVHRSUVVOWUxFTkJRVU1zUTBGQlF5eHpRa0ZCYzBJc1EwRkJReXhuUWtGQlowSXNSVUZCUlN4TlFVRk5MRU5CUVVNc1NVRkJWeXhGUVVGRkxFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTTdXVUZETVVVc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE8xbEJRemRDTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRjRU1zUTBGQlF5eERRVUZETEhOQ1FVRnpRaXhEUVVGRExHZENRVUZuUWl4RlFVRkZMRTFCUVUwc1EwRkJRenRaUVVOb1JDeERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEVOQlFVTTdXVUZETjBJc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzcERMRU5CUVVNN1FVRkRSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMSGxDUVVGNVFpeERRVU4yUXl4blFrRkJkVU1zUlVGRGRrTXNTVUZCWlN4RlFVTm1MRWxCUVdFN1NVRkZZaXhOUVVGTkxGVkJRVlVzUjBGSFdqdFJRVU5HTEVkQlFVY3NSVUZCUlN4RFFVRkRMSEZDUVVGeFFpeERRVUZETEZGQlFWRXNSVUZCUlN4SFFVRkhMRU5CUVVNN1VVRkRNVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXp0UlFVTTVReXhIUVVGSExFVkJRVVVzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eERRVUZETzFGQlF6VkRMRXRCUVVzc1JVRkJSU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRlZCUVZVc1JVRkJSU3hMUVVGTExFTkJRVU03VVVGRGFFUXNUVUZCVFN4RlFVRkZMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNWVUZCVlN4RlFVRkZMRTFCUVUwc1EwRkJRenRMUVVOdVJDeERRVUZETzBsQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU4yUkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRE8wbEJRMnBGTEU5QlFVOHNUVUZCVFR0UlFVTllMRU5CUVVNc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4blFrRkJaMElzUlVGQlJTeE5RVUZOTEVOQlFVTXNTVUZCVnl4RlFVRkZMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU03V1VGRE1VVXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4RFFVRkRPMWxCUXpkQ0xFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEY0VNc1EwRkJReXhEUVVGRExITkNRVUZ6UWl4RFFVRkRMR2RDUVVGblFpeEZRVUZGTEUxQlFXRXNSVUZCUlN4TlFVRmhMRU5CUVVNN1dVRkRkRVVzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUlVGQlJTeERRVUZETzFsQlF6ZENMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU42UXl4RFFVRkRPMEZCUTBRc1UwRkJVeXhyUWtGQmEwSXNRMEZEZWtJc1NVRkJaU3hGUVVObUxFbEJRV0U3U1VGSllpeEpRVUZKTEVOQlFVTXNTVUZCU1R0UlFVRkZMRTlCUVU4c1UwRkJVeXhEUVVGRE8wbEJSVFZDTEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zV1VGQldTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTJ4RUxFMUJRVTBzWjBKQlFXZENMRWRCUVRKQ08xRkJReTlETEdGQlFXRXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTzFGQlF6VkRMSFZDUVVGMVFpeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExFOUJRVTg3VVVGRGRFUXNZVUZCWVN4RlFVRkZMSEZDUVVGeFFpeERRVUZETEVsQlFVazdVVUZEZWtNc1lVRkJZU3hGUVVGRkxIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrN1VVRkRla01zZFVKQlFYVkNMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNWMEZCVnp0UlFVTXhSQ3h2UWtGQmIwSXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTzFGQlEyNUVMSGxDUVVGNVFpeEZRVUZGTEZkQlFWYzdVVUZEZEVNc1owSkJRV2RDTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVVVGQlVUdFJRVU5vUkN4alFVRmpMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0UlFVTTFReXhqUVVGakxFVkJRVVVzY1VKQlFYRkNMRU5CUVVNc1RVRkJUVHRSUVVNMVF5eGpRVUZqTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zVFVGQlRUdFJRVU0xUXl4alFVRmpMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0UlFVTTFReXh0UWtGQmJVSXNSVUZCUlN4eFFrRkJjVUlzUTBGQlF5eFhRVUZYTzFGQlEzUkVMR2RDUVVGblFpeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExGRkJRVkU3UzBGRGFrUXNRMEZCUXp0SlFVVkdMRWxCUVVrc1ZVRkJWU3hEUVVGRExGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUTNCRExFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRE8wbEJRM1JGTEVOQlFVTTdTVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXhuUWtGQlowSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVOd1JDeEpRVUZKTEdOQlFXTXNSVUZCUlN4RFFVRkRPMUZCUTI1Q0xFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNWMEZCVnl4RlFVRkZMRXRCUVVzc1JVRkJSU3hqUVVGakxFVkJRVVVzUTBGQlF6dEpRVU4wUkN4RFFVRkRPMGxCUlVRc1NVRkJTU3hKUVVGSkxFdEJRVXNzUzBGQlN5eEpRVUZKTEZWQlFWVXNTMEZCU3l4RlFVRkZMRVZCUVVVc1EwRkJRenRSUVVONFF5eFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzWVVGQllTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMGxCUTNKRUxFTkJRVU03U1VGRlJDeFBRVUZQTEZOQlFWTXNRMEZCUXp0QlFVTnVRaXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dZWEJ3YkhrZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUVGd2FVVjRZMngxWkdWRmJtUndiMmx1ZENCOUlHWnliMjBnWENKQWJtVnpkR3B6TDNOM1lXZG5aWEpjSWp0Y2JtbHRjRzl5ZENCN1hHNGdJRUoxYkd0RGNuVmtUM0JsY21GMGFXOXVTMlY1Y3l4Y2JpQWdUM0JsY21GMGFXOXVTMlY1Y3l4Y2JpQWdRM0oxWkU5d1pYSmhkR2x2Ym5Nc1hHNTlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR0l0WkdWamIzSmhkRzl5YzF3aU8xeHVhVzF3YjNKMElIc2dUVzlrWld4RGIyNXpkSEoxWTNSdmNpQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHOXlMWFpoYkdsa1lYUnBiMjVjSWp0Y2JtbHRjRzl5ZENCN0lFUmxiR1YwWlN3Z1IyVjBMQ0JRWVhSamFDd2dVRzl6ZEN3Z1VIVjBJSDBnWm5KdmJTQmNJa0J1WlhOMGFuTXZZMjl0Ylc5dVhDSTdYRzVjYm1sdGNHOXlkQ0I3SUdselQzQmxjbUYwYVc5dVFteHZZMnRsWkNCaGN5QmpiM0psU1hOUGNHVnlZWFJwYjI1Q2JHOWphMlZrSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5amIzSmxYQ0k3WEc1cGJYQnZjblFnZXlCUWNtVndZWEpsWkZOMFlYUmxiV1Z1ZEV0bGVYTWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRWgwZEhCV1pYSmljeUI5SUdaeWIyMGdYQ0l1TDNSNWNHVnpYQ0k3WEc1Y2JpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRVJsZEdWeWJXbHVaWE1nYVdZZ1lTQm5hWFpsYmlCRFVsVkVJRzl3WlhKaGRHbHZiaUJwY3lCaWJHOWphMlZrSUdadmNpQmhJSE53WldOcFptbGpJRzF2WkdWc0lHTnZibk4wY25WamRHOXlMbHh1SUNvZ1FITjFiVzFoY25rZ1VtVjBjbWxsZG1WeklIUm9aU0J2Y0dWeVlYUnBiMjR0WW14dlkydHBibWNnYUdGdVpHeGxjaUJ0WlhSaFpHRjBZU0J6ZEc5eVpXUWdiMjRnZEdobElIQnliM1pwWkdWa0lHMXZaR1ZzSUdOdmJuTjBjblZqZEc5eUlDaDFibVJsY2lCZ1QzQmxjbUYwYVc5dVMyVjVjeTVTUlVaTVJVTlVJQ3NnVDNCbGNtRjBhVzl1UzJWNWN5NUNURTlEUzJBcExDQmxlR1ZqZFhSbGN5QnBkQ0FvYVdZZ2NISmxjMlZ1ZENrZ2QybDBhQ0JwZEhNZ2NHVnljMmx6ZEdWa0lHRnlaM1Z0Wlc1MGN5QndiSFZ6SUhSb1pTQnlaWEYxWlhOMFpXUWdiM0JsY21GMGFXOXVMQ0JoYm1RZ2NtVjBkWEp1Y3lCM2FHVjBhR1Z5SUhSb1pTQnZjR1Z5WVhScGIyNGdhWE1nWW14dlkydGxaQzRnU1dZZ2JtOGdhR0Z1Wkd4bGNpQmxlR2x6ZEhNc0lIUm9aU0J2Y0dWeVlYUnBiMjRnYVhNZ1kyOXVjMmxrWlhKbFpDQmhiR3h2ZDJWa0lDaHlaWFIxY201eklHQm1ZV3h6WldBcExseHVJQ29nUUhCaGNtRnRJSHROYjJSbGJFTnZibk4wY25WamRHOXlQR0Z1ZVQ1OUlFMXZaR1ZzUTI5dWMzUnlkV04wYjNJZ0xTQlVhR1VnZEdGeVoyVjBJRzF2WkdWc0lHTnZibk4wY25WamRHOXlJSGRvYjNObElHMWxkR0ZrWVhSaElHMWhlU0JwYm1Oc2RXUmxJR0VnWW14dlkydHBibWNnYUdGdVpHeGxjaTVjYmlBcUlFQndZWEpoYlNCN1EzSjFaRTl3WlhKaGRHbHZibk45SUc5d0lDMGdWR2hsSUVOU1ZVUWdiM0JsY21GMGFXOXVJSFJ2SUdWMllXeDFZWFJsSUNobExtY3VMQ0JnVDNCbGNtRjBhVzl1UzJWNWN5NURVa1ZCVkVWZ0xDQmdUM0JsY21GMGFXOXVTMlY1Y3k1U1JVRkVZQ3dnWUU5d1pYSmhkR2x2Ymt0bGVYTXVWVkJFUVZSRllDd2dZRTl3WlhKaGRHbHZia3RsZVhNdVJFVk1SVlJGWUNrdVhHNGdLaUJBY21WMGRYSnVJSHRpYjI5c1pXRnVmU0JnZEhKMVpXQWdkMmhsYmlCMGFHVWdiM0JsY21GMGFXOXVJR2x6SUdWNGNHeHBZMmwwYkhrZ1lteHZZMnRsWkNCaWVTQjBhR1VnYlc5a1pXd25jeUJvWVc1a2JHVnlPeUJ2ZEdobGNuZHBjMlVnWUdaaGJITmxZQzVjYmlBcUlFQm1kVzVqZEdsdmJpQnBjMDl3WlhKaGRHbHZia0pzYjJOclpXUmNiaUFxTDF4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdRMjl1WkdsMGFXOXVZV3hzZVNCaGNIQnNhV1Z6SUdGdUlFaFVWRkFnYldWMGFHOWtJR1JsWTI5eVlYUnZjaUJtYjNJZ1lTQm5hWFpsYmlCdGIyUmxiQ0JoYm1RZ2RtVnlZaXdnYUdsa2FXNW5JSFJvWlNCbGJtUndiMmx1ZENCcGJpQlRkMkZuWjJWeUlDaGhibVFnYm05MElISmxaMmx6ZEdWeWFXNW5JSFJvWlNCeWIzVjBaU2tnZDJobGJpQjBhR1VnYlc5a1pXd2dZbXh2WTJ0eklIUm9ZWFFnUTFKVlJDQnZjR1Z5WVhScGIyNHVYRzRnS2lCQWMzVnRiV0Z5ZVNCTllYQnpJR0Z1SUVoVVZGQWdkbVZ5WWlCMGJ5QnBkSE1nWTI5eWNtVnpjRzl1WkdsdVp5QmdRM0oxWkU5d1pYSmhkR2x2Ym5OZ0lHdGxlU0JoYm1RZ1RtVnpkQ0JJVkZSUUlHUmxZMjl5WVhSdmNpQW9ZRUJIWlhSZ0xDQmdRRkJ2YzNSZ0xDQmxkR011S1M0Z1NYUWdZMmhsWTJ0eklHQnBjMDl3WlhKaGRHbHZia0pzYjJOclpXUW9UVzlrWld4RGIyNXpkSEoxWTNSdmNpd2dZM0oxWkU5d0tXQWdZVzVrTENCcFppQmliRzlqYTJWa0xDQmhjSEJzYVdWeklHOXViSGtnWUVCQmNHbEZlR05zZFdSbFJXNWtjRzlwYm5Rb0tXQWdLRk4zWVdkblpYSXRhR2xrWkdWdUxDQnVieUJPWlhOMElISnZkWFJsS1M0Z1NXWWdjR1Z5YldsMGRHVmtMQ0JwZENCaGNIQnNhV1Z6SUhSb1pTQmhjSEJ5YjNCeWFXRjBaU0JJVkZSUUlHUmxZMjl5WVhSdmNpQjNhWFJvSUhSb1pTQnZjSFJwYjI1aGJDQmdjR0YwYUdBdVhHNGdLaUJBY0dGeVlXMGdlMDF2WkdWc1EyOXVjM1J5ZFdOMGIzSThZVzU1UG4wZ1RXOWtaV3hEYjI1emRISjFZM1J2Y2lBdElGUm9aU0J0YjJSbGJDQmpiMjV6ZEhKMVkzUnZjaUIxYzJWa0lIUnZJSEpsYzI5c2RtVWdiM0JsY21GMGFXOXVMV0pzYjJOcmFXNW5JSEoxYkdWekxseHVJQ29nUUhCaGNtRnRJSHRJZEhSd1ZtVnlZbk45SUhabGNtSWdMU0JVYUdVZ1NGUlVVQ0IyWlhKaUlIUnZJRzFoY0NBb1pTNW5MaXdnWUZ3aVIwVlVYQ0lnZkNCY0lsQlBVMVJjSWlCOElGd2lVRlZVWENJZ2ZDQmNJbEJCVkVOSVhDSWdmQ0JjSWtSRlRFVlVSVndpWUNrdVhHNGdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXM0JoZEdoZElDMGdUM0IwYVc5dVlXd2djbTkxZEdVZ2NHRjBhQ0J3WVhOelpXUWdkR2h5YjNWbmFDQjBieUIwYUdVZ1kyOXljbVZ6Y0c5dVpHbHVaeUJPWlhOMElFaFVWRkFnYldWMGFHOWtJR1JsWTI5eVlYUnZjaTVjYmlBcUlFQnlaWFIxY200Z2UwMWxkR2h2WkVSbFkyOXlZWFJ2Y24wZ1FTQnRaWFJvYjJRZ1pHVmpiM0poZEc5eUlIUm9ZWFFnWldsMGFHVnlJR1Y0WTJ4MVpHVnpJSFJvWlNCbGJtUndiMmx1ZENCbWNtOXRJRk4zWVdkblpYSWdLR0Z1WkNCeWIzVjBaU0J5WldkcGMzUnlZWFJwYjI0cElHOXlJR0Z3Y0d4cFpYTWdkR2hsSUdOdmNuSmxZM1FnU0ZSVVVDQmtaV052Y21GMGIzSXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCQmNHbFBjR1Z5WVhScGIyNUdjbTl0VFc5a1pXd29YRzRnSUUxdlpHVnNRMjl1YzNSeWRXTjBiM0k2SUUxdlpHVnNRMjl1YzNSeWRXTjBiM0k4WVc1NVBpeGNiaUFnZG1WeVlqb2dTSFIwY0ZabGNtSnpMRnh1SUNCd1lYUm9Qem9nYzNSeWFXNW5YRzRwT2lCTlpYUm9iMlJFWldOdmNtRjBiM0lnZTF4dUlDQmpiMjV6ZENCb2RIUndWRzlEY25Wa09pQlNaV052Y21ROFhHNGdJQ0FnU0hSMGNGWmxjbUp6TEZ4dUlDQWdJRnREY25Wa1QzQmxjbUYwYVc5dWN5d2dLSEJoZEdnL09pQnpkSEpwYm1jcElEMCtJRTFsZEdodlpFUmxZMjl5WVhSdmNsMWNiaUFnUGlBOUlIdGNiaUFnSUNCSFJWUTZJRnRQY0dWeVlYUnBiMjVMWlhsekxsSkZRVVFzSUVkbGRGMHNYRzRnSUNBZ1VFOVRWRG9nVzA5d1pYSmhkR2x2Ymt0bGVYTXVRMUpGUVZSRkxDQlFiM04wWFN4Y2JpQWdJQ0JRVlZRNklGdFBjR1Z5WVhScGIyNUxaWGx6TGxWUVJFRlVSU3dnVUhWMFhTeGNiaUFnSUNCUVFWUkRTRG9nVzA5d1pYSmhkR2x2Ymt0bGVYTXVWVkJFUVZSRkxDQlFZWFJqYUYwc1hHNGdJQ0FnUkVWTVJWUkZPaUJiVDNCbGNtRjBhVzl1UzJWNWN5NUVSVXhGVkVVc0lFUmxiR1YwWlYwc1hHNGdJSDA3WEc1Y2JpQWdZMjl1YzNRZ1cyTnlkV1JQY0N3Z1NIUjBjRTFsZEdodlpFUmxZMjl5WVhSdmNsMGdQU0JvZEhSd1ZHOURjblZrVzNabGNtSmRPMXh1SUNCamIyNXpkQ0IwWVhKblpYUWdQU0J5WlhOdmJIWmxRbXh2WTJ0VVlYSm5aWFFvZG1WeVlpd2djR0YwYUNrN1hHNGdJSEpsZEhWeWJpQjBZWEpuWlhSY2JpQWdJQ0EvSUdOdmNtVkpjMDl3WlhKaGRHbHZia0pzYjJOclpXUW9UVzlrWld4RGIyNXpkSEoxWTNSdmNpd2dkR0Z5WjJWMExtdHBibVFnWVhNZ1lXNTVMQ0IwWVhKblpYUXVkbUZzZFdVcFhHNGdJQ0FnSUNBL0lHRndjR3g1S0VGd2FVVjRZMngxWkdWRmJtUndiMmx1ZENncEtWeHVJQ0FnSUNBZ09pQmhjSEJzZVNoSWRIUndUV1YwYUc5a1JHVmpiM0poZEc5eUtIQmhkR2dwS1Z4dUlDQWdJRG9nWTI5eVpVbHpUM0JsY21GMGFXOXVRbXh2WTJ0bFpDaE5iMlJsYkVOdmJuTjBjblZqZEc5eUxDQmpjblZrVDNBcFhHNGdJQ0FnSUNBL0lHRndjR3g1S0VGd2FVVjRZMngxWkdWRmJtUndiMmx1ZENncEtWeHVJQ0FnSUNBZ09pQmhjSEJzZVNoSWRIUndUV1YwYUc5a1JHVmpiM0poZEc5eUtIQmhkR2dwS1R0Y2JuMWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVOdmJtUnBkR2x2Ym1Gc2JIa2dZWEJ3YkdsbGN5QmhiaUJJVkZSUUlHMWxkR2h2WkNCa1pXTnZjbUYwYjNJZ1ptOXlJR0VnWjJsMlpXNGdiVzlrWld3Z1lXNWtJSFpsY21Jc0lHaHBaR2x1WnlCMGFHVWdaVzVrY0c5cGJuUWdhVzRnVTNkaFoyZGxjaUFvWVc1a0lHNXZkQ0J5WldkcGMzUmxjbWx1WnlCMGFHVWdjbTkxZEdVcElIZG9aVzRnZEdobElHMXZaR1ZzSUdKc2IyTnJjeUIwYUdGMElFTlNWVVFnYjNCbGNtRjBhVzl1TGx4dUlDb2dRSE4xYlcxaGNua2dUV0Z3Y3lCaGJpQklWRlJRSUhabGNtSWdkRzhnYVhSeklHTnZjbkpsYzNCdmJtUnBibWNnWUVOeWRXUlBjR1Z5WVhScGIyNXpZQ0JyWlhrZ1lXNWtJRTVsYzNRZ1NGUlVVQ0JrWldOdmNtRjBiM0lnS0dCQVIyVjBZQ3dnWUVCUWIzTjBZQ3dnWlhSakxpa3VJRWwwSUdOb1pXTnJjeUJnYVhOUGNHVnlZWFJwYjI1Q2JHOWphMlZrS0UxdlpHVnNRMjl1YzNSeWRXTjBiM0lzSUdOeWRXUlBjQ2xnSUdGdVpDd2dhV1lnWW14dlkydGxaQ3dnWVhCd2JHbGxjeUJ2Ym14NUlHQkFRWEJwUlhoamJIVmtaVVZ1WkhCdmFXNTBLQ2xnSUNoVGQyRm5aMlZ5TFdocFpHUmxiaXdnYm04Z1RtVnpkQ0J5YjNWMFpTa3VJRWxtSUhCbGNtMXBkSFJsWkN3Z2FYUWdZWEJ3YkdsbGN5QjBhR1VnWVhCd2NtOXdjbWxoZEdVZ1NGUlVVQ0JrWldOdmNtRjBiM0lnZDJsMGFDQjBhR1VnYjNCMGFXOXVZV3dnWUhCaGRHaGdMbHh1SUNvZ1FIQmhjbUZ0SUh0TmIyUmxiRU52Ym5OMGNuVmpkRzl5UEdGdWVUNTlJRTF2WkdWc1EyOXVjM1J5ZFdOMGIzSWdMU0JVYUdVZ2JXOWtaV3dnWTI5dWMzUnlkV04wYjNJZ2RYTmxaQ0IwYnlCeVpYTnZiSFpsSUc5d1pYSmhkR2x2YmkxaWJHOWphMmx1WnlCeWRXeGxjeTVjYmlBcUlFQndZWEpoYlNCN1NIUjBjRlpsY21KemZTQjJaWEppSUMwZ1ZHaGxJRWhVVkZBZ2RtVnlZaUIwYnlCdFlYQWdLR1V1Wnk0c0lHQmNJa2RGVkZ3aUlId2dYQ0pRVDFOVVhDSWdmQ0JjSWxCVlZGd2lJSHdnWENKUVFWUkRTRndpSUh3Z1hDSkVSVXhGVkVWY0ltQXBMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0d1lYUm9YU0F0SUU5d2RHbHZibUZzSUhKdmRYUmxJSEJoZEdnZ2NHRnpjMlZrSUhSb2NtOTFaMmdnZEc4Z2RHaGxJR052Y25KbGMzQnZibVJwYm1jZ1RtVnpkQ0JJVkZSUUlHMWxkR2h2WkNCa1pXTnZjbUYwYjNJdVhHNGdLaUJBY21WMGRYSnVJSHROWlhSb2IyUkVaV052Y21GMGIzSjlJRUVnYldWMGFHOWtJR1JsWTI5eVlYUnZjaUIwYUdGMElHVnBkR2hsY2lCbGVHTnNkV1JsY3lCMGFHVWdaVzVrY0c5cGJuUWdabkp2YlNCVGQyRm5aMlZ5SUNoaGJtUWdjbTkxZEdVZ2NtVm5hWE4wY21GMGFXOXVLU0J2Y2lCaGNIQnNhV1Z6SUhSb1pTQmpiM0p5WldOMElFaFVWRkFnWkdWamIzSmhkRzl5TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdRblZzYTBGd2FVOXdaWEpoZEdsdmJrWnliMjFOYjJSbGJDaGNiaUFnVFc5a1pXeERiMjV6ZEhKMVkzUnZjam9nVFc5a1pXeERiMjV6ZEhKMVkzUnZjanhoYm5rK0xGeHVJQ0IyWlhKaU9pQklkSFJ3Vm1WeVluTXNYRzRnSUhCaGRHZy9PaUJ6ZEhKcGJtZGNiaWs2SUUxbGRHaHZaRVJsWTI5eVlYUnZjaUI3WEc0Z0lHTnZibk4wSUdoMGRIQlViME55ZFdRNklGSmxZMjl5WkR4Y2JpQWdJQ0JJZEhSd1ZtVnlZbk1zWEc0Z0lDQWdXMEoxYkd0RGNuVmtUM0JsY21GMGFXOXVTMlY1Y3l3Z0tIQmhkR2cvT2lCemRISnBibWNwSUQwK0lFMWxkR2h2WkVSbFkyOXlZWFJ2Y2wxY2JpQWdQaUE5SUh0Y2JpQWdJQ0JIUlZRNklGdENkV3hyUTNKMVpFOXdaWEpoZEdsdmJrdGxlWE11VWtWQlJGOUJURXdzSUVkbGRGMHNYRzRnSUNBZ1VFOVRWRG9nVzBKMWJHdERjblZrVDNCbGNtRjBhVzl1UzJWNWN5NURVa1ZCVkVWZlFVeE1MQ0JRYjNOMFhTeGNiaUFnSUNCUVZWUTZJRnRDZFd4clEzSjFaRTl3WlhKaGRHbHZia3RsZVhNdVZWQkVRVlJGWDBGTVRDd2dVSFYwWFN4Y2JpQWdJQ0JRUVZSRFNEb2dXMEoxYkd0RGNuVmtUM0JsY21GMGFXOXVTMlY1Y3k1VlVFUkJWRVZmUVV4TUxDQlFZWFJqYUYwc1hHNGdJQ0FnUkVWTVJWUkZPaUJiUW5Wc2EwTnlkV1JQY0dWeVlYUnBiMjVMWlhsekxrUkZURVZVUlY5QlRFd3NJRVJsYkdWMFpWMHNYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdXMk55ZFdSUGNDd2dTSFIwY0UxbGRHaHZaRVJsWTI5eVlYUnZjbDBnUFNCb2RIUndWRzlEY25Wa1czWmxjbUpkTzF4dUlDQmpiMjV6ZENCMFlYSm5aWFFnUFNCd1lYUm9JRDhnY21WemIyeDJaVUpzYjJOclZHRnlaMlYwS0habGNtSXNJSEJoZEdncElEb2dkVzVrWldacGJtVmtPMXh1SUNCeVpYUjFjbTRnZEdGeVoyVjBYRzRnSUNBZ1B5QmpiM0psU1hOUGNHVnlZWFJwYjI1Q2JHOWphMlZrS0UxdlpHVnNRMjl1YzNSeWRXTjBiM0lzSUhSaGNtZGxkQzVyYVc1a0lHRnpJR0Z1ZVN3Z2RHRnlaMlYwTG5aaGJIVmxLVnh1SUNBZ0lDQWdQeUJoY0hCc2VTaEJjR2xGZUdOc2RXUmxSVzVrY0c5cGJuUW9LU2xjYmlBZ0lDQWdJRG9nWVhCd2JIa29TSFIwY0UxbGRHaHZaRVJsWTI5eVlYUnZjaWh3WVhSb0tTbGNiaUFnSUNBNklHTnZjbVZKYzA5d1pYSmhkR2x2YmtKc2IyTnJaV1FvVFc5a1pXeERiMjV6ZEhKMVkzUnZjaXdnWENKaWRXeHJYQ0lnWVhNZ1lXNTVMQ0JqY25Wa1QzQWdZWE1nWVc1NUtWeHVJQ0FnSUNBZ1B5QmhjSEJzZVNoQmNHbEZlR05zZFdSbFJXNWtjRzlwYm5Rb0tTbGNiaUFnSUNBZ0lEb2dZWEJ3Ykhrb1NIUjBjRTFsZEdodlpFUmxZMjl5WVhSdmNpaHdZWFJvS1NrN1hHNTlYRzVtZFc1amRHbHZiaUJ5WlhOdmJIWmxRbXh2WTJ0VVlYSm5aWFFvWEc0Z0lIWmxjbUk2SUVoMGRIQldaWEppY3l4Y2JpQWdjR0YwYUQ4NklITjBjbWx1WjF4dUtUcGNiaUFnZkNCN0lHdHBibVE2SUZ3aVkzSjFaRndpSUh3Z1hDSnpkR0YwWlcxbGJuUmNJaUI4SUZ3aWNYVmxjbmxjSWlCOElGd2lZblZzYTF3aU95QjJZV3gxWlRvZ2MzUnlhVzVuSUgxY2JpQWdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQnBaaUFvSVhCaGRHZ3BJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzVjYmlBZ1kyOXVjM1FnYm05eWJXRnNhWHBsWkNBOUlIQmhkR2d1Y21Wd2JHRmpaU2d2WGx4Y0x5dDhYRnd2S3lRdlp5d2dYQ0pjSWlrN1hHNGdJR052Ym5OMElITjBZWFJsYldWdWRGUmhjbWRsZEhNNklGSmxZMjl5WkR4emRISnBibWNzSUhOMGNtbHVaejRnUFNCN1hHNGdJQ0FnWENKc2FYTjBRbmt2T210bGVWd2lPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVRFbFRWRjlDV1N4Y2JpQWdJQ0JjSW5CaFoybHVZWFJsUW5rdk9tdGxlUzg2Y0dGblpWd2lPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVVFRkhSVjlDV1N4Y2JpQWdJQ0JjSW1acGJtUXZPblpoYkhWbFhDSTZJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1R1NVNUVMRnh1SUNBZ0lGd2ljR0ZuWlM4NmRtRnNkV1ZjSWpvZ1VISmxjR0Z5WldSVGRHRjBaVzFsYm5STFpYbHpMbEJCUjBVc1hHNGdJQ0FnWENKbWFXNWtUMjVsUW5rdk9tdGxlUzg2ZG1Gc2RXVmNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrWkpUa1JmVDA1RlgwSlpMRnh1SUNBZ0lGd2labWx1WkVKNUx6cHJaWGt2T25aaGJIVmxYQ0k2SUZCeVpYQmhjbVZrVTNSaGRHVnRaVzUwUzJWNWN5NUdTVTVFWDBKWkxGeHVJQ0FnSUZ3aWMzUmhkR1Z0Wlc1MEx6cHRaWFJvYjJRdkttRnlaM05jSWpvZ1hDSnpkR0YwWlcxbGJuUmNJaXhjYmlBZ0lDQmNJbU52ZFc1MFQyWXZPbVpwWld4a1hDSTZJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1RFQxVk9WRjlQUml4Y2JpQWdJQ0JjSW0xaGVFOW1MenBtYVdWc1pGd2lPaUJRY21Wd1lYSmxaRk4wWVhSbGJXVnVkRXRsZVhNdVRVRllYMDlHTEZ4dUlDQWdJRndpYldsdVQyWXZPbVpwWld4a1hDSTZJRkJ5WlhCaGNtVmtVM1JoZEdWdFpXNTBTMlY1Y3k1TlNVNWZUMFlzWEc0Z0lDQWdYQ0poZG1kUFppODZabWxsYkdSY0lqb2dVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtGV1IxOVBSaXhjYmlBZ0lDQmNJbk4xYlU5bUx6cG1hV1ZzWkZ3aU9pQlFjbVZ3WVhKbFpGTjBZWFJsYldWdWRFdGxlWE11VTFWTlgwOUdMRnh1SUNBZ0lGd2laR2x6ZEdsdVkzUlBaaTg2Wm1sbGJHUmNJam9nVUhKbGNHRnlaV1JUZEdGMFpXMWxiblJMWlhsekxrUkpVMVJKVGtOVVgwOUdMRnh1SUNBZ0lGd2laM0p2ZFhCUFppODZabWxsYkdSY0lqb2dVSEpsY0dGeVpXUlRkR0YwWlcxbGJuUkxaWGx6TGtkU1QxVlFYMDlHTEZ4dUlDQjlPMXh1WEc0Z0lHbG1JQ2h1YjNKdFlXeHBlbVZrTG5OMFlYSjBjMWRwZEdnb1hDSnhkV1Z5ZVM5Y0lpa3BJSHRjYmlBZ0lDQnlaWFIxY200Z2V5QnJhVzVrT2lCY0luRjFaWEo1WENJc0lIWmhiSFZsT2lCdWIzSnRZV3hwZW1Wa0xuSmxjR3hoWTJVb0wxNXhkV1Z5ZVZ4Y0x5OHNJRndpWENJcElIMDdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQnpkR0YwWlcxbGJuUldZV3gxWlNBOUlITjBZWFJsYldWdWRGUmhjbWRsZEhOYmJtOXliV0ZzYVhwbFpGMDdYRzRnSUdsbUlDaHpkR0YwWlcxbGJuUldZV3gxWlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUI3SUd0cGJtUTZJRndpYzNSaGRHVnRaVzUwWENJc0lIWmhiSFZsT2lCemRHRjBaVzFsYm5SV1lXeDFaU0I5TzF4dUlDQjlYRzVjYmlBZ2FXWWdLSFpsY21JZ1BUMDlJRndpUjBWVVhDSWdKaVlnYm05eWJXRnNhWHBsWkNBOVBUMGdYQ0pjSWlrZ2UxeHVJQ0FnSUhKbGRIVnliaUI3SUd0cGJtUTZJRndpWTNKMVpGd2lMQ0IyWVd4MVpUb2dUM0JsY21GMGFXOXVTMlY1Y3k1U1JVRkVJSDA3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dWZWeHVJbDE5Il19
@@ -25,5 +25,5 @@ function normalizeEventResponse(args) {
25
25
  console.debug(`Normalized event response for model ${modelName}, operation ${operation}, id ${id}:`, serializedPayload);
26
26
  return [modelName, operation, id, serializedPayload];
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZlbnRzLW1vZHVsZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsSUFBVztJQUNoRCxNQUFNLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBRW5ELE1BQU0sU0FBUyxHQUFHLFdBQVcsRUFBRSxJQUFJLElBQUksV0FBVyxDQUFDO0lBRW5ELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDOUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUM7Z0JBQ0gsSUFBSSxPQUFPLENBQUMsQ0FBQyxTQUFTLEtBQUssVUFBVTtvQkFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFFNUQsT0FBTyxDQUFDLElBQUksQ0FDVixvQkFBb0IsU0FBUyw2Q0FBNkMsT0FBTyxDQUFDLDZDQUE2QyxDQUFDLEVBQUUsQ0FDbkksQ0FBQztnQkFDRixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFBQyxPQUFPLEdBQVksRUFBRSxDQUFDO2dCQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxTQUFTLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDckUsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLENBQUMsU0FBUyxLQUFLLFVBQVU7WUFDbEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVE7Z0JBQzNCLENBQUMsQ0FBQyxPQUFPO2dCQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWhDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsdUNBQXVDLFNBQVMsZUFBZSxTQUFTLFFBQVEsRUFBRSxHQUFHLEVBQ3JGLGlCQUFpQixDQUNsQixDQUFDO0lBRUYsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplRXZlbnRSZXNwb25zZShhcmdzOiBhbnlbXSk6IHVua25vd25bXSB7XG4gIGNvbnN0IFttb2RlbENvbnN0ciwgb3BlcmF0aW9uLCBpZCwgcGF5bG9hZF0gPSBhcmdzO1xuXG4gIGNvbnN0IG1vZGVsTmFtZSA9IG1vZGVsQ29uc3RyPy5uYW1lID8/IG1vZGVsQ29uc3RyO1xuXG4gIGNvbnN0IHNlcmlhbGl6ZWRQYXlsb2FkID0gQXJyYXkuaXNBcnJheShwYXlsb2FkKVxuICAgID8gcGF5bG9hZC5tYXAoKGUpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGUuc2VyaWFsaXplID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBlLnNlcmlhbGl6ZSgpO1xuXG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFBheWxvYWQgaXRlbSBmb3IgJHttb2RlbE5hbWV9IGRvZXMgbm90IGhhdmUgc2VyaWFsaXplIG1ldGhvZCBhbmQgaXMgYW4gJHt0eXBlb2YgZX0sIGF0dGVtcHRpbmcgdG8gc3RyaW5naWZ5IGRpcmVjdGx5LiBJdGVtOiAke2V9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiBlID09PSBcInN0cmluZ1wiID8gZSA6IEpTT04uc3RyaW5naWZ5KGUpO1xuICAgICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBzZXJpYWxpemUgcGF5bG9hZCBmb3IgJHttb2RlbE5hbWV9OiAke2Vycn1gKTtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIDogcGF5bG9hZCAmJiB0eXBlb2YgcGF5bG9hZC5zZXJpYWxpemUgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgPyBwYXlsb2FkLnNlcmlhbGl6ZSgpXG4gICAgICA6IHR5cGVvZiBwYXlsb2FkID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gcGF5bG9hZFxuICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpO1xuXG4gIGNvbnNvbGUuZGVidWcoXG4gICAgYE5vcm1hbGl6ZWQgZXZlbnQgcmVzcG9uc2UgZm9yIG1vZGVsICR7bW9kZWxOYW1lfSwgb3BlcmF0aW9uICR7b3BlcmF0aW9ufSwgaWQgJHtpZH06YCxcbiAgICBzZXJpYWxpemVkUGF5bG9hZFxuICApO1xuXG4gIHJldHVybiBbbW9kZWxOYW1lLCBvcGVyYXRpb24sIGlkLCBzZXJpYWxpemVkUGF5bG9hZF07XG59XG4iXX0=
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQXVCQztBQXZCRCxTQUFnQixzQkFBc0IsQ0FBQyxJQUFJO0lBQ3ZDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbkQsTUFBTSxTQUFTLEdBQUcsV0FBVyxFQUFFLElBQUksSUFBSSxXQUFXLENBQUM7SUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQztnQkFDRCxJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsS0FBSyxVQUFVO29CQUNqQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsU0FBUyw2Q0FBNkMsT0FBTyxDQUFDLDZDQUE2QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqSixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFDRCxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLFNBQVMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sQ0FBQyxTQUFTLEtBQUssVUFBVTtZQUNoRCxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUTtnQkFDekIsQ0FBQyxDQUFDLE9BQU87Z0JBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsU0FBUyxlQUFlLFNBQVMsUUFBUSxFQUFFLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hILE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFDRCwwckdBQTByRyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVFdmVudFJlc3BvbnNlKGFyZ3MpIHtcbiAgICBjb25zdCBbbW9kZWxDb25zdHIsIG9wZXJhdGlvbiwgaWQsIHBheWxvYWRdID0gYXJncztcbiAgICBjb25zdCBtb2RlbE5hbWUgPSBtb2RlbENvbnN0cj8ubmFtZSA/PyBtb2RlbENvbnN0cjtcbiAgICBjb25zdCBzZXJpYWxpemVkUGF5bG9hZCA9IEFycmF5LmlzQXJyYXkocGF5bG9hZClcbiAgICAgICAgPyBwYXlsb2FkLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGUuc2VyaWFsaXplID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlLnNlcmlhbGl6ZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgUGF5bG9hZCBpdGVtIGZvciAke21vZGVsTmFtZX0gZG9lcyBub3QgaGF2ZSBzZXJpYWxpemUgbWV0aG9kIGFuZCBpcyBhbiAke3R5cGVvZiBlfSwgYXR0ZW1wdGluZyB0byBzdHJpbmdpZnkgZGlyZWN0bHkuIEl0ZW06ICR7ZX1gKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIGUgPT09IFwic3RyaW5nXCIgPyBlIDogSlNPTi5zdHJpbmdpZnkoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gc2VyaWFsaXplIHBheWxvYWQgZm9yICR7bW9kZWxOYW1lfTogJHtlcnJ9YCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgOiBwYXlsb2FkICYmIHR5cGVvZiBwYXlsb2FkLnNlcmlhbGl6ZSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICA/IHBheWxvYWQuc2VyaWFsaXplKClcbiAgICAgICAgICAgIDogdHlwZW9mIHBheWxvYWQgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICA/IHBheWxvYWRcbiAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpO1xuICAgIGNvbnNvbGUuZGVidWcoYE5vcm1hbGl6ZWQgZXZlbnQgcmVzcG9uc2UgZm9yIG1vZGVsICR7bW9kZWxOYW1lfSwgb3BlcmF0aW9uICR7b3BlcmF0aW9ufSwgaWQgJHtpZH06YCwgc2VyaWFsaXplZFBheWxvYWQpO1xuICAgIHJldHVybiBbbW9kZWxOYW1lLCBvcGVyYXRpb24sIGlkLCBzZXJpYWxpemVkUGF5bG9hZF07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkWFJwYkhNdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTl6Y21NdlpYWmxiblJ6TFcxdlpIVnNaUzkxZEdsc2N5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZGUVN4TlFVRk5MRlZCUVZVc2MwSkJRWE5DTEVOQlFVTXNTVUZCVnp0SlFVTm9SQ3hOUVVGTkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEZOQlFWTXNSVUZCUlN4RlFVRkZMRVZCUVVVc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETzBsQlJXNUVMRTFCUVUwc1UwRkJVeXhIUVVGSExGZEJRVmNzUlVGQlJTeEpRVUZKTEVsQlFVa3NWMEZCVnl4RFFVRkRPMGxCUlc1RUxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZET1VNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOb1FpeEpRVUZKTEVOQlFVTTdaMEpCUTBnc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eFRRVUZUTEV0QlFVc3NWVUZCVlR0dlFrRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0blFrRkZOVVFzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZEVml4dlFrRkJiMElzVTBGQlV5dzJRMEZCTmtNc1QwRkJUeXhEUVVGRExEWkRRVUUyUXl4RFFVRkRMRVZCUVVVc1EwRkRia2tzUTBGQlF6dG5Ra0ZEUml4UFFVRlBMRTlCUVU4c1EwRkJReXhMUVVGTExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNaRUxFTkJRVU03V1VGQlF5eFBRVUZQTEVkQlFWa3NSVUZCUlN4RFFVRkRPMmRDUVVOMFFpeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRzFEUVVGdFF5eFRRVUZUTEV0QlFVc3NSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJRenRuUWtGRGNrVXNUMEZCVHl4VFFVRlRMRU5CUVVNN1dVRkRia0lzUTBGQlF6dFJRVU5JTEVOQlFVTXNRMEZCUXp0UlFVTktMRU5CUVVNc1EwRkJReXhQUVVGUExFbEJRVWtzVDBGQlR5eFBRVUZQTEVOQlFVTXNVMEZCVXl4TFFVRkxMRlZCUVZVN1dVRkRiRVFzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRVZCUVVVN1dVRkRja0lzUTBGQlF5eERRVUZETEU5QlFVOHNUMEZCVHl4TFFVRkxMRkZCUVZFN1owSkJRek5DTEVOQlFVTXNRMEZCUXl4UFFVRlBPMmRDUVVOVUxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wbEJSV2hETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUTFnc2RVTkJRWFZETEZOQlFWTXNaVUZCWlN4VFFVRlRMRkZCUVZFc1JVRkJSU3hIUVVGSExFVkJRM0pHTEdsQ1FVRnBRaXhEUVVOc1FpeERRVUZETzBsQlJVWXNUMEZCVHl4RFFVRkRMRk5CUVZNc1JVRkJSU3hUUVVGVExFVkJRVVVzUlVGQlJTeEZRVUZGTEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03UVVGRGRrUXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lFMXZaR1ZzSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYjNJdGRtRnNhV1JoZEdsdmJsd2lPMXh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYm05eWJXRnNhWHBsUlhabGJuUlNaWE53YjI1elpTaGhjbWR6T2lCaGJubGJYU2s2SUhWdWEyNXZkMjViWFNCN1hHNGdJR052Ym5OMElGdHRiMlJsYkVOdmJuTjBjaXdnYjNCbGNtRjBhVzl1TENCcFpDd2djR0Y1Ykc5aFpGMGdQU0JoY21kek8xeHVYRzRnSUdOdmJuTjBJRzF2WkdWc1RtRnRaU0E5SUcxdlpHVnNRMjl1YzNSeVB5NXVZVzFsSUQ4L0lHMXZaR1ZzUTI5dWMzUnlPMXh1WEc0Z0lHTnZibk4wSUhObGNtbGhiR2w2WldSUVlYbHNiMkZrSUQwZ1FYSnlZWGt1YVhOQmNuSmhlU2h3WVhsc2IyRmtLVnh1SUNBZ0lEOGdjR0Y1Ykc5aFpDNXRZWEFvS0dVcElEMCtJSHRjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUdVdWMyVnlhV0ZzYVhwbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJcElISmxkSFZ5YmlCbExuTmxjbWxoYkdsNlpTZ3BPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRnh1SUNBZ0lDQWdJQ0FnSUNBZ1lGQmhlV3h2WVdRZ2FYUmxiU0JtYjNJZ0pIdHRiMlJsYkU1aGJXVjlJR1J2WlhNZ2JtOTBJR2hoZG1VZ2MyVnlhV0ZzYVhwbElHMWxkR2h2WkNCaGJtUWdhWE1nWVc0Z0pIdDBlWEJsYjJZZ1pYMHNJR0YwZEdWdGNIUnBibWNnZEc4Z2MzUnlhVzVuYVdaNUlHUnBjbVZqZEd4NUxpQkpkR1Z0T2lBa2UyVjlZRnh1SUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUjVjR1Z2WmlCbElEMDlQU0JjSW5OMGNtbHVaMXdpSUQ4Z1pTQTZJRXBUVDA0dWMzUnlhVzVuYVdaNUtHVXBPMXh1SUNBZ0lDQWdJQ0I5SUdOaGRHTm9JQ2hsY25JNklIVnVhMjV2ZDI0cElIdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emIyeGxMbmRoY200b1lFWmhhV3hsWkNCMGJ5QnpaWEpwWVd4cGVtVWdjR0Y1Ykc5aFpDQm1iM0lnSkh0dGIyUmxiRTVoYldWOU9pQWtlMlZ5Y24xZ0tUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5S1Z4dUlDQWdJRG9nY0dGNWJHOWhaQ0FtSmlCMGVYQmxiMllnY0dGNWJHOWhaQzV6WlhKcFlXeHBlbVVnUFQwOUlGd2lablZ1WTNScGIyNWNJbHh1SUNBZ0lDQWdQeUJ3WVhsc2IyRmtMbk5sY21saGJHbDZaU2dwWEc0Z0lDQWdJQ0E2SUhSNWNHVnZaaUJ3WVhsc2IyRmtJRDA5UFNCY0luTjBjbWx1WjF3aVhHNGdJQ0FnSUNBZ0lEOGdjR0Y1Ykc5aFpGeHVJQ0FnSUNBZ0lDQTZJRXBUVDA0dWMzUnlhVzVuYVdaNUtIQmhlV3h2WVdRcE8xeHVYRzRnSUdOdmJuTnZiR1V1WkdWaWRXY29YRzRnSUNBZ1lFNXZjbTFoYkdsNlpXUWdaWFpsYm5RZ2NtVnpjRzl1YzJVZ1ptOXlJRzF2WkdWc0lDUjdiVzlrWld4T1lXMWxmU3dnYjNCbGNtRjBhVzl1SUNSN2IzQmxjbUYwYVc5dWZTd2dhV1FnSkh0cFpIMDZZQ3hjYmlBZ0lDQnpaWEpwWVd4cGVtVmtVR0Y1Ykc5aFpGeHVJQ0FwTzF4dVhHNGdJSEpsZEhWeWJpQmJiVzlrWld4T1lXMWxMQ0J2Y0dWeVlYUnBiMjRzSUdsa0xDQnpaWEpwWVd4cGVtVmtVR0Y1Ykc5aFpGMDdYRzU5WEc0aVhYMD0iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZlbnRzLW1vZHVsZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsSUFBVztJQUNoRCxNQUFNLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBRW5ELE1BQU0sU0FBUyxHQUFHLFdBQVcsRUFBRSxJQUFJLElBQUksV0FBVyxDQUFDO0lBRW5ELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDOUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUM7Z0JBQ0gsSUFBSSxPQUFPLENBQUMsQ0FBQyxTQUFTLEtBQUssVUFBVTtvQkFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFFNUQsT0FBTyxDQUFDLElBQUksQ0FDVixvQkFBb0IsU0FBUyw2Q0FBNkMsT0FBTyxDQUFDLDZDQUE2QyxDQUFDLEVBQUUsQ0FDbkksQ0FBQztnQkFDRixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFBQyxPQUFPLEdBQVksRUFBRSxDQUFDO2dCQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxTQUFTLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDckUsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLENBQUMsU0FBUyxLQUFLLFVBQVU7WUFDbEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVE7Z0JBQzNCLENBQUMsQ0FBQyxPQUFPO2dCQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWhDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsdUNBQXVDLFNBQVMsZUFBZSxTQUFTLFFBQVEsRUFBRSxHQUFHLEVBQ3JGLGlCQUFpQixDQUNsQixDQUFDO0lBRUYsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVFdmVudFJlc3BvbnNlKGFyZ3M6IGFueVtdKTogdW5rbm93bltdIHtcbiAgY29uc3QgW21vZGVsQ29uc3RyLCBvcGVyYXRpb24sIGlkLCBwYXlsb2FkXSA9IGFyZ3M7XG5cbiAgY29uc3QgbW9kZWxOYW1lID0gbW9kZWxDb25zdHI/Lm5hbWUgPz8gbW9kZWxDb25zdHI7XG5cbiAgY29uc3Qgc2VyaWFsaXplZFBheWxvYWQgPSBBcnJheS5pc0FycmF5KHBheWxvYWQpXG4gICAgPyBwYXlsb2FkLm1hcCgoZSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh0eXBlb2YgZS5zZXJpYWxpemUgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGUuc2VyaWFsaXplKCk7XG5cbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgUGF5bG9hZCBpdGVtIGZvciAke21vZGVsTmFtZX0gZG9lcyBub3QgaGF2ZSBzZXJpYWxpemUgbWV0aG9kIGFuZCBpcyBhbiAke3R5cGVvZiBlfSwgYXR0ZW1wdGluZyB0byBzdHJpbmdpZnkgZGlyZWN0bHkuIEl0ZW06ICR7ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIGUgPT09IFwic3RyaW5nXCIgPyBlIDogSlNPTi5zdHJpbmdpZnkoZSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIHNlcmlhbGl6ZSBwYXlsb2FkIGZvciAke21vZGVsTmFtZX06ICR7ZXJyfWApO1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgOiBwYXlsb2FkICYmIHR5cGVvZiBwYXlsb2FkLnNlcmlhbGl6ZSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICA/IHBheWxvYWQuc2VyaWFsaXplKClcbiAgICAgIDogdHlwZW9mIHBheWxvYWQgPT09IFwic3RyaW5nXCJcbiAgICAgICAgPyBwYXlsb2FkXG4gICAgICAgIDogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCk7XG5cbiAgY29uc29sZS5kZWJ1ZyhcbiAgICBgTm9ybWFsaXplZCBldmVudCByZXNwb25zZSBmb3IgbW9kZWwgJHttb2RlbE5hbWV9LCBvcGVyYXRpb24gJHtvcGVyYXRpb259LCBpZCAke2lkfTpgLFxuICAgIHNlcmlhbGl6ZWRQYXlsb2FkXG4gICk7XG5cbiAgcmV0dXJuIFttb2RlbE5hbWUsIG9wZXJhdGlvbiwgaWQsIHNlcmlhbGl6ZWRQYXlsb2FkXTtcbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQXVCQztBQXZCRCxTQUFnQixzQkFBc0IsQ0FBQyxJQUFJO0lBQ3ZDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbkQsTUFBTSxTQUFTLEdBQUcsV0FBVyxFQUFFLElBQUksSUFBSSxXQUFXLENBQUM7SUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQztnQkFDRCxJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsS0FBSyxVQUFVO29CQUNqQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsU0FBUyw2Q0FBNkMsT0FBTyxDQUFDLDZDQUE2QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqSixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFDRCxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLFNBQVMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sQ0FBQyxTQUFTLEtBQUssVUFBVTtZQUNoRCxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUTtnQkFDekIsQ0FBQyxDQUFDLE9BQU87Z0JBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsU0FBUyxlQUFlLFNBQVMsUUFBUSxFQUFFLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hILE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFDRCwwbUdBQTBtRyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVFdmVudFJlc3BvbnNlKGFyZ3MpIHtcbiAgICBjb25zdCBbbW9kZWxDb25zdHIsIG9wZXJhdGlvbiwgaWQsIHBheWxvYWRdID0gYXJncztcbiAgICBjb25zdCBtb2RlbE5hbWUgPSBtb2RlbENvbnN0cj8ubmFtZSA/PyBtb2RlbENvbnN0cjtcbiAgICBjb25zdCBzZXJpYWxpemVkUGF5bG9hZCA9IEFycmF5LmlzQXJyYXkocGF5bG9hZClcbiAgICAgICAgPyBwYXlsb2FkLm1hcCgoZSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGUuc2VyaWFsaXplID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlLnNlcmlhbGl6ZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgUGF5bG9hZCBpdGVtIGZvciAke21vZGVsTmFtZX0gZG9lcyBub3QgaGF2ZSBzZXJpYWxpemUgbWV0aG9kIGFuZCBpcyBhbiAke3R5cGVvZiBlfSwgYXR0ZW1wdGluZyB0byBzdHJpbmdpZnkgZGlyZWN0bHkuIEl0ZW06ICR7ZX1gKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIGUgPT09IFwic3RyaW5nXCIgPyBlIDogSlNPTi5zdHJpbmdpZnkoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gc2VyaWFsaXplIHBheWxvYWQgZm9yICR7bW9kZWxOYW1lfTogJHtlcnJ9YCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgOiBwYXlsb2FkICYmIHR5cGVvZiBwYXlsb2FkLnNlcmlhbGl6ZSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICA/IHBheWxvYWQuc2VyaWFsaXplKClcbiAgICAgICAgICAgIDogdHlwZW9mIHBheWxvYWQgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICA/IHBheWxvYWRcbiAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpO1xuICAgIGNvbnNvbGUuZGVidWcoYE5vcm1hbGl6ZWQgZXZlbnQgcmVzcG9uc2UgZm9yIG1vZGVsICR7bW9kZWxOYW1lfSwgb3BlcmF0aW9uICR7b3BlcmF0aW9ufSwgaWQgJHtpZH06YCwgc2VyaWFsaXplZFBheWxvYWQpO1xuICAgIHJldHVybiBbbW9kZWxOYW1lLCBvcGVyYXRpb24sIGlkLCBzZXJpYWxpemVkUGF5bG9hZF07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkWFJwYkhNdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTl6Y21NdlpYWmxiblJ6TFcxdlpIVnNaUzkxZEdsc2N5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4TlFVRk5MRlZCUVZVc2MwSkJRWE5DTEVOQlFVTXNTVUZCVnp0SlFVTm9SQ3hOUVVGTkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEZOQlFWTXNSVUZCUlN4RlFVRkZMRVZCUVVVc1QwRkJUeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETzBsQlJXNUVMRTFCUVUwc1UwRkJVeXhIUVVGSExGZEJRVmNzUlVGQlJTeEpRVUZKTEVsQlFVa3NWMEZCVnl4RFFVRkRPMGxCUlc1RUxFMUJRVTBzYVVKQlFXbENMRWRCUVVjc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZET1VNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOb1FpeEpRVUZKTEVOQlFVTTdaMEpCUTBnc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eFRRVUZUTEV0QlFVc3NWVUZCVlR0dlFrRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0blFrRkZOVVFzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZEVml4dlFrRkJiMElzVTBGQlV5dzJRMEZCTmtNc1QwRkJUeXhEUVVGRExEWkRRVUUyUXl4RFFVRkRMRVZCUVVVc1EwRkRia2tzUTBGQlF6dG5Ra0ZEUml4UFFVRlBMRTlCUVU4c1EwRkJReXhMUVVGTExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNaRUxFTkJRVU03V1VGQlF5eFBRVUZQTEVkQlFWa3NSVUZCUlN4RFFVRkRPMmRDUVVOMFFpeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRzFEUVVGdFF5eFRRVUZUTEV0QlFVc3NSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJRenRuUWtGRGNrVXNUMEZCVHl4VFFVRlRMRU5CUVVNN1dVRkRia0lzUTBGQlF6dFJRVU5JTEVOQlFVTXNRMEZCUXp0UlFVTktMRU5CUVVNc1EwRkJReXhQUVVGUExFbEJRVWtzVDBGQlR5eFBRVUZQTEVOQlFVTXNVMEZCVXl4TFFVRkxMRlZCUVZVN1dVRkRiRVFzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRVZCUVVVN1dVRkRja0lzUTBGQlF5eERRVUZETEU5QlFVOHNUMEZCVHl4TFFVRkxMRkZCUVZFN1owSkJRek5DTEVOQlFVTXNRMEZCUXl4UFFVRlBPMmRDUVVOVUxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wbEJSV2hETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUTFnc2RVTkJRWFZETEZOQlFWTXNaVUZCWlN4VFFVRlRMRkZCUVZFc1JVRkJSU3hIUVVGSExFVkJRM0pHTEdsQ1FVRnBRaXhEUVVOc1FpeERRVUZETzBsQlJVWXNUMEZCVHl4RFFVRkRMRk5CUVZNc1JVRkJSU3hUUVVGVExFVkJRVVVzUlVGQlJTeEZRVUZGTEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03UVVGRGRrUXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzSnRZV3hwZW1WRmRtVnVkRkpsYzNCdmJuTmxLR0Z5WjNNNklHRnVlVnRkS1RvZ2RXNXJibTkzYmx0ZElIdGNiaUFnWTI5dWMzUWdXMjF2WkdWc1EyOXVjM1J5TENCdmNHVnlZWFJwYjI0c0lHbGtMQ0J3WVhsc2IyRmtYU0E5SUdGeVozTTdYRzVjYmlBZ1kyOXVjM1FnYlc5a1pXeE9ZVzFsSUQwZ2JXOWtaV3hEYjI1emRISS9MbTVoYldVZ1B6OGdiVzlrWld4RGIyNXpkSEk3WEc1Y2JpQWdZMjl1YzNRZ2MyVnlhV0ZzYVhwbFpGQmhlV3h2WVdRZ1BTQkJjbkpoZVM1cGMwRnljbUY1S0hCaGVXeHZZV1FwWEc0Z0lDQWdQeUJ3WVhsc2IyRmtMbTFoY0Nnb1pTa2dQVDRnZTF4dUlDQWdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1pTNXpaWEpwWVd4cGVtVWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpa2djbVYwZFhKdUlHVXVjMlZ5YVdGc2FYcGxLQ2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUNBZ0lDQmdVR0Y1Ykc5aFpDQnBkR1Z0SUdadmNpQWtlMjF2WkdWc1RtRnRaWDBnWkc5bGN5QnViM1FnYUdGMlpTQnpaWEpwWVd4cGVtVWdiV1YwYUc5a0lHRnVaQ0JwY3lCaGJpQWtlM1I1Y0dWdlppQmxmU3dnWVhSMFpXMXdkR2x1WnlCMGJ5QnpkSEpwYm1kcFpua2daR2x5WldOMGJIa3VJRWwwWlcwNklDUjdaWDFnWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlHVWdQVDA5SUZ3aWMzUnlhVzVuWENJZ1B5QmxJRG9nU2xOUFRpNXpkSEpwYm1kcFpua29aU2s3WEc0Z0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNqb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTnZiR1V1ZDJGeWJpaGdSbUZwYkdWa0lIUnZJSE5sY21saGJHbDZaU0J3WVhsc2IyRmtJR1p2Y2lBa2UyMXZaR1ZzVG1GdFpYMDZJQ1I3WlhKeWZXQXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwcFhHNGdJQ0FnT2lCd1lYbHNiMkZrSUNZbUlIUjVjR1Z2WmlCd1lYbHNiMkZrTG5ObGNtbGhiR2w2WlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpWEc0Z0lDQWdJQ0EvSUhCaGVXeHZZV1F1YzJWeWFXRnNhWHBsS0NsY2JpQWdJQ0FnSURvZ2RIbHdaVzltSUhCaGVXeHZZV1FnUFQwOUlGd2ljM1J5YVc1blhDSmNiaUFnSUNBZ0lDQWdQeUJ3WVhsc2IyRmtYRzRnSUNBZ0lDQWdJRG9nU2xOUFRpNXpkSEpwYm1kcFpua29jR0Y1Ykc5aFpDazdYRzVjYmlBZ1kyOXVjMjlzWlM1a1pXSjFaeWhjYmlBZ0lDQmdUbTl5YldGc2FYcGxaQ0JsZG1WdWRDQnlaWE53YjI1elpTQm1iM0lnYlc5a1pXd2dKSHR0YjJSbGJFNWhiV1Y5TENCdmNHVnlZWFJwYjI0Z0pIdHZjR1Z5WVhScGIyNTlMQ0JwWkNBa2UybGtmVHBnTEZ4dUlDQWdJSE5sY21saGJHbDZaV1JRWVhsc2IyRmtYRzRnSUNrN1hHNWNiaUFnY21WMGRYSnVJRnR0YjJSbGJFNWhiV1VzSUc5d1pYSmhkR2x2Yml3Z2FXUXNJSE5sY21saGJHbDZaV1JRWVhsc2IyRmtYVHRjYm4xY2JpSmRmUT09Il19
@@ -155,9 +155,8 @@ class NestBootstraper {
155
155
  const helmet = require("helmet"); // Dynamic import to avoid hard dependency
156
156
  this.app.use(helmet(options));
157
157
  this.logger.log("Helmet middleware enabled successfully.");
158
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
159
158
  }
160
- catch (e) {
159
+ catch {
161
160
  this.logger.warn("Helmet not installed. Skipping middleware.");
162
161
  }
163
162
  return this;
@@ -264,5 +263,5 @@ class NestBootstraper {
264
263
  }
265
264
  }
266
265
  exports.NestBootstraper = NestBootstraper;
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmVzdEJvb3RzdHJhcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3RvcnkvTmVzdEJvb3RzdHJhcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxNQUFNLEdBR1AsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsOEJBQXFCO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsMkJBQWtCO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsMEJBQWlCO0FBNENyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ0c7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUkxQjs7Ozs7Ozs7O09BU0c7SUFDSyxNQUFNLEtBQUssTUFBTTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLFdBQVc7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQXFCO1FBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQXFCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxJQUFJLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFH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QkFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSU5lc3RBcHBsaWNhdGlvbixcbiAgTG9nZ2VyLFxuICBOZXN0SW50ZXJjZXB0b3IsXG4gIFBpcGVUcmFuc2Zvcm0sXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRGVjYWZFeGNlcHRpb25GaWx0ZXIgfSBmcm9tIFwiLi9leGNlcHRpb25zXCI7XG5pbXBvcnQgeyBTd2FnZ2VyQnVpbGRlciB9IGZyb20gXCIuL29wZW5hcGlcIjtcbmltcG9ydCB7IENvcnNPcHRpb25zIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uL2ludGVyZmFjZXMvZXh0ZXJuYWwvY29ycy1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29yc0Vycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBEZWZpbmVzIGFsbCBjdXN0b21pemFibGUgcGFyYW1ldGVycyBmb3IgU3dhZ2dlciBzZXR1cC5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhpcyBpbnRlcmZhY2UgYWxsb3dzIGRldmVsb3BlcnMgdG8gY3VzdG9taXplIGhvdyBTd2FnZ2VyIFVJIGlzIGNvbmZpZ3VyZWRcbiAqIHdpdGhpbiB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLiBJdCBpbmNsdWRlcyBwYXJhbWV0ZXJzIGZvciB0aXRsZXMsIHBhdGhzLFxuICogY29sb3Igc2NoZW1lcywgYW5kIGFzc2V0IHBhdGhzIHRvIHRhaWxvciB0aGUgQVBJIGRvY3VtZW50YXRpb24gZXhwZXJpZW5jZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgLSBUaXRsZSBkaXNwbGF5ZWQgaW4gU3dhZ2dlciBVSS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiAtIERlc2NyaXB0aW9uIHNob3duIGJlbG93IHRoZSB0aXRsZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uIC0gQVBJIHZlcnNpb24gZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHBhdGggd2hlcmUgU3dhZ2dlciB3aWxsIGJlIGF2YWlsYWJsZS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BlcnNpc3RBdXRob3JpemF0aW9uXSAtIFdoZXRoZXIgYXV0aG9yaXphdGlvbiB0b2tlbnMgcGVyc2lzdCBhY3Jvc3MgcmVsb2Fkcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbYXNzZXRzUGF0aF0gLSBQYXRoIHRvIGN1c3RvbSBhc3NldHMgZm9yIFN3YWdnZXIgVUkuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3RvcGJhckJnQ29sb3JdIC0gQ3VzdG9tIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBTd2FnZ2VyIHRvcCBiYXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3RvcGJhckljb25QYXRoXSAtIFBhdGggdG8gYSBjdXN0b20gaWNvbiBkaXNwbGF5ZWQgaW4gdGhlIHRvcCBiYXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2Zhdmljb25QYXRoXSAtIFBhdGggdG8gYSBjdXN0b20gZmF2aWNvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyU2V0dXBPcHRpb25zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBwZXJzaXN0QXV0aG9yaXphdGlvbj86IGJvb2xlYW47XG4gIGFzc2V0c1BhdGg/OiBzdHJpbmc7XG4gIHRvcGJhckJnQ29sb3I/OiBzdHJpbmc7XG4gIHRvcGJhckljb25QYXRoPzogc3RyaW5nO1xuICBmYXZpY29uUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggdG8gZXhwb3NlIHRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24gaW4gSlNPTiBmb3JtYXQuXG4gICAqIEV4YW1wbGU6IC9hcGkvb3BlbmFwaS5qc29uXG4gICAqL1xuICBvcGVuQXBpSnNvblBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIGV4cG9zZSB0aGUgT3BlbkFQSSBzcGVjaWZpY2F0aW9uIGluIFlBTUwgZm9ybWF0LlxuICAgKiBSZXF1aXJlcyAneWFtbCcgcGFja2FnZSBhcyBwZWVyIGRlcGVuZGVuY3kuXG4gICAqIEV4YW1wbGU6IC9hcGkvb3BlbmFwaS55YW1sXG4gICAqL1xuICBvcGVuQXBpWWFtbFBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGZsdWVudCwgc3RhdGljIGJvb3RzdHJhcCBjbGFzcyBmb3IgaW5pdGlhbGl6aW5nIGFuZCBjb25maWd1cmluZyBhIE5lc3RKUyBhcHBsaWNhdGlvbi5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhlIGBOZXN0Qm9vdHN0cmFwZXJgIGNsYXNzIHByb3ZpZGVzIGEgY2hhaW5hYmxlIEFQSSBmb3IgY29uZmlndXJpbmdcbiAqIGEgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlLiBJdCBpbmNsdWRlcyBidWlsdC1pbiBtZXRob2RzIGZvciBlbmFibGluZ1xuICogQ09SUywgSGVsbWV0IHNlY3VyaXR5LCBTd2FnZ2VyIGRvY3VtZW50YXRpb24sIGdsb2JhbCBwaXBlcywgZmlsdGVycyxcbiAqIGludGVyY2VwdG9ycywgYW5kIHN0YXJ0aW5nIHRoZSBzZXJ2ZXIuXG4gKlxuICogVGhpcyBjbGFzcyBwcm9tb3RlcyBjb25zaXN0ZW5jeSBhbmQgcmVkdWNlcyByZXBldGl0aXZlIHNldHVwIGNvZGVcbiAqIGFjcm9zcyBtdWx0aXBsZSBOZXN0SlMgcHJvamVjdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBOZXN0RmFjdG9yeSB9IGZyb20gXCJAbmVzdGpzL2NvcmVcIjtcbiAqIGltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC5tb2R1bGVcIjtcbiAqIGltcG9ydCB7IE15TG9nZ2VyIH0gZnJvbSBcIi4vTXlMb2dnZXJcIjtcbiAqIGltcG9ydCB7IE5lc3RCb290c3RyYXBlciB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLW5lc3RcIjtcbiAqXG4gKiBhc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gKiAgIGNvbnN0IGFwcCA9IGF3YWl0IE5lc3RGYWN0b3J5LmNyZWF0ZShBcHBNb2R1bGUpO1xuICpcbiAqICAgYXdhaXQgTmVzdEJvb3RzdHJhcGVyXG4gKiAgICAgLmluaXRpYWxpemUoYXBwKVxuICogICAgIC5lbmFibGVMb2dnZXIobmV3IE15TG9nZ2VyKCkpXG4gKiAgICAgLmVuYWJsZUNvcnMoW1wiaHR0cDovL2xvY2FsaG9zdDo0MjAwXCJdKVxuICogICAgIC51c2VIZWxtZXQoKVxuICogICAgIC5zZXR1cFN3YWdnZXIoe1xuICogICAgICAgdGl0bGU6IFwiT3BlbkFQSSBieSBUcmFkZU1hcmvihKJcIixcbiAqICAgICAgIGRlc2NyaXB0aW9uOiBcIlRyYWRlTWFya+KEoiBBUEkgZG9jdW1lbnRhdGlvblwiLFxuICogICAgICAgdmVyc2lvbjogXCIxLjAuMFwiLFxuICogICAgICAgcGF0aDogXCJhcGlcIixcbiAqICAgICAgIHBlcnNpc3RBdXRob3JpemF0aW9uOiB0cnVlLFxuICogICAgICAgdG9wYmFyQmdDb2xvcjogXCIjMkMzRTUwXCIsXG4gKiAgICAgICB0b3BiYXJJY29uUGF0aDogXCIvYXNzZXRzL2xvZ28uc3ZnXCIsXG4gKiAgICAgICBmYXZpY29uUGF0aDogXCIvYXNzZXRzL2Zhdmljb24uaWNvXCJcbiAqICAgICB9KVxuICogICAgIC51c2VHbG9iYWxGaWx0ZXJzKClcbiAqICAgICAudXNlR2xvYmFsUGlwZXMoLi4uKVxuICogICAgIC51c2VHbG9iYWxJbnRlcmNlcHRvcnMoLi4uKVxuICogICAgIC5zdGFydCgzMDAwKTtcbiAqIH1cbiAqXG4gKiBib290c3RyYXAoKTtcbiAqIGBgYFxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXN0Qm9vdHN0cmFwZXIge1xuICBwcml2YXRlIHN0YXRpYyBhcHA6IElOZXN0QXBwbGljYXRpb247XG4gIHByaXZhdGUgc3RhdGljIF9sb2dnZXI6IExvZ2dlcjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbG9nZ2VyIGluc3RhbmNlLCBjcmVhdGluZyBhIGRlZmF1bHQgb25lIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIEVuc3VyZXMgdGhhdCBhIHZhbGlkIGBMb2dnZXJgIGluc3RhbmNlIGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgICogZm9yIGxvZ2dpbmcgYm9vdHN0cmFwLXJlbGF0ZWQgbWVzc2FnZXMuXG4gICAqXG4gICAqIEByZXR1cm4ge0xvZ2dlcn0gVGhlIGFjdGl2ZSBsb2dnZXIgaW5zdGFuY2UuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXQgbG9nZ2VyKCk6IExvZ2dlciB7XG4gICAgaWYgKCF0aGlzLl9sb2dnZXIpIHtcbiAgICAgIC8vIGZhbGxiYWNrXG4gICAgICB0aGlzLl9sb2dnZXIgPSBuZXcgTG9nZ2VyKFwiTmVzdEJvb3RzdHJhcFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2xvZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogSW5pdGlhbGl6ZXMgdGhlIGJvb3RzdHJhcHBlciB3aXRoIGEgZ2l2ZW4gTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBCaW5kcyB0aGUgcHJvdmlkZWQgTmVzdEpTIGFwcCBpbnN0YW5jZSB0byB0aGUgYm9vdHN0cmFwcGVyLCBlbmFibGluZ1xuICAgKiBjaGFpbmVkIGNvbmZpZ3VyYXRpb24gbWV0aG9kcy5cbiAgICpcbiAgICogQHBhcmFtIHtJTmVzdEFwcGxpY2F0aW9ufSBhcHAgLSBUaGUgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlIHRvIGluaXRpYWxpemUuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kcy5cbiAgICovXG4gIHN0YXRpYyBpbml0aWFsaXplKGFwcDogSU5lc3RBcHBsaWNhdGlvbikge1xuICAgIHRoaXMuYXBwID0gYXBwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbmFibGVzIG9yIHJlcGxhY2VzIHRoZSBnbG9iYWwgbG9nZ2VyIGZvciB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBJZiBhIGN1c3RvbSBsb2dnZXIgaXMgcHJvdmlkZWQsIGl0IHJlcGxhY2VzIHRoZSBkZWZhdWx0IGxvZ2dlci4gT3RoZXJ3aXNlLFxuICAgKiBhIG5ldyBsb2dnZXIgbmFtZWQgYFwiTmVzdEJvb3RzdHJhcFwiYCBpcyB1c2VkLiBUaGlzIGxvZ2dlciBpcyBhbHNvIHJlZ2lzdGVyZWRcbiAgICogd2l0aCB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ2dlcn0gW2N1c3RvbUxvZ2dlcl0gLSBPcHRpb25hbCBjdXN0b20gbG9nZ2VyIGluc3RhbmNlLlxuICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHN0YXRpYyBlbmFibGVMb2dnZXIoY3VzdG9tTG9nZ2VyPzogTG9nZ2VyKSB7XG4gICAgdGhpcy5fbG9nZ2VyID0gY3VzdG9tTG9nZ2VyIHx8IG5ldyBMb2dnZXIoXCJOZXN0Qm9vdHN0cmFwXCIpO1xuICAgIHRoaXMuYXBwLnVzZUxvZ2dlcih0aGlzLl9sb2dnZXIpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbmFibGVzIENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBBbGxvd3MgZGVmaW5pbmcgZWl0aGVyIGEgd2lsZGNhcmQgb3JpZ2luIChgXCIqXCJgKSBvciBhIGxpc3Qgb2YgYWxsb3dlZCBvcmlnaW5zLlxuICAgKiBBdXRvbWF0aWNhbGx5IGFjY2VwdHMgbG9jYWwgZGV2ZWxvcG1lbnQgcmVxdWVzdHMgYW5kIHRob3NlIHdpdGhvdXQgb3JpZ2luIGhlYWRlcnMuXG4gICAqIFRocm93cyBhIGBDb3JzRXJyb3JgIGZvciB1bmF1dGhvcml6ZWQgb3JpZ2lucy5cbiAgICpcbiAgICogQHBhcmFtIHsnKicgfCBzdHJpbmdbXX0gW29yaWdpbnM9W11dIC0gTGlzdCBvZiBhbGxvd2VkIG9yaWdpbnMgb3IgYFwiKlwiYCB0byBhbGxvdyBhbGwuXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IFthbGxvd01ldGhvZHM9WydHRVQnLCAnUE9TVCcsICdQVVQnLCAnREVMRVRFJ11dIC0gQWxsb3dlZCBIVFRQIG1ldGhvZHMuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqL1xuICBzdGF0aWMgZW5hYmxlQ29ycyhcbiAgICBvcmlnaW5zOiBcIipcIiB8IHN0cmluZ1tdID0gW10sXG4gICAgYWxsb3dNZXRob2RzOiBzdHJpbmdbXSA9IFtcIkdFVFwiLCBcIlBPU1RcIiwgXCJQVVRcIiwgXCJERUxFVEVcIl1cbiAgKSB7XG4gICAgY29uc3QgYWxsb3dlZE9yaWdpbnMgPVxuICAgICAgb3JpZ2lucyA9PT0gXCIqXCIgPyBcIipcIiA6IG9yaWdpbnMubWFwKChvKSA9PiBvLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcblxuICAgIGNvbnN0IGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucyA9IHtcbiAgICAgIG9yaWdpbjogKG9yaWdpbiwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgLy8gQWxsb3cgcmVxdWVzdCB3aXRob3V0IG9yaWdpbi4uLlxuICAgICAgICBpZiAoIW9yaWdpbikgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRydWUpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBhbGxvd2VkT3JpZ2lucyA9PT0gXCIqXCIgfHxcbiAgICAgICAgICAoQXJyYXkuaXNBcnJheShhbGxvd2VkT3JpZ2lucykgJiZcbiAgICAgICAgICAgIGFsbG93ZWRPcmlnaW5zLmluY2x1ZGVzKG9yaWdpbi50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FsbGJhY2sobmV3IENvcnNFcnJvcihgT3JpZ2luICR7b3JpZ2lufSBub3QgYWxsb3dlZGApKTtcbiAgICAgIH0sXG4gICAgICBjcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIG1ldGhvZHM6IGFsbG93TWV0aG9kcy5qb2luKFwiLFwiKSxcbiAgICB9O1xuXG4gICAgdGhpcy5hcHAuZW5hYmxlQ29ycyhjb3JzT3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFwcGxpZXMgdGhlIEhlbG1ldCBtaWRkbGV3YXJlIGZvciBlbmhhbmNlZCBzZWN1cml0eS5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRHluYW1pY2FsbHkgbG9hZHMgdGhlIGBoZWxtZXRgIHBhY2thZ2UgaWYgYXZhaWxhYmxlIGFuZCByZWdpc3RlcnMgaXRcbiAgICogYXMgbWlkZGxld2FyZSB0byBpbXByb3ZlIEhUVFAgaGVhZGVyIHNlY3VyaXR5LiBJZiBub3QgaW5zdGFsbGVkLCBsb2dzIGEgd2FybmluZ1xuICAgKiBhbmQgY29udGludWVzIGV4ZWN1dGlvbiB3aXRob3V0IHRocm93aW5nIGVycm9ycy5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbb3B0aW9uc10gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIHBhc3NlZCB0byBIZWxtZXQuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgdXNlSGVsbWV0KG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBjb25zdCBoZWxtZXQgPSByZXF1aXJlKFwiaGVsbWV0XCIpOyAvLyBEeW5hbWljIGltcG9ydCB0byBhdm9pZCBoYXJkIGRlcGVuZGVuY3lcbiAgICAgIHRoaXMuYXBwLnVzZShoZWxtZXQob3B0aW9ucykpO1xuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiSGVsbWV0IG1pZGRsZXdhcmUgZW5hYmxlZCBzdWNjZXNzZnVsbHkuXCIpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcIkhlbG1ldCBub3QgaW5zdGFsbGVkLiBTa2lwcGluZyBtaWRkbGV3YXJlLlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ29uZmlndXJlcyBhbmQgaW5pdGlhbGl6ZXMgU3dhZ2dlciBVSSBmb3IgQVBJIGRvY3VtZW50YXRpb24uXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIFVzZXMgdGhlIGBTd2FnZ2VyQnVpbGRlcmAgdXRpbGl0eSB0byBjb25maWd1cmUgQVBJIGRvY3VtZW50YXRpb25cbiAgICogd2l0aCBkZXRhaWxlZCBjdXN0b21pemF0aW9uIGZvciB0aXRsZSwgdmVyc2lvbiwgcGF0aHMsIGFuZCBjb2xvcnMuXG4gICAqIFN3YWdnZXIgaXMgYXV0b21hdGljYWxseSBleHBvc2VkIGF0IHRoZSBjb25maWd1cmVkIHBhdGguXG4gICAqXG4gICAqIEBwYXJhbSB7U3dhZ2dlclNldHVwT3B0aW9uc30gb3B0aW9ucyAtIFN3YWdnZXIgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgc3RhdGljIHNldHVwU3dhZ2dlcihvcHRpb25zOiBTd2FnZ2VyU2V0dXBPcHRpb25zKSB7XG4gICAgY29uc3Qgc3dhZ2dlciA9IG5ldyBTd2FnZ2VyQnVpbGRlcih0aGlzLmFwcCwge1xuICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbixcbiAgICAgIHBhdGg6IG9wdGlvbnMucGF0aCB8fCBcImFwaVwiLFxuICAgICAgcGVyc2lzdEF1dGhvcml6YXRpb246IG9wdGlvbnMucGVyc2lzdEF1dGhvcml6YXRpb24gPz8gdHJ1ZSxcbiAgICAgIGFzc2V0c1BhdGg6IG9wdGlvbnMuYXNzZXRzUGF0aCxcbiAgICAgIGZhdmljb25GaWxlUGF0aDogb3B0aW9ucy5mYXZpY29uUGF0aCxcbiAgICAgIHRvcGJhckljb25GaWxlUGF0aDogb3B0aW9ucy50b3BiYXJJY29uUGF0aCxcbiAgICAgIHRvcGJhckJnQ29sb3I6IG9wdGlvbnMudG9wYmFyQmdDb2xvcixcbiAgICAgIG9wZW5BcGlKc29uUGF0aDogb3B0aW9ucy5vcGVuQXBpSnNvblBhdGgsXG4gICAgICBvcGVuQXBpWWFtbFBhdGg6IG9wdGlvbnMub3BlbkFwaVlhbWxQYXRoLFxuICAgIH0pO1xuICAgIHN3YWdnZXIuc2V0dXBTd2FnZ2VyKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgdmFsaWRhdGlvbiBwaXBlcy5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRW5hYmxlcyByZXF1ZXN0IHBheWxvYWQgdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb24gZ2xvYmFsbHkgYWNyb3NzXG4gICAqIHRoZSBlbnRpcmUgTmVzdEpTIGFwcGxpY2F0aW9uLiBNdWx0aXBsZSBwaXBlcyBjYW4gYmUgY2hhaW5lZCB0b2dldGhlclxuICAgKiBmb3IgbW9kdWxhciBpbnB1dCB2YWxpZGF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gey4uLlBpcGVUcmFuc2Zvcm1bXX0gcGlwZXMgLSBQaXBlIGluc3RhbmNlcyB0byByZWdpc3RlciBnbG9iYWxseS5cbiAgICogQHJldHVybiB7TmVzdEJvb3RzdHJhcGVyfSBSZXR1cm5zIHRoZSBjbGFzcyBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsUGlwZXMoLi4ucGlwZXM6IFBpcGVUcmFuc2Zvcm1bXSkge1xuICAgIGlmIChwaXBlcy5sZW5ndGggPiAwKSB0aGlzLmFwcC51c2VHbG9iYWxQaXBlcyguLi5waXBlcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgZXhjZXB0aW9uIGZpbHRlcnMuXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIElmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkLCBpdCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIGRlZmF1bHRcbiAgICogc2V0IG9mIHN0YW5kYXJkIGV4Y2VwdGlvbiBmaWx0ZXJzIGZvciBjb21tb24gZXJyb3IgdHlwZXMgbGlrZVxuICAgKiBgSHR0cEV4Y2VwdGlvbmAsIGBWYWxpZGF0aW9uRXhjZXB0aW9uYCwgYENvbmZsaWN0RXhjZXB0aW9uYCwgYW5kIG90aGVycy5cbiAgICpcbiAgICogQHBhcmFtIHsuLi5FeGNlcHRpb25GaWx0ZXJbXX0gZmlsdGVycyAtIE9wdGlvbmFsIGZpbHRlcnMgdG8gYXBwbHkgZ2xvYmFsbHkuXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsRmlsdGVycyguLi5maWx0ZXJzOiBhbnlbXSkge1xuICAgIHRoaXMuYXBwLnVzZUdsb2JhbEZpbHRlcnMoXG4gICAgICAuLi4oZmlsdGVycy5sZW5ndGggPiAwID8gZmlsdGVycyA6IFtuZXcgRGVjYWZFeGNlcHRpb25GaWx0ZXIoKV0pXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVnaXN0ZXJzIGdsb2JhbCBpbnRlcmNlcHRvcnMgZm9yIHJlcXVlc3QgYW5kIHJlc3BvbnNlIHRyYW5zZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBJbnRlcmNlcHRvcnMgYWxsb3cgYWR2YW5jZWQgcmVxdWVzdC9yZXNwb25zZSBtYW5pcHVsYXRpb24gc3VjaCBhc1xuICAgKiBzZXJpYWxpemF0aW9uLCBsb2dnaW5nLCBvciB0cmFuc2Zvcm1hdGlvbi4gTXVsdGlwbGUgaW50ZXJjZXB0b3JzXG4gICAqIGNhbiBiZSBhZGRlZCBmb3IgbW9kdWxhciBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gey4uLk5lc3RJbnRlcmNlcHRvcltdfSBpbnRlcmNlcHRvcnMgLSBJbnRlcmNlcHRvciBpbnN0YW5jZXMgdG8gcmVnaXN0ZXIuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsSW50ZXJjZXB0b3JzKC4uLmludGVyY2VwdG9yczogTmVzdEludGVyY2VwdG9yW10pIHtcbiAgICBpZiAoaW50ZXJjZXB0b3JzLmxlbmd0aCA+IDApXG4gICAgICB0aGlzLmFwcC51c2VHbG9iYWxJbnRlcmNlcHRvcnMoLi4uaW50ZXJjZXB0b3JzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU3RhcnRzIHRoZSBOZXN0SlMgYXBwbGljYXRpb24gYW5kIGJpbmRzIGl0IHRvIHRoZSBnaXZlbiBwb3J0IGFuZCBob3N0LlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBMaXN0ZW5zIG9uIHRoZSBzcGVjaWZpZWQgcG9ydCBhbmQgb3B0aW9uYWxseSBhIGhvc3QuIE9uY2Ugc3RhcnRlZCxcbiAgICogbG9ncyB0aGUgYXBwbGljYXRpb24gVVJMIGZvciBlYXN5IGFjY2Vzcy4gVGhlIHN0YXJ0dXAgcHJvY2VzcyByZXNvbHZlc1xuICAgKiBvbmNlIHRoZSBhcHBsaWNhdGlvbiBpcyBzdWNjZXNzZnVsbHkgcnVubmluZy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwb3J0PTMwMDBdIC0gUG9ydCBudW1iZXIgdG8gbGlzdGVuIG9uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2hvc3RdIC0gT3B0aW9uYWwgaG9zdCBvciBJUCBhZGRyZXNzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2xvZz10cnVlXSAtIFdoZXRoZXIgdG8gbG9nIHRoZSBhcHBsaWNhdGlvbiBVUkwgdXBvbiBzdGFydHVwLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBvbmNlIHRoZSBhcHBsaWNhdGlvbiBzdGFydHMgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHN0YXJ0KFxuICAgIHBvcnQ6IG51bWJlciA9IE51bWJlcihwcm9jZXNzLmVudi5QT1JUKSB8fCAzMDAwLFxuICAgIGhvc3Q6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBsb2c6IGJvb2xlYW4gPSB0cnVlXG4gICkge1xuICAgIHRoaXMuYXBwLmxpc3Rlbihwb3J0LCBob3N0IGFzIGFueSkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGF3YWl0IHRoaXMuYXBwLmdldFVybCgpO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYPCfmoAgQXBwbGljYXRpb24gaXMgcnVubmluZyBhdDogJHt1cmx9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmVzdEJvb3RzdHJhcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTmVzdEJvb3RzdHJhcGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF5QztBQUN6QyxvREFBNkQ7QUFDN0QsaURBQW9EO0FBQ3BELGdEQUE4QztBQUM5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ0c7QUFDSCxNQUFhLGVBQWU7SUFDeEI7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxLQUFLLE1BQU07UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLFdBQVc7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUc7UUFDakIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLElBQUksSUFBSSxlQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUFFLFlBQVksR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUMzRSxNQUFNLGNBQWMs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LENBQUM7Q0FDSjtBQWpORCwwQ0FpTkM7QUFDRCxzdm9CQUFzdm9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyLCB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRGVjYWZFeGNlcHRpb25GaWx0ZXIgfSBmcm9tIFwiLi9leGNlcHRpb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBTd2FnZ2VyQnVpbGRlciB9IGZyb20gXCIuL29wZW5hcGkvaW5kZXguanNcIjtcbmltcG9ydCB7IENvcnNFcnJvciB9IGZyb20gXCIuL2Vycm9ycy9pbmRleC5qc1wiO1xuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgZmx1ZW50LCBzdGF0aWMgYm9vdHN0cmFwIGNsYXNzIGZvciBpbml0aWFsaXppbmcgYW5kIGNvbmZpZ3VyaW5nIGEgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICpcbiAqIEBzdW1tYXJ5XG4gKiBUaGUgYE5lc3RCb290c3RyYXBlcmAgY2xhc3MgcHJvdmlkZXMgYSBjaGFpbmFibGUgQVBJIGZvciBjb25maWd1cmluZ1xuICogYSBOZXN0SlMgYXBwbGljYXRpb24gaW5zdGFuY2UuIEl0IGluY2x1ZGVzIGJ1aWx0LWluIG1ldGhvZHMgZm9yIGVuYWJsaW5nXG4gKiBDT1JTLCBIZWxtZXQgc2VjdXJpdHksIFN3YWdnZXIgZG9jdW1lbnRhdGlvbiwgZ2xvYmFsIHBpcGVzLCBmaWx0ZXJzLFxuICogaW50ZXJjZXB0b3JzLCBhbmQgc3RhcnRpbmcgdGhlIHNlcnZlci5cbiAqXG4gKiBUaGlzIGNsYXNzIHByb21vdGVzIGNvbnNpc3RlbmN5IGFuZCByZWR1Y2VzIHJlcGV0aXRpdmUgc2V0dXAgY29kZVxuICogYWNyb3NzIG11bHRpcGxlIE5lc3RKUyBwcm9qZWN0cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IE5lc3RGYWN0b3J5IH0gZnJvbSBcIkBuZXN0anMvY29yZVwiO1xuICogaW1wb3J0IHsgQXBwTW9kdWxlIH0gZnJvbSBcIi4vYXBwLm1vZHVsZVwiO1xuICogaW1wb3J0IHsgTXlMb2dnZXIgfSBmcm9tIFwiLi9NeUxvZ2dlclwiO1xuICogaW1wb3J0IHsgTmVzdEJvb3RzdHJhcGVyIH0gZnJvbSBcIkBkZWNhZi10cy9mb3ItbmVzdFwiO1xuICpcbiAqIGFzeW5jIGZ1bmN0aW9uIGJvb3RzdHJhcCgpIHtcbiAqICAgY29uc3QgYXBwID0gYXdhaXQgTmVzdEZhY3RvcnkuY3JlYXRlKEFwcE1vZHVsZSk7XG4gKlxuICogICBhd2FpdCBOZXN0Qm9vdHN0cmFwZXJcbiAqICAgICAuaW5pdGlhbGl6ZShhcHApXG4gKiAgICAgLmVuYWJsZUxvZ2dlcihuZXcgTXlMb2dnZXIoKSlcbiAqICAgICAuZW5hYmxlQ29ycyhbXCJodHRwOi8vbG9jYWxob3N0OjQyMDBcIl0pXG4gKiAgICAgLnVzZUhlbG1ldCgpXG4gKiAgICAgLnNldHVwU3dhZ2dlcih7XG4gKiAgICAgICB0aXRsZTogXCJPcGVuQVBJIGJ5IFRyYWRlTWFya+KEolwiLFxuICogICAgICAgZGVzY3JpcHRpb246IFwiVHJhZGVNYXJr4oSiIEFQSSBkb2N1bWVudGF0aW9uXCIsXG4gKiAgICAgICB2ZXJzaW9uOiBcIjEuMC4wXCIsXG4gKiAgICAgICBwYXRoOiBcImFwaVwiLFxuICogICAgICAgcGVyc2lzdEF1dGhvcml6YXRpb246IHRydWUsXG4gKiAgICAgICB0b3BiYXJCZ0NvbG9yOiBcIiMyQzNFNTBcIixcbiAqICAgICAgIHRvcGJhckljb25QYXRoOiBcIi9hc3NldHMvbG9nby5zdmdcIixcbiAqICAgICAgIGZhdmljb25QYXRoOiBcIi9hc3NldHMvZmF2aWNvbi5pY29cIlxuICogICAgIH0pXG4gKiAgICAgLnVzZUdsb2JhbEZpbHRlcnMoKVxuICogICAgIC51c2VHbG9iYWxQaXBlcyguLi4pXG4gKiAgICAgLnVzZUdsb2JhbEludGVyY2VwdG9ycyguLi4pXG4gKiAgICAgLnN0YXJ0KDMwMDApO1xuICogfVxuICpcbiAqIGJvb3RzdHJhcCgpO1xuICogYGBgXG4gKiBAY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIE5lc3RCb290c3RyYXBlciB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBsb2dnZXIgaW5zdGFuY2UsIGNyZWF0aW5nIGEgZGVmYXVsdCBvbmUgaWYgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBzdW1tYXJ5XG4gICAgICogRW5zdXJlcyB0aGF0IGEgdmFsaWQgYExvZ2dlcmAgaW5zdGFuY2UgaXMgYWx3YXlzIGF2YWlsYWJsZVxuICAgICAqIGZvciBsb2dnaW5nIGJvb3RzdHJhcC1yZWxhdGVkIG1lc3NhZ2VzLlxuICAgICAqXG4gICAgICogQHJldHVybiB7TG9nZ2VyfSBUaGUgYWN0aXZlIGxvZ2dlciBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IGxvZ2dlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sb2dnZXIpIHtcbiAgICAgICAgICAgIC8vIGZhbGxiYWNrXG4gICAgICAgICAgICB0aGlzLl9sb2dnZXIgPSBuZXcgTG9nZ2VyKFwiTmVzdEJvb3RzdHJhcFwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fbG9nZ2VyO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBJbml0aWFsaXplcyB0aGUgYm9vdHN0cmFwcGVyIHdpdGggYSBnaXZlbiBOZXN0SlMgYXBwbGljYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIEJpbmRzIHRoZSBwcm92aWRlZCBOZXN0SlMgYXBwIGluc3RhbmNlIHRvIHRoZSBib290c3RyYXBwZXIsIGVuYWJsaW5nXG4gICAgICogY2hhaW5lZCBjb25maWd1cmF0aW9uIG1ldGhvZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0lOZXN0QXBwbGljYXRpb259IGFwcCAtIFRoZSBOZXN0SlMgYXBwbGljYXRpb24gaW5zdGFuY2UgdG8gaW5pdGlhbGl6ZS5cbiAgICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZyBjb25maWd1cmF0aW9uIG1ldGhvZHMuXG4gICAgICovXG4gICAgc3RhdGljIGluaXRpYWxpemUoYXBwKSB7XG4gICAgICAgIHRoaXMuYXBwID0gYXBwO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogRW5hYmxlcyBvciByZXBsYWNlcyB0aGUgZ2xvYmFsIGxvZ2dlciBmb3IgdGhlIE5lc3RKUyBhcHBsaWNhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdW1tYXJ5XG4gICAgICogSWYgYSBjdXN0b20gbG9nZ2VyIGlzIHByb3ZpZGVkLCBpdCByZXBsYWNlcyB0aGUgZGVmYXVsdCBsb2dnZXIuIE90aGVyd2lzZSxcbiAgICAgKiBhIG5ldyBsb2dnZXIgbmFtZWQgYFwiTmVzdEJvb3RzdHJhcFwiYCBpcyB1c2VkLiBUaGlzIGxvZ2dlciBpcyBhbHNvIHJlZ2lzdGVyZWRcbiAgICAgKiB3aXRoIHRoZSBOZXN0SlMgYXBwbGljYXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0xvZ2dlcn0gW2N1c3RvbUxvZ2dlcl0gLSBPcHRpb25hbCBjdXN0b20gbG9nZ2VyIGluc3RhbmNlLlxuICAgICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nLlxuICAgICAqL1xuICAgIHN0YXRpYyBlbmFibGVMb2dnZXIoY3VzdG9tTG9nZ2VyKSB7XG4gICAgICAgIHRoaXMuX2xvZ2dlciA9IGN1c3RvbUxvZ2dlciB8fCBuZXcgTG9nZ2VyKFwiTmVzdEJvb3RzdHJhcFwiKTtcbiAgICAgICAgdGhpcy5hcHAudXNlTG9nZ2VyKHRoaXMuX2xvZ2dlcik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBFbmFibGVzIENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgdGhlIGFwcGxpY2F0aW9uLlxuICAgICAqXG4gICAgICogQHN1bW1hcnlcbiAgICAgKiBBbGxvd3MgZGVmaW5pbmcgZWl0aGVyIGEgd2lsZGNhcmQgb3JpZ2luIChgXCIqXCJgKSBvciBhIGxpc3Qgb2YgYWxsb3dlZCBvcmlnaW5zLlxuICAgICAqIEF1dG9tYXRpY2FsbHkgYWNjZXB0cyBsb2NhbCBkZXZlbG9wbWVudCByZXF1ZXN0cyBhbmQgdGhvc2Ugd2l0aG91dCBvcmlnaW4gaGVhZGVycy5cbiAgICAgKiBUaHJvd3MgYSBgQ29yc0Vycm9yYCBmb3IgdW5hdXRob3JpemVkIG9yaWdpbnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0geycqJyB8IHN0cmluZ1tdfSBbb3JpZ2lucz1bXV0gLSBMaXN0IG9mIGFsbG93ZWQgb3JpZ2lucyBvciBgXCIqXCJgIHRvIGFsbG93IGFsbC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBbYWxsb3dNZXRob2RzPVsnR0VUJywgJ1BPU1QnLCAnUFVUJywgJ0RFTEVURSddXSAtIEFsbG93ZWQgSFRUUCBtZXRob2RzLlxuICAgICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAgICpcbiAgICAgKi9cbiAgICBzdGF0aWMgZW5hYmxlQ29ycyhvcmlnaW5zID0gW10sIGFsbG93TWV0aG9kcyA9IFtcIkdFVFwiLCBcIlBPU1RcIiwgXCJQVVRcIiwgXCJERUxFVEVcIl0pIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZE9yaWdpbnMgPSBvcmlnaW5zID09PSBcIipcIiA/IFwiKlwiIDogb3JpZ2lucy5tYXAoKG8pID0+IG8udHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICBjb25zdCBjb3JzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG9yaWdpbjogKG9yaWdpbiwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICAvLyBBbGxvdyByZXF1ZXN0IHdpdGhvdXQgb3JpZ2luLi4uXG4gICAgICAgICAgICAgICAgaWYgKCFvcmlnaW4pXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhudWxsLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBpZiAoYWxsb3dlZE9yaWdpbnMgPT09IFwiKlwiIHx8XG4gICAgICAgICAgICAgICAgICAgIChBcnJheS5pc0FycmF5KGFsbG93ZWRPcmlnaW5zKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dlZE9yaWdpbnMuaW5jbHVkZXMob3JpZ2luLnRvTG93ZXJDYXNlKCkpKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKG5ldyBDb3JzRXJyb3IoYE9yaWdpbiAke29yaWdpbn0gbm90IGFsbG93ZWRgKSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICBtZXRob2RzOiBhbGxvd01ldGhvZHMuam9pbihcIixcIiksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYXBwLmVuYWJsZUNvcnMoY29yc09wdGlvbnMpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogQXBwbGllcyB0aGUgSGVsbWV0IG1pZGRsZXdhcmUgZm9yIGVuaGFuY2VkIHNlY3VyaXR5LlxuICAgICAqXG4gICAgICogQHN1bW1hcnlcbiAgICAgKiBEeW5hbWljYWxseSBsb2FkcyB0aGUgYGhlbG1ldGAgcGFja2FnZSBpZiBhdmFpbGFibGUgYW5kIHJlZ2lzdGVycyBpdFxuICAgICAqIGFzIG1pZGRsZXdhcmUgdG8gaW1wcm92ZSBIVFRQIGhlYWRlciBzZWN1cml0eS4gSWYgbm90IGluc3RhbGxlZCwgbG9ncyBhIHdhcm5pbmdcbiAgICAgKiBhbmQgY29udGludWVzIGV4ZWN1dGlvbiB3aXRob3V0IHRocm93aW5nIGVycm9ycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW29wdGlvbnNdIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBwYXNzZWQgdG8gSGVsbWV0LlxuICAgICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgc3RhdGljIHVzZUhlbG1ldChvcHRpb25zKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgICAgICAgICAgY29uc3QgaGVsbWV0ID0gcmVxdWlyZShcImhlbG1ldFwiKTsgLy8gRHluYW1pYyBpbXBvcnQgdG8gYXZvaWQgaGFyZCBkZXBlbmRlbmN5XG4gICAgICAgICAgICB0aGlzLmFwcC51c2UoaGVsbWV0KG9wdGlvbnMpKTtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcIkhlbG1ldCBtaWRkbGV3YXJlIGVuYWJsZWQgc3VjY2Vzc2Z1bGx5LlwiKTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIud2FybihcIkhlbG1ldCBub3QgaW5zdGFsbGVkLiBTa2lwcGluZyBtaWRkbGV3YXJlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogQ29uZmlndXJlcyBhbmQgaW5pdGlhbGl6ZXMgU3dhZ2dlciBVSSBmb3IgQVBJIGRvY3VtZW50YXRpb24uXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIFVzZXMgdGhlIGBTd2FnZ2VyQnVpbGRlcmAgdXRpbGl0eSB0byBjb25maWd1cmUgQVBJIGRvY3VtZW50YXRpb25cbiAgICAgKiB3aXRoIGRldGFpbGVkIGN1c3RvbWl6YXRpb24gZm9yIHRpdGxlLCB2ZXJzaW9uLCBwYXRocywgYW5kIGNvbG9ycy5cbiAgICAgKiBTd2FnZ2VyIGlzIGF1dG9tYXRpY2FsbHkgZXhwb3NlZCBhdCB0aGUgY29uZmlndXJlZCBwYXRoLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtTd2FnZ2VyU2V0dXBPcHRpb25zfSBvcHRpb25zIC0gU3dhZ2dlciBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICogQHJldHVybiB7TmVzdEJvb3RzdHJhcGVyfSBSZXR1cm5zIHRoZSBjbGFzcyBmb3IgY2hhaW5pbmcgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBzdGF0aWMgc2V0dXBTd2FnZ2VyKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3dhZ2dlciA9IG5ldyBTd2FnZ2VyQnVpbGRlcih0aGlzLmFwcCwge1xuICAgICAgICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbixcbiAgICAgICAgICAgIHBhdGg6IG9wdGlvbnMucGF0aCB8fCBcImFwaVwiLFxuICAgICAgICAgICAgcGVyc2lzdEF1dGhvcml6YXRpb246IG9wdGlvbnMucGVyc2lzdEF1dGhvcml6YXRpb24gPz8gdHJ1ZSxcbiAgICAgICAgICAgIGFzc2V0c1BhdGg6IG9wdGlvbnMuYXNzZXRzUGF0aCxcbiAgICAgICAgICAgIGZhdmljb25GaWxlUGF0aDogb3B0aW9ucy5mYXZpY29uUGF0aCxcbiAgICAgICAgICAgIHRvcGJhckljb25GaWxlUGF0aDogb3B0aW9ucy50b3BiYXJJY29uUGF0aCxcbiAgICAgICAgICAgIHRvcGJhckJnQ29sb3I6IG9wdGlvbnMudG9wYmFyQmdDb2xvcixcbiAgICAgICAgICAgIG9wZW5BcGlKc29uUGF0aDogb3B0aW9ucy5vcGVuQXBpSnNvblBhdGgsXG4gICAgICAgICAgICBvcGVuQXBpWWFtbFBhdGg6IG9wdGlvbnMub3BlbkFwaVlhbWxQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgc3dhZ2dlci5zZXR1cFN3YWdnZXIoKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgdmFsaWRhdGlvbiBwaXBlcy5cbiAgICAgKlxuICAgICAqIEBzdW1tYXJ5XG4gICAgICogRW5hYmxlcyByZXF1ZXN0IHBheWxvYWQgdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb24gZ2xvYmFsbHkgYWNyb3NzXG4gICAgICogdGhlIGVudGlyZSBOZXN0SlMgYXBwbGljYXRpb24uIE11bHRpcGxlIHBpcGVzIGNhbiBiZSBjaGFpbmVkIHRvZ2V0aGVyXG4gICAgICogZm9yIG1vZHVsYXIgaW5wdXQgdmFsaWRhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7Li4uUGlwZVRyYW5zZm9ybVtdfSBwaXBlcyAtIFBpcGUgaW5zdGFuY2VzIHRvIHJlZ2lzdGVyIGdsb2JhbGx5LlxuICAgICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nLlxuICAgICAqL1xuICAgIHN0YXRpYyB1c2VHbG9iYWxQaXBlcyguLi5waXBlcykge1xuICAgICAgICBpZiAocGlwZXMubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHRoaXMuYXBwLnVzZUdsb2JhbFBpcGVzKC4uLnBpcGVzKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgZXhjZXB0aW9uIGZpbHRlcnMuXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIElmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkLCBpdCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIGRlZmF1bHRcbiAgICAgKiBzZXQgb2Ygc3RhbmRhcmQgZXhjZXB0aW9uIGZpbHRlcnMgZm9yIGNvbW1vbiBlcnJvciB0eXBlcyBsaWtlXG4gICAgICogYEh0dHBFeGNlcHRpb25gLCBgVmFsaWRhdGlvbkV4Y2VwdGlvbmAsIGBDb25mbGljdEV4Y2VwdGlvbmAsIGFuZCBvdGhlcnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gey4uLkV4Y2VwdGlvbkZpbHRlcltdfSBmaWx0ZXJzIC0gT3B0aW9uYWwgZmlsdGVycyB0byBhcHBseSBnbG9iYWxseS5cbiAgICAgKi9cbiAgICBzdGF0aWMgdXNlR2xvYmFsRmlsdGVycyguLi5maWx0ZXJzKSB7XG4gICAgICAgIHRoaXMuYXBwLnVzZUdsb2JhbEZpbHRlcnMoLi4uKGZpbHRlcnMubGVuZ3RoID4gMCA/IGZpbHRlcnMgOiBbbmV3IERlY2FmRXhjZXB0aW9uRmlsdGVyKCldKSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZWdpc3RlcnMgZ2xvYmFsIGludGVyY2VwdG9ycyBmb3IgcmVxdWVzdCBhbmQgcmVzcG9uc2UgdHJhbnNmb3JtYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIEludGVyY2VwdG9ycyBhbGxvdyBhZHZhbmNlZCByZXF1ZXN0L3Jlc3BvbnNlIG1hbmlwdWxhdGlvbiBzdWNoIGFzXG4gICAgICogc2VyaWFsaXphdGlvbiwgbG9nZ2luZywgb3IgdHJhbnNmb3JtYXRpb24uIE11bHRpcGxlIGludGVyY2VwdG9yc1xuICAgICAqIGNhbiBiZSBhZGRlZCBmb3IgbW9kdWxhciBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHsuLi5OZXN0SW50ZXJjZXB0b3JbXX0gaW50ZXJjZXB0b3JzIC0gSW50ZXJjZXB0b3IgaW5zdGFuY2VzIHRvIHJlZ2lzdGVyLlxuICAgICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgc3RhdGljIHVzZUdsb2JhbEludGVyY2VwdG9ycyguLi5pbnRlcmNlcHRvcnMpIHtcbiAgICAgICAgaWYgKGludGVyY2VwdG9ycy5sZW5ndGggPiAwKVxuICAgICAgICAgICAgdGhpcy5hcHAudXNlR2xvYmFsSW50ZXJjZXB0b3JzKC4uLmludGVyY2VwdG9ycyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTdGFydHMgdGhlIE5lc3RKUyBhcHBsaWNhdGlvbiBhbmQgYmluZHMgaXQgdG8gdGhlIGdpdmVuIHBvcnQgYW5kIGhvc3QuXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIExpc3RlbnMgb24gdGhlIHNwZWNpZmllZCBwb3J0IGFuZCBvcHRpb25hbGx5IGEgaG9zdC4gT25jZSBzdGFydGVkLFxuICAgICAqIGxvZ3MgdGhlIGFwcGxpY2F0aW9uIFVSTCBmb3IgZWFzeSBhY2Nlc3MuIFRoZSBzdGFydHVwIHByb2Nlc3MgcmVzb2x2ZXNcbiAgICAgKiBvbmNlIHRoZSBhcHBsaWNhdGlvbiBpcyBzdWNjZXNzZnVsbHkgcnVubmluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcG9ydD0zMDAwXSAtIFBvcnQgbnVtYmVyIHRvIGxpc3RlbiBvbi5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2hvc3RdIC0gT3B0aW9uYWwgaG9zdCBvciBJUCBhZGRyZXNzIHRvIGJpbmQgdG8uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbbG9nPXRydWVdIC0gV2hldGhlciB0byBsb2cgdGhlIGFwcGxpY2F0aW9uIFVSTCB1cG9uIHN0YXJ0dXAuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgb25jZSB0aGUgYXBwbGljYXRpb24gc3RhcnRzIHN1Y2Nlc3NmdWxseS5cbiAgICAgKi9cbiAgICBzdGF0aWMgYXN5bmMgc3RhcnQocG9ydCA9IE51bWJlcihwcm9jZXNzLmVudi5QT1JUKSB8fCAzMDAwLCBob3N0ID0gdW5kZWZpbmVkLCBsb2cgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuYXBwLmxpc3Rlbihwb3J0LCBob3N0KS50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCB0aGlzLmFwcC5nZXRVcmwoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coYPCfmoAgQXBwbGljYXRpb24gaXMgcnVubmluZyBhdDogJHt1cmx9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVRtVnpkRUp2YjNSemRISmhjR1Z5TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZjM0pqTDJaaFkzUnZjbmt2VG1WemRFSnZiM1J6ZEhKaGNHVnlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGRlRDeE5RVUZOTEVkQlIxQXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU40UWl4UFFVRlBMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVXNPRUpCUVhGQ08wRkJRM0JFTEU5QlFVOHNSVUZCUlN4alFVRmpMRVZCUVVVc01rSkJRV3RDTzBGQlJUTkRMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVVVzTUVKQlFXbENPMEZCTkVOeVF6czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdSMEVyUTBjN1FVRkRTQ3hOUVVGTkxFOUJRVThzWlVGQlpUdEpRVWt4UWpzN096czdPenM3TzA5QlUwYzdTVUZEU3l4TlFVRk5MRXRCUVVzc1RVRkJUVHRSUVVOMlFpeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8xbEJRMnhDTEZkQlFWYzdXVUZEV0N4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzVFVGQlRTeERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRPMUZCUXpkRExFTkJRVU03VVVGRFJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkRkRUlzUTBGQlF6dEpRVVZFT3pzN096czdPenM3TzA5QlZVYzdTVUZEU0N4TlFVRk5MRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRWEZDTzFGQlEzSkRMRWxCUVVrc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlEyWXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPenM3TzA5QlYwYzdTVUZEU0N4TlFVRk5MRU5CUVVNc1dVRkJXU3hEUVVGRExGbEJRWEZDTzFGQlEzWkRMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzV1VGQldTeEpRVUZKTEVsQlFVa3NUVUZCVFN4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRE8xRkJRek5FTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnFReXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN096dFBRV0ZITzBsQlEwZ3NUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkRaaXhWUVVFd1FpeEZRVUZGTEVWQlF6VkNMR1ZCUVhsQ0xFTkJRVU1zUzBGQlN5eEZRVUZGTEUxQlFVMHNSVUZCUlN4TFFVRkxMRVZCUVVVc1VVRkJVU3hEUVVGRE8xRkJSWHBFTEUxQlFVMHNZMEZCWXl4SFFVTnNRaXhQUVVGUExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJSWEpGTEUxQlFVMHNWMEZCVnl4SFFVRm5RanRaUVVNdlFpeE5RVUZOTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFVkJRVVU3WjBKQlF6TkNMR3REUVVGclF6dG5Ra0ZEYkVNc1NVRkJTU3hEUVVGRExFMUJRVTA3YjBKQlFVVXNUMEZCVHl4UlFVRlJMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzJkQ1FVVjZReXhKUVVORkxHTkJRV01zUzBGQlN5eEhRVUZITzI5Q1FVTjBRaXhEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNZMEZCWXl4RFFVRkRPM2RDUVVNMVFpeGpRVUZqTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlEyaEVMRU5CUVVNN2IwSkJRMFFzVDBGQlR5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8yZENRVU01UWl4RFFVRkRPMmRDUVVWRUxGRkJRVkVzUTBGQlF5eEpRVUZKTEZOQlFWTXNRMEZCUXl4VlFVRlZMRTFCUVUwc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU14UkN4RFFVRkRPMWxCUTBRc1YwRkJWeXhGUVVGRkxFbEJRVWs3V1VGRGFrSXNUMEZCVHl4RlFVRkZMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETzFOQlEyaERMRU5CUVVNN1VVRkZSaXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEZWQlFWVXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVOcVF5eFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSRHM3T3pzN096czdPenM3VDBGWFJ6dEpRVU5JTEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJOa0k3VVVGRE5VTXNTVUZCU1N4RFFVRkRPMWxCUTBnc2FVVkJRV2xGTzFsQlEycEZMRTFCUVUwc1RVRkJUU3hIUVVGSExFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMREJEUVVFd1F6dFpRVU0xUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNNVFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXg1UTBGQmVVTXNRMEZCUXl4RFFVRkRPMWxCUXpORUxEWkVRVUUyUkR0UlFVTXZSQ3hEUVVGRE8xRkJRVU1zVDBGQlR5eERRVUZOTEVWQlFVVXNRMEZCUXp0WlFVTm9RaXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl3MFEwRkJORU1zUTBGQlF5eERRVUZETzFGQlEycEZMRU5CUVVNN1VVRkZSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN1QwRlhSenRKUVVOSUxFMUJRVTBzUTBGQlF5eFpRVUZaTEVOQlFVTXNUMEZCTkVJN1VVRkRPVU1zVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUlVGQlJUdFpRVU16UXl4TFFVRkxMRVZCUVVVc1QwRkJUeXhEUVVGRExFdEJRVXM3V1VGRGNFSXNWMEZCVnl4RlFVRkZMRTlCUVU4c1EwRkJReXhYUVVGWE8xbEJRMmhETEU5QlFVOHNSVUZCUlN4UFFVRlBMRU5CUVVNc1QwRkJUenRaUVVONFFpeEpRVUZKTEVWQlFVVXNUMEZCVHl4RFFVRkRMRWxCUVVrc1NVRkJTU3hMUVVGTE8xbEJRek5DTEc5Q1FVRnZRaXhGUVVGRkxFOUJRVThzUTBGQlF5eHZRa0ZCYjBJc1NVRkJTU3hKUVVGSk8xbEJRekZFTEZWQlFWVXNSVUZCUlN4UFFVRlBMRU5CUVVNc1ZVRkJWVHRaUVVNNVFpeGxRVUZsTEVWQlFVVXNUMEZCVHl4RFFVRkRMRmRCUVZjN1dVRkRjRU1zYTBKQlFXdENMRVZCUVVVc1QwRkJUeXhEUVVGRExHTkJRV003V1VGRE1VTXNZVUZCWVN4RlFVRkZMRTlCUVU4c1EwRkJReXhoUVVGaE8xbEJRM0JETEdWQlFXVXNSVUZCUlN4UFFVRlBMRU5CUVVNc1pVRkJaVHRaUVVONFF5eGxRVUZsTEVWQlFVVXNUMEZCVHl4RFFVRkRMR1ZCUVdVN1UwRkRla01zUTBGQlF5eERRVUZETzFGQlEwZ3NUMEZCVHl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8xRkJRM1pDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRU96czdPenM3T3pzN096dFBRVmRITzBsQlEwZ3NUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFdEJRWE5DTzFGQlF6ZERMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETzFsQlFVVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhqUVVGakxFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTjRSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkRzN096czdPenM3T3p0UFFWVkhPMGxCUTBnc1RVRkJUU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1QwRkJZenRSUVVOMlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMR2RDUVVGblFpeERRVU4yUWl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEc5Q1FVRnZRaXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVU5xUlN4RFFVRkRPMUZCUTBZc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFpDeERRVUZETzBsQlJVUTdPenM3T3pzN096czdPMDlCVjBjN1NVRkRTQ3hOUVVGTkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVNc1IwRkJSeXhaUVVFclFqdFJRVU0zUkN4SlFVRkpMRmxCUVZrc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF6dFpRVU42UWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRWRCUVVjc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGJFUXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPenM3T3pzN1QwRmhSenRKUVVOSUxFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVTm9RaXhQUVVGbExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUlVGREwwTXNUMEZCTWtJc1UwRkJVeXhGUVVOd1F5eE5RVUZsTEVsQlFVazdVVUZGYmtJc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVZjc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVa3NSVUZCUlR0WlFVTnFSQ3hKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzJkQ1FVTlNMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRuUWtGRGNFTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zYVVOQlFXbERMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRE1VUXNRMEZCUXp0UlFVTklMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0Y2JpQWdTVTVsYzNSQmNIQnNhV05oZEdsdmJpeGNiaUFnVEc5bloyVnlMRnh1SUNCT1pYTjBTVzUwWlhKalpYQjBiM0lzWEc0Z0lGQnBjR1ZVY21GdWMyWnZjbTBzWEc1OUlHWnliMjBnWENKQWJtVnpkR3B6TDJOdmJXMXZibHdpTzF4dWFXMXdiM0owSUhzZ1JHVmpZV1pGZUdObGNIUnBiMjVHYVd4MFpYSWdmU0JtY205dElGd2lMaTlsZUdObGNIUnBiMjV6WENJN1hHNXBiWEJ2Y25RZ2V5QlRkMkZuWjJWeVFuVnBiR1JsY2lCOUlHWnliMjBnWENJdUwyOXdaVzVoY0dsY0lqdGNibWx0Y0c5eWRDQjdJRU52Y25OUGNIUnBiMjV6SUgwZ1puSnZiU0JjSWtCdVpYTjBhbk12WTI5dGJXOXVMMmx1ZEdWeVptRmpaWE12WlhoMFpYSnVZV3d2WTI5eWN5MXZjSFJwYjI1ekxtbHVkR1Z5Wm1GalpWd2lPMXh1YVcxd2IzSjBJSHNnUTI5eWMwVnljbTl5SUgwZ1puSnZiU0JjSWk0dlpYSnliM0p6WENJN1hHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1WEc0Z0tpQkVaV1pwYm1WeklHRnNiQ0JqZFhOMGIyMXBlbUZpYkdVZ2NHRnlZVzFsZEdWeWN5Qm1iM0lnVTNkaFoyZGxjaUJ6WlhSMWNDNWNiaUFxWEc0Z0tpQkFjM1Z0YldGeWVWeHVJQ29nVkdocGN5QnBiblJsY21aaFkyVWdZV3hzYjNkeklHUmxkbVZzYjNCbGNuTWdkRzhnWTNWemRHOXRhWHBsSUdodmR5QlRkMkZuWjJWeUlGVkpJR2x6SUdOdmJtWnBaM1Z5WldSY2JpQXFJSGRwZEdocGJpQjBhR1VnVG1WemRFcFRJR0Z3Y0d4cFkyRjBhVzl1TGlCSmRDQnBibU5zZFdSbGN5QndZWEpoYldWMFpYSnpJR1p2Y2lCMGFYUnNaWE1zSUhCaGRHaHpMRnh1SUNvZ1kyOXNiM0lnYzJOb1pXMWxjeXdnWVc1a0lHRnpjMlYwSUhCaGRHaHpJSFJ2SUhSaGFXeHZjaUIwYUdVZ1FWQkpJR1J2WTNWdFpXNTBZWFJwYjI0Z1pYaHdaWEpwWlc1alpTNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RHbDBiR1VnTFNCVWFYUnNaU0JrYVhOd2JHRjVaV1FnYVc0Z1UzZGhaMmRsY2lCVlNTNWNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JrWlhOamNtbHdkR2x2YmlBdElFUmxjMk55YVhCMGFXOXVJSE5vYjNkdUlHSmxiRzkzSUhSb1pTQjBhWFJzWlM1Y2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQjJaWEp6YVc5dUlDMGdRVkJKSUhabGNuTnBiMjRnWkdsemNHeGhlV1ZrSUdsdUlIUm9aU0JrYjJOMWJXVnVkR0YwYVc5dUxseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR3WVhSb1hTQXRJRTl3ZEdsdmJtRnNJSEJoZEdnZ2QyaGxjbVVnVTNkaFoyZGxjaUIzYVd4c0lHSmxJR0YyWVdsc1lXSnNaUzVjYmlBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1czQmxjbk5wYzNSQmRYUm9iM0pwZW1GMGFXOXVYU0F0SUZkb1pYUm9aWElnWVhWMGFHOXlhWHBoZEdsdmJpQjBiMnRsYm5NZ2NHVnljMmx6ZENCaFkzSnZjM01nY21Wc2IyRmtjeTVjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCYllYTnpaWFJ6VUdGMGFGMGdMU0JRWVhSb0lIUnZJR04xYzNSdmJTQmhjM05sZEhNZ1ptOXlJRk4zWVdkblpYSWdWVWt1WEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1czUnZjR0poY2tKblEyOXNiM0pkSUMwZ1EzVnpkRzl0SUdKaFkydG5jbTkxYm1RZ1kyOXNiM0lnWm05eUlIUm9aU0JUZDJGbloyVnlJSFJ2Y0NCaVlYSXVYRzRnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzNSdmNHSmhja2xqYjI1UVlYUm9YU0F0SUZCaGRHZ2dkRzhnWVNCamRYTjBiMjBnYVdOdmJpQmthWE53YkdGNVpXUWdhVzRnZEdobElIUnZjQ0JpWVhJdVhHNGdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMlpoZG1samIyNVFZWFJvWFNBdElGQmhkR2dnZEc4Z1lTQmpkWE4wYjIwZ1ptRjJhV052Ymk1Y2JpQXFMMXh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JUZDJGbloyVnlVMlYwZFhCUGNIUnBiMjV6SUh0Y2JpQWdkR2wwYkdVNklITjBjbWx1Wnp0Y2JpQWdaR1Z6WTNKcGNIUnBiMjQ2SUhOMGNtbHVaenRjYmlBZ2RtVnljMmx2YmpvZ2MzUnlhVzVuTzF4dUlDQndZWFJvUHpvZ2MzUnlhVzVuTzF4dUlDQndaWEp6YVhOMFFYVjBhRzl5YVhwaGRHbHZiajg2SUdKdmIyeGxZVzQ3WEc0Z0lHRnpjMlYwYzFCaGRHZy9PaUJ6ZEhKcGJtYzdYRzRnSUhSdmNHSmhja0puUTI5c2IzSS9PaUJ6ZEhKcGJtYzdYRzRnSUhSdmNHSmhja2xqYjI1UVlYUm9Qem9nYzNSeWFXNW5PMXh1SUNCbVlYWnBZMjl1VUdGMGFEODZJSE4wY21sdVp6dGNiaUFnTHlvcVhHNGdJQ0FxSUZCaGRHZ2dkRzhnWlhod2IzTmxJSFJvWlNCUGNHVnVRVkJKSUhOd1pXTnBabWxqWVhScGIyNGdhVzRnU2xOUFRpQm1iM0p0WVhRdVhHNGdJQ0FxSUVWNFlXMXdiR1U2SUM5aGNHa3ZiM0JsYm1Gd2FTNXFjMjl1WEc0Z0lDQXFMMXh1SUNCdmNHVnVRWEJwU25OdmJsQmhkR2cvT2lCemRISnBibWM3WEc0Z0lDOHFLbHh1SUNBZ0tpQlFZWFJvSUhSdklHVjRjRzl6WlNCMGFHVWdUM0JsYmtGUVNTQnpjR1ZqYVdacFkyRjBhVzl1SUdsdUlGbEJUVXdnWm05eWJXRjBMbHh1SUNBZ0tpQlNaWEYxYVhKbGN5QW5lV0Z0YkNjZ2NHRmphMkZuWlNCaGN5QndaV1Z5SUdSbGNHVnVaR1Z1WTNrdVhHNGdJQ0FxSUVWNFlXMXdiR1U2SUM5aGNHa3ZiM0JsYm1Gd2FTNTVZVzFzWEc0Z0lDQXFMMXh1SUNCdmNHVnVRWEJwV1dGdGJGQmhkR2cvT2lCemRISnBibWM3WEc1OVhHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1WEc0Z0tpQkJJR1pzZFdWdWRDd2djM1JoZEdsaklHSnZiM1J6ZEhKaGNDQmpiR0Z6Y3lCbWIzSWdhVzVwZEdsaGJHbDZhVzVuSUdGdVpDQmpiMjVtYVdkMWNtbHVaeUJoSUU1bGMzUktVeUJoY0hCc2FXTmhkR2x2Ymk1Y2JpQXFYRzRnS2lCQWMzVnRiV0Z5ZVZ4dUlDb2dWR2hsSUdCT1pYTjBRbTl2ZEhOMGNtRndaWEpnSUdOc1lYTnpJSEJ5YjNacFpHVnpJR0VnWTJoaGFXNWhZbXhsSUVGUVNTQm1iM0lnWTI5dVptbG5kWEpwYm1kY2JpQXFJR0VnVG1WemRFcFRJR0Z3Y0d4cFkyRjBhVzl1SUdsdWMzUmhibU5sTGlCSmRDQnBibU5zZFdSbGN5QmlkV2xzZEMxcGJpQnRaWFJvYjJSeklHWnZjaUJsYm1GaWJHbHVaMXh1SUNvZ1EwOVNVeXdnU0dWc2JXVjBJSE5sWTNWeWFYUjVMQ0JUZDJGbloyVnlJR1J2WTNWdFpXNTBZWFJwYjI0c0lHZHNiMkpoYkNCd2FYQmxjeXdnWm1sc2RHVnljeXhjYmlBcUlHbHVkR1Z5WTJWd2RHOXljeXdnWVc1a0lITjBZWEowYVc1bklIUm9aU0J6WlhKMlpYSXVYRzRnS2x4dUlDb2dWR2hwY3lCamJHRnpjeUJ3Y205dGIzUmxjeUJqYjI1emFYTjBaVzVqZVNCaGJtUWdjbVZrZFdObGN5QnlaWEJsZEdsMGFYWmxJSE5sZEhWd0lHTnZaR1ZjYmlBcUlHRmpjbTl6Y3lCdGRXeDBhWEJzWlNCT1pYTjBTbE1nY0hKdmFtVmpkSE11WEc0Z0tseHVJQ29nUUdWNFlXMXdiR1ZjYmlBcUlHQmdZSFJ6WEc0Z0tpQnBiWEJ2Y25RZ2V5Qk9aWE4wUm1GamRHOXllU0I5SUdaeWIyMGdYQ0pBYm1WemRHcHpMMk52Y21WY0lqdGNiaUFxSUdsdGNHOXlkQ0I3SUVGd2NFMXZaSFZzWlNCOUlHWnliMjBnWENJdUwyRndjQzV0YjJSMWJHVmNJanRjYmlBcUlHbHRjRzl5ZENCN0lFMTVURzluWjJWeUlIMGdabkp2YlNCY0lpNHZUWGxNYjJkblpYSmNJanRjYmlBcUlHbHRjRzl5ZENCN0lFNWxjM1JDYjI5MGMzUnlZWEJsY2lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlptOXlMVzVsYzNSY0lqdGNiaUFxWEc0Z0tpQmhjM2x1WXlCbWRXNWpkR2x2YmlCaWIyOTBjM1J5WVhBb0tTQjdYRzRnS2lBZ0lHTnZibk4wSUdGd2NDQTlJR0YzWVdsMElFNWxjM1JHWVdOMGIzSjVMbU55WldGMFpTaEJjSEJOYjJSMWJHVXBPMXh1SUNwY2JpQXFJQ0FnWVhkaGFYUWdUbVZ6ZEVKdmIzUnpkSEpoY0dWeVhHNGdLaUFnSUNBZ0xtbHVhWFJwWVd4cGVtVW9ZWEJ3S1Z4dUlDb2dJQ0FnSUM1bGJtRmliR1ZNYjJkblpYSW9ibVYzSUUxNVRHOW5aMlZ5S0NrcFhHNGdLaUFnSUNBZ0xtVnVZV0pzWlVOdmNuTW9XMXdpYUhSMGNEb3ZMMnh2WTJGc2FHOXpkRG8wTWpBd1hDSmRLVnh1SUNvZ0lDQWdJQzUxYzJWSVpXeHRaWFFvS1Z4dUlDb2dJQ0FnSUM1elpYUjFjRk4zWVdkblpYSW9lMXh1SUNvZ0lDQWdJQ0FnZEdsMGJHVTZJRndpVDNCbGJrRlFTU0JpZVNCVWNtRmtaVTFoY212aWhLSmNJaXhjYmlBcUlDQWdJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJbFJ5WVdSbFRXRnlhK0tFb2lCQlVFa2daRzlqZFcxbGJuUmhkR2x2Ymx3aUxGeHVJQ29nSUNBZ0lDQWdkbVZ5YzJsdmJqb2dYQ0l4TGpBdU1Gd2lMRnh1SUNvZ0lDQWdJQ0FnY0dGMGFEb2dYQ0poY0dsY0lpeGNiaUFxSUNBZ0lDQWdJSEJsY25OcGMzUkJkWFJvYjNKcGVtRjBhVzl1T2lCMGNuVmxMRnh1SUNvZ0lDQWdJQ0FnZEc5d1ltRnlRbWREYjJ4dmNqb2dYQ0lqTWtNelJUVXdYQ0lzWEc0Z0tpQWdJQ0FnSUNCMGIzQmlZWEpKWTI5dVVHRjBhRG9nWENJdllYTnpaWFJ6TDJ4dloyOHVjM1puWENJc1hHNGdLaUFnSUNBZ0lDQm1ZWFpwWTI5dVVHRjBhRG9nWENJdllYTnpaWFJ6TDJaaGRtbGpiMjR1YVdOdlhDSmNiaUFxSUNBZ0lDQjlLVnh1SUNvZ0lDQWdJQzUxYzJWSGJHOWlZV3hHYVd4MFpYSnpLQ2xjYmlBcUlDQWdJQ0F1ZFhObFIyeHZZbUZzVUdsd1pYTW9MaTR1S1Z4dUlDb2dJQ0FnSUM1MWMyVkhiRzlpWVd4SmJuUmxjbU5sY0hSdmNuTW9MaTR1S1Z4dUlDb2dJQ0FnSUM1emRHRnlkQ2d6TURBd0tUdGNiaUFxSUgxY2JpQXFYRzRnS2lCaWIyOTBjM1J5WVhBb0tUdGNiaUFxSUdCZ1lGeHVJQ29nUUdOc1lYTnpYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJPWlhOMFFtOXZkSE4wY21Gd1pYSWdlMXh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJoY0hBNklFbE9aWE4wUVhCd2JHbGpZWFJwYjI0N1hHNGdJSEJ5YVhaaGRHVWdjM1JoZEdsaklGOXNiMmRuWlhJNklFeHZaMmRsY2p0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dVhHNGdJQ0FxSUZKbGRIVnlibk1nZEdobElHTjFjbkpsYm5RZ2JHOW5aMlZ5SUdsdWMzUmhibU5sTENCamNtVmhkR2x1WnlCaElHUmxabUYxYkhRZ2IyNWxJR2xtSUc1dmRDQnpaWFF1WEc0Z0lDQXFYRzRnSUNBcUlFQnpkVzF0WVhKNVhHNGdJQ0FxSUVWdWMzVnlaWE1nZEdoaGRDQmhJSFpoYkdsa0lHQk1iMmRuWlhKZ0lHbHVjM1JoYm1ObElHbHpJR0ZzZDJGNWN5QmhkbUZwYkdGaWJHVmNiaUFnSUNvZ1ptOXlJR3h2WjJkcGJtY2dZbTl2ZEhOMGNtRndMWEpsYkdGMFpXUWdiV1Z6YzJGblpYTXVYRzRnSUNBcVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTB4dloyZGxjbjBnVkdobElHRmpkR2wyWlNCc2IyZG5aWElnYVc1emRHRnVZMlV1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJuWlhRZ2JHOW5aMlZ5S0NrNklFeHZaMmRsY2lCN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TGw5c2IyZG5aWElwSUh0Y2JpQWdJQ0FnSUM4dklHWmhiR3hpWVdOclhHNGdJQ0FnSUNCMGFHbHpMbDlzYjJkblpYSWdQU0J1WlhjZ1RHOW5aMlZ5S0Z3aVRtVnpkRUp2YjNSemRISmhjRndpS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJ4dloyZGxjanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNWNiaUFnSUNvZ1NXNXBkR2xoYkdsNlpYTWdkR2hsSUdKdmIzUnpkSEpoY0hCbGNpQjNhWFJvSUdFZ1oybDJaVzRnVG1WemRFcFRJR0Z3Y0d4cFkyRjBhVzl1TGx4dUlDQWdLbHh1SUNBZ0tpQkFjM1Z0YldGeWVWeHVJQ0FnS2lCQ2FXNWtjeUIwYUdVZ2NISnZkbWxrWldRZ1RtVnpkRXBUSUdGd2NDQnBibk4wWVc1alpTQjBieUIwYUdVZ1ltOXZkSE4wY21Gd2NHVnlMQ0JsYm1GaWJHbHVaMXh1SUNBZ0tpQmphR0ZwYm1Wa0lHTnZibVpwWjNWeVlYUnBiMjRnYldWMGFHOWtjeTVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUh0SlRtVnpkRUZ3Y0d4cFkyRjBhVzl1ZlNCaGNIQWdMU0JVYUdVZ1RtVnpkRXBUSUdGd2NHeHBZMkYwYVc5dUlHbHVjM1JoYm1ObElIUnZJR2x1YVhScFlXeHBlbVV1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMDVsYzNSQ2IyOTBjM1J5WVhCbGNuMGdVbVYwZFhKdWN5QjBhR1VnWTJ4aGMzTWdabTl5SUdOb1lXbHVhVzVuSUdOdmJtWnBaM1Z5WVhScGIyNGdiV1YwYUc5a2N5NWNiaUFnSUNvdlhHNGdJSE4wWVhScFl5QnBibWwwYVdGc2FYcGxLR0Z3Y0RvZ1NVNWxjM1JCY0hCc2FXTmhkR2x2YmlrZ2UxeHVJQ0FnSUhSb2FYTXVZWEJ3SUQwZ1lYQndPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJseHVJQ0FnS2lCRmJtRmliR1Z6SUc5eUlISmxjR3hoWTJWeklIUm9aU0JuYkc5aVlXd2diRzluWjJWeUlHWnZjaUIwYUdVZ1RtVnpkRXBUSUdGd2NHeHBZMkYwYVc5dUxseHVJQ0FnS2x4dUlDQWdLaUJBYzNWdGJXRnllVnh1SUNBZ0tpQkpaaUJoSUdOMWMzUnZiU0JzYjJkblpYSWdhWE1nY0hKdmRtbGtaV1FzSUdsMElISmxjR3hoWTJWeklIUm9aU0JrWldaaGRXeDBJR3h2WjJkbGNpNGdUM1JvWlhKM2FYTmxMRnh1SUNBZ0tpQmhJRzVsZHlCc2IyZG5aWElnYm1GdFpXUWdZRndpVG1WemRFSnZiM1J6ZEhKaGNGd2lZQ0JwY3lCMWMyVmtMaUJVYUdseklHeHZaMmRsY2lCcGN5QmhiSE52SUhKbFoybHpkR1Z5WldSY2JpQWdJQ29nZDJsMGFDQjBhR1VnVG1WemRFcFRJR0Z3Y0d4cFkyRjBhVzl1TGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UweHZaMmRsY24wZ1cyTjFjM1J2YlV4dloyZGxjbDBnTFNCUGNIUnBiMjVoYkNCamRYTjBiMjBnYkc5bloyVnlJR2x1YzNSaGJtTmxMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdE9aWE4wUW05dmRITjBjbUZ3WlhKOUlGSmxkSFZ5Ym5NZ2RHaGxJR05zWVhOeklHWnZjaUJqYUdGcGJtbHVaeTVjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJsYm1GaWJHVk1iMmRuWlhJb1kzVnpkRzl0VEc5bloyVnlQem9nVEc5bloyVnlLU0I3WEc0Z0lDQWdkR2hwY3k1ZmJHOW5aMlZ5SUQwZ1kzVnpkRzl0VEc5bloyVnlJSHg4SUc1bGR5Qk1iMmRuWlhJb1hDSk9aWE4wUW05dmRITjBjbUZ3WENJcE8xeHVJQ0FnSUhSb2FYTXVZWEJ3TG5WelpVeHZaMmRsY2loMGFHbHpMbDlzYjJkblpYSXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJseHVJQ0FnS2lCRmJtRmliR1Z6SUVOeWIzTnpMVTl5YVdkcGJpQlNaWE52ZFhKalpTQlRhR0Z5YVc1bklDaERUMUpUS1NCbWIzSWdkR2hsSUdGd2NHeHBZMkYwYVc5dUxseHVJQ0FnS2x4dUlDQWdLaUJBYzNWdGJXRnllVnh1SUNBZ0tpQkJiR3h2ZDNNZ1pHVm1hVzVwYm1jZ1pXbDBhR1Z5SUdFZ2QybHNaR05oY21RZ2IzSnBaMmx1SUNoZ1hDSXFYQ0pnS1NCdmNpQmhJR3hwYzNRZ2IyWWdZV3hzYjNkbFpDQnZjbWxuYVc1ekxseHVJQ0FnS2lCQmRYUnZiV0YwYVdOaGJHeDVJR0ZqWTJWd2RITWdiRzlqWVd3Z1pHVjJaV3h2Y0cxbGJuUWdjbVZ4ZFdWemRITWdZVzVrSUhSb2IzTmxJSGRwZEdodmRYUWdiM0pwWjJsdUlHaGxZV1JsY25NdVhHNGdJQ0FxSUZSb2NtOTNjeUJoSUdCRGIzSnpSWEp5YjNKZ0lHWnZjaUIxYm1GMWRHaHZjbWw2WldRZ2IzSnBaMmx1Y3k1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIc25LaWNnZkNCemRISnBibWRiWFgwZ1cyOXlhV2RwYm5NOVcxMWRJQzBnVEdsemRDQnZaaUJoYkd4dmQyVmtJRzl5YVdkcGJuTWdiM0lnWUZ3aUtsd2lZQ0IwYnlCaGJHeHZkeUJoYkd3dVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5XMTE5SUZ0aGJHeHZkMDFsZEdodlpITTlXeWRIUlZRbkxDQW5VRTlUVkNjc0lDZFFWVlFuTENBblJFVk1SVlJGSjExZElDMGdRV3hzYjNkbFpDQklWRlJRSUcxbGRHaHZaSE11WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMDVsYzNSQ2IyOTBjM1J5WVhCbGNuMGdVbVYwZFhKdWN5QjBhR1VnWTJ4aGMzTWdabTl5SUdOb1lXbHVhVzVuSUdOdmJtWnBaM1Z5WVhScGIyNHVYRzRnSUNBcVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1pXNWhZbXhsUTI5eWN5aGNiaUFnSUNCdmNtbG5hVzV6T2lCY0lpcGNJaUI4SUhOMGNtbHVaMXRkSUQwZ1cxMHNYRzRnSUNBZ1lXeHNiM2ROWlhSb2IyUnpPaUJ6ZEhKcGJtZGJYU0E5SUZ0Y0lrZEZWRndpTENCY0lsQlBVMVJjSWl3Z1hDSlFWVlJjSWl3Z1hDSkVSVXhGVkVWY0lsMWNiaUFnS1NCN1hHNGdJQ0FnWTI5dWMzUWdZV3hzYjNkbFpFOXlhV2RwYm5NZ1BWeHVJQ0FnSUNBZ2IzSnBaMmx1Y3lBOVBUMGdYQ0lxWENJZ1B5QmNJaXBjSWlBNklHOXlhV2RwYm5NdWJXRndLQ2h2S1NBOVBpQnZMblJ5YVcwb0tTNTBiMHh2ZDJWeVEyRnpaU2dwS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR052Y25OUGNIUnBiMjV6T2lCRGIzSnpUM0IwYVc5dWN5QTlJSHRjYmlBZ0lDQWdJRzl5YVdkcGJqb2dLRzl5YVdkcGJpd2dZMkZzYkdKaFkyc3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRV3hzYjNjZ2NtVnhkV1Z6ZENCM2FYUm9iM1YwSUc5eWFXZHBiaTR1TGx4dUlDQWdJQ0FnSUNCcFppQW9JVzl5YVdkcGJpa2djbVYwZFhKdUlHTmhiR3hpWVdOcktHNTFiR3dzSUhSeWRXVXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGNiaUFnSUNBZ0lDQWdJQ0JoYkd4dmQyVmtUM0pwWjJsdWN5QTlQVDBnWENJcVhDSWdmSHhjYmlBZ0lDQWdJQ0FnSUNBb1FYSnlZWGt1YVhOQmNuSmhlU2hoYkd4dmQyVmtUM0pwWjJsdWN5a2dKaVpjYmlBZ0lDQWdJQ0FnSUNBZ0lHRnNiRzkzWldSUGNtbG5hVzV6TG1sdVkyeDFaR1Z6S0c5eWFXZHBiaTUwYjB4dmQyVnlRMkZ6WlNncEtTbGNiaUFnSUNBZ0lDQWdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOaGJHeGlZV05yS0c1MWJHd3NJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWTJGc2JHSmhZMnNvYm1WM0lFTnZjbk5GY25KdmNpaGdUM0pwWjJsdUlDUjdiM0pwWjJsdWZTQnViM1FnWVd4c2IzZGxaR0FwS1R0Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCamNtVmtaVzUwYVdGc2N6b2dkSEoxWlN4Y2JpQWdJQ0FnSUcxbGRHaHZaSE02SUdGc2JHOTNUV1YwYUc5a2N5NXFiMmx1S0Z3aUxGd2lLU3hjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdkR2hwY3k1aGNIQXVaVzVoWW14bFEyOXljeWhqYjNKelQzQjBhVzl1Y3lrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1WEc0Z0lDQXFJRUZ3Y0d4cFpYTWdkR2hsSUVobGJHMWxkQ0J0YVdSa2JHVjNZWEpsSUdadmNpQmxibWhoYm1ObFpDQnpaV04xY21sMGVTNWNiaUFnSUNwY2JpQWdJQ29nUUhOMWJXMWhjbmxjYmlBZ0lDb2dSSGx1WVcxcFkyRnNiSGtnYkc5aFpITWdkR2hsSUdCb1pXeHRaWFJnSUhCaFkydGhaMlVnYVdZZ1lYWmhhV3hoWW14bElHRnVaQ0J5WldkcGMzUmxjbk1nYVhSY2JpQWdJQ29nWVhNZ2JXbGtaR3hsZDJGeVpTQjBieUJwYlhCeWIzWmxJRWhVVkZBZ2FHVmhaR1Z5SUhObFkzVnlhWFI1TGlCSlppQnViM1FnYVc1emRHRnNiR1ZrTENCc2IyZHpJR0VnZDJGeWJtbHVaMXh1SUNBZ0tpQmhibVFnWTI5dWRHbHVkV1Z6SUdWNFpXTjFkR2x2YmlCM2FYUm9iM1YwSUhSb2NtOTNhVzVuSUdWeWNtOXljeTVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUh0U1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK2ZTQmJiM0IwYVc5dWMxMGdMU0JQY0hScGIyNWhiQ0JqYjI1bWFXZDFjbUYwYVc5dUlIQmhjM05sWkNCMGJ5QklaV3h0WlhRdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTA1bGMzUkNiMjkwYzNSeVlYQmxjbjBnVW1WMGRYSnVjeUIwYUdVZ1kyeGhjM01nWm05eUlHTm9ZV2x1YVc1bklHTnZibVpwWjNWeVlYUnBiMjR1WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nZFhObFNHVnNiV1YwS0c5d2RHbHZibk0vT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JoYm5rK0tTQjdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0JBZEhsd1pYTmpjbWx3ZEMxbGMyeHBiblF2Ym04dGNtVnhkV2x5WlMxcGJYQnZjblJ6WEc0Z0lDQWdJQ0JqYjI1emRDQm9aV3h0WlhRZ1BTQnlaWEYxYVhKbEtGd2lhR1ZzYldWMFhDSXBPeUF2THlCRWVXNWhiV2xqSUdsdGNHOXlkQ0IwYnlCaGRtOXBaQ0JvWVhKa0lHUmxjR1Z1WkdWdVkzbGNiaUFnSUNBZ0lIUm9hWE11WVhCd0xuVnpaU2hvWld4dFpYUW9iM0IwYVc5dWN5a3BPMXh1SUNBZ0lDQWdkR2hwY3k1c2IyZG5aWEl1Ykc5bktGd2lTR1ZzYldWMElHMXBaR1JzWlhkaGNtVWdaVzVoWW14bFpDQnpkV05qWlhOelpuVnNiSGt1WENJcE8xeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTExYm5WelpXUXRkbUZ5YzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1U2SUdGdWVTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1c2IyZG5aWEl1ZDJGeWJpaGNJa2hsYkcxbGRDQnViM1FnYVc1emRHRnNiR1ZrTGlCVGEybHdjR2x1WnlCdGFXUmtiR1YzWVhKbExsd2lLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNWNiaUFnSUNvZ1EyOXVabWxuZFhKbGN5QmhibVFnYVc1cGRHbGhiR2w2WlhNZ1UzZGhaMmRsY2lCVlNTQm1iM0lnUVZCSklHUnZZM1Z0Wlc1MFlYUnBiMjR1WEc0Z0lDQXFYRzRnSUNBcUlFQnpkVzF0WVhKNVhHNGdJQ0FxSUZWelpYTWdkR2hsSUdCVGQyRm5aMlZ5UW5WcGJHUmxjbUFnZFhScGJHbDBlU0IwYnlCamIyNW1hV2QxY21VZ1FWQkpJR1J2WTNWdFpXNTBZWFJwYjI1Y2JpQWdJQ29nZDJsMGFDQmtaWFJoYVd4bFpDQmpkWE4wYjIxcGVtRjBhVzl1SUdadmNpQjBhWFJzWlN3Z2RtVnljMmx2Yml3Z2NHRjBhSE1zSUdGdVpDQmpiMnh2Y25NdVhHNGdJQ0FxSUZOM1lXZG5aWElnYVhNZ1lYVjBiMjFoZEdsallXeHNlU0JsZUhCdmMyVmtJR0YwSUhSb1pTQmpiMjVtYVdkMWNtVmtJSEJoZEdndVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQjdVM2RoWjJkbGNsTmxkSFZ3VDNCMGFXOXVjMzBnYjNCMGFXOXVjeUF0SUZOM1lXZG5aWElnWTI5dVptbG5kWEpoZEdsdmJpQnZjSFJwYjI1ekxseHVJQ0FnS2lCQWNtVjBkWEp1SUh0T1pYTjBRbTl2ZEhOMGNtRndaWEo5SUZKbGRIVnlibk1nZEdobElHTnNZWE56SUdadmNpQmphR0ZwYm1sdVp5QmpiMjVtYVdkMWNtRjBhVzl1TGx4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUhObGRIVndVM2RoWjJkbGNpaHZjSFJwYjI1ek9pQlRkMkZuWjJWeVUyVjBkWEJQY0hScGIyNXpLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MzZGhaMmRsY2lBOUlHNWxkeUJUZDJGbloyVnlRblZwYkdSbGNpaDBhR2x6TG1Gd2NDd2dlMXh1SUNBZ0lDQWdkR2wwYkdVNklHOXdkR2x2Ym5NdWRHbDBiR1VzWEc0Z0lDQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ2IzQjBhVzl1Y3k1a1pYTmpjbWx3ZEdsdmJpeGNiaUFnSUNBZ0lIWmxjbk5wYjI0NklHOXdkR2x2Ym5NdWRtVnljMmx2Yml4Y2JpQWdJQ0FnSUhCaGRHZzZJRzl3ZEdsdmJuTXVjR0YwYUNCOGZDQmNJbUZ3YVZ3aUxGeHVJQ0FnSUNBZ2NHVnljMmx6ZEVGMWRHaHZjbWw2WVhScGIyNDZJRzl3ZEdsdmJuTXVjR1Z5YzJsemRFRjFkR2h2Y21sNllYUnBiMjRnUHo4Z2RISjFaU3hjYmlBZ0lDQWdJR0Z6YzJWMGMxQmhkR2c2SUc5d2RHbHZibk11WVhOelpYUnpVR0YwYUN4Y2JpQWdJQ0FnSUdaaGRtbGpiMjVHYVd4bFVHRjBhRG9nYjNCMGFXOXVjeTVtWVhacFkyOXVVR0YwYUN4Y2JpQWdJQ0FnSUhSdmNHSmhja2xqYjI1R2FXeGxVR0YwYURvZ2IzQjBhVzl1Y3k1MGIzQmlZWEpKWTI5dVVHRjBhQ3hjYmlBZ0lDQWdJSFJ2Y0dKaGNrSm5RMjlzYjNJNklHOXdkR2x2Ym5NdWRHOXdZbUZ5UW1kRGIyeHZjaXhjYmlBZ0lDQWdJRzl3Wlc1QmNHbEtjMjl1VUdGMGFEb2diM0IwYVc5dWN5NXZjR1Z1UVhCcFNuTnZibEJoZEdnc1hHNGdJQ0FnSUNCdmNHVnVRWEJwV1dGdGJGQmhkR2c2SUc5d2RHbHZibk11YjNCbGJrRndhVmxoYld4UVlYUm9MRnh1SUNBZ0lIMHBPMXh1SUNBZ0lITjNZV2RuWlhJdWMyVjBkWEJUZDJGbloyVnlLQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVYRzRnSUNBcUlGSmxaMmx6ZEdWeWN5QnZibVVnYjNJZ2JXOXlaU0JuYkc5aVlXd2dkbUZzYVdSaGRHbHZiaUJ3YVhCbGN5NWNiaUFnSUNwY2JpQWdJQ29nUUhOMWJXMWhjbmxjYmlBZ0lDb2dSVzVoWW14bGN5QnlaWEYxWlhOMElIQmhlV3h2WVdRZ2RtRnNhV1JoZEdsdmJpQmhibVFnZEhKaGJuTm1iM0p0WVhScGIyNGdaMnh2WW1Gc2JIa2dZV055YjNOelhHNGdJQ0FxSUhSb1pTQmxiblJwY21VZ1RtVnpkRXBUSUdGd2NHeHBZMkYwYVc5dUxpQk5kV3gwYVhCc1pTQndhWEJsY3lCallXNGdZbVVnWTJoaGFXNWxaQ0IwYjJkbGRHaGxjbHh1SUNBZ0tpQm1iM0lnYlc5a2RXeGhjaUJwYm5CMWRDQjJZV3hwWkdGMGFXOXVMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnZXk0dUxsQnBjR1ZVY21GdWMyWnZjbTFiWFgwZ2NHbHdaWE1nTFNCUWFYQmxJR2x1YzNSaGJtTmxjeUIwYnlCeVpXZHBjM1JsY2lCbmJHOWlZV3hzZVM1Y2JpQWdJQ29nUUhKbGRIVnliaUI3VG1WemRFSnZiM1J6ZEhKaGNHVnlmU0JTWlhSMWNtNXpJSFJvWlNCamJHRnpjeUJtYjNJZ1kyaGhhVzVwYm1jdVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2RYTmxSMnh2WW1Gc1VHbHdaWE1vTGk0dWNHbHdaWE02SUZCcGNHVlVjbUZ1YzJadmNtMWJYU2tnZTF4dUlDQWdJR2xtSUNod2FYQmxjeTVzWlc1bmRHZ2dQaUF3S1NCMGFHbHpMbUZ3Y0M1MWMyVkhiRzlpWVd4UWFYQmxjeWd1TGk1d2FYQmxjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVYRzRnSUNBcUlGSmxaMmx6ZEdWeWN5QnZibVVnYjNJZ2JXOXlaU0JuYkc5aVlXd2daWGhqWlhCMGFXOXVJR1pwYkhSbGNuTXVYRzRnSUNBcVhHNGdJQ0FxSUVCemRXMXRZWEo1WEc0Z0lDQXFJRWxtSUc1dklHWnBiSFJsY25NZ1lYSmxJSEJ5YjNacFpHVmtMQ0JwZENCaGRYUnZiV0YwYVdOaGJHeDVJSEpsWjJsemRHVnljeUJoSUdSbFptRjFiSFJjYmlBZ0lDb2djMlYwSUc5bUlITjBZVzVrWVhKa0lHVjRZMlZ3ZEdsdmJpQm1hV3gwWlhKeklHWnZjaUJqYjIxdGIyNGdaWEp5YjNJZ2RIbHdaWE1nYkdsclpWeHVJQ0FnS2lCZ1NIUjBjRVY0WTJWd2RHbHZibUFzSUdCV1lXeHBaR0YwYVc5dVJYaGpaWEIwYVc5dVlDd2dZRU52Ym1ac2FXTjBSWGhqWlhCMGFXOXVZQ3dnWVc1a0lHOTBhR1Z5Y3k1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIc3VMaTVGZUdObGNIUnBiMjVHYVd4MFpYSmJYWDBnWm1sc2RHVnljeUF0SUU5d2RHbHZibUZzSUdacGJIUmxjbk1nZEc4Z1lYQndiSGtnWjJ4dlltRnNiSGt1WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nZFhObFIyeHZZbUZzUm1sc2RHVnljeWd1TGk1bWFXeDBaWEp6T2lCaGJubGJYU2tnZTF4dUlDQWdJSFJvYVhNdVlYQndMblZ6WlVkc2IySmhiRVpwYkhSbGNuTW9YRzRnSUNBZ0lDQXVMaTRvWm1sc2RHVnljeTVzWlc1bmRHZ2dQaUF3SUQ4Z1ptbHNkR1Z5Y3lBNklGdHVaWGNnUkdWallXWkZlR05sY0hScGIyNUdhV3gwWlhJb0tWMHBYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI1Y2JpQWdJQ29nVW1WbmFYTjBaWEp6SUdkc2IySmhiQ0JwYm5SbGNtTmxjSFJ2Y25NZ1ptOXlJSEpsY1hWbGMzUWdZVzVrSUhKbGMzQnZibk5sSUhSeVlXNXpabTl5YldGMGFXOXVMbHh1SUNBZ0tseHVJQ0FnS2lCQWMzVnRiV0Z5ZVZ4dUlDQWdLaUJKYm5SbGNtTmxjSFJ2Y25NZ1lXeHNiM2NnWVdSMllXNWpaV1FnY21WeGRXVnpkQzl5WlhOd2IyNXpaU0J0WVc1cGNIVnNZWFJwYjI0Z2MzVmphQ0JoYzF4dUlDQWdLaUJ6WlhKcFlXeHBlbUYwYVc5dUxDQnNiMmRuYVc1bkxDQnZjaUIwY21GdWMyWnZjbTFoZEdsdmJpNGdUWFZzZEdsd2JHVWdhVzUwWlhKalpYQjBiM0p6WEc0Z0lDQXFJR05oYmlCaVpTQmhaR1JsWkNCbWIzSWdiVzlrZFd4aGNpQmpiMjVtYVdkMWNtRjBhVzl1TGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2V5NHVMazVsYzNSSmJuUmxjbU5sY0hSdmNsdGRmU0JwYm5SbGNtTmxjSFJ2Y25NZ0xTQkpiblJsY21ObGNIUnZjaUJwYm5OMFlXNWpaWE1nZEc4Z2NtVm5hWE4wWlhJdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTA1bGMzUkNiMjkwYzNSeVlYQmxjbjBnVW1WMGRYSnVjeUIwYUdVZ1kyeGhjM01nWm05eUlHTm9ZV2x1YVc1bklHTnZibVpwWjNWeVlYUnBiMjR1WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nZFhObFIyeHZZbUZzU1c1MFpYSmpaWEIwYjNKektDNHVMbWx1ZEdWeVkyVndkRzl5Y3pvZ1RtVnpkRWx1ZEdWeVkyVndkRzl5VzEwcElIdGNiaUFnSUNCcFppQW9hVzUwWlhKalpYQjBiM0p6TG14bGJtZDBhQ0ErSURBcFhHNGdJQ0FnSUNCMGFHbHpMbUZ3Y0M1MWMyVkhiRzlpWVd4SmJuUmxjbU5sY0hSdmNuTW9MaTR1YVc1MFpYSmpaWEIwYjNKektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI1Y2JpQWdJQ29nVTNSaGNuUnpJSFJvWlNCT1pYTjBTbE1nWVhCd2JHbGpZWFJwYjI0Z1lXNWtJR0pwYm1SeklHbDBJSFJ2SUhSb1pTQm5hWFpsYmlCd2IzSjBJR0Z1WkNCb2IzTjBMbHh1SUNBZ0tseHVJQ0FnS2lCQWMzVnRiV0Z5ZVZ4dUlDQWdLaUJNYVhOMFpXNXpJRzl1SUhSb1pTQnpjR1ZqYVdacFpXUWdjRzl5ZENCaGJtUWdiM0IwYVc5dVlXeHNlU0JoSUdodmMzUXVJRTl1WTJVZ2MzUmhjblJsWkN4Y2JpQWdJQ29nYkc5bmN5QjBhR1VnWVhCd2JHbGpZWFJwYjI0Z1ZWSk1JR1p2Y2lCbFlYTjVJR0ZqWTJWemN5NGdWR2hsSUhOMFlYSjBkWEFnY0hKdlkyVnpjeUJ5WlhOdmJIWmxjMXh1SUNBZ0tpQnZibU5sSUhSb1pTQmhjSEJzYVdOaGRHbHZiaUJwY3lCemRXTmpaWE56Wm5Wc2JIa2djblZ1Ym1sdVp5NWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR3YjNKMFBUTXdNREJkSUMwZ1VHOXlkQ0J1ZFcxaVpYSWdkRzhnYkdsemRHVnVJRzl1TGx4dUlDQWdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXMmh2YzNSZElDMGdUM0IwYVc5dVlXd2dhRzl6ZENCdmNpQkpVQ0JoWkdSeVpYTnpJSFJ2SUdKcGJtUWdkRzh1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMnh2WnoxMGNuVmxYU0F0SUZkb1pYUm9aWElnZEc4Z2JHOW5JSFJvWlNCaGNIQnNhV05oZEdsdmJpQlZVa3dnZFhCdmJpQnpkR0Z5ZEhWd0xseHVJQ0FnS2lCQWNtVjBkWEp1SUh0UWNtOXRhWE5sUEhadmFXUStmU0JTWlhOdmJIWmxjeUJ2Ym1ObElIUm9aU0JoY0hCc2FXTmhkR2x2YmlCemRHRnlkSE1nYzNWalkyVnpjMloxYkd4NUxseHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHRnplVzVqSUhOMFlYSjBLRnh1SUNBZ0lIQnZjblE2SUc1MWJXSmxjaUE5SUU1MWJXSmxjaWh3Y205alpYTnpMbVZ1ZGk1UVQxSlVLU0I4ZkNBek1EQXdMRnh1SUNBZ0lHaHZjM1E2SUhOMGNtbHVaeUI4SUhWdVpHVm1hVzVsWkNBOUlIVnVaR1ZtYVc1bFpDeGNiaUFnSUNCc2IyYzZJR0p2YjJ4bFlXNGdQU0IwY25WbFhHNGdJQ2tnZTF4dUlDQWdJSFJvYVhNdVlYQndMbXhwYzNSbGJpaHdiM0owTENCb2IzTjBJR0Z6SUdGdWVTa3VkR2hsYmloaGMzbHVZeUFvS1NBOVBpQjdYRzRnSUNBZ0lDQnBaaUFvYkc5bktTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElIVnliQ0E5SUdGM1lXbDBJSFJvYVhNdVlYQndMbWRsZEZWeWJDZ3BPMXh1SUNBZ0lDQWdJQ0IwYUdsekxteHZaMmRsY2k1c2IyY29ZUENmbW9BZ1FYQndiR2xqWVhScGIyNGdhWE1nY25WdWJtbHVaeUJoZERvZ0pIdDFjbXg5WUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmVzdEJvb3RzdHJhcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3RvcnkvTmVzdEJvb3RzdHJhcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxNQUFNLEdBR1AsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsOEJBQXFCO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsMkJBQWtCO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsMEJBQWlCO0FBNENyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ0c7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUkxQjs7Ozs7Ozs7O09BU0c7SUFDSyxNQUFNLEtBQUssTUFBTTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLFdBQVc7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQXFCO1FBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQXFCO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxJQUFJLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFH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QyxHQUFHLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSU5lc3RBcHBsaWNhdGlvbixcbiAgTG9nZ2VyLFxuICBOZXN0SW50ZXJjZXB0b3IsXG4gIFBpcGVUcmFuc2Zvcm0sXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRGVjYWZFeGNlcHRpb25GaWx0ZXIgfSBmcm9tIFwiLi9leGNlcHRpb25zXCI7XG5pbXBvcnQgeyBTd2FnZ2VyQnVpbGRlciB9IGZyb20gXCIuL29wZW5hcGlcIjtcbmltcG9ydCB7IENvcnNPcHRpb25zIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uL2ludGVyZmFjZXMvZXh0ZXJuYWwvY29ycy1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29yc0Vycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBEZWZpbmVzIGFsbCBjdXN0b21pemFibGUgcGFyYW1ldGVycyBmb3IgU3dhZ2dlciBzZXR1cC5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhpcyBpbnRlcmZhY2UgYWxsb3dzIGRldmVsb3BlcnMgdG8gY3VzdG9taXplIGhvdyBTd2FnZ2VyIFVJIGlzIGNvbmZpZ3VyZWRcbiAqIHdpdGhpbiB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLiBJdCBpbmNsdWRlcyBwYXJhbWV0ZXJzIGZvciB0aXRsZXMsIHBhdGhzLFxuICogY29sb3Igc2NoZW1lcywgYW5kIGFzc2V0IHBhdGhzIHRvIHRhaWxvciB0aGUgQVBJIGRvY3VtZW50YXRpb24gZXhwZXJpZW5jZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgLSBUaXRsZSBkaXNwbGF5ZWQgaW4gU3dhZ2dlciBVSS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiAtIERlc2NyaXB0aW9uIHNob3duIGJlbG93IHRoZSB0aXRsZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uIC0gQVBJIHZlcnNpb24gZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IFtwYXRoXSAtIE9wdGlvbmFsIHBhdGggd2hlcmUgU3dhZ2dlciB3aWxsIGJlIGF2YWlsYWJsZS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BlcnNpc3RBdXRob3JpemF0aW9uXSAtIFdoZXRoZXIgYXV0aG9yaXphdGlvbiB0b2tlbnMgcGVyc2lzdCBhY3Jvc3MgcmVsb2Fkcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbYXNzZXRzUGF0aF0gLSBQYXRoIHRvIGN1c3RvbSBhc3NldHMgZm9yIFN3YWdnZXIgVUkuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3RvcGJhckJnQ29sb3JdIC0gQ3VzdG9tIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBTd2FnZ2VyIHRvcCBiYXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW3RvcGJhckljb25QYXRoXSAtIFBhdGggdG8gYSBjdXN0b20gaWNvbiBkaXNwbGF5ZWQgaW4gdGhlIHRvcCBiYXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2Zhdmljb25QYXRoXSAtIFBhdGggdG8gYSBjdXN0b20gZmF2aWNvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyU2V0dXBPcHRpb25zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBwZXJzaXN0QXV0aG9yaXphdGlvbj86IGJvb2xlYW47XG4gIGFzc2V0c1BhdGg/OiBzdHJpbmc7XG4gIHRvcGJhckJnQ29sb3I/OiBzdHJpbmc7XG4gIHRvcGJhckljb25QYXRoPzogc3RyaW5nO1xuICBmYXZpY29uUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggdG8gZXhwb3NlIHRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24gaW4gSlNPTiBmb3JtYXQuXG4gICAqIEV4YW1wbGU6IC9hcGkvb3BlbmFwaS5qc29uXG4gICAqL1xuICBvcGVuQXBpSnNvblBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXRoIHRvIGV4cG9zZSB0aGUgT3BlbkFQSSBzcGVjaWZpY2F0aW9uIGluIFlBTUwgZm9ybWF0LlxuICAgKiBSZXF1aXJlcyAneWFtbCcgcGFja2FnZSBhcyBwZWVyIGRlcGVuZGVuY3kuXG4gICAqIEV4YW1wbGU6IC9hcGkvb3BlbmFwaS55YW1sXG4gICAqL1xuICBvcGVuQXBpWWFtbFBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGZsdWVudCwgc3RhdGljIGJvb3RzdHJhcCBjbGFzcyBmb3IgaW5pdGlhbGl6aW5nIGFuZCBjb25maWd1cmluZyBhIE5lc3RKUyBhcHBsaWNhdGlvbi5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhlIGBOZXN0Qm9vdHN0cmFwZXJgIGNsYXNzIHByb3ZpZGVzIGEgY2hhaW5hYmxlIEFQSSBmb3IgY29uZmlndXJpbmdcbiAqIGEgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlLiBJdCBpbmNsdWRlcyBidWlsdC1pbiBtZXRob2RzIGZvciBlbmFibGluZ1xuICogQ09SUywgSGVsbWV0IHNlY3VyaXR5LCBTd2FnZ2VyIGRvY3VtZW50YXRpb24sIGdsb2JhbCBwaXBlcywgZmlsdGVycyxcbiAqIGludGVyY2VwdG9ycywgYW5kIHN0YXJ0aW5nIHRoZSBzZXJ2ZXIuXG4gKlxuICogVGhpcyBjbGFzcyBwcm9tb3RlcyBjb25zaXN0ZW5jeSBhbmQgcmVkdWNlcyByZXBldGl0aXZlIHNldHVwIGNvZGVcbiAqIGFjcm9zcyBtdWx0aXBsZSBOZXN0SlMgcHJvamVjdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBOZXN0RmFjdG9yeSB9IGZyb20gXCJAbmVzdGpzL2NvcmVcIjtcbiAqIGltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC5tb2R1bGVcIjtcbiAqIGltcG9ydCB7IE15TG9nZ2VyIH0gZnJvbSBcIi4vTXlMb2dnZXJcIjtcbiAqIGltcG9ydCB7IE5lc3RCb290c3RyYXBlciB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLW5lc3RcIjtcbiAqXG4gKiBhc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gKiAgIGNvbnN0IGFwcCA9IGF3YWl0IE5lc3RGYWN0b3J5LmNyZWF0ZShBcHBNb2R1bGUpO1xuICpcbiAqICAgYXdhaXQgTmVzdEJvb3RzdHJhcGVyXG4gKiAgICAgLmluaXRpYWxpemUoYXBwKVxuICogICAgIC5lbmFibGVMb2dnZXIobmV3IE15TG9nZ2VyKCkpXG4gKiAgICAgLmVuYWJsZUNvcnMoW1wiaHR0cDovL2xvY2FsaG9zdDo0MjAwXCJdKVxuICogICAgIC51c2VIZWxtZXQoKVxuICogICAgIC5zZXR1cFN3YWdnZXIoe1xuICogICAgICAgdGl0bGU6IFwiT3BlbkFQSSBieSBUcmFkZU1hcmvihKJcIixcbiAqICAgICAgIGRlc2NyaXB0aW9uOiBcIlRyYWRlTWFya+KEoiBBUEkgZG9jdW1lbnRhdGlvblwiLFxuICogICAgICAgdmVyc2lvbjogXCIxLjAuMFwiLFxuICogICAgICAgcGF0aDogXCJhcGlcIixcbiAqICAgICAgIHBlcnNpc3RBdXRob3JpemF0aW9uOiB0cnVlLFxuICogICAgICAgdG9wYmFyQmdDb2xvcjogXCIjMkMzRTUwXCIsXG4gKiAgICAgICB0b3BiYXJJY29uUGF0aDogXCIvYXNzZXRzL2xvZ28uc3ZnXCIsXG4gKiAgICAgICBmYXZpY29uUGF0aDogXCIvYXNzZXRzL2Zhdmljb24uaWNvXCJcbiAqICAgICB9KVxuICogICAgIC51c2VHbG9iYWxGaWx0ZXJzKClcbiAqICAgICAudXNlR2xvYmFsUGlwZXMoLi4uKVxuICogICAgIC51c2VHbG9iYWxJbnRlcmNlcHRvcnMoLi4uKVxuICogICAgIC5zdGFydCgzMDAwKTtcbiAqIH1cbiAqXG4gKiBib290c3RyYXAoKTtcbiAqIGBgYFxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXN0Qm9vdHN0cmFwZXIge1xuICBwcml2YXRlIHN0YXRpYyBhcHA6IElOZXN0QXBwbGljYXRpb247XG4gIHByaXZhdGUgc3RhdGljIF9sb2dnZXI6IExvZ2dlcjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbG9nZ2VyIGluc3RhbmNlLCBjcmVhdGluZyBhIGRlZmF1bHQgb25lIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIEVuc3VyZXMgdGhhdCBhIHZhbGlkIGBMb2dnZXJgIGluc3RhbmNlIGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgICogZm9yIGxvZ2dpbmcgYm9vdHN0cmFwLXJlbGF0ZWQgbWVzc2FnZXMuXG4gICAqXG4gICAqIEByZXR1cm4ge0xvZ2dlcn0gVGhlIGFjdGl2ZSBsb2dnZXIgaW5zdGFuY2UuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXQgbG9nZ2VyKCk6IExvZ2dlciB7XG4gICAgaWYgKCF0aGlzLl9sb2dnZXIpIHtcbiAgICAgIC8vIGZhbGxiYWNrXG4gICAgICB0aGlzLl9sb2dnZXIgPSBuZXcgTG9nZ2VyKFwiTmVzdEJvb3RzdHJhcFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2xvZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogSW5pdGlhbGl6ZXMgdGhlIGJvb3RzdHJhcHBlciB3aXRoIGEgZ2l2ZW4gTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBCaW5kcyB0aGUgcHJvdmlkZWQgTmVzdEpTIGFwcCBpbnN0YW5jZSB0byB0aGUgYm9vdHN0cmFwcGVyLCBlbmFibGluZ1xuICAgKiBjaGFpbmVkIGNvbmZpZ3VyYXRpb24gbWV0aG9kcy5cbiAgICpcbiAgICogQHBhcmFtIHtJTmVzdEFwcGxpY2F0aW9ufSBhcHAgLSBUaGUgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlIHRvIGluaXRpYWxpemUuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24gbWV0aG9kcy5cbiAgICovXG4gIHN0YXRpYyBpbml0aWFsaXplKGFwcDogSU5lc3RBcHBsaWNhdGlvbikge1xuICAgIHRoaXMuYXBwID0gYXBwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbmFibGVzIG9yIHJlcGxhY2VzIHRoZSBnbG9iYWwgbG9nZ2VyIGZvciB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBJZiBhIGN1c3RvbSBsb2dnZXIgaXMgcHJvdmlkZWQsIGl0IHJlcGxhY2VzIHRoZSBkZWZhdWx0IGxvZ2dlci4gT3RoZXJ3aXNlLFxuICAgKiBhIG5ldyBsb2dnZXIgbmFtZWQgYFwiTmVzdEJvb3RzdHJhcFwiYCBpcyB1c2VkLiBUaGlzIGxvZ2dlciBpcyBhbHNvIHJlZ2lzdGVyZWRcbiAgICogd2l0aCB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge0xvZ2dlcn0gW2N1c3RvbUxvZ2dlcl0gLSBPcHRpb25hbCBjdXN0b20gbG9nZ2VyIGluc3RhbmNlLlxuICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHN0YXRpYyBlbmFibGVMb2dnZXIoY3VzdG9tTG9nZ2VyPzogTG9nZ2VyKSB7XG4gICAgdGhpcy5fbG9nZ2VyID0gY3VzdG9tTG9nZ2VyIHx8IG5ldyBMb2dnZXIoXCJOZXN0Qm9vdHN0cmFwXCIpO1xuICAgIHRoaXMuYXBwLnVzZUxvZ2dlcih0aGlzLl9sb2dnZXIpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbmFibGVzIENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBBbGxvd3MgZGVmaW5pbmcgZWl0aGVyIGEgd2lsZGNhcmQgb3JpZ2luIChgXCIqXCJgKSBvciBhIGxpc3Qgb2YgYWxsb3dlZCBvcmlnaW5zLlxuICAgKiBBdXRvbWF0aWNhbGx5IGFjY2VwdHMgbG9jYWwgZGV2ZWxvcG1lbnQgcmVxdWVzdHMgYW5kIHRob3NlIHdpdGhvdXQgb3JpZ2luIGhlYWRlcnMuXG4gICAqIFRocm93cyBhIGBDb3JzRXJyb3JgIGZvciB1bmF1dGhvcml6ZWQgb3JpZ2lucy5cbiAgICpcbiAgICogQHBhcmFtIHsnKicgfCBzdHJpbmdbXX0gW29yaWdpbnM9W11dIC0gTGlzdCBvZiBhbGxvd2VkIG9yaWdpbnMgb3IgYFwiKlwiYCB0byBhbGxvdyBhbGwuXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IFthbGxvd01ldGhvZHM9WydHRVQnLCAnUE9TVCcsICdQVVQnLCAnREVMRVRFJ11dIC0gQWxsb3dlZCBIVFRQIG1ldGhvZHMuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqL1xuICBzdGF0aWMgZW5hYmxlQ29ycyhcbiAgICBvcmlnaW5zOiBcIipcIiB8IHN0cmluZ1tdID0gW10sXG4gICAgYWxsb3dNZXRob2RzOiBzdHJpbmdbXSA9IFtcIkdFVFwiLCBcIlBPU1RcIiwgXCJQVVRcIiwgXCJERUxFVEVcIl1cbiAgKSB7XG4gICAgY29uc3QgYWxsb3dlZE9yaWdpbnMgPVxuICAgICAgb3JpZ2lucyA9PT0gXCIqXCIgPyBcIipcIiA6IG9yaWdpbnMubWFwKChvKSA9PiBvLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcblxuICAgIGNvbnN0IGNvcnNPcHRpb25zOiBDb3JzT3B0aW9ucyA9IHtcbiAgICAgIG9yaWdpbjogKG9yaWdpbiwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgLy8gQWxsb3cgcmVxdWVzdCB3aXRob3V0IG9yaWdpbi4uLlxuICAgICAgICBpZiAoIW9yaWdpbikgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRydWUpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBhbGxvd2VkT3JpZ2lucyA9PT0gXCIqXCIgfHxcbiAgICAgICAgICAoQXJyYXkuaXNBcnJheShhbGxvd2VkT3JpZ2lucykgJiZcbiAgICAgICAgICAgIGFsbG93ZWRPcmlnaW5zLmluY2x1ZGVzKG9yaWdpbi50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FsbGJhY2sobmV3IENvcnNFcnJvcihgT3JpZ2luICR7b3JpZ2lufSBub3QgYWxsb3dlZGApKTtcbiAgICAgIH0sXG4gICAgICBjcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIG1ldGhvZHM6IGFsbG93TWV0aG9kcy5qb2luKFwiLFwiKSxcbiAgICB9O1xuXG4gICAgdGhpcy5hcHAuZW5hYmxlQ29ycyhjb3JzT3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFwcGxpZXMgdGhlIEhlbG1ldCBtaWRkbGV3YXJlIGZvciBlbmhhbmNlZCBzZWN1cml0eS5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRHluYW1pY2FsbHkgbG9hZHMgdGhlIGBoZWxtZXRgIHBhY2thZ2UgaWYgYXZhaWxhYmxlIGFuZCByZWdpc3RlcnMgaXRcbiAgICogYXMgbWlkZGxld2FyZSB0byBpbXByb3ZlIEhUVFAgaGVhZGVyIHNlY3VyaXR5LiBJZiBub3QgaW5zdGFsbGVkLCBsb2dzIGEgd2FybmluZ1xuICAgKiBhbmQgY29udGludWVzIGV4ZWN1dGlvbiB3aXRob3V0IHRocm93aW5nIGVycm9ycy5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbb3B0aW9uc10gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIHBhc3NlZCB0byBIZWxtZXQuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgdXNlSGVsbWV0KG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBjb25zdCBoZWxtZXQgPSByZXF1aXJlKFwiaGVsbWV0XCIpOyAvLyBEeW5hbWljIGltcG9ydCB0byBhdm9pZCBoYXJkIGRlcGVuZGVuY3lcbiAgICAgIHRoaXMuYXBwLnVzZShoZWxtZXQob3B0aW9ucykpO1xuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiSGVsbWV0IG1pZGRsZXdhcmUgZW5hYmxlZCBzdWNjZXNzZnVsbHkuXCIpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcIkhlbG1ldCBub3QgaW5zdGFsbGVkLiBTa2lwcGluZyBtaWRkbGV3YXJlLlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ29uZmlndXJlcyBhbmQgaW5pdGlhbGl6ZXMgU3dhZ2dlciBVSSBmb3IgQVBJIGRvY3VtZW50YXRpb24uXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIFVzZXMgdGhlIGBTd2FnZ2VyQnVpbGRlcmAgdXRpbGl0eSB0byBjb25maWd1cmUgQVBJIGRvY3VtZW50YXRpb25cbiAgICogd2l0aCBkZXRhaWxlZCBjdXN0b21pemF0aW9uIGZvciB0aXRsZSwgdmVyc2lvbiwgcGF0aHMsIGFuZCBjb2xvcnMuXG4gICAqIFN3YWdnZXIgaXMgYXV0b21hdGljYWxseSBleHBvc2VkIGF0IHRoZSBjb25maWd1cmVkIHBhdGguXG4gICAqXG4gICAqIEBwYXJhbSB7U3dhZ2dlclNldHVwT3B0aW9uc30gb3B0aW9ucyAtIFN3YWdnZXIgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgc3RhdGljIHNldHVwU3dhZ2dlcihvcHRpb25zOiBTd2FnZ2VyU2V0dXBPcHRpb25zKSB7XG4gICAgY29uc3Qgc3dhZ2dlciA9IG5ldyBTd2FnZ2VyQnVpbGRlcih0aGlzLmFwcCwge1xuICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbixcbiAgICAgIHBhdGg6IG9wdGlvbnMucGF0aCB8fCBcImFwaVwiLFxuICAgICAgcGVyc2lzdEF1dGhvcml6YXRpb246IG9wdGlvbnMucGVyc2lzdEF1dGhvcml6YXRpb24gPz8gdHJ1ZSxcbiAgICAgIGFzc2V0c1BhdGg6IG9wdGlvbnMuYXNzZXRzUGF0aCxcbiAgICAgIGZhdmljb25GaWxlUGF0aDogb3B0aW9ucy5mYXZpY29uUGF0aCxcbiAgICAgIHRvcGJhckljb25GaWxlUGF0aDogb3B0aW9ucy50b3BiYXJJY29uUGF0aCxcbiAgICAgIHRvcGJhckJnQ29sb3I6IG9wdGlvbnMudG9wYmFyQmdDb2xvcixcbiAgICAgIG9wZW5BcGlKc29uUGF0aDogb3B0aW9ucy5vcGVuQXBpSnNvblBhdGgsXG4gICAgICBvcGVuQXBpWWFtbFBhdGg6IG9wdGlvbnMub3BlbkFwaVlhbWxQYXRoLFxuICAgIH0pO1xuICAgIHN3YWdnZXIuc2V0dXBTd2FnZ2VyKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgdmFsaWRhdGlvbiBwaXBlcy5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRW5hYmxlcyByZXF1ZXN0IHBheWxvYWQgdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb24gZ2xvYmFsbHkgYWNyb3NzXG4gICAqIHRoZSBlbnRpcmUgTmVzdEpTIGFwcGxpY2F0aW9uLiBNdWx0aXBsZSBwaXBlcyBjYW4gYmUgY2hhaW5lZCB0b2dldGhlclxuICAgKiBmb3IgbW9kdWxhciBpbnB1dCB2YWxpZGF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gey4uLlBpcGVUcmFuc2Zvcm1bXX0gcGlwZXMgLSBQaXBlIGluc3RhbmNlcyB0byByZWdpc3RlciBnbG9iYWxseS5cbiAgICogQHJldHVybiB7TmVzdEJvb3RzdHJhcGVyfSBSZXR1cm5zIHRoZSBjbGFzcyBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsUGlwZXMoLi4ucGlwZXM6IFBpcGVUcmFuc2Zvcm1bXSkge1xuICAgIGlmIChwaXBlcy5sZW5ndGggPiAwKSB0aGlzLmFwcC51c2VHbG9iYWxQaXBlcyguLi5waXBlcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgZXhjZXB0aW9uIGZpbHRlcnMuXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIElmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkLCBpdCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIGRlZmF1bHRcbiAgICogc2V0IG9mIHN0YW5kYXJkIGV4Y2VwdGlvbiBmaWx0ZXJzIGZvciBjb21tb24gZXJyb3IgdHlwZXMgbGlrZVxuICAgKiBgSHR0cEV4Y2VwdGlvbmAsIGBWYWxpZGF0aW9uRXhjZXB0aW9uYCwgYENvbmZsaWN0RXhjZXB0aW9uYCwgYW5kIG90aGVycy5cbiAgICpcbiAgICogQHBhcmFtIHsuLi5FeGNlcHRpb25GaWx0ZXJbXX0gZmlsdGVycyAtIE9wdGlvbmFsIGZpbHRlcnMgdG8gYXBwbHkgZ2xvYmFsbHkuXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsRmlsdGVycyguLi5maWx0ZXJzOiBhbnlbXSkge1xuICAgIHRoaXMuYXBwLnVzZUdsb2JhbEZpbHRlcnMoXG4gICAgICAuLi4oZmlsdGVycy5sZW5ndGggPiAwID8gZmlsdGVycyA6IFtuZXcgRGVjYWZFeGNlcHRpb25GaWx0ZXIoKV0pXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVnaXN0ZXJzIGdsb2JhbCBpbnRlcmNlcHRvcnMgZm9yIHJlcXVlc3QgYW5kIHJlc3BvbnNlIHRyYW5zZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBJbnRlcmNlcHRvcnMgYWxsb3cgYWR2YW5jZWQgcmVxdWVzdC9yZXNwb25zZSBtYW5pcHVsYXRpb24gc3VjaCBhc1xuICAgKiBzZXJpYWxpemF0aW9uLCBsb2dnaW5nLCBvciB0cmFuc2Zvcm1hdGlvbi4gTXVsdGlwbGUgaW50ZXJjZXB0b3JzXG4gICAqIGNhbiBiZSBhZGRlZCBmb3IgbW9kdWxhciBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gey4uLk5lc3RJbnRlcmNlcHRvcltdfSBpbnRlcmNlcHRvcnMgLSBJbnRlcmNlcHRvciBpbnN0YW5jZXMgdG8gcmVnaXN0ZXIuXG4gICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgdXNlR2xvYmFsSW50ZXJjZXB0b3JzKC4uLmludGVyY2VwdG9yczogTmVzdEludGVyY2VwdG9yW10pIHtcbiAgICBpZiAoaW50ZXJjZXB0b3JzLmxlbmd0aCA+IDApXG4gICAgICB0aGlzLmFwcC51c2VHbG9iYWxJbnRlcmNlcHRvcnMoLi4uaW50ZXJjZXB0b3JzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU3RhcnRzIHRoZSBOZXN0SlMgYXBwbGljYXRpb24gYW5kIGJpbmRzIGl0IHRvIHRoZSBnaXZlbiBwb3J0IGFuZCBob3N0LlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBMaXN0ZW5zIG9uIHRoZSBzcGVjaWZpZWQgcG9ydCBhbmQgb3B0aW9uYWxseSBhIGhvc3QuIE9uY2Ugc3RhcnRlZCxcbiAgICogbG9ncyB0aGUgYXBwbGljYXRpb24gVVJMIGZvciBlYXN5IGFjY2Vzcy4gVGhlIHN0YXJ0dXAgcHJvY2VzcyByZXNvbHZlc1xuICAgKiBvbmNlIHRoZSBhcHBsaWNhdGlvbiBpcyBzdWNjZXNzZnVsbHkgcnVubmluZy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwb3J0PTMwMDBdIC0gUG9ydCBudW1iZXIgdG8gbGlzdGVuIG9uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2hvc3RdIC0gT3B0aW9uYWwgaG9zdCBvciBJUCBhZGRyZXNzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2xvZz10cnVlXSAtIFdoZXRoZXIgdG8gbG9nIHRoZSBhcHBsaWNhdGlvbiBVUkwgdXBvbiBzdGFydHVwLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBvbmNlIHRoZSBhcHBsaWNhdGlvbiBzdGFydHMgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHN0YXJ0KFxuICAgIHBvcnQ6IG51bWJlciA9IE51bWJlcihwcm9jZXNzLmVudi5QT1JUKSB8fCAzMDAwLFxuICAgIGhvc3Q6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBsb2c6IGJvb2xlYW4gPSB0cnVlXG4gICkge1xuICAgIHRoaXMuYXBwLmxpc3Rlbihwb3J0LCBob3N0IGFzIGFueSkudGhlbihhc3luYyAoKSA9PiB7XG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGF3YWl0IHRoaXMuYXBwLmdldFVybCgpO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYPCfmoAgQXBwbGljYXRpb24gaXMgcnVubmluZyBhdDogJHt1cmx9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmVzdEJvb3RzdHJhcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTmVzdEJvb3RzdHJhcGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF5QztBQUN6QyxvREFBNkQ7QUFDN0QsaURBQW9EO0FBQ3BELGdEQUE4QztBQUM5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ0c7QUFDSCxNQUFhLGVBQWU7SUFDeEI7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxLQUFLLE1BQU07UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLFdBQVc7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUc7UUFDakIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLElBQUksSUFBSSxlQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUFFLFlBQVksR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUMzRSxNQUFNLGNBQWMs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O0FBQ0QsOG1vQkFBOG1vQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlciwgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7IERlY2FmRXhjZXB0aW9uRmlsdGVyIH0gZnJvbSBcIi4vZXhjZXB0aW9ucy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgU3dhZ2dlckJ1aWxkZXIgfSBmcm9tIFwiLi9vcGVuYXBpL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBDb3JzRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnMvaW5kZXguanNcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGZsdWVudCwgc3RhdGljIGJvb3RzdHJhcCBjbGFzcyBmb3IgaW5pdGlhbGl6aW5nIGFuZCBjb25maWd1cmluZyBhIE5lc3RKUyBhcHBsaWNhdGlvbi5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhlIGBOZXN0Qm9vdHN0cmFwZXJgIGNsYXNzIHByb3ZpZGVzIGEgY2hhaW5hYmxlIEFQSSBmb3IgY29uZmlndXJpbmdcbiAqIGEgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlLiBJdCBpbmNsdWRlcyBidWlsdC1pbiBtZXRob2RzIGZvciBlbmFibGluZ1xuICogQ09SUywgSGVsbWV0IHNlY3VyaXR5LCBTd2FnZ2VyIGRvY3VtZW50YXRpb24sIGdsb2JhbCBwaXBlcywgZmlsdGVycyxcbiAqIGludGVyY2VwdG9ycywgYW5kIHN0YXJ0aW5nIHRoZSBzZXJ2ZXIuXG4gKlxuICogVGhpcyBjbGFzcyBwcm9tb3RlcyBjb25zaXN0ZW5jeSBhbmQgcmVkdWNlcyByZXBldGl0aXZlIHNldHVwIGNvZGVcbiAqIGFjcm9zcyBtdWx0aXBsZSBOZXN0SlMgcHJvamVjdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBOZXN0RmFjdG9yeSB9IGZyb20gXCJAbmVzdGpzL2NvcmVcIjtcbiAqIGltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC5tb2R1bGVcIjtcbiAqIGltcG9ydCB7IE15TG9nZ2VyIH0gZnJvbSBcIi4vTXlMb2dnZXJcIjtcbiAqIGltcG9ydCB7IE5lc3RCb290c3RyYXBlciB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLW5lc3RcIjtcbiAqXG4gKiBhc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gKiAgIGNvbnN0IGFwcCA9IGF3YWl0IE5lc3RGYWN0b3J5LmNyZWF0ZShBcHBNb2R1bGUpO1xuICpcbiAqICAgYXdhaXQgTmVzdEJvb3RzdHJhcGVyXG4gKiAgICAgLmluaXRpYWxpemUoYXBwKVxuICogICAgIC5lbmFibGVMb2dnZXIobmV3IE15TG9nZ2VyKCkpXG4gKiAgICAgLmVuYWJsZUNvcnMoW1wiaHR0cDovL2xvY2FsaG9zdDo0MjAwXCJdKVxuICogICAgIC51c2VIZWxtZXQoKVxuICogICAgIC5zZXR1cFN3YWdnZXIoe1xuICogICAgICAgdGl0bGU6IFwiT3BlbkFQSSBieSBUcmFkZU1hcmvihKJcIixcbiAqICAgICAgIGRlc2NyaXB0aW9uOiBcIlRyYWRlTWFya+KEoiBBUEkgZG9jdW1lbnRhdGlvblwiLFxuICogICAgICAgdmVyc2lvbjogXCIxLjAuMFwiLFxuICogICAgICAgcGF0aDogXCJhcGlcIixcbiAqICAgICAgIHBlcnNpc3RBdXRob3JpemF0aW9uOiB0cnVlLFxuICogICAgICAgdG9wYmFyQmdDb2xvcjogXCIjMkMzRTUwXCIsXG4gKiAgICAgICB0b3BiYXJJY29uUGF0aDogXCIvYXNzZXRzL2xvZ28uc3ZnXCIsXG4gKiAgICAgICBmYXZpY29uUGF0aDogXCIvYXNzZXRzL2Zhdmljb24uaWNvXCJcbiAqICAgICB9KVxuICogICAgIC51c2VHbG9iYWxGaWx0ZXJzKClcbiAqICAgICAudXNlR2xvYmFsUGlwZXMoLi4uKVxuICogICAgIC51c2VHbG9iYWxJbnRlcmNlcHRvcnMoLi4uKVxuICogICAgIC5zdGFydCgzMDAwKTtcbiAqIH1cbiAqXG4gKiBib290c3RyYXAoKTtcbiAqIGBgYFxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXN0Qm9vdHN0cmFwZXIge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgbG9nZ2VyIGluc3RhbmNlLCBjcmVhdGluZyBhIGRlZmF1bHQgb25lIGlmIG5vdCBzZXQuXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIEVuc3VyZXMgdGhhdCBhIHZhbGlkIGBMb2dnZXJgIGluc3RhbmNlIGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgICAgKiBmb3IgbG9nZ2luZyBib290c3RyYXAtcmVsYXRlZCBtZXNzYWdlcy5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0xvZ2dlcn0gVGhlIGFjdGl2ZSBsb2dnZXIgaW5zdGFuY2UuXG4gICAgICovXG4gICAgc3RhdGljIGdldCBsb2dnZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5fbG9nZ2VyKSB7XG4gICAgICAgICAgICAvLyBmYWxsYmFja1xuICAgICAgICAgICAgdGhpcy5fbG9nZ2VyID0gbmV3IExvZ2dlcihcIk5lc3RCb290c3RyYXBcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvZ2dlcjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogSW5pdGlhbGl6ZXMgdGhlIGJvb3RzdHJhcHBlciB3aXRoIGEgZ2l2ZW4gTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgICAqXG4gICAgICogQHN1bW1hcnlcbiAgICAgKiBCaW5kcyB0aGUgcHJvdmlkZWQgTmVzdEpTIGFwcCBpbnN0YW5jZSB0byB0aGUgYm9vdHN0cmFwcGVyLCBlbmFibGluZ1xuICAgICAqIGNoYWluZWQgY29uZmlndXJhdGlvbiBtZXRob2RzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtJTmVzdEFwcGxpY2F0aW9ufSBhcHAgLSBUaGUgTmVzdEpTIGFwcGxpY2F0aW9uIGluc3RhbmNlIHRvIGluaXRpYWxpemUuXG4gICAgICogQHJldHVybiB7TmVzdEJvb3RzdHJhcGVyfSBSZXR1cm5zIHRoZSBjbGFzcyBmb3IgY2hhaW5pbmcgY29uZmlndXJhdGlvbiBtZXRob2RzLlxuICAgICAqL1xuICAgIHN0YXRpYyBpbml0aWFsaXplKGFwcCkge1xuICAgICAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEVuYWJsZXMgb3IgcmVwbGFjZXMgdGhlIGdsb2JhbCBsb2dnZXIgZm9yIHRoZSBOZXN0SlMgYXBwbGljYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIElmIGEgY3VzdG9tIGxvZ2dlciBpcyBwcm92aWRlZCwgaXQgcmVwbGFjZXMgdGhlIGRlZmF1bHQgbG9nZ2VyLiBPdGhlcndpc2UsXG4gICAgICogYSBuZXcgbG9nZ2VyIG5hbWVkIGBcIk5lc3RCb290c3RyYXBcImAgaXMgdXNlZC4gVGhpcyBsb2dnZXIgaXMgYWxzbyByZWdpc3RlcmVkXG4gICAgICogd2l0aCB0aGUgTmVzdEpTIGFwcGxpY2F0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtMb2dnZXJ9IFtjdXN0b21Mb2dnZXJdIC0gT3B0aW9uYWwgY3VzdG9tIGxvZ2dlciBpbnN0YW5jZS5cbiAgICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZy5cbiAgICAgKi9cbiAgICBzdGF0aWMgZW5hYmxlTG9nZ2VyKGN1c3RvbUxvZ2dlcikge1xuICAgICAgICB0aGlzLl9sb2dnZXIgPSBjdXN0b21Mb2dnZXIgfHwgbmV3IExvZ2dlcihcIk5lc3RCb290c3RyYXBcIik7XG4gICAgICAgIHRoaXMuYXBwLnVzZUxvZ2dlcih0aGlzLl9sb2dnZXIpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogRW5hYmxlcyBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgZm9yIHRoZSBhcHBsaWNhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdW1tYXJ5XG4gICAgICogQWxsb3dzIGRlZmluaW5nIGVpdGhlciBhIHdpbGRjYXJkIG9yaWdpbiAoYFwiKlwiYCkgb3IgYSBsaXN0IG9mIGFsbG93ZWQgb3JpZ2lucy5cbiAgICAgKiBBdXRvbWF0aWNhbGx5IGFjY2VwdHMgbG9jYWwgZGV2ZWxvcG1lbnQgcmVxdWVzdHMgYW5kIHRob3NlIHdpdGhvdXQgb3JpZ2luIGhlYWRlcnMuXG4gICAgICogVGhyb3dzIGEgYENvcnNFcnJvcmAgZm9yIHVuYXV0aG9yaXplZCBvcmlnaW5zLlxuICAgICAqXG4gICAgICogQHBhcmFtIHsnKicgfCBzdHJpbmdbXX0gW29yaWdpbnM9W11dIC0gTGlzdCBvZiBhbGxvd2VkIG9yaWdpbnMgb3IgYFwiKlwiYCB0byBhbGxvdyBhbGwuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gW2FsbG93TWV0aG9kcz1bJ0dFVCcsICdQT1NUJywgJ1BVVCcsICdERUxFVEUnXV0gLSBBbGxvd2VkIEhUVFAgbWV0aG9kcy5cbiAgICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZyBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICovXG4gICAgc3RhdGljIGVuYWJsZUNvcnMob3JpZ2lucyA9IFtdLCBhbGxvd01ldGhvZHMgPSBbXCJHRVRcIiwgXCJQT1NUXCIsIFwiUFVUXCIsIFwiREVMRVRFXCJdKSB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRPcmlnaW5zID0gb3JpZ2lucyA9PT0gXCIqXCIgPyBcIipcIiA6IG9yaWdpbnMubWFwKChvKSA9PiBvLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgY29uc3QgY29yc09wdGlvbnMgPSB7XG4gICAgICAgICAgICBvcmlnaW46IChvcmlnaW4sIGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQWxsb3cgcmVxdWVzdCB3aXRob3V0IG9yaWdpbi4uLlxuICAgICAgICAgICAgICAgIGlmICghb3JpZ2luKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKGFsbG93ZWRPcmlnaW5zID09PSBcIipcIiB8fFxuICAgICAgICAgICAgICAgICAgICAoQXJyYXkuaXNBcnJheShhbGxvd2VkT3JpZ2lucykgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93ZWRPcmlnaW5zLmluY2x1ZGVzKG9yaWdpbi50b0xvd2VyQ2FzZSgpKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYWxsYmFjayhuZXcgQ29yc0Vycm9yKGBPcmlnaW4gJHtvcmlnaW59IG5vdCBhbGxvd2VkYCkpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgbWV0aG9kczogYWxsb3dNZXRob2RzLmpvaW4oXCIsXCIpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmFwcC5lbmFibGVDb3JzKGNvcnNPcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIEFwcGxpZXMgdGhlIEhlbG1ldCBtaWRkbGV3YXJlIGZvciBlbmhhbmNlZCBzZWN1cml0eS5cbiAgICAgKlxuICAgICAqIEBzdW1tYXJ5XG4gICAgICogRHluYW1pY2FsbHkgbG9hZHMgdGhlIGBoZWxtZXRgIHBhY2thZ2UgaWYgYXZhaWxhYmxlIGFuZCByZWdpc3RlcnMgaXRcbiAgICAgKiBhcyBtaWRkbGV3YXJlIHRvIGltcHJvdmUgSFRUUCBoZWFkZXIgc2VjdXJpdHkuIElmIG5vdCBpbnN0YWxsZWQsIGxvZ3MgYSB3YXJuaW5nXG4gICAgICogYW5kIGNvbnRpbnVlcyBleGVjdXRpb24gd2l0aG91dCB0aHJvd2luZyBlcnJvcnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtvcHRpb25zXSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gcGFzc2VkIHRvIEhlbG1ldC5cbiAgICAgKiBAcmV0dXJuIHtOZXN0Qm9vdHN0cmFwZXJ9IFJldHVybnMgdGhlIGNsYXNzIGZvciBjaGFpbmluZyBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHN0YXRpYyB1c2VIZWxtZXQob3B0aW9ucykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICAgICAgICAgIGNvbnN0IGhlbG1ldCA9IHJlcXVpcmUoXCJoZWxtZXRcIik7IC8vIER5bmFtaWMgaW1wb3J0IHRvIGF2b2lkIGhhcmQgZGVwZW5kZW5jeVxuICAgICAgICAgICAgdGhpcy5hcHAudXNlKGhlbG1ldChvcHRpb25zKSk7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJIZWxtZXQgbWlkZGxld2FyZSBlbmFibGVkIHN1Y2Nlc3NmdWxseS5cIik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIud2FybihcIkhlbG1ldCBub3QgaW5zdGFsbGVkLiBTa2lwcGluZyBtaWRkbGV3YXJlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogQ29uZmlndXJlcyBhbmQgaW5pdGlhbGl6ZXMgU3dhZ2dlciBVSSBmb3IgQVBJIGRvY3VtZW50YXRpb24uXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIFVzZXMgdGhlIGBTd2FnZ2VyQnVpbGRlcmAgdXRpbGl0eSB0byBjb25maWd1cmUgQVBJIGRvY3VtZW50YXRpb25cbiAgICAgKiB3aXRoIGRldGFpbGVkIGN1c3RvbWl6YXRpb24gZm9yIHRpdGxlLCB2ZXJzaW9uLCBwYXRocywgYW5kIGNvbG9ycy5cbiAgICAgKiBTd2FnZ2VyIGlzIGF1dG9tYXRpY2FsbHkgZXhwb3NlZCBhdCB0aGUgY29uZmlndXJlZCBwYXRoLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtTd2FnZ2VyU2V0dXBPcHRpb25zfSBvcHRpb25zIC0gU3dhZ2dlciBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICogQHJldHVybiB7TmVzdEJvb3RzdHJhcGVyfSBSZXR1cm5zIHRoZSBjbGFzcyBmb3IgY2hhaW5pbmcgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBzdGF0aWMgc2V0dXBTd2FnZ2VyKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc3dhZ2dlciA9IG5ldyBTd2FnZ2VyQnVpbGRlcih0aGlzLmFwcCwge1xuICAgICAgICAgICAgdGl0bGU6IG9wdGlvbnMudGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbixcbiAgICAgICAgICAgIHBhdGg6IG9wdGlvbnMucGF0aCB8fCBcImFwaVwiLFxuICAgICAgICAgICAgcGVyc2lzdEF1dGhvcml6YXRpb246IG9wdGlvbnMucGVyc2lzdEF1dGhvcml6YXRpb24gPz8gdHJ1ZSxcbiAgICAgICAgICAgIGFzc2V0c1BhdGg6IG9wdGlvbnMuYXNzZXRzUGF0aCxcbiAgICAgICAgICAgIGZhdmljb25GaWxlUGF0aDogb3B0aW9ucy5mYXZpY29uUGF0aCxcbiAgICAgICAgICAgIHRvcGJhckljb25GaWxlUGF0aDogb3B0aW9ucy50b3BiYXJJY29uUGF0aCxcbiAgICAgICAgICAgIHRvcGJhckJnQ29sb3I6IG9wdGlvbnMudG9wYmFyQmdDb2xvcixcbiAgICAgICAgICAgIG9wZW5BcGlKc29uUGF0aDogb3B0aW9ucy5vcGVuQXBpSnNvblBhdGgsXG4gICAgICAgICAgICBvcGVuQXBpWWFtbFBhdGg6IG9wdGlvbnMub3BlbkFwaVlhbWxQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgc3dhZ2dlci5zZXR1cFN3YWdnZXIoKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgdmFsaWRhdGlvbiBwaXBlcy5cbiAgICAgKlxuICAgICAqIEBzdW1tYXJ5XG4gICAgICogRW5hYmxlcyByZXF1ZXN0IHBheWxvYWQgdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb24gZ2xvYmFsbHkgYWNyb3NzXG4gICAgICogdGhlIGVudGlyZSBOZXN0SlMgYXBwbGljYXRpb24uIE11bHRpcGxlIHBpcGVzIGNhbiBiZSBjaGFpbmVkIHRvZ2V0aGVyXG4gICAgICogZm9yIG1vZHVsYXIgaW5wdXQgdmFsaWRhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7Li4uUGlwZVRyYW5zZm9ybVtdfSBwaXBlcyAtIFBpcGUgaW5zdGFuY2VzIHRvIHJlZ2lzdGVyIGdsb2JhbGx5LlxuICAgICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nLlxuICAgICAqL1xuICAgIHN0YXRpYyB1c2VHbG9iYWxQaXBlcyguLi5waXBlcykge1xuICAgICAgICBpZiAocGlwZXMubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHRoaXMuYXBwLnVzZUdsb2JhbFBpcGVzKC4uLnBpcGVzKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBnbG9iYWwgZXhjZXB0aW9uIGZpbHRlcnMuXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIElmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkLCBpdCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIGRlZmF1bHRcbiAgICAgKiBzZXQgb2Ygc3RhbmRhcmQgZXhjZXB0aW9uIGZpbHRlcnMgZm9yIGNvbW1vbiBlcnJvciB0eXBlcyBsaWtlXG4gICAgICogYEh0dHBFeGNlcHRpb25gLCBgVmFsaWRhdGlvbkV4Y2VwdGlvbmAsIGBDb25mbGljdEV4Y2VwdGlvbmAsIGFuZCBvdGhlcnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gey4uLkV4Y2VwdGlvbkZpbHRlcltdfSBmaWx0ZXJzIC0gT3B0aW9uYWwgZmlsdGVycyB0byBhcHBseSBnbG9iYWxseS5cbiAgICAgKi9cbiAgICBzdGF0aWMgdXNlR2xvYmFsRmlsdGVycyguLi5maWx0ZXJzKSB7XG4gICAgICAgIHRoaXMuYXBwLnVzZUdsb2JhbEZpbHRlcnMoLi4uKGZpbHRlcnMubGVuZ3RoID4gMCA/IGZpbHRlcnMgOiBbbmV3IERlY2FmRXhjZXB0aW9uRmlsdGVyKCldKSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBSZWdpc3RlcnMgZ2xvYmFsIGludGVyY2VwdG9ycyBmb3IgcmVxdWVzdCBhbmQgcmVzcG9uc2UgdHJhbnNmb3JtYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIEludGVyY2VwdG9ycyBhbGxvdyBhZHZhbmNlZCByZXF1ZXN0L3Jlc3BvbnNlIG1hbmlwdWxhdGlvbiBzdWNoIGFzXG4gICAgICogc2VyaWFsaXphdGlvbiwgbG9nZ2luZywgb3IgdHJhbnNmb3JtYXRpb24uIE11bHRpcGxlIGludGVyY2VwdG9yc1xuICAgICAqIGNhbiBiZSBhZGRlZCBmb3IgbW9kdWxhciBjb25maWd1cmF0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHsuLi5OZXN0SW50ZXJjZXB0b3JbXX0gaW50ZXJjZXB0b3JzIC0gSW50ZXJjZXB0b3IgaW5zdGFuY2VzIHRvIHJlZ2lzdGVyLlxuICAgICAqIEByZXR1cm4ge05lc3RCb290c3RyYXBlcn0gUmV0dXJucyB0aGUgY2xhc3MgZm9yIGNoYWluaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgc3RhdGljIHVzZUdsb2JhbEludGVyY2VwdG9ycyguLi5pbnRlcmNlcHRvcnMpIHtcbiAgICAgICAgaWYgKGludGVyY2VwdG9ycy5sZW5ndGggPiAwKVxuICAgICAgICAgICAgdGhpcy5hcHAudXNlR2xvYmFsSW50ZXJjZXB0b3JzKC4uLmludGVyY2VwdG9ycyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTdGFydHMgdGhlIE5lc3RKUyBhcHBsaWNhdGlvbiBhbmQgYmluZHMgaXQgdG8gdGhlIGdpdmVuIHBvcnQgYW5kIGhvc3QuXG4gICAgICpcbiAgICAgKiBAc3VtbWFyeVxuICAgICAqIExpc3RlbnMgb24gdGhlIHNwZWNpZmllZCBwb3J0IGFuZCBvcHRpb25hbGx5IGEgaG9zdC4gT25jZSBzdGFydGVkLFxuICAgICAqIGxvZ3MgdGhlIGFwcGxpY2F0aW9uIFVSTCBmb3IgZWFzeSBhY2Nlc3MuIFRoZSBzdGFydHVwIHByb2Nlc3MgcmVzb2x2ZXNcbiAgICAgKiBvbmNlIHRoZSBhcHBsaWNhdGlvbiBpcyBzdWNjZXNzZnVsbHkgcnVubmluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcG9ydD0zMDAwXSAtIFBvcnQgbnVtYmVyIHRvIGxpc3RlbiBvbi5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2hvc3RdIC0gT3B0aW9uYWwgaG9zdCBvciBJUCBhZGRyZXNzIHRvIGJpbmQgdG8uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbbG9nPXRydWVdIC0gV2hldGhlciB0byBsb2cgdGhlIGFwcGxpY2F0aW9uIFVSTCB1cG9uIHN0YXJ0dXAuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgb25jZSB0aGUgYXBwbGljYXRpb24gc3RhcnRzIHN1Y2Nlc3NmdWxseS5cbiAgICAgKi9cbiAgICBzdGF0aWMgYXN5bmMgc3RhcnQocG9ydCA9IE51bWJlcihwcm9jZXNzLmVudi5QT1JUKSB8fCAzMDAwLCBob3N0ID0gdW5kZWZpbmVkLCBsb2cgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuYXBwLmxpc3Rlbihwb3J0LCBob3N0KS50aGVuKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCB0aGlzLmFwcC5nZXRVcmwoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coYPCfmoAgQXBwbGljYXRpb24gaXMgcnVubmluZyBhdDogJHt1cmx9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVRtVnpkRUp2YjNSemRISmhjR1Z5TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZjM0pqTDJaaFkzUnZjbmt2VG1WemRFSnZiM1J6ZEhKaGNHVnlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGRlRDeE5RVUZOTEVkQlIxQXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU40UWl4UFFVRlBMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVXNPRUpCUVhGQ08wRkJRM0JFTEU5QlFVOHNSVUZCUlN4alFVRmpMRVZCUVVVc01rSkJRV3RDTzBGQlJUTkRMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVVVzTUVKQlFXbENPMEZCTkVOeVF6czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdSMEVyUTBjN1FVRkRTQ3hOUVVGTkxFOUJRVThzWlVGQlpUdEpRVWt4UWpzN096czdPenM3TzA5QlUwYzdTVUZEU3l4TlFVRk5MRXRCUVVzc1RVRkJUVHRSUVVOMlFpeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8xbEJRMnhDTEZkQlFWYzdXVUZEV0N4SlFVRkpMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzVFVGQlRTeERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRPMUZCUXpkRExFTkJRVU03VVVGRFJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkRkRUlzUTBGQlF6dEpRVVZFT3pzN096czdPenM3TzA5QlZVYzdTVUZEU0N4TlFVRk5MRU5CUVVNc1ZVRkJWU3hEUVVGRExFZEJRWEZDTzFGQlEzSkRMRWxCUVVrc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlEyWXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPenM3TzA5QlYwYzdTVUZEU0N4TlFVRk5MRU5CUVVNc1dVRkJXU3hEUVVGRExGbEJRWEZDTzFGQlEzWkRMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzV1VGQldTeEpRVUZKTEVsQlFVa3NUVUZCVFN4RFFVRkRMR1ZCUVdVc1EwRkJReXhEUVVGRE8xRkJRek5FTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnFReXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN096dFBRV0ZITzBsQlEwZ3NUVUZCVFN4RFFVRkRMRlZCUVZVc1EwRkRaaXhWUVVFd1FpeEZRVUZGTEVWQlF6VkNMR1ZCUVhsQ0xFTkJRVU1zUzBGQlN5eEZRVUZGTEUxQlFVMHNSVUZCUlN4TFFVRkxMRVZCUVVVc1VVRkJVU3hEUVVGRE8xRkJSWHBFTEUxQlFVMHNZMEZCWXl4SFFVTnNRaXhQUVVGUExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhEUVVGRE8xRkJSWEpGTEUxQlFVMHNWMEZCVnl4SFFVRm5RanRaUVVNdlFpeE5RVUZOTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFVkJRVVU3WjBKQlF6TkNMR3REUVVGclF6dG5Ra0ZEYkVNc1NVRkJTU3hEUVVGRExFMUJRVTA3YjBKQlFVVXNUMEZCVHl4UlFVRlJMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzJkQ1FVVjZReXhKUVVORkxHTkJRV01zUzBGQlN5eEhRVUZITzI5Q1FVTjBRaXhEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNZMEZCWXl4RFFVRkRPM2RDUVVNMVFpeGpRVUZqTEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlEyaEVMRU5CUVVNN2IwSkJRMFFzVDBGQlR5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8yZENRVU01UWl4RFFVRkRPMmRDUVVWRUxGRkJRVkVzUTBGQlF5eEpRVUZKTEZOQlFWTXNRMEZCUXl4VlFVRlZMRTFCUVUwc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU14UkN4RFFVRkRPMWxCUTBRc1YwRkJWeXhGUVVGRkxFbEJRVWs3V1VGRGFrSXNUMEZCVHl4RlFVRkZMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETzFOQlEyaERMRU5CUVVNN1VVRkZSaXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEZWQlFWVXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVOcVF5eFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSRHM3T3pzN096czdPenM3VDBGWFJ6dEpRVU5JTEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJOa0k3VVVGRE5VTXNTVUZCU1N4RFFVRkRPMWxCUTBnc2FVVkJRV2xGTzFsQlEycEZMRTFCUVUwc1RVRkJUU3hIUVVGSExFOUJRVThzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMREJEUVVFd1F6dFpRVU0xUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNNVFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXg1UTBGQmVVTXNRMEZCUXl4RFFVRkRPMUZCUXpkRUxFTkJRVU03VVVGQlF5eE5RVUZOTEVOQlFVTTdXVUZEVUN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5dzBRMEZCTkVNc1EwRkJReXhEUVVGRE8xRkJRMnBGTEVOQlFVTTdVVUZGUkN4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOa0xFTkJRVU03U1VGRlJEczdPenM3T3pzN096czdUMEZYUnp0SlFVTklMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQk5FSTdVVUZET1VNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeGpRVUZqTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1JVRkJSVHRaUVVNelF5eExRVUZMTEVWQlFVVXNUMEZCVHl4RFFVRkRMRXRCUVVzN1dVRkRjRUlzVjBGQlZ5eEZRVUZGTEU5QlFVOHNRMEZCUXl4WFFVRlhPMWxCUTJoRExFOUJRVThzUlVGQlJTeFBRVUZQTEVOQlFVTXNUMEZCVHp0WlFVTjRRaXhKUVVGSkxFVkJRVVVzVDBGQlR5eERRVUZETEVsQlFVa3NTVUZCU1N4TFFVRkxPMWxCUXpOQ0xHOUNRVUZ2UWl4RlFVRkZMRTlCUVU4c1EwRkJReXh2UWtGQmIwSXNTVUZCU1N4SlFVRkpPMWxCUXpGRUxGVkJRVlVzUlVGQlJTeFBRVUZQTEVOQlFVTXNWVUZCVlR0WlFVTTVRaXhsUVVGbExFVkJRVVVzVDBGQlR5eERRVUZETEZkQlFWYzdXVUZEY0VNc2EwSkJRV3RDTEVWQlFVVXNUMEZCVHl4RFFVRkRMR05CUVdNN1dVRkRNVU1zWVVGQllTeEZRVUZGTEU5QlFVOHNRMEZCUXl4aFFVRmhPMWxCUTNCRExHVkJRV1VzUlVGQlJTeFBRVUZQTEVOQlFVTXNaVUZCWlR0WlFVTjRReXhsUVVGbExFVkJRVVVzVDBGQlR5eERRVUZETEdWQlFXVTdVMEZEZWtNc1EwRkJReXhEUVVGRE8xRkJRMGdzVDBGQlR5eERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRPMUZCUTNaQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVPenM3T3pzN096czdPenRQUVZkSE8wbEJRMGdzVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4SFFVRkhMRXRCUVhOQ08xRkJRemRETEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRE8xbEJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4alFVRmpMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU40UkN4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOa0xFTkJRVU03U1VGRlJEczdPenM3T3pzN096dFBRVlZITzBsQlEwZ3NUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETEVkQlFVY3NUMEZCWXp0UlFVTjJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEdkQ1FVRm5RaXhEUVVOMlFpeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxHOUNRVUZ2UWl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVOcVJTeERRVUZETzFGQlEwWXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPenM3TzA5QlYwYzdTVUZEU0N4TlFVRk5MRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNSMEZCUnl4WlFVRXJRanRSUVVNM1JDeEpRVUZKTEZsQlFWa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJRenRaUVVONlFpeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRMRU5CUVVNN1VVRkRiRVFzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlVRN096czdPenM3T3pzN096czdUMEZoUnp0SlFVTklMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVU5vUWl4UFFVRmxMRTFCUVUwc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1JVRkRMME1zVDBGQk1rSXNVMEZCVXl4RlFVTndReXhOUVVGbExFbEJRVWs3VVVGRmJrSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFWY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFbEJRVWtzUlVGQlJUdFpRVU5xUkN4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE8yZENRVU5TTEUxQlFVMHNSMEZCUnl4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0blFrRkRjRU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc2FVTkJRV2xETEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1dVRkRNVVFzUTBGQlF6dFJRVU5JTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIdGNiaUFnU1U1bGMzUkJjSEJzYVdOaGRHbHZiaXhjYmlBZ1RHOW5aMlZ5TEZ4dUlDQk9aWE4wU1c1MFpYSmpaWEIwYjNJc1hHNGdJRkJwY0dWVWNtRnVjMlp2Y20wc1hHNTlJR1p5YjIwZ1hDSkFibVZ6ZEdwekwyTnZiVzF2Ymx3aU8xeHVhVzF3YjNKMElIc2dSR1ZqWVdaRmVHTmxjSFJwYjI1R2FXeDBaWElnZlNCbWNtOXRJRndpTGk5bGVHTmxjSFJwYjI1elhDSTdYRzVwYlhCdmNuUWdleUJUZDJGbloyVnlRblZwYkdSbGNpQjlJR1p5YjIwZ1hDSXVMMjl3Wlc1aGNHbGNJanRjYm1sdGNHOXlkQ0I3SUVOdmNuTlBjSFJwYjI1eklIMGdabkp2YlNCY0lrQnVaWE4wYW5NdlkyOXRiVzl1TDJsdWRHVnlabUZqWlhNdlpYaDBaWEp1WVd3dlkyOXljeTF2Y0hScGIyNXpMbWx1ZEdWeVptRmpaVndpTzF4dWFXMXdiM0owSUhzZ1EyOXljMFZ5Y205eUlIMGdabkp2YlNCY0lpNHZaWEp5YjNKelhDSTdYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dVhHNGdLaUJFWldacGJtVnpJR0ZzYkNCamRYTjBiMjFwZW1GaWJHVWdjR0Z5WVcxbGRHVnljeUJtYjNJZ1UzZGhaMmRsY2lCelpYUjFjQzVjYmlBcVhHNGdLaUJBYzNWdGJXRnllVnh1SUNvZ1ZHaHBjeUJwYm5SbGNtWmhZMlVnWVd4c2IzZHpJR1JsZG1Wc2IzQmxjbk1nZEc4Z1kzVnpkRzl0YVhwbElHaHZkeUJUZDJGbloyVnlJRlZKSUdseklHTnZibVpwWjNWeVpXUmNiaUFxSUhkcGRHaHBiaUIwYUdVZ1RtVnpkRXBUSUdGd2NHeHBZMkYwYVc5dUxpQkpkQ0JwYm1Oc2RXUmxjeUJ3WVhKaGJXVjBaWEp6SUdadmNpQjBhWFJzWlhNc0lIQmhkR2h6TEZ4dUlDb2dZMjlzYjNJZ2MyTm9aVzFsY3l3Z1lXNWtJR0Z6YzJWMElIQmhkR2h6SUhSdklIUmhhV3h2Y2lCMGFHVWdRVkJKSUdSdlkzVnRaVzUwWVhScGIyNGdaWGh3WlhKcFpXNWpaUzVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkR2wwYkdVZ0xTQlVhWFJzWlNCa2FYTndiR0Y1WldRZ2FXNGdVM2RoWjJkbGNpQlZTUzVjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCa1pYTmpjbWx3ZEdsdmJpQXRJRVJsYzJOeWFYQjBhVzl1SUhOb2IzZHVJR0psYkc5M0lIUm9aU0IwYVhSc1pTNWNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IyWlhKemFXOXVJQzBnUVZCSklIWmxjbk5wYjI0Z1pHbHpjR3hoZVdWa0lHbHVJSFJvWlNCa2IyTjFiV1Z1ZEdGMGFXOXVMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0d1lYUm9YU0F0SUU5d2RHbHZibUZzSUhCaGRHZ2dkMmhsY21VZ1UzZGhaMmRsY2lCM2FXeHNJR0psSUdGMllXbHNZV0pzWlM1Y2JpQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXM0JsY25OcGMzUkJkWFJvYjNKcGVtRjBhVzl1WFNBdElGZG9aWFJvWlhJZ1lYVjBhRzl5YVhwaGRHbHZiaUIwYjJ0bGJuTWdjR1Z5YzJsemRDQmhZM0p2YzNNZ2NtVnNiMkZrY3k1Y2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJZWE56WlhSelVHRjBhRjBnTFNCUVlYUm9JSFJ2SUdOMWMzUnZiU0JoYzNObGRITWdabTl5SUZOM1lXZG5aWElnVlVrdVhHNGdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdXM1J2Y0dKaGNrSm5RMjlzYjNKZElDMGdRM1Z6ZEc5dElHSmhZMnRuY205MWJtUWdZMjlzYjNJZ1ptOXlJSFJvWlNCVGQyRm5aMlZ5SUhSdmNDQmlZWEl1WEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1czUnZjR0poY2tsamIyNVFZWFJvWFNBdElGQmhkR2dnZEc4Z1lTQmpkWE4wYjIwZ2FXTnZiaUJrYVhOd2JHRjVaV1FnYVc0Z2RHaGxJSFJ2Y0NCaVlYSXVYRzRnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnVzJaaGRtbGpiMjVRWVhSb1hTQXRJRkJoZEdnZ2RHOGdZU0JqZFhOMGIyMGdabUYyYVdOdmJpNWNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCVGQyRm5aMlZ5VTJWMGRYQlBjSFJwYjI1eklIdGNiaUFnZEdsMGJHVTZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0NklITjBjbWx1Wnp0Y2JpQWdkbVZ5YzJsdmJqb2djM1J5YVc1bk8xeHVJQ0J3WVhSb1B6b2djM1J5YVc1bk8xeHVJQ0J3WlhKemFYTjBRWFYwYUc5eWFYcGhkR2x2Ymo4NklHSnZiMnhsWVc0N1hHNGdJR0Z6YzJWMGMxQmhkR2cvT2lCemRISnBibWM3WEc0Z0lIUnZjR0poY2tKblEyOXNiM0kvT2lCemRISnBibWM3WEc0Z0lIUnZjR0poY2tsamIyNVFZWFJvUHpvZ2MzUnlhVzVuTzF4dUlDQm1ZWFpwWTI5dVVHRjBhRDg2SUhOMGNtbHVaenRjYmlBZ0x5b3FYRzRnSUNBcUlGQmhkR2dnZEc4Z1pYaHdiM05sSUhSb1pTQlBjR1Z1UVZCSklITndaV05wWm1sallYUnBiMjRnYVc0Z1NsTlBUaUJtYjNKdFlYUXVYRzRnSUNBcUlFVjRZVzF3YkdVNklDOWhjR2t2YjNCbGJtRndhUzVxYzI5dVhHNGdJQ0FxTDF4dUlDQnZjR1Z1UVhCcFNuTnZibEJoZEdnL09pQnpkSEpwYm1jN1hHNGdJQzhxS2x4dUlDQWdLaUJRWVhSb0lIUnZJR1Y0Y0c5elpTQjBhR1VnVDNCbGJrRlFTU0J6Y0dWamFXWnBZMkYwYVc5dUlHbHVJRmxCVFV3Z1ptOXliV0YwTGx4dUlDQWdLaUJTWlhGMWFYSmxjeUFuZVdGdGJDY2djR0ZqYTJGblpTQmhjeUJ3WldWeUlHUmxjR1Z1WkdWdVkza3VYRzRnSUNBcUlFVjRZVzF3YkdVNklDOWhjR2t2YjNCbGJtRndhUzU1WVcxc1hHNGdJQ0FxTDF4dUlDQnZjR1Z1UVhCcFdXRnRiRkJoZEdnL09pQnpkSEpwYm1jN1hHNTlYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dVhHNGdLaUJCSUdac2RXVnVkQ3dnYzNSaGRHbGpJR0p2YjNSemRISmhjQ0JqYkdGemN5Qm1iM0lnYVc1cGRHbGhiR2w2YVc1bklHRnVaQ0JqYjI1bWFXZDFjbWx1WnlCaElFNWxjM1JLVXlCaGNIQnNhV05oZEdsdmJpNWNiaUFxWEc0Z0tpQkFjM1Z0YldGeWVWeHVJQ29nVkdobElHQk9aWE4wUW05dmRITjBjbUZ3WlhKZ0lHTnNZWE56SUhCeWIzWnBaR1Z6SUdFZ1kyaGhhVzVoWW14bElFRlFTU0JtYjNJZ1kyOXVabWxuZFhKcGJtZGNiaUFxSUdFZ1RtVnpkRXBUSUdGd2NHeHBZMkYwYVc5dUlHbHVjM1JoYm1ObExpQkpkQ0JwYm1Oc2RXUmxjeUJpZFdsc2RDMXBiaUJ0WlhSb2IyUnpJR1p2Y2lCbGJtRmliR2x1WjF4dUlDb2dRMDlTVXl3Z1NHVnNiV1YwSUhObFkzVnlhWFI1TENCVGQyRm5aMlZ5SUdSdlkzVnRaVzUwWVhScGIyNHNJR2RzYjJKaGJDQndhWEJsY3l3Z1ptbHNkR1Z5Y3l4Y2JpQXFJR2x1ZEdWeVkyVndkRzl5Y3l3Z1lXNWtJSE4wWVhKMGFXNW5JSFJvWlNCelpYSjJaWEl1WEc0Z0tseHVJQ29nVkdocGN5QmpiR0Z6Y3lCd2NtOXRiM1JsY3lCamIyNXphWE4wWlc1amVTQmhibVFnY21Wa2RXTmxjeUJ5WlhCbGRHbDBhWFpsSUhObGRIVndJR052WkdWY2JpQXFJR0ZqY205emN5QnRkV3gwYVhCc1pTQk9aWE4wU2xNZ2NISnZhbVZqZEhNdVhHNGdLbHh1SUNvZ1FHVjRZVzF3YkdWY2JpQXFJR0JnWUhSelhHNGdLaUJwYlhCdmNuUWdleUJPWlhOMFJtRmpkRzl5ZVNCOUlHWnliMjBnWENKQWJtVnpkR3B6TDJOdmNtVmNJanRjYmlBcUlHbHRjRzl5ZENCN0lFRndjRTF2WkhWc1pTQjlJR1p5YjIwZ1hDSXVMMkZ3Y0M1dGIyUjFiR1ZjSWp0Y2JpQXFJR2x0Y0c5eWRDQjdJRTE1VEc5bloyVnlJSDBnWm5KdmJTQmNJaTR2VFhsTWIyZG5aWEpjSWp0Y2JpQXFJR2x0Y0c5eWRDQjdJRTVsYzNSQ2IyOTBjM1J5WVhCbGNpQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZabTl5TFc1bGMzUmNJanRjYmlBcVhHNGdLaUJoYzNsdVl5Qm1kVzVqZEdsdmJpQmliMjkwYzNSeVlYQW9LU0I3WEc0Z0tpQWdJR052Ym5OMElHRndjQ0E5SUdGM1lXbDBJRTVsYzNSR1lXTjBiM0o1TG1OeVpXRjBaU2hCY0hCTmIyUjFiR1VwTzF4dUlDcGNiaUFxSUNBZ1lYZGhhWFFnVG1WemRFSnZiM1J6ZEhKaGNHVnlYRzRnS2lBZ0lDQWdMbWx1YVhScFlXeHBlbVVvWVhCd0tWeHVJQ29nSUNBZ0lDNWxibUZpYkdWTWIyZG5aWElvYm1WM0lFMTVURzluWjJWeUtDa3BYRzRnS2lBZ0lDQWdMbVZ1WVdKc1pVTnZjbk1vVzF3aWFIUjBjRG92TDJ4dlkyRnNhRzl6ZERvME1qQXdYQ0pkS1Z4dUlDb2dJQ0FnSUM1MWMyVklaV3h0WlhRb0tWeHVJQ29nSUNBZ0lDNXpaWFIxY0ZOM1lXZG5aWElvZTF4dUlDb2dJQ0FnSUNBZ2RHbDBiR1U2SUZ3aVQzQmxia0ZRU1NCaWVTQlVjbUZrWlUxaGNtdmloS0pjSWl4Y2JpQXFJQ0FnSUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJjSWxSeVlXUmxUV0Z5YStLRW9pQkJVRWtnWkc5amRXMWxiblJoZEdsdmJsd2lMRnh1SUNvZ0lDQWdJQ0FnZG1WeWMybHZiam9nWENJeExqQXVNRndpTEZ4dUlDb2dJQ0FnSUNBZ2NHRjBhRG9nWENKaGNHbGNJaXhjYmlBcUlDQWdJQ0FnSUhCbGNuTnBjM1JCZFhSb2IzSnBlbUYwYVc5dU9pQjBjblZsTEZ4dUlDb2dJQ0FnSUNBZ2RHOXdZbUZ5UW1kRGIyeHZjam9nWENJak1rTXpSVFV3WENJc1hHNGdLaUFnSUNBZ0lDQjBiM0JpWVhKSlkyOXVVR0YwYURvZ1hDSXZZWE56WlhSekwyeHZaMjh1YzNablhDSXNYRzRnS2lBZ0lDQWdJQ0JtWVhacFkyOXVVR0YwYURvZ1hDSXZZWE56WlhSekwyWmhkbWxqYjI0dWFXTnZYQ0pjYmlBcUlDQWdJQ0I5S1Z4dUlDb2dJQ0FnSUM1MWMyVkhiRzlpWVd4R2FXeDBaWEp6S0NsY2JpQXFJQ0FnSUNBdWRYTmxSMnh2WW1Gc1VHbHdaWE1vTGk0dUtWeHVJQ29nSUNBZ0lDNTFjMlZIYkc5aVlXeEpiblJsY21ObGNIUnZjbk1vTGk0dUtWeHVJQ29nSUNBZ0lDNXpkR0Z5ZENnek1EQXdLVHRjYmlBcUlIMWNiaUFxWEc0Z0tpQmliMjkwYzNSeVlYQW9LVHRjYmlBcUlHQmdZRnh1SUNvZ1FHTnNZWE56WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCT1pYTjBRbTl2ZEhOMGNtRndaWElnZTF4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCaGNIQTZJRWxPWlhOMFFYQndiR2xqWVhScGIyNDdYRzRnSUhCeWFYWmhkR1VnYzNSaGRHbGpJRjlzYjJkblpYSTZJRXh2WjJkbGNqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVYRzRnSUNBcUlGSmxkSFZ5Ym5NZ2RHaGxJR04xY25KbGJuUWdiRzluWjJWeUlHbHVjM1JoYm1ObExDQmpjbVZoZEdsdVp5QmhJR1JsWm1GMWJIUWdiMjVsSUdsbUlHNXZkQ0J6WlhRdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVYRzRnSUNBcUlFVnVjM1Z5WlhNZ2RHaGhkQ0JoSUhaaGJHbGtJR0JNYjJkblpYSmdJR2x1YzNSaGJtTmxJR2x6SUdGc2QyRjVjeUJoZG1GcGJHRmliR1ZjYmlBZ0lDb2dabTl5SUd4dloyZHBibWNnWW05dmRITjBjbUZ3TFhKbGJHRjBaV1FnYldWemMyRm5aWE11WEc0Z0lDQXFYRzRnSUNBcUlFQnlaWFIxY200Z2UweHZaMmRsY24wZ1ZHaGxJR0ZqZEdsMlpTQnNiMmRuWlhJZ2FXNXpkR0Z1WTJVdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCblpYUWdiRzluWjJWeUtDazZJRXh2WjJkbGNpQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxsOXNiMmRuWlhJcElIdGNiaUFnSUNBZ0lDOHZJR1poYkd4aVlXTnJYRzRnSUNBZ0lDQjBhR2x6TGw5c2IyZG5aWElnUFNCdVpYY2dURzluWjJWeUtGd2lUbVZ6ZEVKdmIzUnpkSEpoY0Z3aUtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyeHZaMmRsY2p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjVjYmlBZ0lDb2dTVzVwZEdsaGJHbDZaWE1nZEdobElHSnZiM1J6ZEhKaGNIQmxjaUIzYVhSb0lHRWdaMmwyWlc0Z1RtVnpkRXBUSUdGd2NHeHBZMkYwYVc5dUxseHVJQ0FnS2x4dUlDQWdLaUJBYzNWdGJXRnllVnh1SUNBZ0tpQkNhVzVrY3lCMGFHVWdjSEp2ZG1sa1pXUWdUbVZ6ZEVwVElHRndjQ0JwYm5OMFlXNWpaU0IwYnlCMGFHVWdZbTl2ZEhOMGNtRndjR1Z5TENCbGJtRmliR2x1WjF4dUlDQWdLaUJqYUdGcGJtVmtJR052Ym1acFozVnlZWFJwYjI0Z2JXVjBhRzlrY3k1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIdEpUbVZ6ZEVGd2NHeHBZMkYwYVc5dWZTQmhjSEFnTFNCVWFHVWdUbVZ6ZEVwVElHRndjR3hwWTJGMGFXOXVJR2x1YzNSaGJtTmxJSFJ2SUdsdWFYUnBZV3hwZW1VdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTA1bGMzUkNiMjkwYzNSeVlYQmxjbjBnVW1WMGRYSnVjeUIwYUdVZ1kyeGhjM01nWm05eUlHTm9ZV2x1YVc1bklHTnZibVpwWjNWeVlYUnBiMjRnYldWMGFHOWtjeTVjYmlBZ0lDb3ZYRzRnSUhOMFlYUnBZeUJwYm1sMGFXRnNhWHBsS0dGd2NEb2dTVTVsYzNSQmNIQnNhV05oZEdsdmJpa2dlMXh1SUNBZ0lIUm9hWE11WVhCd0lEMGdZWEJ3TzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZibHh1SUNBZ0tpQkZibUZpYkdWeklHOXlJSEpsY0d4aFkyVnpJSFJvWlNCbmJHOWlZV3dnYkc5bloyVnlJR1p2Y2lCMGFHVWdUbVZ6ZEVwVElHRndjR3hwWTJGMGFXOXVMbHh1SUNBZ0tseHVJQ0FnS2lCQWMzVnRiV0Z5ZVZ4dUlDQWdLaUJKWmlCaElHTjFjM1J2YlNCc2IyZG5aWElnYVhNZ2NISnZkbWxrWldRc0lHbDBJSEpsY0d4aFkyVnpJSFJvWlNCa1pXWmhkV3gwSUd4dloyZGxjaTRnVDNSb1pYSjNhWE5sTEZ4dUlDQWdLaUJoSUc1bGR5QnNiMmRuWlhJZ2JtRnRaV1FnWUZ3aVRtVnpkRUp2YjNSemRISmhjRndpWUNCcGN5QjFjMlZrTGlCVWFHbHpJR3h2WjJkbGNpQnBjeUJoYkhOdklISmxaMmx6ZEdWeVpXUmNiaUFnSUNvZ2QybDBhQ0IwYUdVZ1RtVnpkRXBUSUdGd2NHeHBZMkYwYVc5dUxseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdlMHh2WjJkbGNuMGdXMk4xYzNSdmJVeHZaMmRsY2wwZ0xTQlBjSFJwYjI1aGJDQmpkWE4wYjIwZ2JHOW5aMlZ5SUdsdWMzUmhibU5sTGx4dUlDQWdLaUJBY21WMGRYSnVJSHRPWlhOMFFtOXZkSE4wY21Gd1pYSjlJRkpsZEhWeWJuTWdkR2hsSUdOc1lYTnpJR1p2Y2lCamFHRnBibWx1Wnk1Y2JpQWdJQ292WEc0Z0lITjBZWFJwWXlCbGJtRmliR1ZNYjJkblpYSW9ZM1Z6ZEc5dFRHOW5aMlZ5UHpvZ1RHOW5aMlZ5S1NCN1hHNGdJQ0FnZEdocGN5NWZiRzluWjJWeUlEMGdZM1Z6ZEc5dFRHOW5aMlZ5SUh4OElHNWxkeUJNYjJkblpYSW9YQ0pPWlhOMFFtOXZkSE4wY21Gd1hDSXBPMXh1SUNBZ0lIUm9hWE11WVhCd0xuVnpaVXh2WjJkbGNpaDBhR2x6TGw5c2IyZG5aWElwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZibHh1SUNBZ0tpQkZibUZpYkdWeklFTnliM056TFU5eWFXZHBiaUJTWlhOdmRYSmpaU0JUYUdGeWFXNW5JQ2hEVDFKVEtTQm1iM0lnZEdobElHRndjR3hwWTJGMGFXOXVMbHh1SUNBZ0tseHVJQ0FnS2lCQWMzVnRiV0Z5ZVZ4dUlDQWdLaUJCYkd4dmQzTWdaR1ZtYVc1cGJtY2daV2wwYUdWeUlHRWdkMmxzWkdOaGNtUWdiM0pwWjJsdUlDaGdYQ0lxWENKZ0tTQnZjaUJoSUd4cGMzUWdiMllnWVd4c2IzZGxaQ0J2Y21sbmFXNXpMbHh1SUNBZ0tpQkJkWFJ2YldGMGFXTmhiR3g1SUdGalkyVndkSE1nYkc5allXd2daR1YyWld4dmNHMWxiblFnY21WeGRXVnpkSE1nWVc1a0lIUm9iM05sSUhkcGRHaHZkWFFnYjNKcFoybHVJR2hsWVdSbGNuTXVYRzRnSUNBcUlGUm9jbTkzY3lCaElHQkRiM0p6UlhKeWIzSmdJR1p2Y2lCMWJtRjFkR2h2Y21sNlpXUWdiM0pwWjJsdWN5NWNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSHNuS2ljZ2ZDQnpkSEpwYm1kYlhYMGdXMjl5YVdkcGJuTTlXMTFkSUMwZ1RHbHpkQ0J2WmlCaGJHeHZkMlZrSUc5eWFXZHBibk1nYjNJZ1lGd2lLbHdpWUNCMGJ5QmhiR3h2ZHlCaGJHd3VYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuVzExOUlGdGhiR3h2ZDAxbGRHaHZaSE05V3lkSFJWUW5MQ0FuVUU5VFZDY3NJQ2RRVlZRbkxDQW5SRVZNUlZSRkoxMWRJQzBnUVd4c2IzZGxaQ0JJVkZSUUlHMWxkR2h2WkhNdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTA1bGMzUkNiMjkwYzNSeVlYQmxjbjBnVW1WMGRYSnVjeUIwYUdVZ1kyeGhjM01nWm05eUlHTm9ZV2x1YVc1bklHTnZibVpwWjNWeVlYUnBiMjR1WEc0Z0lDQXFYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaVzVoWW14bFEyOXljeWhjYmlBZ0lDQnZjbWxuYVc1ek9pQmNJaXBjSWlCOElITjBjbWx1WjF0ZElEMGdXMTBzWEc0Z0lDQWdZV3hzYjNkTlpYUm9iMlJ6T2lCemRISnBibWRiWFNBOUlGdGNJa2RGVkZ3aUxDQmNJbEJQVTFSY0lpd2dYQ0pRVlZSY0lpd2dYQ0pFUlV4RlZFVmNJbDFjYmlBZ0tTQjdYRzRnSUNBZ1kyOXVjM1FnWVd4c2IzZGxaRTl5YVdkcGJuTWdQVnh1SUNBZ0lDQWdiM0pwWjJsdWN5QTlQVDBnWENJcVhDSWdQeUJjSWlwY0lpQTZJRzl5YVdkcGJuTXViV0Z3S0NodktTQTlQaUJ2TG5SeWFXMG9LUzUwYjB4dmQyVnlRMkZ6WlNncEtUdGNibHh1SUNBZ0lHTnZibk4wSUdOdmNuTlBjSFJwYjI1ek9pQkRiM0p6VDNCMGFXOXVjeUE5SUh0Y2JpQWdJQ0FnSUc5eWFXZHBiam9nS0c5eWFXZHBiaXdnWTJGc2JHSmhZMnNwSUQwK0lIdGNiaUFnSUNBZ0lDQWdMeThnUVd4c2IzY2djbVZ4ZFdWemRDQjNhWFJvYjNWMElHOXlhV2RwYmk0dUxseHVJQ0FnSUNBZ0lDQnBaaUFvSVc5eWFXZHBiaWtnY21WMGRYSnVJR05oYkd4aVlXTnJLRzUxYkd3c0lIUnlkV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hjYmlBZ0lDQWdJQ0FnSUNCaGJHeHZkMlZrVDNKcFoybHVjeUE5UFQwZ1hDSXFYQ0lnZkh4Y2JpQWdJQ0FnSUNBZ0lDQW9RWEp5WVhrdWFYTkJjbkpoZVNoaGJHeHZkMlZrVDNKcFoybHVjeWtnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJR0ZzYkc5M1pXUlBjbWxuYVc1ekxtbHVZMngxWkdWektHOXlhV2RwYmk1MGIweHZkMlZ5UTJGelpTZ3BLU2xjYmlBZ0lDQWdJQ0FnS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHTmhiR3hpWVdOcktHNTFiR3dzSUhSeWRXVXBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyRnNiR0poWTJzb2JtVjNJRU52Y25ORmNuSnZjaWhnVDNKcFoybHVJQ1I3YjNKcFoybHVmU0J1YjNRZ1lXeHNiM2RsWkdBcEtUdGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQmpjbVZrWlc1MGFXRnNjem9nZEhKMVpTeGNiaUFnSUNBZ0lHMWxkR2h2WkhNNklHRnNiRzkzVFdWMGFHOWtjeTVxYjJsdUtGd2lMRndpS1N4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnZEdocGN5NWhjSEF1Wlc1aFlteGxRMjl5Y3loamIzSnpUM0IwYVc5dWN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dVhHNGdJQ0FxSUVGd2NHeHBaWE1nZEdobElFaGxiRzFsZENCdGFXUmtiR1YzWVhKbElHWnZjaUJsYm1oaGJtTmxaQ0J6WldOMWNtbDBlUzVjYmlBZ0lDcGNiaUFnSUNvZ1FITjFiVzFoY25sY2JpQWdJQ29nUkhsdVlXMXBZMkZzYkhrZ2JHOWhaSE1nZEdobElHQm9aV3h0WlhSZ0lIQmhZMnRoWjJVZ2FXWWdZWFpoYVd4aFlteGxJR0Z1WkNCeVpXZHBjM1JsY25NZ2FYUmNiaUFnSUNvZ1lYTWdiV2xrWkd4bGQyRnlaU0IwYnlCcGJYQnliM1psSUVoVVZGQWdhR1ZoWkdWeUlITmxZM1Z5YVhSNUxpQkpaaUJ1YjNRZ2FXNXpkR0ZzYkdWa0xDQnNiMmR6SUdFZ2QyRnlibWx1WjF4dUlDQWdLaUJoYm1RZ1kyOXVkR2x1ZFdWeklHVjRaV04xZEdsdmJpQjNhWFJvYjNWMElIUm9jbTkzYVc1bklHVnljbTl5Y3k1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIdFNaV052Y21ROGMzUnlhVzVuTENCaGJuaytmU0JiYjNCMGFXOXVjMTBnTFNCUGNIUnBiMjVoYkNCamIyNW1hV2QxY21GMGFXOXVJSEJoYzNObFpDQjBieUJJWld4dFpYUXVYRzRnSUNBcUlFQnlaWFIxY200Z2UwNWxjM1JDYjI5MGMzUnlZWEJsY24wZ1VtVjBkWEp1Y3lCMGFHVWdZMnhoYzNNZ1ptOXlJR05vWVdsdWFXNW5JR052Ym1acFozVnlZWFJwYjI0dVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ2RYTmxTR1ZzYldWMEtHOXdkR2x2Ym5NL09pQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytLU0I3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtOHRjbVZ4ZFdseVpTMXBiWEJ2Y25SelhHNGdJQ0FnSUNCamIyNXpkQ0JvWld4dFpYUWdQU0J5WlhGMWFYSmxLRndpYUdWc2JXVjBYQ0lwT3lBdkx5QkVlVzVoYldsaklHbHRjRzl5ZENCMGJ5QmhkbTlwWkNCb1lYSmtJR1JsY0dWdVpHVnVZM2xjYmlBZ0lDQWdJSFJvYVhNdVlYQndMblZ6WlNob1pXeHRaWFFvYjNCMGFXOXVjeWtwTzF4dUlDQWdJQ0FnZEdocGN5NXNiMmRuWlhJdWJHOW5LRndpU0dWc2JXVjBJRzFwWkdSc1pYZGhjbVVnWlc1aFlteGxaQ0J6ZFdOalpYTnpablZzYkhrdVhDSXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVzYjJkblpYSXVkMkZ5YmloY0lraGxiRzFsZENCdWIzUWdhVzV6ZEdGc2JHVmtMaUJUYTJsd2NHbHVaeUJ0YVdSa2JHVjNZWEpsTGx3aUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI1Y2JpQWdJQ29nUTI5dVptbG5kWEpsY3lCaGJtUWdhVzVwZEdsaGJHbDZaWE1nVTNkaFoyZGxjaUJWU1NCbWIzSWdRVkJKSUdSdlkzVnRaVzUwWVhScGIyNHVYRzRnSUNBcVhHNGdJQ0FxSUVCemRXMXRZWEo1WEc0Z0lDQXFJRlZ6WlhNZ2RHaGxJR0JUZDJGbloyVnlRblZwYkdSbGNtQWdkWFJwYkdsMGVTQjBieUJqYjI1bWFXZDFjbVVnUVZCSklHUnZZM1Z0Wlc1MFlYUnBiMjVjYmlBZ0lDb2dkMmwwYUNCa1pYUmhhV3hsWkNCamRYTjBiMjFwZW1GMGFXOXVJR1p2Y2lCMGFYUnNaU3dnZG1WeWMybHZiaXdnY0dGMGFITXNJR0Z1WkNCamIyeHZjbk11WEc0Z0lDQXFJRk4zWVdkblpYSWdhWE1nWVhWMGIyMWhkR2xqWVd4c2VTQmxlSEJ2YzJWa0lHRjBJSFJvWlNCamIyNW1hV2QxY21Wa0lIQmhkR2d1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN1UzZGhaMmRsY2xObGRIVndUM0IwYVc5dWMzMGdiM0IwYVc5dWN5QXRJRk4zWVdkblpYSWdZMjl1Wm1sbmRYSmhkR2x2YmlCdmNIUnBiMjV6TGx4dUlDQWdLaUJBY21WMGRYSnVJSHRPWlhOMFFtOXZkSE4wY21Gd1pYSjlJRkpsZEhWeWJuTWdkR2hsSUdOc1lYTnpJR1p2Y2lCamFHRnBibWx1WnlCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJSE5sZEhWd1UzZGhaMmRsY2lodmNIUnBiMjV6T2lCVGQyRm5aMlZ5VTJWMGRYQlBjSFJwYjI1ektTQjdYRzRnSUNBZ1kyOXVjM1FnYzNkaFoyZGxjaUE5SUc1bGR5QlRkMkZuWjJWeVFuVnBiR1JsY2loMGFHbHpMbUZ3Y0N3Z2UxeHVJQ0FnSUNBZ2RHbDBiR1U2SUc5d2RHbHZibk11ZEdsMGJHVXNYRzRnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nYjNCMGFXOXVjeTVrWlhOamNtbHdkR2x2Yml4Y2JpQWdJQ0FnSUhabGNuTnBiMjQ2SUc5d2RHbHZibk11ZG1WeWMybHZiaXhjYmlBZ0lDQWdJSEJoZEdnNklHOXdkR2x2Ym5NdWNHRjBhQ0I4ZkNCY0ltRndhVndpTEZ4dUlDQWdJQ0FnY0dWeWMybHpkRUYxZEdodmNtbDZZWFJwYjI0NklHOXdkR2x2Ym5NdWNHVnljMmx6ZEVGMWRHaHZjbWw2WVhScGIyNGdQejhnZEhKMVpTeGNiaUFnSUNBZ0lHRnpjMlYwYzFCaGRHZzZJRzl3ZEdsdmJuTXVZWE56WlhSelVHRjBhQ3hjYmlBZ0lDQWdJR1poZG1samIyNUdhV3hsVUdGMGFEb2diM0IwYVc5dWN5NW1ZWFpwWTI5dVVHRjBhQ3hjYmlBZ0lDQWdJSFJ2Y0dKaGNrbGpiMjVHYVd4bFVHRjBhRG9nYjNCMGFXOXVjeTUwYjNCaVlYSkpZMjl1VUdGMGFDeGNiaUFnSUNBZ0lIUnZjR0poY2tKblEyOXNiM0k2SUc5d2RHbHZibk11ZEc5d1ltRnlRbWREYjJ4dmNpeGNiaUFnSUNBZ0lHOXdaVzVCY0dsS2MyOXVVR0YwYURvZ2IzQjBhVzl1Y3k1dmNHVnVRWEJwU25OdmJsQmhkR2dzWEc0Z0lDQWdJQ0J2Y0dWdVFYQnBXV0Z0YkZCaGRHZzZJRzl3ZEdsdmJuTXViM0JsYmtGd2FWbGhiV3hRWVhSb0xGeHVJQ0FnSUgwcE8xeHVJQ0FnSUhOM1lXZG5aWEl1YzJWMGRYQlRkMkZuWjJWeUtDazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dVhHNGdJQ0FxSUZKbFoybHpkR1Z5Y3lCdmJtVWdiM0lnYlc5eVpTQm5iRzlpWVd3Z2RtRnNhV1JoZEdsdmJpQndhWEJsY3k1Y2JpQWdJQ3BjYmlBZ0lDb2dRSE4xYlcxaGNubGNiaUFnSUNvZ1JXNWhZbXhsY3lCeVpYRjFaWE4wSUhCaGVXeHZZV1FnZG1Gc2FXUmhkR2x2YmlCaGJtUWdkSEpoYm5ObWIzSnRZWFJwYjI0Z1oyeHZZbUZzYkhrZ1lXTnliM056WEc0Z0lDQXFJSFJvWlNCbGJuUnBjbVVnVG1WemRFcFRJR0Z3Y0d4cFkyRjBhVzl1TGlCTmRXeDBhWEJzWlNCd2FYQmxjeUJqWVc0Z1ltVWdZMmhoYVc1bFpDQjBiMmRsZEdobGNseHVJQ0FnS2lCbWIzSWdiVzlrZFd4aGNpQnBibkIxZENCMllXeHBaR0YwYVc5dUxseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdleTR1TGxCcGNHVlVjbUZ1YzJadmNtMWJYWDBnY0dsd1pYTWdMU0JRYVhCbElHbHVjM1JoYm1ObGN5QjBieUJ5WldkcGMzUmxjaUJuYkc5aVlXeHNlUzVjYmlBZ0lDb2dRSEpsZEhWeWJpQjdUbVZ6ZEVKdmIzUnpkSEpoY0dWeWZTQlNaWFIxY201eklIUm9aU0JqYkdGemN5Qm1iM0lnWTJoaGFXNXBibWN1WEc0Z0lDQXFMMXh1SUNCemRHRjBhV01nZFhObFIyeHZZbUZzVUdsd1pYTW9MaTR1Y0dsd1pYTTZJRkJwY0dWVWNtRnVjMlp2Y20xYlhTa2dlMXh1SUNBZ0lHbG1JQ2h3YVhCbGN5NXNaVzVuZEdnZ1BpQXdLU0IwYUdsekxtRndjQzUxYzJWSGJHOWlZV3hRYVhCbGN5Z3VMaTV3YVhCbGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dVhHNGdJQ0FxSUZKbFoybHpkR1Z5Y3lCdmJtVWdiM0lnYlc5eVpTQm5iRzlpWVd3Z1pYaGpaWEIwYVc5dUlHWnBiSFJsY25NdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVYRzRnSUNBcUlFbG1JRzV2SUdacGJIUmxjbk1nWVhKbElIQnliM1pwWkdWa0xDQnBkQ0JoZFhSdmJXRjBhV05oYkd4NUlISmxaMmx6ZEdWeWN5QmhJR1JsWm1GMWJIUmNiaUFnSUNvZ2MyVjBJRzltSUhOMFlXNWtZWEprSUdWNFkyVndkR2x2YmlCbWFXeDBaWEp6SUdadmNpQmpiMjF0YjI0Z1pYSnliM0lnZEhsd1pYTWdiR2xyWlZ4dUlDQWdLaUJnU0hSMGNFVjRZMlZ3ZEdsdmJtQXNJR0JXWVd4cFpHRjBhVzl1UlhoalpYQjBhVzl1WUN3Z1lFTnZibVpzYVdOMFJYaGpaWEIwYVc5dVlDd2dZVzVrSUc5MGFHVnljeTVjYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUhzdUxpNUZlR05sY0hScGIyNUdhV3gwWlhKYlhYMGdabWxzZEdWeWN5QXRJRTl3ZEdsdmJtRnNJR1pwYkhSbGNuTWdkRzhnWVhCd2JIa2daMnh2WW1Gc2JIa3VYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdkWE5sUjJ4dlltRnNSbWxzZEdWeWN5Z3VMaTVtYVd4MFpYSnpPaUJoYm5sYlhTa2dlMXh1SUNBZ0lIUm9hWE11WVhCd0xuVnpaVWRzYjJKaGJFWnBiSFJsY25Nb1hHNGdJQ0FnSUNBdUxpNG9abWxzZEdWeWN5NXNaVzVuZEdnZ1BpQXdJRDhnWm1sc2RHVnljeUE2SUZ0dVpYY2dSR1ZqWVdaRmVHTmxjSFJwYjI1R2FXeDBaWElvS1YwcFhHNGdJQ0FnS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjVjYmlBZ0lDb2dVbVZuYVhOMFpYSnpJR2RzYjJKaGJDQnBiblJsY21ObGNIUnZjbk1nWm05eUlISmxjWFZsYzNRZ1lXNWtJSEpsYzNCdmJuTmxJSFJ5WVc1elptOXliV0YwYVc5dUxseHVJQ0FnS2x4dUlDQWdLaUJBYzNWdGJXRnllVnh1SUNBZ0tpQkpiblJsY21ObGNIUnZjbk1nWVd4c2IzY2dZV1IyWVc1alpXUWdjbVZ4ZFdWemRDOXlaWE53YjI1elpTQnRZVzVwY0hWc1lYUnBiMjRnYzNWamFDQmhjMXh1SUNBZ0tpQnpaWEpwWVd4cGVtRjBhVzl1TENCc2IyZG5hVzVuTENCdmNpQjBjbUZ1YzJadmNtMWhkR2x2Ymk0Z1RYVnNkR2x3YkdVZ2FXNTBaWEpqWlhCMGIzSnpYRzRnSUNBcUlHTmhiaUJpWlNCaFpHUmxaQ0JtYjNJZ2JXOWtkV3hoY2lCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnZXk0dUxrNWxjM1JKYm5SbGNtTmxjSFJ2Y2x0ZGZTQnBiblJsY21ObGNIUnZjbk1nTFNCSmJuUmxjbU5sY0hSdmNpQnBibk4wWVc1alpYTWdkRzhnY21WbmFYTjBaWEl1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMDVsYzNSQ2IyOTBjM1J5WVhCbGNuMGdVbVYwZFhKdWN5QjBhR1VnWTJ4aGMzTWdabTl5SUdOb1lXbHVhVzVuSUdOdmJtWnBaM1Z5WVhScGIyNHVYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdkWE5sUjJ4dlltRnNTVzUwWlhKalpYQjBiM0p6S0M0dUxtbHVkR1Z5WTJWd2RHOXljem9nVG1WemRFbHVkR1Z5WTJWd2RHOXlXMTBwSUh0Y2JpQWdJQ0JwWmlBb2FXNTBaWEpqWlhCMGIzSnpMbXhsYm1kMGFDQStJREFwWEc0Z0lDQWdJQ0IwYUdsekxtRndjQzUxYzJWSGJHOWlZV3hKYm5SbGNtTmxjSFJ2Y25Nb0xpNHVhVzUwWlhKalpYQjBiM0p6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjVjYmlBZ0lDb2dVM1JoY25SeklIUm9aU0JPWlhOMFNsTWdZWEJ3YkdsallYUnBiMjRnWVc1a0lHSnBibVJ6SUdsMElIUnZJSFJvWlNCbmFYWmxiaUJ3YjNKMElHRnVaQ0JvYjNOMExseHVJQ0FnS2x4dUlDQWdLaUJBYzNWdGJXRnllVnh1SUNBZ0tpQk1hWE4wWlc1eklHOXVJSFJvWlNCemNHVmphV1pwWldRZ2NHOXlkQ0JoYm1RZ2IzQjBhVzl1WVd4c2VTQmhJR2h2YzNRdUlFOXVZMlVnYzNSaGNuUmxaQ3hjYmlBZ0lDb2diRzluY3lCMGFHVWdZWEJ3YkdsallYUnBiMjRnVlZKTUlHWnZjaUJsWVhONUlHRmpZMlZ6Y3k0Z1ZHaGxJSE4wWVhKMGRYQWdjSEp2WTJWemN5QnlaWE52YkhabGMxeHVJQ0FnS2lCdmJtTmxJSFJvWlNCaGNIQnNhV05oZEdsdmJpQnBjeUJ6ZFdOalpYTnpablZzYkhrZ2NuVnVibWx1Wnk1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHdiM0owUFRNd01EQmRJQzBnVUc5eWRDQnVkVzFpWlhJZ2RHOGdiR2x6ZEdWdUlHOXVMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1cyaHZjM1JkSUMwZ1QzQjBhVzl1WVd3Z2FHOXpkQ0J2Y2lCSlVDQmhaR1J5WlhOeklIUnZJR0pwYm1RZ2RHOHVYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ1cyeHZaejEwY25WbFhTQXRJRmRvWlhSb1pYSWdkRzhnYkc5bklIUm9aU0JoY0hCc2FXTmhkR2x2YmlCVlVrd2dkWEJ2YmlCemRHRnlkSFZ3TGx4dUlDQWdLaUJBY21WMGRYSnVJSHRRY205dGFYTmxQSFp2YVdRK2ZTQlNaWE52YkhabGN5QnZibU5sSUhSb1pTQmhjSEJzYVdOaGRHbHZiaUJ6ZEdGeWRITWdjM1ZqWTJWemMyWjFiR3g1TGx4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdGemVXNWpJSE4wWVhKMEtGeHVJQ0FnSUhCdmNuUTZJRzUxYldKbGNpQTlJRTUxYldKbGNpaHdjbTlqWlhOekxtVnVkaTVRVDFKVUtTQjhmQ0F6TURBd0xGeHVJQ0FnSUdodmMzUTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ0E5SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0JzYjJjNklHSnZiMnhsWVc0Z1BTQjBjblZsWEc0Z0lDa2dlMXh1SUNBZ0lIUm9hWE11WVhCd0xteHBjM1JsYmlod2IzSjBMQ0JvYjNOMElHRnpJR0Z1ZVNrdWRHaGxiaWhoYzNsdVl5QW9LU0E5UGlCN1hHNGdJQ0FnSUNCcFppQW9iRzluS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhWeWJDQTlJR0YzWVdsMElIUm9hWE11WVhCd0xtZGxkRlZ5YkNncE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG14dloyZGxjaTVzYjJjb1lQQ2Ztb0FnUVhCd2JHbGpZWFJwYjI0Z2FYTWdjblZ1Ym1sdVp5QmhkRG9nSkh0MWNteDlZQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=