@dereekb/dbx-core 11.0.19 → 11.0.21

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.
@@ -68,4 +68,4 @@ export function loadingStateTypeForActionState(actionState) {
68
68
  }
69
69
  return loadingStateType;
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBaUNYO0FBakNELFdBQVksY0FBYztJQUN4Qjs7T0FFRztJQUNILCtCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILHVDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gseUNBQXVCLENBQUE7SUFDdkI7Ozs7T0FJRztJQUNILDRDQUEwQixDQUFBO0lBQzFCOztPQUVHO0lBQ0gscUNBQW1CLENBQUE7SUFDbkI7Ozs7T0FJRztJQUNILHVDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gsdUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWpDVyxjQUFjLEtBQWQsY0FBYyxRQWlDekI7QUFPRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxxQkFBcUIsQ0FBQztBQUVqRSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsV0FBMkI7SUFDM0QsUUFBUSxXQUFXLEVBQUU7UUFDbkIsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3pCLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUM3QixLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDN0IsS0FBSyxjQUFjLENBQUMsUUFBUTtZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkO1lBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUFDLFdBQTJCO0lBQ3hFLElBQUksZ0JBQWtDLENBQUM7SUFFdkMsUUFBUSxXQUFXLEVBQUU7UUFDbkIsS0FBSyxjQUFjLENBQUMsUUFBUTtZQUMxQixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7WUFDNUMsTUFBTTtRQUNSLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQzFDLE1BQU07UUFDUixLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDekIsS0FBSyxjQUFjLENBQUMsUUFBUTtZQUMxQixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDekMsTUFBTTtRQUNSO1lBQ0UsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1lBQzVDLE1BQU07S0FDVDtJQUVELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvYWRpbmdTdGF0ZVR5cGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBVc2VkIGJ5IEFjdGlvbkNvbnRleHRTdGF0ZSB0byBkZW5vdGUgd2hhdCBzdGF0ZSB0aGUgYWN0aW9uIGlzIGluLlxuICovXG5leHBvcnQgZW51bSBEYnhBY3Rpb25TdGF0ZSB7XG4gIC8qKlxuICAgKiBObyBhY3Rpb24gaW4gcHJvZ3Jlc3MuIFdhaXRpbmcgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKi9cbiAgSURMRSA9ICdpZGxlJyxcbiAgLyoqXG4gICAqIElkbGUgc3RhdGUgdGhhdCBjYW4gYmUgc2V0IHRvIHNob3cgdGhhdCB0aGUgc291cmNlIGlzIG5vdCB5ZXQgcmVhZHkuXG4gICAqL1xuICBESVNBQkxFRCA9ICdkaXNhYmxlZCcsXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIHdhcyB0cmlnZ2VyZWQuIFdlIHdhaXQgKGFuZCBhbGxvdykgdGhlIHZhbHVlIHRvIGJlIHVwZGF0ZWQuXG4gICAqL1xuICBUUklHR0VSRUQgPSAndHJpZ2dlcmVkJyxcbiAgLyoqXG4gICAqIFRoZSB0cmlnZ2VyIHdhcyBhY2NlcHRlZCBhbmQgdGhlIHZhbHVlIGlzIHVwZGF0ZWQuIEl0IHNob3VsZCBiZWdpbiB3b3JraW5nIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKiBWYWx1ZVJlYWR5IGNhbm5vdCBiZSBzZXQgdW50aWwgdHJpZ2dlcmVkIGlzIHNldC5cbiAgICovXG4gIFZBTFVFX1JFQURZID0gJ3ZhbHVlUmVhZHknLFxuICAvKipcbiAgICogVGhlIGFjdGlvbiBpcyBpbiBwcm9ncmVzcy5cbiAgICovXG4gIFdPUktJTkcgPSAnd29ya2luZycsXG4gIC8qKlxuICAgKiBUaGUgdHJpZ2dlciwgYWN0aW9uLCBvciB2YWx1ZSB3YXMgcmVqZWN0ZWQgZHVlIHRvIGFuIGVycm9yIG9yIG90aGVyIGlzc3VlLlxuICAgKlxuICAgKiBBbiBlcnJvciBtYXkgYmUgc3BlY2lmaWVkIG9wdGlvbmFsbHkuXG4gICAqL1xuICBSRUpFQ1RFRCA9ICdyZWplY3RlZCcsXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIHJlc29sdmVkIHdpdGhvdXQgaXNzdWUuXG4gICAqL1xuICBSRVNPTFZFRCA9ICdyZXNvbHZlZCdcbn1cblxuLyoqXG4gKiBVbmlxdWUga2V5IGZvciBkaXNhYmxpbmcvZW5hYmxpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIERieEFjdGlvbkRpc2FibGVkS2V5ID0gc3RyaW5nO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9BQ1RJT05fRElTQUJMRURfS0VZID0gJ2RieF9hY3Rpb25fZGlzYWJsZWQnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHN3aXRjaCAoYWN0aW9uU3RhdGUpIHtcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFSkVDVEVEOlxuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogTG9hZGluZ1N0YXRlVHlwZSB7XG4gIGxldCBsb2FkaW5nU3RhdGVUeXBlOiBMb2FkaW5nU3RhdGVUeXBlO1xuXG4gIHN3aXRjaCAoYWN0aW9uU3RhdGUpIHtcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFU09MVkVEOlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuU1VDQ0VTUztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQ6XG4gICAgICBsb2FkaW5nU3RhdGVUeXBlID0gTG9hZGluZ1N0YXRlVHlwZS5FUlJPUjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuSURMRTpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLkRJU0FCTEVEOlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuSURMRTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBsb2FkaW5nU3RhdGVUeXBlID0gTG9hZGluZ1N0YXRlVHlwZS5MT0FESU5HO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gbG9hZGluZ1N0YXRlVHlwZTtcbn1cbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBaUNYO0FBakNELFdBQVksY0FBYztJQUN4Qjs7T0FFRztJQUNILCtCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILHVDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gseUNBQXVCLENBQUE7SUFDdkI7Ozs7T0FJRztJQUNILDRDQUEwQixDQUFBO0lBQzFCOztPQUVHO0lBQ0gscUNBQW1CLENBQUE7SUFDbkI7Ozs7T0FJRztJQUNILHVDQUFxQixDQUFBO0lBQ3JCOztPQUVHO0lBQ0gsdUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWpDVyxjQUFjLEtBQWQsY0FBYyxRQWlDekI7QUF1QkQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcscUJBQXFCLENBQUM7QUFFakUsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQTJCO0lBQzNELFFBQVEsV0FBVyxFQUFFO1FBQ25CLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQztRQUN6QixLQUFLLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDN0IsS0FBSyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQzdCLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFDZDtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxXQUEyQjtJQUN4RSxJQUFJLGdCQUFrQyxDQUFDO0lBRXZDLFFBQVEsV0FBVyxFQUFFO1FBQ25CLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1lBQzVDLE1BQU07UUFDUixLQUFLLGNBQWMsQ0FBQyxRQUFRO1lBQzFCLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUMxQyxNQUFNO1FBQ1IsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3pCLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ3pDLE1BQU07UUFDUjtZQUNFLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM1QyxNQUFNO0tBQ1Q7SUFFRCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkaW5nU3RhdGVUeXBlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFVzZWQgYnkgQWN0aW9uQ29udGV4dFN0YXRlIHRvIGRlbm90ZSB3aGF0IHN0YXRlIHRoZSBhY3Rpb24gaXMgaW4uXG4gKi9cbmV4cG9ydCBlbnVtIERieEFjdGlvblN0YXRlIHtcbiAgLyoqXG4gICAqIE5vIGFjdGlvbiBpbiBwcm9ncmVzcy4gV2FpdGluZyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqL1xuICBJRExFID0gJ2lkbGUnLFxuICAvKipcbiAgICogSWRsZSBzdGF0ZSB0aGF0IGNhbiBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBzb3VyY2UgaXMgbm90IHlldCByZWFkeS5cbiAgICovXG4gIERJU0FCTEVEID0gJ2Rpc2FibGVkJyxcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gd2FzIHRyaWdnZXJlZC4gV2Ugd2FpdCAoYW5kIGFsbG93KSB0aGUgdmFsdWUgdG8gYmUgdXBkYXRlZC5cbiAgICovXG4gIFRSSUdHRVJFRCA9ICd0cmlnZ2VyZWQnLFxuICAvKipcbiAgICogVGhlIHRyaWdnZXIgd2FzIGFjY2VwdGVkIGFuZCB0aGUgdmFsdWUgaXMgdXBkYXRlZC4gSXQgc2hvdWxkIGJlZ2luIHdvcmtpbmcgaW1tZWRpYXRlbHkuXG4gICAqXG4gICAqIFZhbHVlUmVhZHkgY2Fubm90IGJlIHNldCB1bnRpbCB0cmlnZ2VyZWQgaXMgc2V0LlxuICAgKi9cbiAgVkFMVUVfUkVBRFkgPSAndmFsdWVSZWFkeScsXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGlzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgV09SS0lORyA9ICd3b3JraW5nJyxcbiAgLyoqXG4gICAqIFRoZSB0cmlnZ2VyLCBhY3Rpb24sIG9yIHZhbHVlIHdhcyByZWplY3RlZCBkdWUgdG8gYW4gZXJyb3Igb3Igb3RoZXIgaXNzdWUuXG4gICAqXG4gICAqIEFuIGVycm9yIG1heSBiZSBzcGVjaWZpZWQgb3B0aW9uYWxseS5cbiAgICovXG4gIFJFSkVDVEVEID0gJ3JlamVjdGVkJyxcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gcmVzb2x2ZWQgd2l0aG91dCBpc3N1ZS5cbiAgICovXG4gIFJFU09MVkVEID0gJ3Jlc29sdmVkJ1xufVxuXG4vKipcbiAqIENvbnRhaW5zIHRoZSBpbnB1dCB2YWx1ZSBhbmQgdGhlIG91dHB1dCByZXN1bHQgZnJvbSBhIERieEFjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhBY3Rpb25TdWNjZXNzUGFpcjxULCBPPiB7XG4gIHJlYWRvbmx5IHZhbHVlOiBUO1xuICByZWFkb25seSByZXN1bHQ6IE1heWJlPE8+O1xufVxuXG4vKipcbiAqIENvbnRhaW5zIHRoZSBpbnB1dCB2YWx1ZSBhbmQgdGhlIG91dHB1dCBlcnJvciBmcm9tIGEgRGJ4QWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieEFjdGlvblJlamVjdGVkUGFpcjxUPiB7XG4gIHJlYWRvbmx5IHZhbHVlOiBUO1xuICByZWFkb25seSBlcnJvcjogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBVbmlxdWUga2V5IGZvciBkaXNhYmxpbmcvZW5hYmxpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIERieEFjdGlvbkRpc2FibGVkS2V5ID0gc3RyaW5nO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9BQ1RJT05fRElTQUJMRURfS0VZID0gJ2RieF9hY3Rpb25fZGlzYWJsZWQnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHN3aXRjaCAoYWN0aW9uU3RhdGUpIHtcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFSkVDVEVEOlxuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogTG9hZGluZ1N0YXRlVHlwZSB7XG4gIGxldCBsb2FkaW5nU3RhdGVUeXBlOiBMb2FkaW5nU3RhdGVUeXBlO1xuXG4gIHN3aXRjaCAoYWN0aW9uU3RhdGUpIHtcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFU09MVkVEOlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuU1VDQ0VTUztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQ6XG4gICAgICBsb2FkaW5nU3RhdGVUeXBlID0gTG9hZGluZ1N0YXRlVHlwZS5FUlJPUjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuSURMRTpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLkRJU0FCTEVEOlxuICAgICAgbG9hZGluZ1N0YXRlVHlwZSA9IExvYWRpbmdTdGF0ZVR5cGUuSURMRTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBsb2FkaW5nU3RhdGVUeXBlID0gTG9hZGluZ1N0YXRlVHlwZS5MT0FESU5HO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gbG9hZGluZ1N0YXRlVHlwZTtcbn1cbiJdfQ==
@@ -71,6 +71,10 @@ export class ActionContextStore extends ComponentStore {
71
71
  * Returns the current disabled reasons/keys.
72
72
  */
73
73
  disabledKeys$ = this.state$.pipe(map((x) => [...(x.disabled ?? [])]), distinctUntilChanged(), shareReplay(1));
74
+ /**
75
+ * Current value of the state.
76
+ */
77
+ currentValue$ = this.state$.pipe(map((x) => x.value));
74
78
  /**
75
79
  * Maps the current state to true or not when the action state changes to/from disabled.
76
80
  */
@@ -91,6 +95,10 @@ export class ActionContextStore extends ComponentStore {
91
95
  * Pipes the error on the rejection state.
92
96
  */
93
97
  rejected$ = this.afterDistinctActionState(DbxActionState.REJECTED, (x) => x.error);
98
+ /**
99
+ * Pipes the result when the ActionState becomes rejected.
100
+ */
101
+ rejectedPair$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => ({ value: x.value, error: x.error }));
94
102
  /**
95
103
  * Pipes the result when the ActionState becomes working.
96
104
  */
@@ -107,6 +115,10 @@ export class ActionContextStore extends ComponentStore {
107
115
  * Pipes the result when the ActionState becomes success.
108
116
  */
109
117
  success$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => x.result);
118
+ /**
119
+ * Pipes the result when the ActionState becomes success.
120
+ */
121
+ successPair$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => ({ value: x.value, result: x.result }));
110
122
  /**
111
123
  * Whether or not it is currently in a success state.
112
124
  */
