@dereekb/dbx-core 12.5.9 → 12.6.0

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.
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionAutoTriggerDirective, DbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective, DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective, DbxActionDisabledOnSuccessDirective, DbxActionPreSuccessDirective, DbxActionIdleDirective, DbxActionHandlerValueDirective } from './directive';
2
+ import { DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionAutoTriggerDirective, DbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective, DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective, DbxActionDisabledOnSuccessDirective, DbxActionPreSuccessDirective, DbxActionIdleDirective, DbxActionHandlerValueDirective, DbxActionErrorHandlerDirective } from './directive';
3
3
  import * as i0 from "@angular/core";
4
4
  const importsAndExports = [
5
5
  DbxActionDirective,
@@ -22,6 +22,7 @@ const importsAndExports = [
22
22
  DbxActionPreSuccessDirective,
23
23
  DbxActionHasSuccessDirective,
24
24
  DbxActionSuccessHandlerDirective,
25
+ DbxActionErrorHandlerDirective,
25
26
  DbxActionIsWorkingDirective
26
27
  ];
27
28
  /**
@@ -49,6 +50,7 @@ export class DbxCoreActionModule {
49
50
  DbxActionPreSuccessDirective,
50
51
  DbxActionHasSuccessDirective,
51
52
  DbxActionSuccessHandlerDirective,
53
+ DbxActionErrorHandlerDirective,
52
54
  DbxActionIsWorkingDirective], exports: [DbxActionDirective,
53
55
  DbxActionContextMapDirective,
54
56
  DbxActionFromMapDirective,
@@ -69,6 +71,7 @@ export class DbxCoreActionModule {
69
71
  DbxActionPreSuccessDirective,
70
72
  DbxActionHasSuccessDirective,
71
73
  DbxActionSuccessHandlerDirective,
74
+ DbxActionErrorHandlerDirective,
72
75
  DbxActionIsWorkingDirective] });
73
76
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxCoreActionModule });
74
77
  }
@@ -79,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
79
82
  exports: importsAndExports
80
83
  }]
81
84
  }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLG1DQUFtQyxFQUNuQyx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixpQ0FBaUMsRUFDakMsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLCtCQUErQixFQUMvQiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLHNCQUFzQixFQUN0Qiw4QkFBOEIsRUFDL0IsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsa0JBQWtCO0lBQ2xCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLG1DQUFtQztJQUNuQyx3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLDhCQUE4QjtJQUM5QiwwQkFBMEI7SUFDMUIsbUNBQW1DO0lBQ25DLGlDQUFpQztJQUNqQyw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1Qix1QkFBdUI7SUFDdkIsK0JBQStCO0lBQy9CLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLGdDQUFnQztJQUNoQywyQkFBMkI7Q0FDNUIsQ0FBQztBQUVGOztHQUVHO0FBS0gsTUFBTSxPQUFPLG1CQUFtQjt3R0FBbkIsbUJBQW1CO3lHQUFuQixtQkFBbUIsWUE5QjlCLGtCQUFrQjtZQUNsQiw0QkFBNEI7WUFDNUIseUJBQXlCO1lBQ3pCLDJCQUEyQjtZQUMzQixtQ0FBbUM7WUFDbkMsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6Qiw4QkFBOEI7WUFDOUIsMEJBQTBCO1lBQzFCLG1DQUFtQztZQUNuQyxpQ0FBaUM7WUFDakMsNkJBQTZCO1lBQzdCLDZCQUE2QjtZQUM3Qiw0QkFBNEI7WUFDNUIsdUJBQXVCO1lBQ3ZCLCtCQUErQjtZQUMvQixzQkFBc0I7WUFDdEIsNEJBQTRCO1lBQzVCLDRCQUE0QjtZQUM1QixnQ0FBZ0M7WUFDaEMsMkJBQTJCLGFBcEIzQixrQkFBa0I7WUFDbEIsNEJBQTRCO1lBQzVCLHlCQUF5QjtZQUN6QiwyQkFBMkI7WUFDM0IsbUNBQW1DO1lBQ25DLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsOEJBQThCO1lBQzlCLDBCQUEwQjtZQUMxQixtQ0FBbUM7WUFDbkMsaUNBQWlDO1lBQ2pDLDZCQUE2QjtZQUM3Qiw2QkFBNkI7WUFDN0IsNEJBQTRCO1lBQzVCLHVCQUF1QjtZQUN2QiwrQkFBK0I7WUFDL0Isc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsZ0NBQWdDO1lBQ2hDLDJCQUEyQjt5R0FVaEIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLE9BQU8sRUFBRSxpQkFBaUI7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERieEFjdGlvbkRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uQ29udGV4dE1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRnJvbU1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uTWFwU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25NYXBXb3JraW5nRGlzYWJsZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25EaXNhYmxlZERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRW5mb3JjZU1vZGlmaWVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uVmFsdWVTdHJlYW1EaXJlY3RpdmUsXG4gIERieEFjdGlvbkF1dG9Nb2RpZnlEaXJlY3RpdmUsXG4gIERieEFjdGlvblZhbHVlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25Db250ZXh0TG9nZ2VyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYXNTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSXNXb3JraW5nRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25EaXNhYmxlZE9uU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uUHJlU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSWRsZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSGFuZGxlclZhbHVlRGlyZWN0aXZlXG59IGZyb20gJy4vZGlyZWN0aXZlJztcblxuY29uc3QgaW1wb3J0c0FuZEV4cG9ydHMgPSBbXG4gIERieEFjdGlvbkRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uQ29udGV4dE1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRnJvbU1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uTWFwU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25NYXBXb3JraW5nRGlzYWJsZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyVmFsdWVEaXJlY3RpdmUsXG4gIERieEFjdGlvbkRpc2FibGVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25EaXNhYmxlZE9uU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRW5mb3JjZU1vZGlmaWVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uVmFsdWVTdHJlYW1EaXJlY3RpdmUsXG4gIERieEFjdGlvbkF1dG9Nb2RpZnlEaXJlY3RpdmUsXG4gIERieEFjdGlvblZhbHVlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25Db250ZXh0TG9nZ2VyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25JZGxlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25QcmVTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYXNTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSXNXb3JraW5nRGlyZWN0aXZlXG5dO1xuXG4vKipcbiAqIENvbnRhaW5zIGFsbCBiYXNlIERieEFjdGlvbiBjb21wb25lbnRzLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBpbXBvcnRzQW5kRXhwb3J0cyxcbiAgZXhwb3J0czogaW1wb3J0c0FuZEV4cG9ydHNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Q29yZUFjdGlvbk1vZHVsZSB7fVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLG1DQUFtQyxFQUNuQyx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixpQ0FBaUMsRUFDakMsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLCtCQUErQixFQUMvQiw0QkFBNEIsRUFDNUIsZ0NBQWdDLEVBQ2hDLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLHNCQUFzQixFQUN0Qiw4QkFBOEIsRUFDOUIsOEJBQThCLEVBQy9CLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLGtCQUFrQjtJQUNsQiw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQixtQ0FBbUM7SUFDbkMsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qiw4QkFBOEI7SUFDOUIsMEJBQTBCO0lBQzFCLG1DQUFtQztJQUNuQyxpQ0FBaUM7SUFDakMsNkJBQTZCO0lBQzdCLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFDNUIsdUJBQXVCO0lBQ3ZCLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsOEJBQThCO0lBQzlCLDJCQUEyQjtDQUM1QixDQUFDO0FBRUY7O0dBRUc7QUFLSCxNQUFNLE9BQU8sbUJBQW1CO3dHQUFuQixtQkFBbUI7eUdBQW5CLG1CQUFtQixZQS9COUIsa0JBQWtCO1lBQ2xCLDRCQUE0QjtZQUM1Qix5QkFBeUI7WUFDekIsMkJBQTJCO1lBQzNCLG1DQUFtQztZQUNuQyx3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QiwwQkFBMEI7WUFDMUIsbUNBQW1DO1lBQ25DLGlDQUFpQztZQUNqQyw2QkFBNkI7WUFDN0IsNkJBQTZCO1lBQzdCLDRCQUE0QjtZQUM1Qix1QkFBdUI7WUFDdkIsK0JBQStCO1lBQy9CLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsNEJBQTRCO1lBQzVCLGdDQUFnQztZQUNoQyw4QkFBOEI7WUFDOUIsMkJBQTJCLGFBckIzQixrQkFBa0I7WUFDbEIsNEJBQTRCO1lBQzVCLHlCQUF5QjtZQUN6QiwyQkFBMkI7WUFDM0IsbUNBQW1DO1lBQ25DLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsOEJBQThCO1lBQzlCLDBCQUEwQjtZQUMxQixtQ0FBbUM7WUFDbkMsaUNBQWlDO1lBQ2pDLDZCQUE2QjtZQUM3Qiw2QkFBNkI7WUFDN0IsNEJBQTRCO1lBQzVCLHVCQUF1QjtZQUN2QiwrQkFBK0I7WUFDL0Isc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsZ0NBQWdDO1lBQ2hDLDhCQUE4QjtZQUM5QiwyQkFBMkI7eUdBVWhCLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixPQUFPLEVBQUUsaUJBQWlCO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEYnhBY3Rpb25EaXJlY3RpdmUsXG4gIERieEFjdGlvbkNvbnRleHRNYXBEaXJlY3RpdmUsXG4gIERieEFjdGlvbkZyb21NYXBEaXJlY3RpdmUsXG4gIERieEFjdGlvbk1hcFNvdXJjZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uTWFwV29ya2luZ0Rpc2FibGVEaXJlY3RpdmUsXG4gIERieEFjdGlvblNvdXJjZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSGFuZGxlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRGlzYWJsZWREaXJlY3RpdmUsXG4gIERieEFjdGlvbkVuZm9yY2VNb2RpZmllZERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uQXV0b1RyaWdnZXJEaXJlY3RpdmUsXG4gIERieEFjdGlvblZhbHVlU3RyZWFtRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25BdXRvTW9kaWZ5RGlyZWN0aXZlLFxuICBEYnhBY3Rpb25WYWx1ZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uQ29udGV4dExvZ2dlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uSGFzU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uU3VjY2Vzc0hhbmRsZXJEaXJlY3RpdmUsXG4gIERieEFjdGlvbklzV29ya2luZ0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRGlzYWJsZWRPblN1Y2Nlc3NEaXJlY3RpdmUsXG4gIERieEFjdGlvblByZVN1Y2Nlc3NEaXJlY3RpdmUsXG4gIERieEFjdGlvbklkbGVEaXJlY3RpdmUsXG4gIERieEFjdGlvbkhhbmRsZXJWYWx1ZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRXJyb3JIYW5kbGVyRGlyZWN0aXZlXG59IGZyb20gJy4vZGlyZWN0aXZlJztcblxuY29uc3QgaW1wb3J0c0FuZEV4cG9ydHMgPSBbXG4gIERieEFjdGlvbkRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uQ29udGV4dE1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRnJvbU1hcERpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uTWFwU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25NYXBXb3JraW5nRGlzYWJsZURpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uU291cmNlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYW5kbGVyVmFsdWVEaXJlY3RpdmUsXG4gIERieEFjdGlvbkRpc2FibGVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25EaXNhYmxlZE9uU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRW5mb3JjZU1vZGlmaWVkRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uVmFsdWVTdHJlYW1EaXJlY3RpdmUsXG4gIERieEFjdGlvbkF1dG9Nb2RpZnlEaXJlY3RpdmUsXG4gIERieEFjdGlvblZhbHVlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25Db250ZXh0TG9nZ2VyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25JZGxlRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25QcmVTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25IYXNTdWNjZXNzRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckRpcmVjdGl2ZSxcbiAgRGJ4QWN0aW9uRXJyb3JIYW5kbGVyRGlyZWN0aXZlLFxuICBEYnhBY3Rpb25Jc1dvcmtpbmdEaXJlY3RpdmVcbl07XG5cbi8qKlxuICogQ29udGFpbnMgYWxsIGJhc2UgRGJ4QWN0aW9uIGNvbXBvbmVudHMuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGltcG9ydHNBbmRFeHBvcnRzLFxuICBleHBvcnRzOiBpbXBvcnRzQW5kRXhwb3J0c1xufSlcbmV4cG9ydCBjbGFzcyBEYnhDb3JlQWN0aW9uTW9kdWxlIHt9XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { map } from 'rxjs';
2
- import { isThrottled, unixTimeNumberForNow, DataDoesNotExistError, DataIsExpiredError, hasNonNullValue, splitJoinRemainder } from '@dereekb/util';
2
+ import { isThrottled, unixDateTimeSecondsNumberForNow, DataDoesNotExistError, DataIsExpiredError, hasNonNullValue, splitJoinRemainder } from '@dereekb/util';
3
3
  export class StringifySimpleStorageAccessorConverter {
4
4
  stringifyValue(value) {
5
5
  return JSON.stringify(value);
@@ -138,7 +138,7 @@ export class SimpleStorageAccessor {
138
138
  }
139
139
  buildStoredData(value) {
140
140
  return {
141
- storedAt: unixTimeNumberForNow(),
141
+ storedAt: unixDateTimeSecondsNumberForNow(),
142
142
  data: this.stringifyValue(value)
143
143
  };
144
144
  }
@@ -169,4 +169,4 @@ export class SimpleStorageAccessor {
169
169
  return this._delegate.stringifyValue(value);
170
170
  }
171
171
  }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBc0csZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0J0UCxNQUFNLE9BQU8sdUNBQXVDO0lBQ2xELGNBQWMsQ0FBQyxLQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0NBQW9DO0lBQzlCLFNBQVMsQ0FBb0M7SUFDN0MsVUFBVSxDQUFvQztJQUUvRCxZQUFZLFFBQTJDLEVBQUUsU0FBNEM7UUFDbkcsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxJ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QU8sQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixPQUFPLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtJQUNQLGNBQWMsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRVMsZUFBZSxDQUFDLFVBQWdDO1FBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxVQUFnQztRQUN6RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFRO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1Rocm90dGxlZCwgdW5peFRpbWVOdW1iZXJGb3JOb3csIERhdGFEb2VzTm90RXhpc3RFcnJvciwgRGF0YUlzRXhwaXJlZEVycm9yLCB0eXBlIFJlYWRTdG9yZWREYXRhLCB0eXBlIFN0b3JlZERhdGEsIHR5cGUgU3RvcmVkRGF0YVN0b3JhZ2VLZXksIHR5cGUgU3RvcmVkRGF0YVN0cmluZywgdHlwZSBNYXliZSwgaGFzTm9uTnVsbFZhbHVlLCBzcGxpdEpvaW5SZW1haW5kZXIgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHR5cGUgU3RvcmFnZUFjY2Vzc29yIH0gZnJvbSAnLi9zdG9yYWdlLmFjY2Vzc29yJztcblxuLy8gTUFSSzogU2ltcGxlU3RvcmFnZUFjY2Vzc29yXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiB7XG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgaW5wdXQgdmFsdWUgdG8gYSBzdHJpbmcuXG4gICAqL1xuICBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IFN0b3JlZERhdGFTdHJpbmc7XG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgZGF0YSBzdHJpbmcgaW50byBhIHZhbHVlLlxuICAgKi9cbiAgcGFyc2VWYWx1ZShkYXRhOiBTdG9yZWREYXRhU3RyaW5nKTogVDtcbn1cblxuLyoqXG4gKiBTaW1wbGVTdG9yYWdlQWNjZXNzb3IgZGVsZWdhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4gZXh0ZW5kcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4sIFN0b3JhZ2VBY2Nlc3NvcjxTdG9yZWREYXRhU3RyaW5nPiB7fVxuXG5leHBvcnQgY2xhc3MgU3RyaW5naWZ5U2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+IGltcGxlbWVudHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+IHtcbiAgc3RyaW5naWZ5VmFsdWUodmFsdWU6IFQpOiBTdG9yZWREYXRhU3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICB9XG5cbiAgcGFyc2VWYWx1ZShkYXRhOiBTdG9yZWREYXRhU3RyaW5nKTogVCB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZGF0YSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFdyYXBwZXJTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiBpbXBsZW1lbnRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsZWdhdGU6IFN0b3JhZ2VBY2Nlc3NvcjxTdG9yZWREYXRhU3RyaW5nPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udmVydGVyOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD47XG5cbiAgY29uc3RydWN0b3IoZGVsZWdhdGU6IFN0b3JhZ2VBY2Nlc3NvcjxTdG9yZWREYXRhU3RyaW5nPiwgY29udmVydGVyOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4pIHtcbiAgICB0aGlzLl9kZWxlZ2F0ZSA9IGRlbGVnYXRlO1xuICAgIHRoaXMuX2NvbnZlcnRlciA9IGNvbnZlcnRlcjtcbiAgfVxuXG4gIGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8TWF5YmU8U3RvcmVkRGF0YVN0cmluZz4+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0KGtleSk7XG4gIH1cblxuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBTdG9yZWREYXRhU3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnNldChrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5yZW1vdmUoa2V5KTtcbiAgfVxuXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmNsZWFyKCk7XG4gIH1cblxuICBhbGwocHJlZml4Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGwocHJlZml4KTtcbiAgfVxuXG4gIGFsbEtleXMocHJlZml4Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGxLZXlzKHByZWZpeCk7XG4gIH1cblxuICBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IFN0b3JlZERhdGFTdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb252ZXJ0ZXIuc3RyaW5naWZ5VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcGFyc2VWYWx1ZShkYXRhOiBTdG9yZWREYXRhU3RyaW5nKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRlci5wYXJzZVZhbHVlKGRhdGEpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnIHtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgS2V5IFByZWZpeFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcmVmaXgvdmFsdWUgc3BsaXR0ZXIuXG4gICAqL1xuICByZWFkb25seSBwcmVmaXhTcGxpdHRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIE51bWJlciBpbiBtaWxsaXNlY29uZHMgdGhhdCBvYmplY3RzIHN0b3JlZCB3aWxsIGV4cGlyZSBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGV4cGlyZXNJbj86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIENvbmZpZ3VyZWRTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcgZXh0ZW5kcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcge1xuICByZWFkb25seSBwcmVmaXhTcGxpdHRlcjogc3RyaW5nO1xuICByZWFkb25seSBmdWxsUHJlZml4OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4OiBzdHJpbmcsIHByZWZpeFNwbGl0dGVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKCFwcmVmaXhTcGxpdHRlcikge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdG9yYWdlIGtleSBwcmVmaXggc3BsaXR0ZXIuIE11c3QgYmUgZGVmaW5lZCBhbmQgbm90IGVtcHR5LicpOyAvLyBUT0RPKEZVVFVSRSk6IENvbnNpZGVyIGNoYW5naW5nIHRvIGEgY29uY3JldGUgZXJyb3IgdHlwZVxuICB9XG5cbiAgaWYgKCFpc1ZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXgsIHByZWZpeFNwbGl0dGVyKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdG9yYWdlIGtleSBwcmVmaXguJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeDogc3RyaW5nLCBwcmVmaXhTcGx0dGVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4ocHJlZml4ICYmIHByZWZpeC5pbmRleE9mKHByZWZpeFNwbHR0ZXIpID09PSAtMSk7XG59XG5cbi8qKlxuICogTGltaXRlZFN0b3JhZ2VBY2Nlc3NvciBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgYSBEZWxlZ2F0ZVxuICovXG5leHBvcnQgY2xhc3MgU2ltcGxlU3RvcmFnZUFjY2Vzc29yPFQ+IGltcGxlbWVudHMgU3RvcmFnZUFjY2Vzc29yPFQ+IHtcbiAgc3RhdGljIHJlYWRvbmx5IFBSRUZJWF9TUExJVFRFUiA9ICc6Oic7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsZWdhdGU6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NvbmZpZzogQ29uZmlndXJlZFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihkZWxlZ2F0ZTogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4sIGNvbmZpZzogU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnKSB7XG4gICAgY29uc3QgcHJlZml4ID0gY29uZmlnLnByZWZpeDtcbiAgICBjb25zdCBwcmVmaXhTcGxpdHRlciA9IGNvbmZpZy5wcmVmaXhTcGxpdHRlciA/PyBTaW1wbGVTdG9yYWdlQWNjZXNzb3IuUFJFRklYX1NQTElUVEVSO1xuXG4gICAgYXNzZXJ0VmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeCwgcHJlZml4U3BsaXR0ZXIpO1xuXG4gICAgY29uc3QgZnVsbFByZWZpeCA9IGAke3ByZWZpeH0ke3ByZWZpeFNwbGl0dGVyfWA7XG5cbiAgICB0aGlzLl9kZWxlZ2F0ZSA9IGRlbGVnYXRlO1xuICAgIHRoaXMuX2NvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIHByZWZpeFNwbGl0dGVyLFxuICAgICAgZnVsbFByZWZpeFxuICAgIH07XG4gIH1cblxuICBnZXQgZGVsZWdhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgLy8gTUFSSzogTGltaXRlZFN0b3JhZ2VBY2Nlc3NvclxuICBnZXQoaW5wdXRLZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5tYWtlU3RvcmFnZUtleShpbnB1dEtleSk7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldChzdG9yZUtleSkucGlwZShcbiAgICAgIG1hcCgoc3RvcmVkRGF0YTogTWF5YmU8c3RyaW5nPikgPT4ge1xuICAgICAgICBpZiAoc3RvcmVkRGF0YSkge1xuICAgICAgICAgIGNvbnN0IHJlYWRTdG9yZWREYXRhID0gdGhpcy5yZWFkU3RvcmVkRGF0YShzdG9yZWREYXRhKTtcblxuICAgICAgICAgIGlmICghcmVhZFN0b3JlZERhdGEuZXhwaXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlYWRTdG9yZWREYXRhLmNvbnZlcnRlZERhdGE7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBEYXRhSXNFeHBpcmVkRXJyb3I8VD4ocmVhZFN0b3JlZERhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRGF0YURvZXNOb3RFeGlzdEVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNldChpbnB1dEtleTogc3RyaW5nLCBpbnB1dFZhbHVlOiBUKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGlucHV0S2V5KTtcbiAgICBjb25zdCBzdG9yZURhdGE6IFN0b3JlZERhdGEgPSB0aGlzLmJ1aWxkU3RvcmVkRGF0YShpbnB1dFZhbHVlKTtcbiAgICBjb25zdCBkYXRhID0gSlNPTi5zdHJpbmdpZnkoc3RvcmVEYXRhKTtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuc2V0KHN0b3JlS2V5LCBkYXRhKTtcbiAgfVxuXG4gIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5tYWtlU3RvcmFnZUtleShrZXkpO1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5yZW1vdmUoc3RvcmVLZXkpO1xuICB9XG5cbiAgYWxsKCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbCh0aGlzLl9jb25maWcuZnVsbFByZWZpeCkucGlwZShcbiAgICAgIG1hcCgoYWxsU3RvcmVkRGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4gYWxsU3RvcmVkRGF0YVxuICAgICAgICAgIC5tYXAoKHN0b3JlZERhdGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRTdG9yZWREYXRhID0gdGhpcy5yZWFkU3RvcmVkRGF0YShzdG9yZWREYXRhKTtcblxuICAgICAgICAgICAgaWYgKCFyZWFkU3RvcmVkRGF0YS5leHBpcmVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZWFkU3RvcmVkRGF0YS5jb252ZXJ0ZWREYXRhO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKGhhc05vbk51bGxWYWx1ZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhbGxLZXlzKCk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuYWxsS2V5cyh0aGlzLl9jb25maWcuZnVsbFByZWZpeCkucGlwZShtYXAoKGtleXMpID0+IGtleXMubWFwKCh4KSA9PiB0aGlzLmRlY29kZVN0b3JhZ2VLZXkoeCkpKSk7XG4gIH1cblxuICBjbGVhcigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5jbGVhcigpO1xuICB9XG5cbiAgLy8gTUFSSzogU3RvcmVkIFZhbHVlc1xuICBwcm90ZWN0ZWQgcmVhZFN0b3JlZERhdGEoc3RvcmVkRGF0YVN0cmluZzogU3RvcmVkRGF0YVN0cmluZyk6IFJlYWRTdG9yZWREYXRhPFQ+IHtcbiAgICBjb25zdCBzdG9yZWREYXRhOiBTdG9yZWREYXRhID0gSlNPTi5wYXJzZShzdG9yZWREYXRhU3RyaW5nKTtcbiAgICBjb25zdCBleHBpcmVkID0gdGhpcy5pc0V4cGlyZWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuICAgIGNvbnN0IGNvbnZlcnRlZERhdGEgPSB0aGlzLl9kZWxlZ2F0ZS5wYXJzZVZhbHVlKHN0b3JlZERhdGEuZGF0YSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RvcmVkRGF0YSxcbiAgICAgIGV4cGlyZWQsXG4gICAgICBjb252ZXJ0ZWREYXRhXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFN0b3JlZERhdGEodmFsdWU6IFQpOiBTdG9yZWREYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RvcmVkQXQ6IHVuaXhUaW1lTnVtYmVyRm9yTm93KCksXG4gICAgICBkYXRhOiB0aGlzLnN0cmluZ2lmeVZhbHVlKHZhbHVlKVxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNFeHBpcmVkU3RvcmVkRGF0YShzdG9yZURhdGE6IFN0b3JlZERhdGEpOiBib29sZWFuIHtcbiAgICBjb25zdCBleHBpcmVzSW4gPSB0aGlzLl9jb25maWcuZXhwaXJlc0luO1xuICAgIGlmIChleHBpcmVzSW4pIHtcbiAgICAgIGlmIChzdG9yZURhdGEuc3RvcmVkQXQpIHtcbiAgICAgICAgcmV0dXJuIGlzVGhyb3R0bGVkKGV4cGlyZXNJbiwgc3RvcmVEYXRhLnN0b3JlZEF0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBNQVJLOiBJbnRlcm5hbFxuICBwcm90ZWN0ZWQgbWFrZVN0b3JhZ2VLZXkoa2V5OiBzdHJpbmcpOiBTdG9yZWREYXRhU3RvcmFnZUtleSB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2NvbmZpZy5wcmVmaXh9JHt0aGlzLl9jb25maWcucHJlZml4U3BsaXR0ZXJ9JHtTdHJpbmcoa2V5KX1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzS2V5T2ZBY2Nlc3NvcihzdG9yYWdlS2V5OiBTdG9yZWREYXRhU3RvcmFnZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdG9yYWdlS2V5LnN0YXJ0c1dpdGgodGhpcy5fY29uZmlnLmZ1bGxQcmVmaXgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRlY29kZVN0b3JhZ2VLZXkoc3RvcmFnZUtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNwbGl0ID0gc3BsaXRKb2luUmVtYWluZGVyKHN0b3JhZ2VLZXksIHRoaXMuX2NvbmZpZy5wcmVmaXhTcGxpdHRlciwgMik7XG4gICAgcmV0dXJuIHNwbGl0WzFdO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuc3RyaW5naWZ5VmFsdWUodmFsdWUpO1xuICB9XG59XG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBc0csZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0JqUSxNQUFNLE9BQU8sdUNBQXVDO0lBQ2xELGNBQWMsQ0FBQyxLQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0NBQW9DO0lBQzlCLFNBQVMsQ0FBb0M7SUFDN0MsVUFBVSxDQUFvQztJQUUvRCxZQUFZLFFBQTJDLEVBQUUsU0FBNEM7UUFDbkcsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxJ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QU8sQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixPQUFPLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtJQUNQLGNBQWMsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRVMsZUFBZSxDQUFDLFVBQWdDO1FBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxVQUFnQztRQUN6RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFRO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1Rocm90dGxlZCwgdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZvck5vdywgRGF0YURvZXNOb3RFeGlzdEVycm9yLCBEYXRhSXNFeHBpcmVkRXJyb3IsIHR5cGUgUmVhZFN0b3JlZERhdGEsIHR5cGUgU3RvcmVkRGF0YSwgdHlwZSBTdG9yZWREYXRhU3RvcmFnZUtleSwgdHlwZSBTdG9yZWREYXRhU3RyaW5nLCB0eXBlIE1heWJlLCBoYXNOb25OdWxsVmFsdWUsIHNwbGl0Sm9pblJlbWFpbmRlciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdHlwZSBTdG9yYWdlQWNjZXNzb3IgfSBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3InO1xuXG4vLyBNQVJLOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBhIHN0cmluZy5cbiAgICovXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZztcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBkYXRhIHN0cmluZyBpbnRvIGEgdmFsdWUuXG4gICAqL1xuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUO1xufVxuXG4vKipcbiAqIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvciBkZWxlZ2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiwgU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+IHt9XG5cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4gaW1wbGVtZW50cyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4ge1xuICBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IFN0b3JlZERhdGFTdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgV3JhcHBlclNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+IGltcGxlbWVudHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPjtcblxuICBjb25zdHJ1Y3RvcihkZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+LCBjb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPikge1xuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29udmVydGVyID0gY29udmVydGVyO1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxNYXliZTxTdG9yZWREYXRhU3RyaW5nPj4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXQoa2V5KTtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IFN0b3JlZERhdGFTdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuc2V0KGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShrZXkpO1xuICB9XG5cbiAgY2xlYXIoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2xlYXIoKTtcbiAgfVxuXG4gIGFsbChwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbChwcmVmaXgpO1xuICB9XG5cbiAgYWxsS2V5cyhwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbEtleXMocHJlZml4KTtcbiAgfVxuXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRlci5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fY29udmVydGVyLnBhcnNlVmFsdWUoZGF0YSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcge1xuICAvKipcbiAgICogU3RvcmFnZSBLZXkgUHJlZml4XG4gICAqL1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByZWZpeC92YWx1ZSBzcGxpdHRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogTnVtYmVyIGluIG1pbGxpc2Vjb25kcyB0aGF0IG9iamVjdHMgc3RvcmVkIHdpbGwgZXhwaXJlIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhwaXJlc0luPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgQ29uZmlndXJlZFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyB7XG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZ1bGxQcmVmaXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXg6IHN0cmluZywgcHJlZml4U3BsaXR0ZXI6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIXByZWZpeFNwbGl0dGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeCBzcGxpdHRlci4gTXVzdCBiZSBkZWZpbmVkIGFuZCBub3QgZW1wdHkuJyk7IC8vIFRPRE8oRlVUVVJFKTogQ29uc2lkZXIgY2hhbmdpbmcgdG8gYSBjb25jcmV0ZSBlcnJvciB0eXBlXG4gIH1cblxuICBpZiAoIWlzVmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeCwgcHJlZml4U3BsaXR0ZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeC4nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4OiBzdHJpbmcsIHByZWZpeFNwbHR0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihwcmVmaXggJiYgcHJlZml4LmluZGV4T2YocHJlZml4U3BsdHRlcikgPT09IC0xKTtcbn1cblxuLyoqXG4gKiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBhIERlbGVnYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3I8VD4gaW1wbGVtZW50cyBTdG9yYWdlQWNjZXNzb3I8VD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgUFJFRklYX1NQTElUVEVSID0gJzo6JztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD47XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29uZmlnOiBDb25maWd1cmVkU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGRlbGVnYXRlOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiwgY29uZmlnOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcpIHtcbiAgICBjb25zdCBwcmVmaXggPSBjb25maWcucHJlZml4O1xuICAgIGNvbnN0IHByZWZpeFNwbGl0dGVyID0gY29uZmlnLnByZWZpeFNwbGl0dGVyID8/IFNpbXBsZVN0b3JhZ2VBY2Nlc3Nvci5QUkVGSVhfU1BMSVRURVI7XG5cbiAgICBhc3NlcnRWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4LCBwcmVmaXhTcGxpdHRlcik7XG5cbiAgICBjb25zdCBmdWxsUHJlZml4ID0gYCR7cHJlZml4fSR7cHJlZml4U3BsaXR0ZXJ9YDtcblxuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcHJlZml4U3BsaXR0ZXIsXG4gICAgICBmdWxsUHJlZml4XG4gICAgfTtcbiAgfVxuXG4gIGdldCBkZWxlZ2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGU7XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICAvLyBNQVJLOiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yXG4gIGdldChpbnB1dEtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGlucHV0S2V5KTtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0KHN0b3JlS2V5KS5waXBlKFxuICAgICAgbWFwKChzdG9yZWREYXRhOiBNYXliZTxzdHJpbmc+KSA9PiB7XG4gICAgICAgIGlmIChzdG9yZWREYXRhKSB7XG4gICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgaWYgKCFyZWFkU3RvcmVkRGF0YS5leHBpcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVhZFN0b3JlZERhdGEuY29udmVydGVkRGF0YTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERhdGFJc0V4cGlyZWRFcnJvcjxUPihyZWFkU3RvcmVkRGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBEYXRhRG9lc05vdEV4aXN0RXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0KGlucHV0S2V5OiBzdHJpbmcsIGlucHV0VmFsdWU6IFQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoaW5wdXRLZXkpO1xuICAgIGNvbnN0IHN0b3JlRGF0YTogU3RvcmVkRGF0YSA9IHRoaXMuYnVpbGRTdG9yZWREYXRhKGlucHV0VmFsdWUpO1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShzdG9yZURhdGEpO1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zZXQoc3RvcmVLZXksIGRhdGEpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGtleSk7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShzdG9yZUtleSk7XG4gIH1cblxuICBhbGwoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuYWxsKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKFxuICAgICAgbWFwKChhbGxTdG9yZWREYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiBhbGxTdG9yZWREYXRhXG4gICAgICAgICAgLm1hcCgoc3RvcmVkRGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgICBpZiAoIXJlYWRTdG9yZWREYXRhLmV4cGlyZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlYWRTdG9yZWREYXRhLmNvbnZlcnRlZERhdGE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoaGFzTm9uTnVsbFZhbHVlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFsbEtleXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGxLZXlzKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKG1hcCgoa2V5cykgPT4ga2V5cy5tYXAoKHgpID0+IHRoaXMuZGVjb2RlU3RvcmFnZUtleSh4KSkpKTtcbiAgfVxuXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmNsZWFyKCk7XG4gIH1cblxuICAvLyBNQVJLOiBTdG9yZWQgVmFsdWVzXG4gIHByb3RlY3RlZCByZWFkU3RvcmVkRGF0YShzdG9yZWREYXRhU3RyaW5nOiBTdG9yZWREYXRhU3RyaW5nKTogUmVhZFN0b3JlZERhdGE8VD4ge1xuICAgIGNvbnN0IHN0b3JlZERhdGE6IFN0b3JlZERhdGEgPSBKU09OLnBhcnNlKHN0b3JlZERhdGFTdHJpbmcpO1xuICAgIGNvbnN0IGV4cGlyZWQgPSB0aGlzLmlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG4gICAgY29uc3QgY29udmVydGVkRGF0YSA9IHRoaXMuX2RlbGVnYXRlLnBhcnNlVmFsdWUoc3RvcmVkRGF0YS5kYXRhKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdG9yZWREYXRhLFxuICAgICAgZXhwaXJlZCxcbiAgICAgIGNvbnZlcnRlZERhdGFcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkU3RvcmVkRGF0YSh2YWx1ZTogVCk6IFN0b3JlZERhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBzdG9yZWRBdDogdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZvck5vdygpLFxuICAgICAgZGF0YTogdGhpcy5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSlcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVEYXRhOiBTdG9yZWREYXRhKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXhwaXJlc0luID0gdGhpcy5fY29uZmlnLmV4cGlyZXNJbjtcbiAgICBpZiAoZXhwaXJlc0luKSB7XG4gICAgICBpZiAoc3RvcmVEYXRhLnN0b3JlZEF0KSB7XG4gICAgICAgIHJldHVybiBpc1Rocm90dGxlZChleHBpcmVzSW4sIHN0b3JlRGF0YS5zdG9yZWRBdCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJvdGVjdGVkIG1ha2VTdG9yYWdlS2V5KGtleTogc3RyaW5nKTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkge1xuICAgIHJldHVybiBgJHt0aGlzLl9jb25maWcucHJlZml4fSR7dGhpcy5fY29uZmlnLnByZWZpeFNwbGl0dGVyfSR7U3RyaW5nKGtleSl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0tleU9mQWNjZXNzb3Ioc3RvcmFnZUtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RvcmFnZUtleS5zdGFydHNXaXRoKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWNvZGVTdG9yYWdlS2V5KHN0b3JhZ2VLZXk6IFN0b3JlZERhdGFTdG9yYWdlS2V5KTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGxpdCA9IHNwbGl0Sm9pblJlbWFpbmRlcihzdG9yYWdlS2V5LCB0aGlzLl9jb25maWcucHJlZml4U3BsaXR0ZXIsIDIpO1xuICAgIHJldHVybiBzcGxpdFsxXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnN0cmluZ2lmeVZhbHVlKHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Directive, inject, input, computed, signal, Injectable, forwardRef, effect, TemplateRef, ViewContainerRef, Injector, runInInjectionContext, NgModule, InjectionToken, makeEnvironmentProviders, output, model, NgZone, Input, Pipe, LOCALE_ID, viewChild, Component, ChangeDetectionStrategy, Inject, Optional } from '@angular/core';
3
3
  import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, workFactory, asObservable, combineLatestFromMapValuesObsFn, emitDelayObs, makeIsModifiedFunctionObservable, returnIfIs, timeoutStartWith, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, setContainsNoValueFrom, maybeValueFromObservableOrValue, distinctUntilKeysChange, maybeValueFromObservableOrValueGetter, switchMapToDefault, asObservableFromGetter, FilterSource, FilterSourceConnector, FilterSourceInstance, FilterMap, skipAllInitialMaybe, switchMapObject } from '@dereekb/rxjs';
4
4
  import { switchMap, first, distinctUntilChanged, filter, EMPTY, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, combineLatest, startWith, of, delay, BehaviorSubject, tap, combineLatestWith, catchError, withLatestFrom, firstValueFrom, takeUntil, Subject, Observable } from 'rxjs';
5
- import { isNotFalse, isDefinedAndNotFalse, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, getValueFromGetter, toReadableError, hasValueOrNotEmpty, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, cutString, dollarAmountString, objectHasKey, objectHasKeys, mergeArrays, flattenArrayOrValueArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, unixTimeNumberForNow, isThrottled, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
5
+ import { isNotFalse, isDefinedAndNotFalse, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, getValueFromGetter, toReadableError, hasValueOrNotEmpty, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, cutString, dollarAmountString, objectHasKey, objectHasKeys, mergeArrays, flattenArrayOrValueArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, unixDateTimeSecondsNumberForNow, isThrottled, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
6
6
  import { toObservable, outputToObservable, toSignal } from '@angular/core/rxjs-interop';
7
7
  import { ComponentStore } from '@ngrx/component-store';
8
8
  import { Actions, ofType, createEffect, provideEffects } from '@ngrx/effects';
@@ -1862,6 +1862,7 @@ const importsAndExports$8 = [
1862
1862
  DbxActionPreSuccessDirective,
1863
1863
  DbxActionHasSuccessDirective,
1864
1864
  DbxActionSuccessHandlerDirective,
1865
+ DbxActionErrorHandlerDirective,
1865
1866
  DbxActionIsWorkingDirective
1866
1867
  ];
1867
1868
  /**
@@ -1889,6 +1890,7 @@ class DbxCoreActionModule {
1889
1890
  DbxActionPreSuccessDirective,
1890
1891
  DbxActionHasSuccessDirective,
1891
1892
  DbxActionSuccessHandlerDirective,
1893
+ DbxActionErrorHandlerDirective,
1892
1894
  DbxActionIsWorkingDirective], exports: [DbxActionDirective,
1893
1895
  DbxActionContextMapDirective,
1894
1896
  DbxActionFromMapDirective,
@@ -1909,6 +1911,7 @@ class DbxCoreActionModule {
1909
1911
  DbxActionPreSuccessDirective,
1910
1912
  DbxActionHasSuccessDirective,
1911
1913
  DbxActionSuccessHandlerDirective,
1914
+ DbxActionErrorHandlerDirective,
1912
1915
  DbxActionIsWorkingDirective] });
1913
1916
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxCoreActionModule });
1914
1917
  }
@@ -5691,7 +5694,7 @@ class SimpleStorageAccessor {
5691
5694
  }
5692
5695
  buildStoredData(value) {
5693
5696
  return {
5694
- storedAt: unixTimeNumberForNow(),
5697
+ storedAt: unixDateTimeSecondsNumberForNow(),
5695
5698
  data: this.stringifyValue(value)
5696
5699
  };
5697
5700
  }