@@ -224,4 +236,4 @@ export class ActionContextStore extends ComponentStore {
224
236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionContextStore, decorators: [{
225
237
  type: Injectable
226
238
  }], ctorParameters: function () { return []; } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hHLE9BQU8sRUFBeUIsNEJBQTRCLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZ0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBd0IsY0FBYyxFQUFFLDJCQUEyQixFQUFFLGlCQUFpQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVoSixNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBeUI7SUFDOUQsT0FBTyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsS0FBeUI7SUFDL0QsT0FBTyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsS0FBeUI7SUFDcEUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELE1BQU0sVUFB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0RBQXNEO1FBQ3pHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBNkIsQ0FBQyxFQUM1QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0I7SUFDUCxXQUFXO1FBQ2xCLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7d0dBMU9VLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhblN0cmluZ0tleUFycmF5LCBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LCBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlVHlwZSwgaWRsZUxvYWRpbmdTdGF0ZSwgZXJyb3JSZXN1bHQsIGZpbHRlck1heWJlLCBMb2FkaW5nU3RhdGUsIExvY2tTZXQsIHNjYW5Db3VudCwgc3VjY2Vzc1Jlc3VsdCwgYmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25EaXNhYmxlZEtleSwgRGJ4QWN0aW9uU3RhdGUsIERFRkFVTFRfQUNUSU9OX0RJU0FCTEVEX0tFWSwgaXNJZGxlQWN0aW9uU3RhdGUsIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25TdGF0ZSB9IGZyb20gJy4vYWN0aW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aW9uQ29udGV4dEVuYWJsZWQoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pc0ZhbHNlKHN0YXRlLmRpc2FibGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aW9uQ29udGV4dERpc2FibGVkKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaXNUcnVlKHN0YXRlLmRpc2FibGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNJZGxlQWN0aW9uU3RhdGUoc3RhdGUuYWN0aW9uU3RhdGUpICYmIGlzQWN0aW9uQ29udGV4dERpc2FibGVkKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV29ya2luZ0FjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gIWlzSWRsZUFjdGlvblN0YXRlKGFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblRyaWdnZXJBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFjdGlvblN0YXRlICE9PSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRCAmJiBpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQWN0aW9uQ29udGV4dEVuYWJsZWQoc3RhdGUpICYmIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblJlYWR5VmFsdWUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlRSSUdHRVJFRDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIC8vIGNvbnNvbGUubG9nKCdjaGVjazogJywgc3RhdGUsIHN0YXRlLmlzTW9kaWZpZWQsIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpKTtcbiAgcmV0dXJuIHN0YXRlLmlzTW9kaWZpZWQgJiYgY2FuVHJpZ2dlckFjdGlvbihzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SGFzTm9FcnJvckFuZElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFzdGF0ZS5lcnJvciAmJiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlRm9yQWN0aW9uQ29udGV4dFN0YXRlPE8gPSB1bmtub3duPihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPHVua25vd24sIE8+KTogTG9hZGluZ1N0YXRlPE8+IHtcbiAgbGV0IGxvYWRpbmdTdGF0ZTogTG9hZGluZ1N0YXRlPE8+O1xuXG4gIHN3aXRjaCAoc3RhdGUuYWN0aW9uU3RhdGUpIHtcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFU09MVkVEOlxuICAgICAgbG9hZGluZ1N0YXRlID0gc3VjY2Vzc1Jlc3VsdChzdGF0ZS5yZXN1bHQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRUpFQ1RFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGVycm9yUmVzdWx0KHN0YXRlLmVycm9yKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuSURMRTpcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLkRJU0FCTEVEOlxuICAgICAgbG9hZGluZ1N0YXRlID0gaWRsZUxvYWRpbmdTdGF0ZSgpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGJlZ2luTG9hZGluZygpO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gbG9hZGluZ1N0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvbkNvbnRleHRTdGF0ZShzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogTG9hZGluZ1N0YXRlVHlwZSB7XG4gIHJldHVybiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUoc3RhdGUuYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRleHRTdGF0ZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IHtcbiAgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlO1xuICBpc01vZGlmaWVkOiBib29sZWFuO1xuICAvKipcbiAgICogVmFsdWUgdGhhdCBpcyBzZXQgYWZ0ZXIgYSB0cmlnZ2VyZWQgYWN0aW9uLiBOb3QgdG8gYmUgY29uZnVzZWQgd2l0aCByZXN1bHQuXG4gICAqL1xuICB2YWx1ZT86IE1heWJlPFQ+O1xuICAvKipcbiAgICogUmVzb2x2ZWQgcmVzdWx0IHZhbHVlLlxuICAgKi9cbiAgcmVzdWx0PzogTWF5YmU8Tz47XG4gIC8qKlxuICAgKiBSZWplY3RlZCBlcnJvciwgaWYgYXZhaWxhYmxlLlxuICAgKi9cbiAgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPjtcbiAgLyoqXG4gICAqIEN1cnJlbnQgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICBkaXNhYmxlZD86IEJvb2xlYW5TdHJpbmdLZXlBcnJheTtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBlcnJvcnMgdGhhdCBoYXZlIG9jY3VyZWQuXG4gICAqL1xuICBlcnJvckNvdW50PzogbnVtYmVyO1xufVxuXG5jb25zdCBJTklUSUFMX1NUQVRFOiBBY3Rpb25Db250ZXh0U3RhdGUgPSB7XG4gIGlzTW9kaWZpZWQ6IGZhbHNlLFxuICBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuSURMRVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgLi4uSU5JVElBTF9TVEFURSB9IGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPik7XG4gICAgdGhpcy5sb2NrU2V0LmFkZExvY2soJ3dvcmtpbmcnLCB0aGlzLmlzV29ya2luZyQpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IGFjdGlvblN0YXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiAoaXNEaXNhYmxlZEFjdGlvbkNvbnRleHRTdGF0ZSh4KSA/IERieEFjdGlvblN0YXRlLkRJU0FCTEVEIDogeC5hY3Rpb25TdGF0ZSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZGlzYWJsZWQgcmVhc29ucy9rZXlzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWRLZXlzJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBbLi4uKHguZGlzYWJsZWQgPz8gW10pXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBNYXBzIHRoZSBjdXJyZW50IHN0YXRlIHRvIHRydWUgb3Igbm90IHdoZW4gdGhlIGFjdGlvbiBzdGF0ZSBjaGFuZ2VzIHRvL2Zyb20gZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBpc0Rpc2FibGVkJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHdoZW4gaWRsZSBidXQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguaXNNb2RpZmllZCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRydWUgd2hlbiB0cmlnZ2VyZWQuXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVELCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlYWRpZWQgdmFsdWUgb24gVmFsdWVSZWFkeS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlUmVhZHkkOiBPYnNlcnZhYmxlPFQ+ID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuVkFMVUVfUkVBRFksICh4KSA9PiB4LnZhbHVlIGFzIFQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgZXJyb3Igb24gdGhlIHJlamVjdGlvbiBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlamVjdGVkJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFSkVDVEVELCAoeCkgPT4geC5lcnJvcik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiBpc1dvcmtpbmdBY3Rpb25TdGF0ZSh4LmFjdGlvblN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXJyb3IpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4geC5yZXN1bHQpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBjdXJyZW50bHkgaW4gYSBzdWNjZXNzIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEKTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxvYWRpbmcgc3RhdGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5hZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBsb2FkaW5nU3RhdGVGb3JBY3Rpb25Db250ZXh0U3RhdGU8Tz4oeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVycm9ycyBzaW5jZSBsYXN0IHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQgPSB0aGlzLmlzU3VjY2VzcyQucGlwZShcbiAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZXJyb3IkLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2NhbkNvdW50KCksIHN0YXJ0V2l0aCgwKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGF0ZSBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuVHJpZ2dlciQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChjYW5UcmlnZ2VyQWN0aW9uKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlIHRoYXQgbWFwcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIG1vZGlmaWVkIGFuZCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBVcGRhdGVzIGV2ZXJ5IHN0YXRlIHVwZGF0ZSBpbnN0ZWFkIG9mIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcih4KSwgc2hhcmVSZXBsYXkoMSkpKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgY2FuIGJlIHRyaWdnZXJlZCBhbmQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQgPSB0aGlzLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5yZW1vdmUoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBzZXRJc01vZGlmaWVkID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaXNNb2RpZmllZDogdm9pZCB8IGJvb2xlYW4pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYWN0aW9uU3RhdGU6IHN0YXRlLmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCA/IERieEFjdGlvblN0YXRlLklETEUgOiBzdGF0ZS5hY3Rpb25TdGF0ZSwgLy8gU2V0IHRvIGlkbGUgZnJvbSBzdWNjZXNzLlxuICAgIGlzTW9kaWZpZWQ6IChpc01vZGlmaWVkIGFzIGJvb2xlYW4pID8/IHRydWVcbiAgfSkpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYWN0aW9uIGlmIHRoZSBzdGF0ZSBpcyBjdXJyZW50bHkgbm90IGlkbGUuIFRoZSBjdXJyZW50IHN0YXRlIGlzIGNsZWFyZWQsIGJ1dCB0aGUgZXJyb3IgaXMgcmV0YWluZWQgKGFzIHdlIG1heSBuZWVkIHRoZSBlcnJvciBmcm9tIHRoZSBwcmV2aW91cyBhdHRlbXB0KS5cbiAgICpcbiAgICogV2lsbCBub3QgZmlyZSBpZiB0aGUgYWN0aW9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlciA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+IChjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSA/IHsgaXNNb2RpZmllZDogc3RhdGUuaXNNb2RpZmllZCwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlRSSUdHRVJFRCwgZXJyb3I6IHN0YXRlLmVycm9yLCB2YWx1ZTogdW5kZWZpbmVkIH0gOiBzdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB2YWx1ZSwgc2V0dGluZyB2YWx1ZSByZWFkeS4gVGhlIGN1cnJlbnQgcmVzdWx0IGlzIGNsZWFyZWQuXG4gICAqL1xuICByZWFkb25seSByZWFkeVZhbHVlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdmFsdWU6IFQpID0+IChjYW5SZWFkeVZhbHVlKHN0YXRlKSA/IHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgdmFsdWUsIHJlc3VsdDogdW5kZWZpbmVkIH0gOiBzdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBOb3RpZnlzIHRoZSBjb250ZXh0IHRoYXQgdGhlIGFjdGlvbiBpcyBpbiBwcm9ncmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0V29ya2luZyA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+ICh7IC4uLnN0YXRlLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuV09SS0lORyB9KSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHJlamVjdGlvbiBvZiB0aGUgYWN0aW9uLiBUaGUgdmFsdWUgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlamVjdCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVycm9yPzogTWF5YmU8UmVhZGFibGVFcnJvcj4pID0+ICh7XG4gICAgaXNNb2RpZmllZDogc3RhdGUuaXNNb2RpZmllZCxcbiAgICBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsXG4gICAgZXJyb3IsXG4gICAgZXJyb3JDb3VudDogKHN0YXRlLmVycm9yQ291bnQgPz8gMCkgKyAxLFxuICAgIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZFxuICB9KSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHN0YXRlIHRvIHN1Y2Nlc3MsIGFuZCBvcHRpb25hbGx5IHNldHMgYSByZXN1bHQuXG4gICAqXG4gICAqIENsZWFycyBtb2RpZmllZCBzdGF0ZSwgYW5kIGFueSBlcnJvcnMuXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcmVzdWx0PzogTWF5YmU8Tz4pID0+ICh7IGlzTW9kaWZpZWQ6IGZhbHNlLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQsIHZhbHVlOiBzdGF0ZS52YWx1ZSwgcmVzdWx0LCBlcnJvcjogdW5kZWZpbmVkLCBkaXNhYmxlZDogc3RhdGUuZGlzYWJsZWQgfSkpO1xuXG4gIC8qKlxuICAgKiBDb21wbGV0ZWx5IHJlc2V0cyB0aGUgc3RvcmUuXG4gICAqL1xuICByZWFkb25seSByZXNldCA9IHRoaXMudXBkYXRlcigoKSA9PiAoeyAuLi5JTklUSUFMX1NUQVRFIH0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSk7XG5cbiAgLy8gTUFSSzogVXRpbGl0eVxuICBhZnRlckRpc3RpbmN0Qm9vbGVhbihmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IGZyb21TdGF0ZSh4KSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlPFg+KGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSwgZnJvbVN0YXRlOiAoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPikgPT4gWCk6IE9ic2VydmFibGU8WD4ge1xuICAgIHJldHVybiB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZUNoYW5nZSgpLnBpcGUoXG4gICAgICBmaWx0ZXIoKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IGFjdGlvblN0YXRlKSwgLy8gT25seSBwaXBlIHdoZW4gdGhlIG5ldyBhY3Rpb24gc3RhdGUgbWF0Y2hlcy5cbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIGFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgeC5hY3Rpb25TdGF0ZV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgRGJ4QWN0aW9uU3RhdGVdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5bMV0gPT09IGI/LlsxXSksIC8vIEZpbHRlciBvdXQgd2hlbiB0aGUgc3RhdGUgcmVtYWlucyB0aGUgc2FtZS5cbiAgICAgIG1hcCgoeCkgPT4geFswXSBhcyBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdExvYWRpbmdTdGF0ZVR5cGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gW3gsIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCldIGFzIFtBY3Rpb25Db250ZXh0U3RhdGUsIExvYWRpbmdTdGF0ZVR5cGVdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5bMV0gPT09IGI/LlsxXSksIC8vIEZpbHRlciBvdXQgd2hlbiB0aGUgbG9hZGluZyBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICAvLyBNQVJLOiBDbGVhbnVwXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIFdhaXQgZm9yIGFueSBhY3Rpb25zIHRvIGNvbXBsZXRlIGJlZm9yZSBkZXN0cm95aW5nLlxuICAgIHRoaXMubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9LCAyMDAwKTtcbiAgfVxufVxuIl19
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hHLE9BQU8sRUFBeUIsNEJBQTRCLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZ0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVKLE9BQU8sRUFBK0MsY0FBYyxFQUF3QiwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFFN0wsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQXlCO0lBQzlELE9BQU8sNEJBQTRCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQXlCO0lBQy9ELE9BQU8sNEJBQTRCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQXlCO0lBQ3BFLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxNQUFNLFVB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IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5TdHJpbmdLZXlBcnJheSwgQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eSwgTWF5YmUsIFJlYWRhYmxlRXJyb3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZVR5cGUsIGlkbGVMb2FkaW5nU3RhdGUsIGVycm9yUmVzdWx0LCBmaWx0ZXJNYXliZSwgTG9hZGluZ1N0YXRlLCBMb2NrU2V0LCBzY2FuQ291bnQsIHN1Y2Nlc3NSZXN1bHQsIGJlZ2luTG9hZGluZyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uRGlzYWJsZWRLZXksIERieEFjdGlvblJlamVjdGVkUGFpciwgRGJ4QWN0aW9uU3RhdGUsIERieEFjdGlvblN1Y2Nlc3NQYWlyLCBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVksIGlzSWRsZUFjdGlvblN0YXRlLCBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uU3RhdGUgfSBmcm9tICcuL2FjdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHkuaXNGYWxzZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5LmlzVHJ1ZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKSAmJiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmtpbmdBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBhY3Rpb25TdGF0ZSAhPT0gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgJiYgaXNJZGxlQWN0aW9uU3RhdGUoYWN0aW9uU3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuVHJpZ2dlckFjdGlvbihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0FjdGlvbkNvbnRleHRFbmFibGVkKHN0YXRlKSAmJiBpc0lkbGVBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5SZWFkeVZhbHVlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHN0YXRlLmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICAvLyBjb25zb2xlLmxvZygnY2hlY2s6ICcsIHN0YXRlLCBzdGF0ZS5pc01vZGlmaWVkLCBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSk7XG4gIHJldHVybiBzdGF0ZS5pc01vZGlmaWVkICYmIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dEhhc05vRXJyb3JBbmRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc3RhdGUuZXJyb3IgJiYgYWN0aW9uQ29udGV4dElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZUZvckFjdGlvbkNvbnRleHRTdGF0ZTxPID0gdW5rbm93bj4oc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTx1bmtub3duLCBPPik6IExvYWRpbmdTdGF0ZTxPPiB7XG4gIGxldCBsb2FkaW5nU3RhdGU6IExvYWRpbmdTdGF0ZTxPPjtcblxuICBzd2l0Y2ggKHN0YXRlLmFjdGlvblN0YXRlKSB7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IHN1Y2Nlc3NSZXN1bHQoc3RhdGUucmVzdWx0KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBlcnJvclJlc3VsdChzdGF0ZS5lcnJvcik7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLklETEU6XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRDpcbiAgICAgIGxvYWRpbmdTdGF0ZSA9IGlkbGVMb2FkaW5nU3RhdGUoKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBiZWdpbkxvYWRpbmcoKTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IExvYWRpbmdTdGF0ZVR5cGUge1xuICByZXR1cm4gbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db250ZXh0U3RhdGU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiB7XG4gIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZTtcbiAgaXNNb2RpZmllZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFZhbHVlIHRoYXQgaXMgc2V0IGFmdGVyIGEgdHJpZ2dlcmVkIGFjdGlvbi4gTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggcmVzdWx0LlxuICAgKi9cbiAgdmFsdWU/OiBNYXliZTxUPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHJlc3VsdCB2YWx1ZS5cbiAgICovXG4gIHJlc3VsdD86IE1heWJlPE8+O1xuICAvKipcbiAgICogUmVqZWN0ZWQgZXJyb3IsIGlmIGF2YWlsYWJsZS5cbiAgICovXG4gIGVycm9yPzogTWF5YmU8UmVhZGFibGVFcnJvcj47XG4gIC8qKlxuICAgKiBDdXJyZW50IGRpc2FibGVkIHN0YXRlLlxuICAgKi9cbiAgZGlzYWJsZWQ/OiBCb29sZWFuU3RyaW5nS2V5QXJyYXk7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgZXJyb3JzIHRoYXQgaGF2ZSBvY2N1cmVkLlxuICAgKi9cbiAgZXJyb3JDb3VudD86IG51bWJlcjtcbn1cblxuY29uc3QgSU5JVElBTF9TVEFURTogQWN0aW9uQ29udGV4dFN0YXRlID0ge1xuICBpc01vZGlmaWVkOiBmYWxzZSxcbiAgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLklETEVcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpb25Db250ZXh0U3RvcmU8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBleHRlbmRzIENvbXBvbmVudFN0b3JlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7IC4uLklOSVRJQUxfU1RBVEUgfSBhcyBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pO1xuICAgIHRoaXMubG9ja1NldC5hZGRMb2NrKCd3b3JraW5nJywgdGhpcy5pc1dvcmtpbmckKTtcbiAgfVxuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuICByZWFkb25seSBhY3Rpb25TdGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gKGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUoeCkgPyBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRCA6IHguYWN0aW9uU3RhdGUpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGRpc2FibGVkIHJlYXNvbnMva2V5cy5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkS2V5cyQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gWy4uLih4LmRpc2FibGVkID8/IFtdKV0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZSBvZiB0aGUgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBjdXJyZW50VmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PiA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LnZhbHVlKSk7XG5cbiAgLyoqXG4gICAqIE1hcHMgdGhlIGN1cnJlbnQgc3RhdGUgdG8gdHJ1ZSBvciBub3Qgd2hlbiB0aGUgYWN0aW9uIHN0YXRlIGNoYW5nZXMgdG8vZnJvbSBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzRGlzYWJsZWQkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoaXNEaXNhYmxlZEFjdGlvbkNvbnRleHRTdGF0ZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogUGlwZXMgd2hlbiBpZGxlIGJ1dCBtb2RpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTW9kaWZpZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0Qm9vbGVhbigoeCkgPT4geC5pc01vZGlmaWVkKTtcblxuICAvKipcbiAgICogUGlwZXMgdHJ1ZSB3aGVuIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJlZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQsICgpID0+IHRydWUpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVhZGllZCB2YWx1ZSBvbiBWYWx1ZVJlYWR5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVSZWFkeSQ6IE9ic2VydmFibGU8VD4gPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgKHgpID0+IHgudmFsdWUgYXMgVCk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBlcnJvciBvbiB0aGUgcmVqZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsICh4KSA9PiB4LmVycm9yKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHJlamVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWRQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIGVycm9yOiB4LmVycm9yIH0gYXMgRGJ4QWN0aW9uUmVqZWN0ZWRQYWlyPFQ+KSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKCh4KSA9PiBpc1dvcmtpbmdBY3Rpb25TdGF0ZSh4LmFjdGlvblN0YXRlKSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGVycm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguZXJyb3IpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4geC5yZXN1bHQpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVzdWx0IHdoZW4gdGhlIEFjdGlvblN0YXRlIGJlY29tZXMgc3VjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQYWlyJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCAoeCkgPT4gKHsgdmFsdWU6IHgudmFsdWUsIHJlc3VsdDogeC5yZXN1bHQgfSBhcyBEYnhBY3Rpb25TdWNjZXNzUGFpcjxULCBPPikpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBjdXJyZW50bHkgaW4gYSBzdWNjZXNzIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNTdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEJvb2xlYW4oKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlJFU09MVkVEKTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxvYWRpbmcgc3RhdGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5hZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBsb2FkaW5nU3RhdGVGb3JBY3Rpb25Db250ZXh0U3RhdGU8Tz4oeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVycm9ycyBzaW5jZSBsYXN0IHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQgPSB0aGlzLmlzU3VjY2VzcyQucGlwZShcbiAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZXJyb3IkLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2NhbkNvdW50KCksIHN0YXJ0V2l0aCgwKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGF0ZSBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuVHJpZ2dlciQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChjYW5UcmlnZ2VyQWN0aW9uKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlIHRoYXQgbWFwcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGlzIG1vZGlmaWVkIGFuZCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBVcGRhdGVzIGV2ZXJ5IHN0YXRlIHVwZGF0ZSBpbnN0ZWFkIG9mIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcih4KSwgc2hhcmVSZXBsYXkoMSkpKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgY2FuIGJlIHRyaWdnZXJlZCBhbmQgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQgPSB0aGlzLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBBZGRzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleT86IHZvaWQgfCBEYnhBY3Rpb25EaXNhYmxlZEtleSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkaXNhYmxlZDogQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eS5yZW1vdmUoc3RhdGUuZGlzYWJsZWQsIChrZXkgYXMgc3RyaW5nKSA/PyBERUZBVUxUX0FDVElPTl9ESVNBQkxFRF9LRVkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBzZXRJc01vZGlmaWVkID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaXNNb2RpZmllZDogdm9pZCB8IGJvb2xlYW4pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYWN0aW9uU3RhdGU6IHN0YXRlLmFjdGlvblN0YXRlID09PSBEYnhBY3Rpb25TdGF0ZS5SRVNPTFZFRCA/IERieEFjdGlvblN0YXRlLklETEUgOiBzdGF0ZS5hY3Rpb25TdGF0ZSwgLy8gU2V0IHRvIGlkbGUgZnJvbSBzdWNjZXNzLlxuICAgIGlzTW9kaWZpZWQ6IChpc01vZGlmaWVkIGFzIGJvb2xlYW4pID8/IHRydWVcbiAgfSkpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYWN0aW9uIGlmIHRoZSBzdGF0ZSBpcyBjdXJyZW50bHkgbm90IGlkbGUuIFRoZSBjdXJyZW50IHN0YXRlIGlzIGNsZWFyZWQsIGJ1dCB0aGUgZXJyb3IgaXMgcmV0YWluZWQgKGFzIHdlIG1heSBuZWVkIHRoZSBlcnJvciBmcm9tIHRoZSBwcmV2aW91cyBhdHRlbXB0KS5cbiAgICpcbiAgICogV2lsbCBub3QgZmlyZSBpZiB0aGUgYWN0aW9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlciA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+IChjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlKSA/IHsgaXNNb2RpZmllZDogc3RhdGUuaXNNb2RpZmllZCwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlRSSUdHRVJFRCwgZXJyb3I6IHN0YXRlLmVycm9yLCB2YWx1ZTogdW5kZWZpbmVkIH0gOiBzdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB2YWx1ZSwgc2V0dGluZyB2YWx1ZSByZWFkeS4gVGhlIGN1cnJlbnQgcmVzdWx0IGlzIGNsZWFyZWQuXG4gICAqL1xuICByZWFkb25seSByZWFkeVZhbHVlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdmFsdWU6IFQpID0+IChjYW5SZWFkeVZhbHVlKHN0YXRlKSA/IHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgdmFsdWUsIHJlc3VsdDogdW5kZWZpbmVkIH0gOiBzdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBOb3RpZnlzIHRoZSBjb250ZXh0IHRoYXQgdGhlIGFjdGlvbiBpcyBpbiBwcm9ncmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0V29ya2luZyA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+ICh7IC4uLnN0YXRlLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuV09SS0lORyB9KSk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHJlamVjdGlvbiBvZiB0aGUgYWN0aW9uLiBUaGUgdmFsdWUgaXMgY2xlYXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlamVjdCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVycm9yPzogTWF5YmU8UmVhZGFibGVFcnJvcj4pID0+ICh7XG4gICAgaXNNb2RpZmllZDogc3RhdGUuaXNNb2RpZmllZCxcbiAgICBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsXG4gICAgZXJyb3IsXG4gICAgZXJyb3JDb3VudDogKHN0YXRlLmVycm9yQ291bnQgPz8gMCkgKyAxLFxuICAgIGRpc2FibGVkOiBzdGF0ZS5kaXNhYmxlZFxuICB9KSk7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHN0YXRlIHRvIHN1Y2Nlc3MsIGFuZCBvcHRpb25hbGx5IHNldHMgYSByZXN1bHQuXG4gICAqXG4gICAqIENsZWFycyBtb2RpZmllZCBzdGF0ZSwgYW5kIGFueSBlcnJvcnMuXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcmVzdWx0PzogTWF5YmU8Tz4pID0+ICh7IGlzTW9kaWZpZWQ6IGZhbHNlLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQsIHZhbHVlOiBzdGF0ZS52YWx1ZSwgcmVzdWx0LCBlcnJvcjogdW5kZWZpbmVkLCBkaXNhYmxlZDogc3RhdGUuZGlzYWJsZWQgfSkpO1xuXG4gIC8qKlxuICAgKiBDb21wbGV0ZWx5IHJlc2V0cyB0aGUgc3RvcmUuXG4gICAqL1xuICByZWFkb25seSByZXNldCA9IHRoaXMudXBkYXRlcigoKSA9PiAoeyAuLi5JTklUSUFMX1NUQVRFIH0gYXMgQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSk7XG5cbiAgLy8gTUFSSzogVXRpbGl0eVxuICBhZnRlckRpc3RpbmN0Qm9vbGVhbihmcm9tU3RhdGU6IChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+KSA9PiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IGZyb21TdGF0ZSh4KSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlPFg+KGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSwgZnJvbVN0YXRlOiAoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPikgPT4gWCk6IE9ic2VydmFibGU8WD4ge1xuICAgIHJldHVybiB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZUNoYW5nZSgpLnBpcGUoXG4gICAgICBmaWx0ZXIoKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IGFjdGlvblN0YXRlKSwgLy8gT25seSBwaXBlIHdoZW4gdGhlIG5ldyBhY3Rpb24gc3RhdGUgbWF0Y2hlcy5cbiAgICAgIG1hcCgoeCkgPT4gZnJvbVN0YXRlKHgpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIGFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiBbeCwgeC5hY3Rpb25TdGF0ZV0gYXMgW0FjdGlvbkNvbnRleHRTdGF0ZSwgRGJ4QWN0aW9uU3RhdGVdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5bMV0gPT09IGI/LlsxXSksIC8vIEZpbHRlciBvdXQgd2hlbiB0aGUgc3RhdGUgcmVtYWlucyB0aGUgc2FtZS5cbiAgICAgIG1hcCgoeCkgPT4geFswXSBhcyBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdExvYWRpbmdTdGF0ZVR5cGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gW3gsIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25Db250ZXh0U3RhdGUoeCldIGFzIFtBY3Rpb25Db250ZXh0U3RhdGUsIExvYWRpbmdTdGF0ZVR5cGVdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5bMV0gPT09IGI/LlsxXSksIC8vIEZpbHRlciBvdXQgd2hlbiB0aGUgbG9hZGluZyBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKCh4KSA9PiB4WzBdIGFzIEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPiksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICAvLyBNQVJLOiBDbGVhbnVwXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIFdhaXQgZm9yIGFueSBhY3Rpb25zIHRvIGNvbXBsZXRlIGJlZm9yZSBkZXN0cm95aW5nLlxuICAgIHRoaXMubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9LCAyMDAwKTtcbiAgfVxufVxuIl19
@@ -62,12 +62,18 @@ export class DbxActionContextStoreSourceInstance {
62
62
  get success$() {
63
63
  return this.pipeStore((x) => x.success$);
64
64
  }
65
+ get successPair$() {
66
+ return this.pipeStore((x) => x.successPair$);
67
+ }
65
68
  get error$() {
66
69
  return this.pipeStore((x) => x.error$);
67
70
  }
68
71
  get rejected$() {
69
72
  return this.pipeStore((x) => x.rejected$);
70
73
  }
74
+ get rejectedPair$() {
75
+ return this.pipeStore((x) => x.rejectedPair$);
76
+ }
71
77
  get isModified$() {
72
78
  return this.pipeStore((x) => x.isModified$);
73
79
  }
@@ -138,4 +144,4 @@ export class DbxActionContextStoreSourceInstance {
138
144
  this.useStore((x) => x.reset());
139
145
  }
140
146
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGVBQWUsQ0FBQztBQUtyRjs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGlDQUE0RCxTQUFRLHdCQUE4QjtDQUFHO0FBRTNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBTyxHQUFnRDtJQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGVBQWUsQ0FBd0MsTUFBc0MsRUFBRSxNQUF3QztJQUNySixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQTJCLE1BQXNDLEVBQUUsS0FBbUM7SUFDbEksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW1DO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWhCLE9BQU8sQ0FBaUM7SUFFekQsWUFBWSxNQUFzQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIs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QUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0LCBzd2l0Y2hNYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9ja1NldCwgZmlsdGVyTWF5YmUsIExvYWRpbmdTdGF0ZSwgTG9hZGluZ1N0YXRlVHlwZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUsIE1heWJlLCBSZWFkYWJsZUVycm9yIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RhdGUsIEFjdGlvbkNvbnRleHRTdG9yZSB9IGZyb20gJy4vYWN0aW9uLnN0b3JlJztcbmltcG9ydCB7IERieEFjdGlvbkRpc2FibGVkS2V5LCBEYnhBY3Rpb25TdGF0ZSB9IGZyb20gJy4vYWN0aW9uJztcblxuLyoqXG4gKiBTb3VyY2UgdGhhdCBwcm92aWRlcyBhIEFjdGlvbkNvbnRleHRTdG9yZSBvYnNlcnZhYmxlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4ge1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSByZWZlcmVuY2luZyB0aGUgQWN0aW9uQ29udGV4dFN0b3JlLlxuICAgKlxuICAgKiBUaGlzIG9ic2VydmFibGUgYnkgZGVzaWduIGlzIHByZS1maWx0ZXJlZCB0byBub3QgcmV0dXJuIG51bGwgdmFsdWVzLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgc3RvcmUkOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj47XG59XG5cbi8qKlxuICogU2Vjb25kYXJ5IHNvdXJjZS4gVXNlZCBieSBEYnhBY3Rpb25Db250ZXh0Q29tcG9uZW50IHRvIGZpbmQgc2Vjb25kYXJ5IHNvdXJjZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWNvbmRhcnlBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiBleHRlbmRzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiB7fVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dFN0b3JlU291cmNlUGlwZTxULCBPPihvYnM6IE9ic2VydmFibGU8TWF5YmU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+Pj4pOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG59XG5cbmV4cG9ydCB0eXBlIFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+ID0gKHN0b3JlOiBBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4pID0+IE9ic2VydmFibGU8Uj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwaXBlQWN0aW9uU3RvcmU8UiA9IHVua25vd24sIFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4oc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgcmV0dXJuIHNvdXJjZS5zdG9yZSQucGlwZShzd2l0Y2hNYXAocGlwZUZuKSk7XG59XG5cbmV4cG9ydCB0eXBlIFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4gPSAoc3RvcmU6IEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPikgPT4gdm9pZDtcblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3Igc3Vic2NyaWJpbmcgdG8gdGhlIGlucHV0IHNvdXJjZSBvbmNlIGFuZCB1c2luZyB0aGUgcHJvdmlkZWQgc3RvcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBY3Rpb25TdG9yZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+KHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCB1c2VGbjogVXNlQWN0aW9uU3RvcmVGdW5jdGlvbjxULCBPPik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiBzb3VyY2Uuc3RvcmUkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKHVzZUZuKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgd3JhcHMgYSBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGltcGxlbWVudHMgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+LCBEZXN0cm95YWJsZSB7XG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+O1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+KSB7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU291cmNlIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuX3NvdXJjZSA9IHNvdXJjZTtcbiAgfVxuXG4gIGdldCBzb3VyY2UoKTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+IHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrU2V0LmRlc3Ryb3lPbk5leHRVbmxvY2soKTtcbiAgfVxuXG4gIC8vIE1BUks6IFN0b3JlXG4gIGdldCBzdG9yZSQoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uuc3RvcmUkO1xuICB9XG5cbiAgcGlwZVN0b3JlPFI+KHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gcGlwZUFjdGlvblN0b3JlKHRoaXMuc291cmNlLCBwaXBlRm4pO1xuICB9XG5cbiAgdXNlU3RvcmUodXNlRm46IFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4pOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB1c2VBY3Rpb25TdG9yZSh0aGlzLnNvdXJjZSwgdXNlRm4pO1xuICB9XG5cbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdGF0ZSQpO1xuICB9XG5cbiAgZ2V0IHRyaWdnZXJlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXJlZCQpO1xuICB9XG5cbiAgZ2V0IHZhbHVlUmVhZHkkKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC52YWx1ZVJlYWR5JCk7XG4gIH1cblxuICBnZXQgc3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxNYXliZTxPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8TWF5YmU8UmVhZGFibGVFcnJvcj4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguZXJyb3IkKTtcbiAgfVxuXG4gIGdldCByZWplY3RlZCQoKTogT2JzZXJ2YWJsZTxNYXliZTxSZWFkYWJsZUVycm9yPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5yZWplY3RlZCQpO1xuICB9XG5cbiAgZ2V0IGlzTW9kaWZpZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkJCk7XG4gIH1cblxuICBnZXQgY2FuVHJpZ2dlciQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmNhblRyaWdnZXIkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCk7XG4gIH1cblxuICBnZXQgYWN0aW9uU3RhdGUkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguYWN0aW9uU3RhdGUkKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nU3RhdGUkKCk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmxvYWRpbmdTdGF0ZSQpO1xuICB9XG5cbiAgZ2V0IGxvYWRpbmdTdGF0ZVR5cGUkKCk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5sb2FkaW5nU3RhdGVUeXBlJCk7XG4gIH1cblxuICBnZXQgaXNXb3JraW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNXb3JraW5nJCk7XG4gIH1cblxuICBnZXQgaXNTdWNjZXNzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNTdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWRLZXlzJCgpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmRpc2FibGVkS2V5cyQpO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc0Rpc2FibGVkJCk7XG4gIH1cblxuICBnZXQgZXJyb3JDb3VudFNpbmNlTGFzdFN1Y2Nlc3MkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCk7XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlKGtleT86IERieEFjdGlvbkRpc2FibGVkS2V5LCBlbmFibGUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKGtleSwgIWVuYWJsZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZShrZXk/OiBEYnhBY3Rpb25EaXNhYmxlZEtleSwgZGlzYWJsZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiAoZGlzYWJsZSA/IHguZGlzYWJsZShrZXkpIDogeC5lbmFibGUoa2V5KSkpO1xuICB9XG5cbiAgcHVibGljIHNldElzTW9kaWZpZWQoaXNNb2RpZmllZD86IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTx2b2lkPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc2V0SXNNb2RpZmllZChpc01vZGlmaWVkKSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcigpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXIoKSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcldpdGhWYWx1ZSh2YWx1ZTogVCB8IE9ic2VydmFibGU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB7XG4gICAgICB4LnRyaWdnZXIoKTtcbiAgICAgIHgucmVhZHlWYWx1ZSh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZHlWYWx1ZSh2YWx1ZTogVCB8IE9ic2VydmFibGU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlYWR5VmFsdWUodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFdvcmtpbmcoKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zdGFydFdvcmtpbmcoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVqZWN0KGVycm9yOiBNYXliZTxSZWFkYWJsZUVycm9yIHwgT2JzZXJ2YWJsZTxSZWFkYWJsZUVycm9yPj4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlamVjdChlcnJvcikpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUodmFsdWU6IE8gfCBPYnNlcnZhYmxlPE8+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZXNvbHZlKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZXNldCgpKTtcbiAgfVxufVxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGVBQWUsQ0FBQztBQUtyRjs7R0FFRztBQUNILE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGlDQUE0RCxTQUFRLHdCQUE4QjtDQUFHO0FBRTNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBTyxHQUFnRDtJQUNqRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGVBQWUsQ0FBd0MsTUFBc0MsRUFBRSxNQUF3QztJQUNySixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQTJCLE1BQXNDLEVBQUUsS0FBbUM7SUFDbEksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW1DO0lBQ3JDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWhCLE9BQU8sQ0FBaUM7SUFFekQsWUFBWSxNQUFzQztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIs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LE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBd0I7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyc3QsIHN3aXRjaE1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NrU2V0LCBmaWx0ZXJNYXliZSwgTG9hZGluZ1N0YXRlLCBMb2FkaW5nU3RhdGVUeXBlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSwgTWF5YmUsIFJlYWRhYmxlRXJyb3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHRTdGF0ZSwgQWN0aW9uQ29udGV4dFN0b3JlIH0gZnJvbSAnLi9hY3Rpb24uc3RvcmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uRGlzYWJsZWRLZXksIERieEFjdGlvblJlamVjdGVkUGFpciwgRGJ4QWN0aW9uU3RhdGUsIERieEFjdGlvblN1Y2Nlc3NQYWlyIH0gZnJvbSAnLi9hY3Rpb24nO1xuXG4vKipcbiAqIFNvdXJjZSB0aGF0IHByb3ZpZGVzIGEgQWN0aW9uQ29udGV4dFN0b3JlIG9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCA9IHVua25vd24sIE8gPSB1bmtub3duPiB7XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHJlZmVyZW5jaW5nIHRoZSBBY3Rpb25Db250ZXh0U3RvcmUuXG4gICAqXG4gICAqIFRoaXMgb2JzZXJ2YWJsZSBieSBkZXNpZ24gaXMgcHJlLWZpbHRlcmVkIHRvIG5vdCByZXR1cm4gbnVsbCB2YWx1ZXMuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBzdG9yZSQ6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+Pjtcbn1cblxuLyoqXG4gKiBTZWNvbmRhcnkgc291cmNlLiBVc2VkIGJ5IERieEFjdGlvbkNvbnRleHRDb21wb25lbnQgdG8gZmluZCBzZWNvbmRhcnkgc291cmNlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlY29uZGFyeUFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxUID0gdW5rbm93biwgTyA9IHVua25vd24+IGV4dGVuZHMgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+IHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VQaXBlPFQsIE8+KG9iczogT2JzZXJ2YWJsZTxNYXliZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+Pik6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+PiB7XG4gIHJldHVybiBvYnMucGlwZShmaWx0ZXJNYXliZSgpKTtcbn1cblxuZXhwb3J0IHR5cGUgUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4gPSAoc3RvcmU6IEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPikgPT4gT2JzZXJ2YWJsZTxSPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBpcGVBY3Rpb25TdG9yZTxSID0gdW5rbm93biwgVCA9IHVua25vd24sIE8gPSB1bmtub3duPihzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPiwgcGlwZUZuOiBQaXBlQWN0aW9uU3RvcmVGdW5jdGlvbjxSLCBULCBPPik6IE9ic2VydmFibGU8Uj4ge1xuICByZXR1cm4gc291cmNlLnN0b3JlJC5waXBlKHN3aXRjaE1hcChwaXBlRm4pKTtcbn1cblxuZXhwb3J0IHR5cGUgVXNlQWN0aW9uU3RvcmVGdW5jdGlvbjxULCBPPiA9IChzdG9yZTogQWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+KSA9PiB2b2lkO1xuXG4vKipcbiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBzdWJzY3JpYmluZyB0byB0aGUgaW5wdXQgc291cmNlIG9uY2UgYW5kIHVzaW5nIHRoZSBwcm92aWRlZCBzdG9yZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFjdGlvblN0b3JlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4oc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIHVzZUZuOiBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+KTogU3Vic2NyaXB0aW9uIHtcbiAgcmV0dXJuIHNvdXJjZS5zdG9yZSQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUodXNlRm4pO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCB3cmFwcyBhIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQgPSB1bmtub3duLCBPID0gdW5rbm93bj4gaW1wbGVtZW50cyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIERlc3Ryb3lhYmxlIHtcbiAgcmVhZG9ubHkgbG9ja1NldCA9IG5ldyBMb2NrU2V0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz47XG5cbiAgY29uc3RydWN0b3Ioc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4pIHtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb3VyY2UgaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc291cmNlID0gc291cmNlO1xuICB9XG5cbiAgZ2V0IHNvdXJjZSgpOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4ge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2tTZXQuZGVzdHJveU9uTmV4dFVubG9jaygpO1xuICB9XG5cbiAgLy8gTUFSSzogU3RvcmVcbiAgZ2V0IHN0b3JlJCgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZS5zdG9yZSQ7XG4gIH1cblxuICBwaXBlU3RvcmU8Uj4ocGlwZUZuOiBQaXBlQWN0aW9uU3RvcmVGdW5jdGlvbjxSLCBULCBPPik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiBwaXBlQWN0aW9uU3RvcmUodGhpcy5zb3VyY2UsIHBpcGVGbik7XG4gIH1cblxuICB1c2VTdG9yZSh1c2VGbjogVXNlQWN0aW9uU3RvcmVGdW5jdGlvbjxULCBPPik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHVzZUFjdGlvblN0b3JlKHRoaXMuc291cmNlLCB1c2VGbik7XG4gIH1cblxuICBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnN0YXRlJCk7XG4gIH1cblxuICBnZXQgdHJpZ2dlcmVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgudHJpZ2dlcmVkJCk7XG4gIH1cblxuICBnZXQgdmFsdWVSZWFkeSQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnZhbHVlUmVhZHkkKTtcbiAgfVxuXG4gIGdldCBzdWNjZXNzJCgpOiBPYnNlcnZhYmxlPE1heWJlPE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnN1Y2Nlc3MkKTtcbiAgfVxuXG4gIGdldCBzdWNjZXNzUGFpciQoKTogT2JzZXJ2YWJsZTxEYnhBY3Rpb25TdWNjZXNzUGFpcjxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5zdWNjZXNzUGFpciQpO1xuICB9XG5cbiAgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPE1heWJlPFJlYWRhYmxlRXJyb3I+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmVycm9yJCk7XG4gIH1cblxuICBnZXQgcmVqZWN0ZWQkKCk6IE9ic2VydmFibGU8TWF5YmU8UmVhZGFibGVFcnJvcj4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHgucmVqZWN0ZWQkKTtcbiAgfVxuXG4gIGdldCByZWplY3RlZFBhaXIkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uUmVqZWN0ZWRQYWlyPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LnJlamVjdGVkUGFpciQpO1xuICB9XG5cbiAgZ2V0IGlzTW9kaWZpZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkJCk7XG4gIH1cblxuICBnZXQgY2FuVHJpZ2dlciQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmNhblRyaWdnZXIkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc01vZGlmaWVkQW5kQ2FuVHJpZ2dlclVwZGF0ZXMkKTtcbiAgfVxuXG4gIGdldCBpc01vZGlmaWVkQW5kQ2FuVHJpZ2dlciQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCk7XG4gIH1cblxuICBnZXQgYWN0aW9uU3RhdGUkKCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguYWN0aW9uU3RhdGUkKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nU3RhdGUkKCk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPE8+PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmxvYWRpbmdTdGF0ZSQpO1xuICB9XG5cbiAgZ2V0IGxvYWRpbmdTdGF0ZVR5cGUkKCk6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5sb2FkaW5nU3RhdGVUeXBlJCk7XG4gIH1cblxuICBnZXQgaXNXb3JraW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNXb3JraW5nJCk7XG4gIH1cblxuICBnZXQgaXNTdWNjZXNzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoKHgpID0+IHguaXNTdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgZGlzYWJsZWRLZXlzJCgpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmRpc2FibGVkS2V5cyQpO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSgoeCkgPT4geC5pc0Rpc2FibGVkJCk7XG4gIH1cblxuICBnZXQgZXJyb3JDb3VudFNpbmNlTGFzdFN1Y2Nlc3MkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKCh4KSA9PiB4LmVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCk7XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlKGtleT86IERieEFjdGlvbkRpc2FibGVkS2V5LCBlbmFibGUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKGtleSwgIWVuYWJsZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZShrZXk/OiBEYnhBY3Rpb25EaXNhYmxlZEtleSwgZGlzYWJsZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiAoZGlzYWJsZSA/IHguZGlzYWJsZShrZXkpIDogeC5lbmFibGUoa2V5KSkpO1xuICB9XG5cbiAgcHVibGljIHNldElzTW9kaWZpZWQoaXNNb2RpZmllZD86IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTx2b2lkPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc2V0SXNNb2RpZmllZChpc01vZGlmaWVkKSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcigpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXIoKSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcldpdGhWYWx1ZSh2YWx1ZTogVCB8IE9ic2VydmFibGU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB7XG4gICAgICB4LnRyaWdnZXIoKTtcbiAgICAgIHgucmVhZHlWYWx1ZSh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZHlWYWx1ZSh2YWx1ZTogVCB8IE9ic2VydmFibGU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlYWR5VmFsdWUodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFdvcmtpbmcoKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5zdGFydFdvcmtpbmcoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVqZWN0KGVycm9yOiBNYXliZTxSZWFkYWJsZUVycm9yIHwgT2JzZXJ2YWJsZTxSZWFkYWJsZUVycm9yPj4pOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnJlamVjdChlcnJvcikpO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUodmFsdWU6IE8gfCBPYnNlcnZhYmxlPE8+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZXNvbHZlKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZXNldCgpKTtcbiAgfVxufVxuIl19
@@ -113,12 +113,18 @@ class DbxActionContextStoreSourceInstance {
113
113
  get success$() {
114
114
  return this.pipeStore((x) => x.success$);
115
115
  }
116
+ get successPair$() {
117
+ return this.pipeStore((x) => x.successPair$);
118
+ }
116
119
  get error$() {
117
120
  return this.pipeStore((x) => x.error$);
118
121
  }
119
122
  get rejected$() {
120
123
  return this.pipeStore((x) => x.rejected$);
121
124
  }
125
+ get rejectedPair$() {
126
+ return this.pipeStore((x) => x.rejectedPair$);
127
+ }
122
128
  get isModified$() {
123
129
  return this.pipeStore((x) => x.isModified$);
124
130
  }
@@ -575,6 +581,10 @@ class ActionContextStore extends ComponentStore {
575
581
  * Returns the current disabled reasons/keys.
576
582
  */
577
583
  disabledKeys$ = this.state$.pipe(map((x) => [...(x.disabled ?? [])]), distinctUntilChanged(), shareReplay(1));
584
+ /**
585
+ * Current value of the state.
586
+ */
587
+ currentValue$ = this.state$.pipe(map((x) => x.value));
578
588
  /**
579
589
  * Maps the current state to true or not when the action state changes to/from disabled.
580
590
  */
@@ -595,6 +605,10 @@ class ActionContextStore extends ComponentStore {
595
605
  * Pipes the error on the rejection state.
596
606
  */
597
607
  rejected$ = this.afterDistinctActionState(DbxActionState.REJECTED, (x) => x.error);
608
+ /**
609
+ * Pipes the result when the ActionState becomes rejected.
610
+ */
611
+ rejectedPair$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => ({ value: x.value, error: x.error }));
598
612
  /**
599
613
  * Pipes the result when the ActionState becomes working.
600
614
  */
@@ -611,6 +625,10 @@ class ActionContextStore extends ComponentStore {
611
625
  * Pipes the result when the ActionState becomes success.
612
626
  */
613
627
  success$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => x.result);
628
+ /**
629
+ * Pipes the result when the ActionState becomes success.
630
+ */
631
+ successPair$ = this.afterDistinctActionState(DbxActionState.RESOLVED, (x) => ({ value: x.value, result: x.result }));
614
632
  /**
615
633
  * Whether or not it is currently in a success state.
616
634
  */