@ngxs/store 18.1.5-dev.master-c73c22f → 18.1.5-dev.master-e14b71b

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.
@@ -15,7 +15,6 @@ import { assignUnhandledCallback } from './unhandled-rxjs-error-callback';
15
15
  import { StateContextFactory } from './state-context-factory';
16
16
  import { ofActionDispatched } from '../operators/of-action';
17
17
  import * as i0 from "@angular/core";
18
- const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
19
18
  function cloneDefaults(defaults) {
20
19
  let value = defaults === undefined ? {} : defaults;
21
20
  if (defaults) {
@@ -110,7 +109,7 @@ export class StateFactory {
110
109
  * Add a new state to the global defs.
111
110
  */
112
111
  add(stateClasses) {
113
- if (NG_DEV_MODE) {
112
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
114
113
  ensureStatesAreDecorated(stateClasses);
115
114
  }
116
115
  const { newStates } = this.addToStatesMap(stateClasses);
@@ -130,7 +129,7 @@ export class StateFactory {
130
129
  // `State` decorator. This check is moved here because the `ɵprov` property
131
130
  // will not exist on the class in JIT mode (because it's set asynchronously
132
131
  // during JIT compilation through `Object.defineProperty`).
133
- if (NG_DEV_MODE) {
132
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
134
133
  ensureStateClassIsInjectable(stateClass);
135
134
  }
136
135
  const stateMap = {
@@ -209,7 +208,7 @@ export class StateFactory {
209
208
  }
210
209
  // The `NgxsUnhandledActionsLogger` is a tree-shakable class which functions
211
210
  // only during development.
212
- if (NG_DEV_MODE && !actionHasBeenHandled) {
211
+ if (typeof ngDevMode !== 'undefined' && ngDevMode && !actionHasBeenHandled) {
213
212
  const unhandledActionsLogger = this._injector.get(NgxsUnhandledActionsLogger, null);
214
213
  // The `NgxsUnhandledActionsLogger` will not be resolved by the injector if the
215
214
  // `NgxsDevelopmentModule` is not provided. It's enough to check whether the `injector.get`
@@ -226,7 +225,7 @@ export class StateFactory {
226
225
  const statesMap = this.statesByName;
227
226
  for (const stateClass of stateClasses) {
228
227
  const stateName = ɵgetStoreMetadata(stateClass).name;
229
- if (NG_DEV_MODE) {
228
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
230
229
  ensureStateNameIsUnique(stateName, stateClass, statesMap);
231
230
  }
232
231
  const unmountedState = !statesMap[stateName];
@@ -328,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
328
327
  // handler has been unsubscribed or completed, to prevent writing
329
328
  // to the state context.
330
329
  function noop() { }
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFhLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBR1QsaUJBQWlCLEVBRWpCLG9CQUFvQixFQUdyQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osWUFBWSxFQUNaLEVBQUUsRUFFRixVQUFVLEVBQ1YsVUFBVSxFQUNWLGNBQWMsRUFDZCxNQUFNLEVBQ04sR0FBRyxFQUNILFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUVULE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLGtCQUFrQixFQUVsQixXQUFXLEVBQ1gsWUFBWSxFQUlaLGVBQWUsRUFDaEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBC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QVMsQ0FBQyxDQUFDO29CQUN6QixDQUFDO29CQUVELE9BQU8sTUFBTSxDQUFDO2dCQUNoQixDQUFDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILEtBQUssTUFBTSxhQUFhLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7aUlBL1VVLFlBQVk7cUlBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVTs7QUFtVlgsc0VBQXNFO0FBQ3RFLGlFQUFpRTtBQUNqRSx3QkFBd0I7QUFDeEIsU0FBUyxJQUFJLEtBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3ksIGluamVjdCwgybVpc1Byb21pc2UgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIMm1bWVtb2l6ZSxcbiAgybVNRVRBX0tFWSxcbiAgybVQbGFpbk9iamVjdE9mLFxuICDJtU1ldGFEYXRhTW9kZWwsXG4gIMm1Z2V0U3RvcmVNZXRhZGF0YSxcbiAgybVTdGF0ZUNsYXNzSW50ZXJuYWwsXG4gIMm1SU5JVElBTF9TVEFURV9UT0tFTixcbiAgybVTaGFyZWRTZWxlY3Rvck9wdGlvbnMsXG4gIMm1UnVudGltZVNlbGVjdG9yQ29udGV4dFxufSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSwgZ2V0VmFsdWUsIHNldFZhbHVlIH0gZnJvbSAnQG5neHMvc3RvcmUvcGx1Z2lucyc7XG5pbXBvcnQge1xuICBmb3JrSm9pbixcbiAgZnJvbSxcbiAgaXNPYnNlcnZhYmxlLFxuICBvZixcbiAgU3Vic2NyaXB0aW9uLFxuICB0aHJvd0Vycm9yLFxuICBjYXRjaEVycm9yLFxuICBkZWZhdWx0SWZFbXB0eSxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIG1lcmdlTWFwLFxuICB0YWtlVW50aWwsXG4gIGZpbmFsaXplLFxuICBPYnNlcnZhYmxlXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ3hzQ29uZmlnIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5pbXBvcnQge1xuICBidWlsZEdyYXBoLFxuICBmaW5kRnVsbFBhcmVudFBhdGgsXG4gIE1hcHBlZFN0b3JlLFxuICBuYW1lVG9TdGF0ZSxcbiAgybVQUk9QX0dFVFRFUixcbiAgU3RhdGVLZXlHcmFwaCxcbiAgU3RhdGVzQW5kRGVmYXVsdHMsXG4gIFN0YXRlc0J5TmFtZSxcbiAgdG9wb2xvZ2ljYWxTb3J0XG59IGZyb20gJy4vaW50ZXJuYWxzJztcbmltcG9ydCB7IE5neHNBY3Rpb25SZWdpc3RyeSB9IGZyb20gJy4uL2FjdGlvbnMvYWN0aW9uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHQsIEFjdGlvblN0YXR1cywgSW50ZXJuYWxBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9ucy1zdHJlYW0nO1xuaW1wb3J0IHsgSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cyB9IGZyb20gJy4uL2ludGVybmFsL2Rpc3BhdGNoZXInO1xuaW1wb3J0IHsgZW5zdXJlU3RhdGVOYW1lSXNVbmlxdWUsIGVuc3VyZVN0YXRlc0FyZURlY29yYXRlZCB9IGZyb20gJy4uL3V0aWxzL3N0b3JlLXZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgZW5zdXJlU3RhdGVDbGFzc0lzSW5qZWN0YWJsZSB9IGZyb20gJy4uL2l2eS9pdnktZW5hYmxlZC1pbi1kZXYtbW9kZSc7XG5pbXBvcnQgeyBOZ3hzVW5oYW5kbGVkQWN0aW9uc0xvZ2dlciB9IGZyb20gJy4uL2Rldi1mZWF0dXJlcy9uZ3hzLXVuaGFuZGxlZC1hY3Rpb25zLWxvZ2dlcic7XG5pbXBvcnQgeyBOZ3hzVW5oYW5kbGVkRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi4vbmd4cy11bmhhbmRsZWQtZXJyb3ItaGFuZGxlcic7XG5pbXBvcnQgeyBhc3NpZ25VbmhhbmRsZWRDYWxsYmFjayB9IGZyb20gJy4vdW5oYW5kbGVkLXJ4anMtZXJyb3ItY2FsbGJhY2snO1xuaW1wb3J0IHsgU3RhdGVDb250ZXh0RmFjdG9yeSB9IGZyb20gJy4vc3RhdGUtY29udGV4dC1mYWN0b3J5JztcbmltcG9ydCB7IG9mQWN0aW9uRGlzcGF0Y2hlZCB9IGZyb20gJy4uL29wZXJhdG9ycy9vZi1hY3Rpb24nO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuZnVuY3Rpb24gY2xvbmVEZWZhdWx0cyhkZWZhdWx0czogYW55KTogYW55IHtcbiAgbGV0IHZhbHVlID0gZGVmYXVsdHMgPT09IHVuZGVmaW5lZCA/IHt9IDogZGVmYXVsdHM7XG5cbiAgaWYgKGRlZmF1bHRzKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmYXVsdHMpKSB7XG4gICAgICB2YWx1ZSA9IGRlZmF1bHRzLnNsaWNlKCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGVmYXVsdHMgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YWx1ZSA9IHsgLi4uZGVmYXVsdHMgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbi8qKlxuICogVGhlIGBTdGF0ZUZhY3RvcnlgIGNsYXNzIGFkZHMgcm9vdCBhbmQgZmVhdHVyZSBzdGF0ZXMgdG8gdGhlIGdyYXBoLlxuICogVGhpcyBleHRyYWN0cyBzdGF0ZSBuYW1lcyBmcm9tIHN0YXRlIGNsYXNzZXMsIGNoZWNrcyBpZiB0aGV5IGFscmVhZHlcbiAqIGV4aXN0IGluIHRoZSBnbG9iYWwgZ3JhcGgsIHRocm93cyBlcnJvcnMgaWYgdGhlaXIgbmFtZXMgYXJlIGludmFsaWQsIGV0Yy5cbiAqIFNlZSBpdHMgY29uc3RydWN0b3IsIHN0YXRlIGZhY3RvcmllcyBpbmplY3Qgc3RhdGUgZmFjdG9yaWVzIHRoYXQgYXJlXG4gKiBwYXJlbnQtbGV2ZWwgcHJvdmlkZXJzLiBUaGlzIGlzIHJlcXVpcmVkIHRvIGdldCBmZWF0dXJlIHN0YXRlcyBmcm9tIHRoZVxuICogaW5qZWN0b3Igb24gdGhlIHNhbWUgbGV2ZWwuXG4gKlxuICogVGhlIGBOZ3hzTW9kdWxlLmZvckZlYXR1cmUoLi4uKWAgcmV0dXJucyBgcHJvdmlkZXJzOiBbU3RhdGVGYWN0b3J5LCAuLi5zdGF0ZXNdYC5cbiAqIFRoZSBgU3RhdGVGYWN0b3J5YCBpcyBpbml0aWFsaXplZCBvbiB0aGUgZmVhdHVyZSBsZXZlbCBhbmQgZ29lcyB0aHJvdWdoIGAuLi5zdGF0ZXNgXG4gKiB0byBnZXQgdGhlbSBmcm9tIHRoZSBpbmplY3RvciB0aHJvdWdoIGBpbmplY3Rvci5nZXQoc3RhdGUpYC5cbiAqIEBpZ25vcmVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0YXRlRmFjdG9yeSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnID0gaW5qZWN0KE5neHNDb25maWcpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRGYWN0b3J5ID0gaW5qZWN0KFN0YXRlRmFjdG9yeSwgeyBvcHRpb25hbDogdHJ1ZSwgc2tpcFNlbGY6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ29udGV4dEZhY3RvcnkgPSBpbmplY3QoU3RhdGVDb250ZXh0RmFjdG9yeSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxBY3Rpb25zKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aW9uUmVzdWx0cyA9IGluamVjdChJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5pdGlhbFN0YXRlID0gaW5qZWN0KMm1SU5JVElBTF9TVEFURV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aW9uUmVnaXN0cnkgPSBpbmplY3QoTmd4c0FjdGlvblJlZ2lzdHJ5KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvcEdldHRlciA9IGluamVjdCjJtVBST1BfR0VUVEVSKTtcblxuICBwcml2YXRlIF9hY3Rpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9uZ3hzVW5oYW5kbGVkRXJyb3JIYW5kbGVyOiBOZ3hzVW5oYW5kbGVkRXJyb3JIYW5kbGVyID0gbnVsbCE7XG5cbiAgcHJpdmF0ZSBfc3RhdGVzOiBNYXBwZWRTdG9yZVtdID0gW107XG4gIGdldCBzdGF0ZXMoKTogTWFwcGVkU3RvcmVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudEZhY3RvcnkgPyB0aGlzLl9wYXJlbnRGYWN0b3J5LnN0YXRlcyA6IHRoaXMuX3N0YXRlcztcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXRlc0J5TmFtZTogU3RhdGVzQnlOYW1lID0ge307XG4gIGdldCBzdGF0ZXNCeU5hbWUoKTogU3RhdGVzQnlOYW1lIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyZW50RmFjdG9yeSA/IHRoaXMuX3BhcmVudEZhY3Rvcnkuc3RhdGVzQnlOYW1lIDogdGhpcy5fc3RhdGVzQnlOYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhdGVQYXRoczogybVQbGFpbk9iamVjdE9mPHN0cmluZz4gPSB7fTtcbiAgcHJpdmF0ZSBnZXQgc3RhdGVQYXRocygpOiDJtVBsYWluT2JqZWN0T2Y8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudEZhY3RvcnkgPyB0aGlzLl9wYXJlbnRGYWN0b3J5LnN0YXRlUGF0aHMgOiB0aGlzLl9zdGF0ZVBhdGhzO1xuICB9XG5cbiAgZ2V0UnVudGltZVNlbGVjdG9yQ29udGV4dCA9IMm1bWVtb2l6ZSgoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3Qgc3RhdGVGYWN0b3J5ID0gdGhpcztcbiAgICBjb25zdCBwcm9wR2V0dGVyID0gc3RhdGVGYWN0b3J5Ll9wcm9wR2V0dGVyO1xuXG4gICAgZnVuY3Rpb24gcmVzb2x2ZUdldHRlcihrZXk6IHN0cmluZykge1xuICAgICAgY29uc3QgcGF0aCA9IHN0YXRlRmFjdG9yeS5zdGF0ZVBhdGhzW2tleV07XG4gICAgICByZXR1cm4gcGF0aCA/IHByb3BHZXR0ZXIocGF0aC5zcGxpdCgnLicpKSA6IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dDogybVSdW50aW1lU2VsZWN0b3JDb250ZXh0ID0gdGhpcy5fcGFyZW50RmFjdG9yeVxuICAgICAgPyB0aGlzLl9wYXJlbnRGYWN0b3J5LmdldFJ1bnRpbWVTZWxlY3RvckNvbnRleHQoKVxuICAgICAgOiB7XG4gICAgICAgICAgZ2V0U3RhdGVHZXR0ZXIoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgICAgIC8vIFVzZSBgQF9fSU5MSU5FX19gIGFubm90YXRpb24gdG8gZm9yY2VseSBpbmxpbmUgYHJlc29sdmVHZXR0ZXJgLlxuICAgICAgICAgICAgLy8gVGhpcyBpcyBhIFRlcnNlciBhbm5vdGF0aW9uLCB3aGljaCB3aWxsIGZ1bmN0aW9uIG9ubHkgaW4gdGhlIHByb2R1Y3Rpb24gbW9kZS5cbiAgICAgICAgICAgIGxldCBnZXR0ZXIgPSAvKkBfX0lOTElORV9fKi8gcmVzb2x2ZUdldHRlcihrZXkpO1xuICAgICAgICAgICAgaWYgKGdldHRlcikge1xuICAgICAgICAgICAgICByZXR1cm4gZ2V0dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgIC8vIExhdGUgbG9hZGVkIGdldHRlclxuICAgICAgICAgICAgICBpZiAoIWdldHRlcikge1xuICAgICAgICAgICAgICAgIGdldHRlciA9IC8qQF9fSU5MSU5FX18qLyByZXNvbHZlR2V0dGVyKGtleSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGdldHRlciA/IGdldHRlciguLi5hcmdzKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSxcbiAgICAgICAgICBnZXRTZWxlY3Rvck9wdGlvbnMobG9jYWxPcHRpb25zPzogybVTaGFyZWRTZWxlY3Rvck9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGdsb2JhbFNlbGVjdG9yT3B0aW9ucyA9IHN0YXRlRmFjdG9yeS5fY29uZmlnLnNlbGVjdG9yT3B0aW9ucztcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmdsb2JhbFNlbGVjdG9yT3B0aW9ucyxcbiAgICAgICAgICAgICAgLi4uKGxvY2FsT3B0aW9ucyB8fCB7fSlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIHJldHVybiBjb250ZXh0O1xuICB9KTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpb25zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBzdGF0ZSB0byB0aGUgZ2xvYmFsIGRlZnMuXG4gICAqL1xuICBhZGQoc3RhdGVDbGFzc2VzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdKTogTWFwcGVkU3RvcmVbXSB7XG4gICAgaWYgKE5HX0RFVl9NT0RFKSB7XG4gICAgICBlbnN1cmVTdGF0ZXNBcmVEZWNvcmF0ZWQoc3RhdGVDbGFzc2VzKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IG5ld1N0YXRlcyB9ID0gdGhpcy5hZGRUb1N0YXRlc01hcChzdGF0ZUNsYXNzZXMpO1xuICAgIGlmICghbmV3U3RhdGVzLmxlbmd0aCkgcmV0dXJuIFtdO1xuXG4gICAgY29uc3Qgc3RhdGVHcmFwaDogU3RhdGVLZXlHcmFwaCA9IGJ1aWxkR3JhcGgobmV3U3RhdGVzKTtcbiAgICBjb25zdCBzb3J0ZWRTdGF0ZXM6IHN0cmluZ1tdID0gdG9wb2xvZ2ljYWxTb3J0KHN0YXRlR3JhcGgpO1xuICAgIGNvbnN0IHBhdGhzOiDJtVBsYWluT2JqZWN0T2Y8c3RyaW5nPiA9IGZpbmRGdWxsUGFyZW50UGF0aChzdGF0ZUdyYXBoKTtcbiAgICBjb25zdCBuYW1lR3JhcGg6IMm1UGxhaW5PYmplY3RPZjzJtVN0YXRlQ2xhc3NJbnRlcm5hbD4gPSBuYW1lVG9TdGF0ZShuZXdTdGF0ZXMpO1xuICAgIGNvbnN0IGJvb3RzdHJhcHBlZFN0b3JlczogTWFwcGVkU3RvcmVbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIHNvcnRlZFN0YXRlcykge1xuICAgICAgY29uc3Qgc3RhdGVDbGFzczogybVTdGF0ZUNsYXNzSW50ZXJuYWwgPSBuYW1lR3JhcGhbbmFtZV07XG4gICAgICBjb25zdCBwYXRoOiBzdHJpbmcgPSBwYXRoc1tuYW1lXTtcbiAgICAgIGNvbnN0IG1ldGE6IMm1TWV0YURhdGFNb2RlbCA9IHN0YXRlQ2xhc3NbybVNRVRBX0tFWV0hO1xuXG4gICAgICB0aGlzLmFkZFJ1bnRpbWVJbmZvVG9NZXRhKG1ldGEsIHBhdGgpO1xuXG4gICAgICAvLyBOb3RlOiBwcmV2aW91c2x5IHdlIGNhbGxlZCBgZW5zdXJlU3RhdGVDbGFzc0lzSW5qZWN0YWJsZWAgd2l0aGluIHRoZVxuICAgICAgLy8gYFN0YXRlYCBkZWNvcmF0b3IuIFRoaXMgY2hlY2sgaXMgbW92ZWQgaGVyZSBiZWNhdXNlIHRoZSBgybVwcm92YCBwcm9wZXJ0eVxuICAgICAgLy8gd2lsbCBub3QgZXhpc3Qgb24gdGhlIGNsYXNzIGluIEpJVCBtb2RlIChiZWNhdXNlIGl0J3Mgc2V0IGFzeW5jaHJvbm91c2x5XG4gICAgICAvLyBkdXJpbmcgSklUIGNvbXBpbGF0aW9uIHRocm91Z2ggYE9iamVjdC5kZWZpbmVQcm9wZXJ0eWApLlxuICAgICAgaWYgKE5HX0RFVl9NT0RFKSB7XG4gICAgICAgIGVuc3VyZVN0YXRlQ2xhc3NJc0luamVjdGFibGUoc3RhdGVDbGFzcyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXRlTWFwOiBNYXBwZWRTdG9yZSA9IHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgaXNJbml0aWFsaXNlZDogZmFsc2UsXG4gICAgICAgIGFjdGlvbnM6IG1ldGEuYWN0aW9ucyxcbiAgICAgICAgaW5zdGFuY2U6IHRoaXMuX2luamVjdG9yLmdldChzdGF0ZUNsYXNzKSxcbiAgICAgICAgZGVmYXVsdHM6IGNsb25lRGVmYXVsdHMobWV0YS5kZWZhdWx0cylcbiAgICAgIH07XG5cbiAgICAgIC8vIGVuc3VyZSBvdXIgc3RvcmUgaGFzbid0IGFscmVhZHkgYmVlbiBhZGRlZFxuICAgICAgLy8gYnV0IGRvbid0IHRocm93IHNpbmNlIGl0IGNvdWxkIGJlIGxhenlcbiAgICAgIC8vIGxvYWRlZCBmcm9tIGRpZmZlcmVudCBwYXRoc1xuICAgICAgaWYgKCF0aGlzLmhhc0JlZW5Nb3VudGVkQW5kQm9vdHN0cmFwcGVkKG5hbWUsIHBhdGgpKSB7XG4gICAgICAgIGJvb3RzdHJhcHBlZFN0b3Jlcy5wdXNoKHN0YXRlTWFwKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zdGF0ZXMucHVzaChzdGF0ZU1hcCk7XG4gICAgICB0aGlzLmh5ZHJhdGVBY3Rpb25NZXRhc01hcChzdGF0ZU1hcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvb3RzdHJhcHBlZFN0b3JlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzZXQgb2Ygc3RhdGVzIHRvIHRoZSBzdG9yZSBhbmQgcmV0dXJuIHRoZSBkZWZhdWx0c1xuICAgKi9cbiAgYWRkQW5kUmV0dXJuRGVmYXVsdHMoc3RhdGVDbGFzc2VzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdKTogU3RhdGVzQW5kRGVmYXVsdHMge1xuICAgIGNvbnN0IGNsYXNzZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10gPSBzdGF0ZUNsYXNzZXMgfHwgW107XG5cbiAgICBjb25zdCBtYXBwZWRTdG9yZXM6IE1hcHBlZFN0b3JlW10gPSB0aGlzLmFkZChjbGFzc2VzKTtcbiAgICBjb25zdCBkZWZhdWx0cyA9IG1hcHBlZFN0b3Jlcy5yZWR1Y2UoXG4gICAgICAocmVzdWx0OiBhbnksIG1hcHBlZFN0b3JlOiBNYXBwZWRTdG9yZSkgPT5cbiAgICAgICAgc2V0VmFsdWUocmVzdWx0LCBtYXBwZWRTdG9yZS5wYXRoLCBtYXBwZWRTdG9yZS5kZWZhdWx0cyksXG4gICAgICB7fVxuICAgICk7XG4gICAgcmV0dXJuIHsgZGVmYXVsdHMsIHN0YXRlczogbWFwcGVkU3RvcmVzIH07XG4gIH1cblxuICBjb25uZWN0QWN0aW9uSGFuZGxlcnMoKTogdm9pZCB7XG4gICAgLy8gTm90ZTogV2UgaGF2ZSB0byBjb25uZWN0IGFjdGlvbnMgb25seSBvbmNlIHdoZW4gdGhlIGBTdGF0ZUZhY3RvcnlgXG4gICAgLy8gICAgICAgaXMgYmVpbmcgY3JlYXRlZCBmb3IgdGhlIGZpcnN0IHRpbWUuIFRoaXMgY2hlY2tzIGlmIHdlJ3JlIGluXG4gICAgLy8gICAgICAgYSBjaGlsZCBzdGF0ZSBmYWN0b3J5IGFuZCB0aGUgcGFyZW50IHN0YXRlIGZhY3RvcnkgYWxyZWFkeSBleGlzdHMuXG4gICAgaWYgKHRoaXMuX3BhcmVudEZhY3RvcnkgfHwgdGhpcy5fYWN0aW9uc1N1YnNjcmlwdGlvbiAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2FjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLl9hY3Rpb25zXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IGN0eC5zdGF0dXMgPT09IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkKSxcbiAgICAgICAgbWVyZ2VNYXAoY3R4ID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb246IGFueSA9IGN0eC5hY3Rpb247XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaW52b2tlQWN0aW9ucyhhY3Rpb24pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gPEFjdGlvbkNvbnRleHQ+eyBhY3Rpb24sIHN0YXR1czogQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWwgfSksXG4gICAgICAgICAgICBkZWZhdWx0SWZFbXB0eSg8QWN0aW9uQ29udGV4dD57IGFjdGlvbiwgc3RhdHVzOiBBY3Rpb25TdGF0dXMuQ2FuY2VsZWQgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgbmd4c1VuaGFuZGxlZEVycm9ySGFuZGxlciA9ICh0aGlzLl9uZ3hzVW5oYW5kbGVkRXJyb3JIYW5kbGVyIHx8PVxuICAgICAgICAgICAgICAgIHRoaXMuX2luamVjdG9yLmdldChOZ3hzVW5oYW5kbGVkRXJyb3JIYW5kbGVyKSk7XG4gICAgICAgICAgICAgIGNvbnN0IGhhbmRsZWFibGVFcnJvciA9IGFzc2lnblVuaGFuZGxlZENhbGxiYWNrKGVycm9yLCAoKSA9PlxuICAgICAgICAgICAgICAgIG5neHNVbmhhbmRsZWRFcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IsIHsgYWN0aW9uIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiBvZig8QWN0aW9uQ29udGV4dD57XG4gICAgICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgICAgIHN0YXR1czogQWN0aW9uU3RhdHVzLkVycm9yZWQsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGhhbmRsZWFibGVFcnJvclxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoY3R4ID0+IHRoaXMuX2FjdGlvblJlc3VsdHMubmV4dChjdHgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2UgYWN0aW9ucyBvbiB0aGUgc3RhdGVzLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnZva2VBY3Rpb25zKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTx1bmtub3duW10+IHtcbiAgICBjb25zdCB0eXBlID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pITtcbiAgICBjb25zdCByZXN1bHRzOiBPYnNlcnZhYmxlPHVua25vd24+W10gPSBbXTtcblxuICAgIC8vIERldGVybWluZXMgd2hldGhlciB0aGUgZGlzcGF0Y2hlZCBhY3Rpb24gaGFzIGJlZW4gaGFuZGxlZCwgdGhpcyBpcyBhc3NpZ25lZFxuICAgIC8vIHRvIGB0cnVlYCB3aXRoaW4gdGhlIGJlbG93IGBmb3JgIGxvb3AgaWYgYW55IGBhY3Rpb25NZXRhc2AgaGFzIGJlZW4gZm91bmQuXG4gICAgbGV0IGFjdGlvbkhhc0JlZW5IYW5kbGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBhY3Rpb25IYW5kbGVycyA9IHRoaXMuX2FjdGlvblJlZ2lzdHJ5LmdldCh0eXBlKTtcblxuICAgIGlmIChhY3Rpb25IYW5kbGVycykge1xuICAgICAgZm9yIChjb25zdCBhY3Rpb25IYW5kbGVyIG9mIGFjdGlvbkhhbmRsZXJzKSB7XG4gICAgICAgIGxldCByZXN1bHQ7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXN1bHQgPSBhY3Rpb25IYW5kbGVyKGFjdGlvbik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXN1bHQgPSB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdCk7XG5cbiAgICAgICAgYWN0aW9uSGFzQmVlbkhhbmRsZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBgTmd4c1VuaGFuZGxlZEFjdGlvbnNMb2dnZXJgIGlzIGEgdHJlZS1zaGFrYWJsZSBjbGFzcyB3aGljaCBmdW5jdGlvbnNcbiAgICAvLyBvbmx5IGR1cmluZyBkZXZlbG9wbWVudC5cbiAgICBpZiAoTkdfREVWX01PREUgJiYgIWFjdGlvbkhhc0JlZW5IYW5kbGVkKSB7XG4gICAgICBjb25zdCB1bmhhbmRsZWRBY3Rpb25zTG9nZ2VyID0gdGhpcy5faW5qZWN0b3IuZ2V0KE5neHNVbmhhbmRsZWRBY3Rpb25zTG9nZ2VyLCBudWxsKTtcbiAgICAgIC8vIFRoZSBgTmd4c1VuaGFuZGxlZEFjdGlvbnNMb2dnZXJgIHdpbGwgbm90IGJlIHJlc29sdmVkIGJ5IHRoZSBpbmplY3RvciBpZiB0aGVcbiAgICAgIC8vIGBOZ3hzRGV2ZWxvcG1lbnRNb2R1bGVgIGlzIG5vdCBwcm92aWRlZC4gSXQncyBlbm91Z2ggdG8gY2hlY2sgd2hldGhlciB0aGUgYGluamVjdG9yLmdldGBcbiAgICAgIC8vIGRpZG4ndCByZXR1cm4gYG51bGxgIHNvIHdlIG1heSBlbnN1cmUgdGhlIG1vZHVsZSBoYXMgYmVlbiBpbXBvcnRlZC5cbiAgICAgIHVuaGFuZGxlZEFjdGlvbnNMb2dnZXI/Lndhcm4oYWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAoIXJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICByZXN1bHRzLnB1c2gob2YodW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcmtKb2luKHJlc3VsdHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb1N0YXRlc01hcChzdGF0ZUNsYXNzZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10pOiB7XG4gICAgbmV3U3RhdGVzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdO1xuICB9IHtcbiAgICBjb25zdCBuZXdTdGF0ZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10gPSBbXTtcbiAgICBjb25zdCBzdGF0ZXNNYXA6IFN0YXRlc0J5TmFtZSA9IHRoaXMuc3RhdGVzQnlOYW1lO1xuXG4gICAgZm9yIChjb25zdCBzdGF0ZUNsYXNzIG9mIHN0YXRlQ2xhc3Nlcykge1xuICAgICAgY29uc3Qgc3RhdGVOYW1lID0gybVnZXRTdG9yZU1ldGFkYXRhKHN0YXRlQ2xhc3MpLm5hbWUhO1xuICAgICAgaWYgKE5HX0RFVl9NT0RFKSB7XG4gICAgICAgIGVuc3VyZVN0YXRlTmFtZUlzVW5pcXVlKHN0YXRlTmFtZSwgc3RhdGVDbGFzcywgc3RhdGVzTWFwKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHVubW91bnRlZFN0YXRlID0gIXN0YXRlc01hcFtzdGF0ZU5hbWVdO1xuICAgICAgaWYgKHVubW91bnRlZFN0YXRlKSB7XG4gICAgICAgIG5ld1N0YXRlcy5wdXNoKHN0YXRlQ2xhc3MpO1xuICAgICAgICBzdGF0ZXNNYXBbc3RhdGVOYW1lXSA9IHN0YXRlQ2xhc3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbmV3U3RhdGVzIH07XG4gIH1cblxuICBwcml2YXRlIGFkZFJ1bnRpbWVJbmZvVG9NZXRhKG1ldGE6IMm1TWV0YURhdGFNb2RlbCwgcGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVBhdGhzW21ldGEubmFtZSFdID0gcGF0aDtcbiAgICAvLyBUT0RPOiB2ZXJzaW9ucyBhZnRlciB2MyAtIHdlIHBsYW4gdG8gZ2V0IHJpZCBvZiB0aGUgYHBhdGhgIHByb3BlcnR5IGJlY2F1c2UgaXQgaXMgbm9uLWRldGVybWluaXN0aWNcbiAgICAvLyB3ZSBjYW4gZG8gdGhpcyB3aGVuIHdlIGdldCByaWQgb2YgdGhlIGluY29ycmVjdGx5IGV4cG9zZWQgZ2V0U3RvcmVNZXRhZGF0YVxuICAgIC8vIFdlIHdpbGwgbmVlZCB0byBjb21lIHVwIHdpdGggYW4gYWx0ZXJuYXRpdmUgdG8gd2hhdCB3YXMgZXhwb3NlZCBpbiB2MyBiZWNhdXNlIHRoaXMgaXMgdXNlZCBieSBtYW55IHBsdWdpbnNcbiAgICBtZXRhLnBhdGggPSBwYXRoO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNCZWVuTW91bnRlZEFuZEJvb3RzdHJhcHBlZChuYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlSXNCb290c3RyYXBwZWRJbkluaXRpYWxTdGF0ZTogYm9vbGVhbiA9XG4gICAgICBnZXRWYWx1ZSh0aGlzLl9pbml0aWFsU3RhdGUsIHBhdGgpICE9PSB1bmRlZmluZWQ7XG4gICAgLy8gVGhpcyBjaGVja3Mgd2hldGhlciBhIHN0YXRlIGhhcyBiZWVuIGFscmVhZHkgYWRkZWQgdG8gdGhlIGdsb2JhbCBncmFwaCBhbmRcbiAgICAvLyBpdHMgbGlmZWN5Y2xlIGlzIGluICdib290c3RyYXBwZWQnIHN0YXRlLlxuICAgIHJldHVybiB0aGlzLnN0YXRlc0J5TmFtZVtuYW1lXSAmJiB2YWx1ZUlzQm9vdHN0cmFwcGVkSW5Jbml0aWFsU3RhdGU7XG4gIH1cblxuICBwcml2YXRlIGh5ZHJhdGVBY3Rpb25NZXRhc01hcCh7IHBhdGgsIGFjdGlvbnMsIGluc3RhbmNlIH06IE1hcHBlZFN0b3JlKTogdm9pZCB7XG4gICAgY29uc3QgeyBkaXNwYXRjaGVkJCB9ID0gdGhpcy5fYWN0aW9ucztcbiAgICBmb3IgKGNvbnN0IGFjdGlvblR5cGUgb2YgT2JqZWN0LmtleXMoYWN0aW9ucykpIHtcbiAgICAgIGNvbnN0IGFjdGlvbkhhbmRsZXJzID0gYWN0aW9uc1thY3Rpb25UeXBlXS5tYXAoYWN0aW9uTWV0YSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbmNlbGFibGUgPSAhIWFjdGlvbk1ldGEub3B0aW9ucy5jYW5jZWxVbmNvbXBsZXRlZDtcblxuICAgICAgICByZXR1cm4gKGFjdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3RhdGVDb250ZXh0ID0gdGhpcy5fc3RhdGVDb250ZXh0RmFjdG9yeS5jcmVhdGVTdGF0ZUNvbnRleHQocGF0aCk7XG5cbiAgICAgICAgICBsZXQgcmVzdWx0ID0gaW5zdGFuY2VbYWN0aW9uTWV0YS5mbl0oc3RhdGVDb250ZXh0LCBhY3Rpb24pO1xuXG4gICAgICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYGlzUHJvbWlzZWAgaW5zdGVhZCBvZiBjaGVja2luZyB3aGV0aGVyXG4gICAgICAgICAgLy8gYHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2VgLiBJbiB6b25lLmpzIHBhdGNoZWQgZW52aXJvbm1lbnRzLCBgZ2xvYmFsLlByb21pc2VgXG4gICAgICAgICAgLy8gaXMgdGhlIGBab25lQXdhcmVQcm9taXNlYC4gU29tZSBBUElzLCB3aGljaCBhcmUgbGlrZWx5IG5vdCBwYXRjaGVkIGJ5IHpvbmUuanNcbiAgICAgICAgICAvLyBmb3IgY2VydGFpbiByZWFzb25zLCBtaWdodCBub3Qgd29yayB3aXRoIGBpbnN0YW5jZW9mYC4gRm9yIGluc3RhbmNlLCB0aGUgZHluYW1pY1xuICAgICAgICAgIC8vIGltcG9ydCByZXR1cm5zIGEgbmF0aXZlIHByb21pc2UgKG5vdCBhIGBab25lQXdhcmVQcm9taXNlYCksIGNhdXNpbmcgdGhpcyBjaGVjayB0b1xuICAgICAgICAgIC8vIGJlIGZhbHN5LlxuICAgICAgICAgIGlmICjJtWlzUHJvbWlzZShyZXN1bHQpKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBmcm9tKHJlc3VsdCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGlzT2JzZXJ2YWJsZShyZXN1bHQpKSB7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQucGlwZShcbiAgICAgICAgICAgICAgbWVyZ2VNYXAoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoybVpc1Byb21pc2UodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc09ic2VydmFibGUodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvZih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgLy8gSWYgdGhpcyBvYnNlcnZhYmxlIGhhcyBjb21wbGV0ZWQgd2l0aG91dCBlbWl0dGluZyBhbnkgdmFsdWVzLFxuICAgICAgICAgICAgICAvLyB3ZSB3b3VsZG4ndCB3YW50IHRvIGNvbXBsZXRlIHRoZSBlbnRpcmUgY2hhaW4gb2YgYWN0aW9ucy5cbiAgICAgICAgICAgICAgLy8gSWYgYW55IG9ic2VydmFibGUgY29tcGxldGVzLCB0aGVuIHRoZSBhY3Rpb24gd2lsbCBiZSBjYW5jZWxlZC5cbiAgICAgICAgICAgICAgLy8gRm9yIGluc3RhbmNlLCBpZiBhbnkgYWN0aW9uIGhhbmRsZXIgaGFkIGEgc3RhdGVtZW50IGxpa2VcbiAgICAgICAgICAgICAgLy8gYGhhbmRsZXIoY3R4KSB7IHJldHVybiBFTVBUWTsgfWAsIHRoZW4gdGhlIGFjdGlvbiB3b3VsZCBiZSBjYW5jZWxlZC5cbiAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL2lzc3Vlcy8xNTY4XG4gICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBhY3R1YWxseSBkb24ndCBjYXJlIGFib3V0IHRoZSByZXR1cm4gdHlwZTsgd2Ugb25seSBjYXJlXG4gICAgICAgICAgICAgIC8vIGFib3V0IGVtaXNzaW9uLCBhbmQgdGh1cyBgdW5kZWZpbmVkYCBpcyBhcHBsaWNhYmxlIGJ5IHRoZSBmcmFtZXdvcmsuXG4gICAgICAgICAgICAgIGRlZmF1bHRJZkVtcHR5KHVuZGVmaW5lZClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChjYW5jZWxhYmxlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5vdGlmaWVyJCA9IGRpc3BhdGNoZWQkLnBpcGUob2ZBY3Rpb25EaXNwYXRjaGVkKGFjdGlvbikpO1xuICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQucGlwZSh0YWtlVW50aWwobm90aWZpZXIkKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKFxuICAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgd2UgdXNlIHRoZSBgZmluYWxpemVgIG9wZXJhdG9yIG9ubHkgd2hlbiB0aGUgYWN0aW9uIGhhbmRsZXJcbiAgICAgICAgICAgICAgLy8gcmV0dXJucyBhbiBvYnNlcnZhYmxlLiBJZiB0aGUgYWN0aW9uIGhhbmRsZXIgaXMgc3luY2hyb25vdXMsIHdlIGRvIG5vdFxuICAgICAgICAgICAgICAvLyBuZWVkIHRvIHNldCB0aGUgc3RhdGUgY29udGV4dCBmdW5jdGlvbnMgdG8gYG5vb3BgLCBhcyB0aGUgYWJzZW5jZSBvZiBhXG4gICAgICAgICAgICAgIC8vIHJldHVybiB2YWx1ZSBpbmRpY2F0ZXMgbm8gYXN5bmNocm9ub3VzIGZ1bmN0aW9uYWxpdHkuIElmIHRoZSBoYW5kbGVyJ3NcbiAgICAgICAgICAgICAgLy8gcmVzdWx0IGlzIHVuc3Vic2NyaWJlZCAoZWl0aGVyIGJlY2F1c2UgdGhlIG9ic2VydmFibGUgaGFzIGNvbXBsZXRlZCBvciBpdFxuICAgICAgICAgICAgICAvLyB3YXMgdW5zdWJzY3JpYmVkIGJ5IGB0YWtlVW50aWxgIGR1ZSB0byBhIG5ldyBhY3Rpb24gYmVpbmcgZGlzcGF0Y2hlZCksXG4gICAgICAgICAgICAgIC8vIHdlIHByZXZlbnQgd3JpdGluZyB0byB0aGUgc3RhdGUgY29udGV4dC5cbiAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0YXRlQ29udGV4dC5zZXRTdGF0ZSA9IG5vb3A7XG4gICAgICAgICAgICAgICAgc3RhdGVDb250ZXh0LnBhdGNoU3RhdGUgPSBub29wO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgdGhlIGFjdGlvbiBoYW5kbGVyIGlzIHN5bmNocm9ub3VzIGFuZCByZXR1cm5zIG5vdGhpbmcgKGB2b2lkYCksIHdlXG4gICAgICAgICAgICAvLyBzdGlsbCBoYXZlIHRvIGNvbnZlcnQgdGhlIHJlc3VsdCB0byBhIHN5bmNocm9ub3VzIG9ic2VydmFibGUuXG4gICAgICAgICAgICByZXN1bHQgPSBvZih1bmRlZmluZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgZm9yIChjb25zdCBhY3Rpb25IYW5kbGVyIG9mIGFjdGlvbkhhbmRsZXJzKSB7XG4gICAgICAgIHRoaXMuX2FjdGlvblJlZ2lzdHJ5LnJlZ2lzdGVyKGFjdGlvblR5cGUsIGFjdGlvbkhhbmRsZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGlzIHVzZWQgdG8gcmVwbGFjZSBgc2V0U3RhdGVgIGFuZCBgcGF0Y2hTdGF0ZWAgb25jZSB0aGUgYWN0aW9uXG4vLyBoYW5kbGVyIGhhcyBiZWVuIHVuc3Vic2NyaWJlZCBvciBjb21wbGV0ZWQsIHRvIHByZXZlbnQgd3JpdGluZ1xuLy8gdG8gdGhlIHN0YXRlIGNvbnRleHQuXG5mdW5jdGlvbiBub29wKCkge31cbiJdfQ==
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFhLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBR1QsaUJBQWlCLEVBRWpCLG9CQUFvQixFQUdyQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osWUFBWSxFQUNaLEVBQUUsRUFFRixVQUFVLEVBQ1YsVUFBVSxFQUNWLGNBQWMsRUFDZCxNQUFNLEVBQ04sR0FBRyxFQUNILFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUVULE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLGtCQUFrQixFQUVsQixXQUFXLEVBQ1gsWUFBWSxFQUlaLGVBQWUsRUFDaEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFNUQsU0FBUyxhQUFhLENBQUMsUUFBYTtJQUNsQyxJQUFJLEtBQUssR0FBRyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUVuRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxLQUFLLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ3pELGtCQUFhLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakUsb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU1Qyx5QkFBb0IsR0FBd0IsSUFBSSxDQUFDO1FBRWpELCtCQUEwQixHQUE4QixJQUFLLENBQUM7UUFFOUQsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFLNUIsa0JBQWEsR0FBaUIsRUFBRSxDQUFDO1FBS2pDLGdCQUFXLEdBQTJCLEVBQUUsQ0FBQztRQUtqRCw4QkFBeUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hDLDREQUE0RDtZQUM1RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDMUIsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUU1QyxTQUFTLGFBQWEsQ0FBQyxHQUFXO2dCQUNoQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25ELENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBNEIsSUFBSSxDQUFDLGNBQWM7Z0JBQzFELENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixFQUFFO2dCQUNqRCxDQUFDLENBQUM7b0JBQ0UsY0FBYyxDQUFDLEdBQVc7d0JBQ3hCLGtFQUFrRTt3QkFDbEUsZ0ZBQWdGO3dCQUNoRixJQUFJLE1BQU0sR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNoRCxJQUFJLE1BQU0sRUFBRSxDQUFDOzRCQUNYLE9BQU8sTUFBTSxDQUFDO3dCQUNoQixDQUFDO3dCQUNELE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFOzRCQUNqQixxQkFBcUI7NEJBQ3JCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQ0FDWixNQUFNLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDOUMsQ0FBQzs0QkFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDOUMsQ0FBQyxDQUFDO29CQUNKLENBQUM7b0JBQ0Qsa0JBQWtCLENBQUMsWUFBcUM7d0JBQ3RELE1BQU0scUJBQXFCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7d0JBQ25FLE9BQU87NEJBQ0wsR0FBRyxxQkFBcUI7NEJBQ3hCLEdBQUcsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO3lCQUN4QixDQUFDO29CQUNKLENBQUM7aUJBQ0YsQ0FBQztZQUNOLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0tBNlFKO0lBaFVDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekUsQ0FBQztJQUdELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDckYsQ0FBQztJQUdELElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2pGLENBQUM7SUF5Q0QsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsWUFBbUM7UUFDckMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEQsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRWpDLE1BQU0sVUFBVSxHQUFrQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQWEsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUEyQixrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRSxNQUFNLFNBQVMsR0FBd0MsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sa0JBQWtCLEdBQWtCLEVBQUUsQ0FBQztRQUU3QyxLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2hDLE1BQU0sVUFBVSxHQUF3QixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEQsTUFBTSxJQUFJLEdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxHQUFtQixVQUFVLENBQUMsU0FBUyxDQUFFLENBQUM7WUFFcEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV0Qyx1RUFBdUU7WUFDdkUsMkVBQTJFO1lBQzNFLDJFQUEyRTtZQUMzRSwyREFBMkQ7WUFDM0QsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2xELDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFFRCxNQUFNLFFBQVEsR0FBZ0I7Z0JBQzVCLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixhQUFhLEVBQUUsS0FBSztnQkFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUN4QyxRQUFRLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDdkMsQ0FBQztZQUVGLDZDQUE2QztZQUM3Qyx5Q0FBeUM7WUFDekMsOEJBQThCO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFlBQW1DO1FBQ3RELE1BQU0sT0FBTyxHQUEwQixZQUFZLElBQUksRUFBRSxDQUFDO1FBRTFELE1BQU0sWUFBWSxHQUFrQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQ2xDLENBQUMsTUFBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRSxDQUN4QyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUMxRCxFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIscUVBQXFFO1FBQ3JFLHFFQUFxRTtRQUNyRSwyRUFBMkU7UUFDM0UsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM5RCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUTthQUN0QyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsR0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sK0NBQTRCLENBQUMsRUFDdEUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsTUFBTSxNQUFNLEdBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLDRDQUF5QixFQUFFLENBQUEsQ0FBQyxFQUNyRSxjQUFjLENBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0NBQXVCLEVBQUUsQ0FBQyxFQUN4RSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsMEJBQTBCO29CQUNoRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sZUFBZSxHQUFHLHVCQUF1QixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FDMUQseUJBQXlCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQ3pELENBQUM7Z0JBQ0YsT0FBTyxFQUFFLENBQWdCO29CQUN2QixNQUFNO29CQUNOLE1BQU0sc0NBQXNCO29CQUM1QixLQUFLLEVBQUUsZUFBZTtpQkFDdkIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhLENBQUMsTUFBVztRQUMvQixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUNoRCxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBRTFDLDhFQUE4RTtRQUM5RSw2RUFBNkU7UUFDN0UsSUFBSSxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFFakMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixLQUFLLE1BQU0sYUFBYSxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLE1BQU0sQ0FBQztnQkFFWCxJQUFJLENBQUM7b0JBQ0gsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDakMsQ0FBQztnQkFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNYLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLENBQUM7Z0JBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFckIsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBRUQsNEVBQTRFO1FBQzVFLDJCQUEyQjtRQUMzQixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzNFLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEYsK0VBQStFO1lBQy9FLDJGQUEyRjtZQUMzRixzRUFBc0U7WUFDdEUsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyxjQUFjLENBQUMsWUFBbUM7UUFHeEQsTUFBTSxTQUFTLEdBQTBCLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFNBQVMsR0FBaUIsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVsRCxLQUFLLE1BQU0sVUFBVSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3RDLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUssQ0FBQztZQUN0RCxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDbEQsdUJBQXVCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RCxDQUFDO1lBQ0QsTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0MsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sb0JBQW9CLENBQUMsSUFBb0IsRUFBRSxJQUFZO1FBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNuQyxzR0FBc0c7UUFDdEcsNkVBQTZFO1FBQzdFLDZHQUE2RztRQUM3RyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU8sNkJBQTZCLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDOUQsTUFBTSxpQ0FBaUMsR0FDckMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDO1FBQ25ELDZFQUE2RTtRQUM3RSw0Q0FBNEM7UUFDNUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLGlDQUFpQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFlO1FBQ3BFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3RDLEtBQUssTUFBTSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzlDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzFELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUUxRCxPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUU7b0JBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFeEUsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBRTNELHlEQUF5RDtvQkFDekQsaUZBQWlGO29CQUNqRixnRkFBZ0Y7b0JBQ2hGLG1GQUFtRjtvQkFDbkYsb0ZBQW9GO29CQUNwRixZQUFZO29CQUNaLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7d0JBQ3ZCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hCLENBQUM7b0JBRUQsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ2xCLFFBQVEsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFOzRCQUN0QixJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dDQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDckIsQ0FBQztpQ0FBTSxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dDQUMvQixPQUFPLEtBQUssQ0FBQzs0QkFDZixDQUFDO2lDQUFNLENBQUM7Z0NBQ04sT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQ25CLENBQUM7d0JBQ0gsQ0FBQyxDQUFDO3dCQUNGLGdFQUFnRTt3QkFDaEUsNERBQTREO3dCQUM1RCxpRUFBaUU7d0JBQ2pFLDJEQUEyRDt3QkFDM0QsdUVBQXVFO3dCQUN2RSxnREFBZ0Q7d0JBQ2hELHVFQUF1RTt3QkFDdkUsdUVBQXVFO3dCQUN2RSxjQUFjLENBQUMsU0FBUyxDQUFDLENBQzFCLENBQUM7d0JBRUYsSUFBSSxVQUFVLEVBQUUsQ0FBQzs0QkFDZixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7NEJBQy9ELE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUM3QyxDQUFDO3dCQUVELE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSTt3QkFDbEIsd0VBQXdFO3dCQUN4RSx5RUFBeUU7d0JBQ3pFLHlFQUF5RTt3QkFDekUseUVBQXlFO3dCQUN6RSw0RUFBNEU7d0JBQzVFLHlFQUF5RTt3QkFDekUsMkNBQTJDO3dCQUMzQyxRQUFRLENBQUMsR0FBRyxFQUFFOzRCQUNaLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDOzRCQUM3QixZQUFZLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzt3QkFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztvQkFDSixDQUFDO3lCQUFNLENBQUM7d0JBQ04sd0VBQXdFO3dCQUN4RSxnRUFBZ0U7d0JBQ2hFLE1BQU0sR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3pCLENBQUM7b0JBRUQsT0FBTyxNQUFNLENBQUM7Z0JBQ2hCLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsS0FBSyxNQUFNLGFBQWEsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztpSUEvVVUsWUFBWTtxSUFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVOztBQW1WWCxzRUFBc0U7QUFDdEUsaUVBQWlFO0FBQ2pFLHdCQUF3QjtBQUN4QixTQUFTLElBQUksS0FBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9uRGVzdHJveSwgaW5qZWN0LCDJtWlzUHJvbWlzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgybVtZW1vaXplLFxuICDJtU1FVEFfS0VZLFxuICDJtVBsYWluT2JqZWN0T2YsXG4gIMm1TWV0YURhdGFNb2RlbCxcbiAgybVnZXRTdG9yZU1ldGFkYXRhLFxuICDJtVN0YXRlQ2xhc3NJbnRlcm5hbCxcbiAgybVJTklUSUFMX1NUQVRFX1RPS0VOLFxuICDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyxcbiAgybVSdW50aW1lU2VsZWN0b3JDb250ZXh0XG59IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5pbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlLCBnZXRWYWx1ZSwgc2V0VmFsdWUgfSBmcm9tICdAbmd4cy9zdG9yZS9wbHVnaW5zJztcbmltcG9ydCB7XG4gIGZvcmtKb2luLFxuICBmcm9tLFxuICBpc09ic2VydmFibGUsXG4gIG9mLFxuICBTdWJzY3JpcHRpb24sXG4gIHRocm93RXJyb3IsXG4gIGNhdGNoRXJyb3IsXG4gIGRlZmF1bHRJZkVtcHR5LFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG4gIHRha2VVbnRpbCxcbiAgZmluYWxpemUsXG4gIE9ic2VydmFibGVcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICcuLi9zeW1ib2xzJztcbmltcG9ydCB7XG4gIGJ1aWxkR3JhcGgsXG4gIGZpbmRGdWxsUGFyZW50UGF0aCxcbiAgTWFwcGVkU3RvcmUsXG4gIG5hbWVUb1N0YXRlLFxuICDJtVBST1BfR0VUVEVSLFxuICBTdGF0ZUtleUdyYXBoLFxuICBTdGF0ZXNBbmREZWZhdWx0cyxcbiAgU3RhdGVzQnlOYW1lLFxuICB0b3BvbG9naWNhbFNvcnRcbn0gZnJvbSAnLi9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgTmd4c0FjdGlvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9hY3Rpb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dCwgQWN0aW9uU3RhdHVzLCBJbnRlcm5hbEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zLXN0cmVhbSc7XG5pbXBvcnQgeyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvZGlzcGF0Y2hlcic7XG5pbXBvcnQgeyBlbnN1cmVTdGF0ZU5hbWVJc1VuaXF1ZSwgZW5zdXJlU3RhdGVzQXJlRGVjb3JhdGVkIH0gZnJvbSAnLi4vdXRpbHMvc3RvcmUtdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBlbnN1cmVTdGF0ZUNsYXNzSXNJbmplY3RhYmxlIH0gZnJvbSAnLi4vaXZ5L2l2eS1lbmFibGVkLWluLWRldi1tb2RlJztcbmltcG9ydCB7IE5neHNVbmhhbmRsZWRBY3Rpb25zTG9nZ2VyIH0gZnJvbSAnLi4vZGV2LWZlYXR1cmVzL25neHMtdW5oYW5kbGVkLWFjdGlvbnMtbG9nZ2VyJztcbmltcG9ydCB7IE5neHNVbmhhbmRsZWRFcnJvckhhbmRsZXIgfSBmcm9tICcuLi9uZ3hzLXVuaGFuZGxlZC1lcnJvci1oYW5kbGVyJztcbmltcG9ydCB7IGFzc2lnblVuaGFuZGxlZENhbGxiYWNrIH0gZnJvbSAnLi91bmhhbmRsZWQtcnhqcy1lcnJvci1jYWxsYmFjayc7XG5pbXBvcnQgeyBTdGF0ZUNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi9zdGF0ZS1jb250ZXh0LWZhY3RvcnknO1xuaW1wb3J0IHsgb2ZBY3Rpb25EaXNwYXRjaGVkIH0gZnJvbSAnLi4vb3BlcmF0b3JzL29mLWFjdGlvbic7XG5cbmZ1bmN0aW9uIGNsb25lRGVmYXVsdHMoZGVmYXVsdHM6IGFueSk6IGFueSB7XG4gIGxldCB2YWx1ZSA9IGRlZmF1bHRzID09PSB1bmRlZmluZWQgPyB7fSA6IGRlZmF1bHRzO1xuXG4gIGlmIChkZWZhdWx0cykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRlZmF1bHRzKSkge1xuICAgICAgdmFsdWUgPSBkZWZhdWx0cy5zbGljZSgpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlZmF1bHRzID09PSAnb2JqZWN0Jykge1xuICAgICAgdmFsdWUgPSB7IC4uLmRlZmF1bHRzIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vKipcbiAqIFRoZSBgU3RhdGVGYWN0b3J5YCBjbGFzcyBhZGRzIHJvb3QgYW5kIGZlYXR1cmUgc3RhdGVzIHRvIHRoZSBncmFwaC5cbiAqIFRoaXMgZXh0cmFjdHMgc3RhdGUgbmFtZXMgZnJvbSBzdGF0ZSBjbGFzc2VzLCBjaGVja3MgaWYgdGhleSBhbHJlYWR5XG4gKiBleGlzdCBpbiB0aGUgZ2xvYmFsIGdyYXBoLCB0aHJvd3MgZXJyb3JzIGlmIHRoZWlyIG5hbWVzIGFyZSBpbnZhbGlkLCBldGMuXG4gKiBTZWUgaXRzIGNvbnN0cnVjdG9yLCBzdGF0ZSBmYWN0b3JpZXMgaW5qZWN0IHN0YXRlIGZhY3RvcmllcyB0aGF0IGFyZVxuICogcGFyZW50LWxldmVsIHByb3ZpZGVycy4gVGhpcyBpcyByZXF1aXJlZCB0byBnZXQgZmVhdHVyZSBzdGF0ZXMgZnJvbSB0aGVcbiAqIGluamVjdG9yIG9uIHRoZSBzYW1lIGxldmVsLlxuICpcbiAqIFRoZSBgTmd4c01vZHVsZS5mb3JGZWF0dXJlKC4uLilgIHJldHVybnMgYHByb3ZpZGVyczogW1N0YXRlRmFjdG9yeSwgLi4uc3RhdGVzXWAuXG4gKiBUaGUgYFN0YXRlRmFjdG9yeWAgaXMgaW5pdGlhbGl6ZWQgb24gdGhlIGZlYXR1cmUgbGV2ZWwgYW5kIGdvZXMgdGhyb3VnaCBgLi4uc3RhdGVzYFxuICogdG8gZ2V0IHRoZW0gZnJvbSB0aGUgaW5qZWN0b3IgdGhyb3VnaCBgaW5qZWN0b3IuZ2V0KHN0YXRlKWAuXG4gKiBAaWdub3JlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdGF0ZUZhY3RvcnkgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZyA9IGluamVjdChOZ3hzQ29uZmlnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50RmFjdG9yeSA9IGluamVjdChTdGF0ZUZhY3RvcnksIHsgb3B0aW9uYWw6IHRydWUsIHNraXBTZWxmOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZUNvbnRleHRGYWN0b3J5ID0gaW5qZWN0KFN0YXRlQ29udGV4dEZhY3RvcnkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpb25zID0gaW5qZWN0KEludGVybmFsQWN0aW9ucyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGlvblJlc3VsdHMgPSBpbmplY3QoSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luaXRpYWxTdGF0ZSA9IGluamVjdCjJtUlOSVRJQUxfU1RBVEVfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGlvblJlZ2lzdHJ5ID0gaW5qZWN0KE5neHNBY3Rpb25SZWdpc3RyeSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Byb3BHZXR0ZXIgPSBpbmplY3QoybVQUk9QX0dFVFRFUik7XG5cbiAgcHJpdmF0ZSBfYWN0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbmd4c1VuaGFuZGxlZEVycm9ySGFuZGxlcjogTmd4c1VuaGFuZGxlZEVycm9ySGFuZGxlciA9IG51bGwhO1xuXG4gIHByaXZhdGUgX3N0YXRlczogTWFwcGVkU3RvcmVbXSA9IFtdO1xuICBnZXQgc3RhdGVzKCk6IE1hcHBlZFN0b3JlW10ge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRGYWN0b3J5ID8gdGhpcy5fcGFyZW50RmFjdG9yeS5zdGF0ZXMgOiB0aGlzLl9zdGF0ZXM7XG4gIH1cblxuICBwcml2YXRlIF9zdGF0ZXNCeU5hbWU6IFN0YXRlc0J5TmFtZSA9IHt9O1xuICBnZXQgc3RhdGVzQnlOYW1lKCk6IFN0YXRlc0J5TmFtZSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudEZhY3RvcnkgPyB0aGlzLl9wYXJlbnRGYWN0b3J5LnN0YXRlc0J5TmFtZSA6IHRoaXMuX3N0YXRlc0J5TmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXRlUGF0aHM6IMm1UGxhaW5PYmplY3RPZjxzdHJpbmc+ID0ge307XG4gIHByaXZhdGUgZ2V0IHN0YXRlUGF0aHMoKTogybVQbGFpbk9iamVjdE9mPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRGYWN0b3J5ID8gdGhpcy5fcGFyZW50RmFjdG9yeS5zdGF0ZVBhdGhzIDogdGhpcy5fc3RhdGVQYXRocztcbiAgfVxuXG4gIGdldFJ1bnRpbWVTZWxlY3RvckNvbnRleHQgPSDJtW1lbW9pemUoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgIGNvbnN0IHN0YXRlRmFjdG9yeSA9IHRoaXM7XG4gICAgY29uc3QgcHJvcEdldHRlciA9IHN0YXRlRmFjdG9yeS5fcHJvcEdldHRlcjtcblxuICAgIGZ1bmN0aW9uIHJlc29sdmVHZXR0ZXIoa2V5OiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHBhdGggPSBzdGF0ZUZhY3Rvcnkuc3RhdGVQYXRoc1trZXldO1xuICAgICAgcmV0dXJuIHBhdGggPyBwcm9wR2V0dGVyKHBhdGguc3BsaXQoJy4nKSkgOiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHQ6IMm1UnVudGltZVNlbGVjdG9yQ29udGV4dCA9IHRoaXMuX3BhcmVudEZhY3RvcnlcbiAgICAgID8gdGhpcy5fcGFyZW50RmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KClcbiAgICAgIDoge1xuICAgICAgICAgIGdldFN0YXRlR2V0dGVyKGtleTogc3RyaW5nKSB7XG4gICAgICAgICAgICAvLyBVc2UgYEBfX0lOTElORV9fYCBhbm5vdGF0aW9uIHRvIGZvcmNlbHkgaW5saW5lIGByZXNvbHZlR2V0dGVyYC5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBUZXJzZXIgYW5ub3RhdGlvbiwgd2hpY2ggd2lsbCBmdW5jdGlvbiBvbmx5IGluIHRoZSBwcm9kdWN0aW9uIG1vZGUuXG4gICAgICAgICAgICBsZXQgZ2V0dGVyID0gLypAX19JTkxJTkVfXyovIHJlc29sdmVHZXR0ZXIoa2V5KTtcbiAgICAgICAgICAgIGlmIChnZXR0ZXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGdldHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgICAvLyBMYXRlIGxvYWRlZCBnZXR0ZXJcbiAgICAgICAgICAgICAgaWYgKCFnZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICBnZXR0ZXIgPSAvKkBfX0lOTElORV9fKi8gcmVzb2x2ZUdldHRlcihrZXkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBnZXR0ZXIgPyBnZXR0ZXIoLi4uYXJncykgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2V0U2VsZWN0b3JPcHRpb25zKGxvY2FsT3B0aW9ucz86IMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBnbG9iYWxTZWxlY3Rvck9wdGlvbnMgPSBzdGF0ZUZhY3RvcnkuX2NvbmZpZy5zZWxlY3Rvck9wdGlvbnM7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5nbG9iYWxTZWxlY3Rvck9wdGlvbnMsXG4gICAgICAgICAgICAgIC4uLihsb2NhbE9wdGlvbnMgfHwge30pXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfSk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aW9uc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgc3RhdGUgdG8gdGhlIGdsb2JhbCBkZWZzLlxuICAgKi9cbiAgYWRkKHN0YXRlQ2xhc3NlczogybVTdGF0ZUNsYXNzSW50ZXJuYWxbXSk6IE1hcHBlZFN0b3JlW10ge1xuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgIGVuc3VyZVN0YXRlc0FyZURlY29yYXRlZChzdGF0ZUNsYXNzZXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgbmV3U3RhdGVzIH0gPSB0aGlzLmFkZFRvU3RhdGVzTWFwKHN0YXRlQ2xhc3Nlcyk7XG4gICAgaWYgKCFuZXdTdGF0ZXMubGVuZ3RoKSByZXR1cm4gW107XG5cbiAgICBjb25zdCBzdGF0ZUdyYXBoOiBTdGF0ZUtleUdyYXBoID0gYnVpbGRHcmFwaChuZXdTdGF0ZXMpO1xuICAgIGNvbnN0IHNvcnRlZFN0YXRlczogc3RyaW5nW10gPSB0b3BvbG9naWNhbFNvcnQoc3RhdGVHcmFwaCk7XG4gICAgY29uc3QgcGF0aHM6IMm1UGxhaW5PYmplY3RPZjxzdHJpbmc+ID0gZmluZEZ1bGxQYXJlbnRQYXRoKHN0YXRlR3JhcGgpO1xuICAgIGNvbnN0IG5hbWVHcmFwaDogybVQbGFpbk9iamVjdE9mPMm1U3RhdGVDbGFzc0ludGVybmFsPiA9IG5hbWVUb1N0YXRlKG5ld1N0YXRlcyk7XG4gICAgY29uc3QgYm9vdHN0cmFwcGVkU3RvcmVzOiBNYXBwZWRTdG9yZVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgb2Ygc29ydGVkU3RhdGVzKSB7XG4gICAgICBjb25zdCBzdGF0ZUNsYXNzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbCA9IG5hbWVHcmFwaFtuYW1lXTtcbiAgICAgIGNvbnN0IHBhdGg6IHN0cmluZyA9IHBhdGhzW25hbWVdO1xuICAgICAgY29uc3QgbWV0YTogybVNZXRhRGF0YU1vZGVsID0gc3RhdGVDbGFzc1vJtU1FVEFfS0VZXSE7XG5cbiAgICAgIHRoaXMuYWRkUnVudGltZUluZm9Ub01ldGEobWV0YSwgcGF0aCk7XG5cbiAgICAgIC8vIE5vdGU6IHByZXZpb3VzbHkgd2UgY2FsbGVkIGBlbnN1cmVTdGF0ZUNsYXNzSXNJbmplY3RhYmxlYCB3aXRoaW4gdGhlXG4gICAgICAvLyBgU3RhdGVgIGRlY29yYXRvci4gVGhpcyBjaGVjayBpcyBtb3ZlZCBoZXJlIGJlY2F1c2UgdGhlIGDJtXByb3ZgIHByb3BlcnR5XG4gICAgICAvLyB3aWxsIG5vdCBleGlzdCBvbiB0aGUgY2xhc3MgaW4gSklUIG1vZGUgKGJlY2F1c2UgaXQncyBzZXQgYXN5bmNocm9ub3VzbHlcbiAgICAgIC8vIGR1cmluZyBKSVQgY29tcGlsYXRpb24gdGhyb3VnaCBgT2JqZWN0LmRlZmluZVByb3BlcnR5YCkuXG4gICAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlKSB7XG4gICAgICAgIGVuc3VyZVN0YXRlQ2xhc3NJc0luamVjdGFibGUoc3RhdGVDbGFzcyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXRlTWFwOiBNYXBwZWRTdG9yZSA9IHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgaXNJbml0aWFsaXNlZDogZmFsc2UsXG4gICAgICAgIGFjdGlvbnM6IG1ldGEuYWN0aW9ucyxcbiAgICAgICAgaW5zdGFuY2U6IHRoaXMuX2luamVjdG9yLmdldChzdGF0ZUNsYXNzKSxcbiAgICAgICAgZGVmYXVsdHM6IGNsb25lRGVmYXVsdHMobWV0YS5kZWZhdWx0cylcbiAgICAgIH07XG5cbiAgICAgIC8vIGVuc3VyZSBvdXIgc3RvcmUgaGFzbid0IGFscmVhZHkgYmVlbiBhZGRlZFxuICAgICAgLy8gYnV0IGRvbid0IHRocm93IHNpbmNlIGl0IGNvdWxkIGJlIGxhenlcbiAgICAgIC8vIGxvYWRlZCBmcm9tIGRpZmZlcmVudCBwYXRoc1xuICAgICAgaWYgKCF0aGlzLmhhc0JlZW5Nb3VudGVkQW5kQm9vdHN0cmFwcGVkKG5hbWUsIHBhdGgpKSB7XG4gICAgICAgIGJvb3RzdHJhcHBlZFN0b3Jlcy5wdXNoKHN0YXRlTWFwKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zdGF0ZXMucHVzaChzdGF0ZU1hcCk7XG4gICAgICB0aGlzLmh5ZHJhdGVBY3Rpb25NZXRhc01hcChzdGF0ZU1hcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvb3RzdHJhcHBlZFN0b3JlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzZXQgb2Ygc3RhdGVzIHRvIHRoZSBzdG9yZSBhbmQgcmV0dXJuIHRoZSBkZWZhdWx0c1xuICAgKi9cbiAgYWRkQW5kUmV0dXJuRGVmYXVsdHMoc3RhdGVDbGFzc2VzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdKTogU3RhdGVzQW5kRGVmYXVsdHMge1xuICAgIGNvbnN0IGNsYXNzZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10gPSBzdGF0ZUNsYXNzZXMgfHwgW107XG5cbiAgICBjb25zdCBtYXBwZWRTdG9yZXM6IE1hcHBlZFN0b3JlW10gPSB0aGlzLmFkZChjbGFzc2VzKTtcbiAgICBjb25zdCBkZWZhdWx0cyA9IG1hcHBlZFN0b3Jlcy5yZWR1Y2UoXG4gICAgICAocmVzdWx0OiBhbnksIG1hcHBlZFN0b3JlOiBNYXBwZWRTdG9yZSkgPT5cbiAgICAgICAgc2V0VmFsdWUocmVzdWx0LCBtYXBwZWRTdG9yZS5wYXRoLCBtYXBwZWRTdG9yZS5kZWZhdWx0cyksXG4gICAgICB7fVxuICAgICk7XG4gICAgcmV0dXJuIHsgZGVmYXVsdHMsIHN0YXRlczogbWFwcGVkU3RvcmVzIH07XG4gIH1cblxuICBjb25uZWN0QWN0aW9uSGFuZGxlcnMoKTogdm9pZCB7XG4gICAgLy8gTm90ZTogV2UgaGF2ZSB0byBjb25uZWN0IGFjdGlvbnMgb25seSBvbmNlIHdoZW4gdGhlIGBTdGF0ZUZhY3RvcnlgXG4gICAgLy8gICAgICAgaXMgYmVpbmcgY3JlYXRlZCBmb3IgdGhlIGZpcnN0IHRpbWUuIFRoaXMgY2hlY2tzIGlmIHdlJ3JlIGluXG4gICAgLy8gICAgICAgYSBjaGlsZCBzdGF0ZSBmYWN0b3J5IGFuZCB0aGUgcGFyZW50IHN0YXRlIGZhY3RvcnkgYWxyZWFkeSBleGlzdHMuXG4gICAgaWYgKHRoaXMuX3BhcmVudEZhY3RvcnkgfHwgdGhpcy5fYWN0aW9uc1N1YnNjcmlwdGlvbiAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2FjdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLl9hY3Rpb25zXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IGN0eC5zdGF0dXMgPT09IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkKSxcbiAgICAgICAgbWVyZ2VNYXAoY3R4ID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb246IGFueSA9IGN0eC5hY3Rpb247XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaW52b2tlQWN0aW9ucyhhY3Rpb24pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gPEFjdGlvbkNvbnRleHQ+eyBhY3Rpb24sIHN0YXR1czogQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWwgfSksXG4gICAgICAgICAgICBkZWZhdWx0SWZFbXB0eSg8QWN0aW9uQ29udGV4dD57IGFjdGlvbiwgc3RhdHVzOiBBY3Rpb25TdGF0dXMuQ2FuY2VsZWQgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgbmd4c1VuaGFuZGxlZEVycm9ySGFuZGxlciA9ICh0aGlzLl9uZ3hzVW5oYW5kbGVkRXJyb3JIYW5kbGVyIHx8PVxuICAgICAgICAgICAgICAgIHRoaXMuX2luamVjdG9yLmdldChOZ3hzVW5oYW5kbGVkRXJyb3JIYW5kbGVyKSk7XG4gICAgICAgICAgICAgIGNvbnN0IGhhbmRsZWFibGVFcnJvciA9IGFzc2lnblVuaGFuZGxlZENhbGxiYWNrKGVycm9yLCAoKSA9PlxuICAgICAgICAgICAgICAgIG5neHNVbmhhbmRsZWRFcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IsIHsgYWN0aW9uIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiBvZig8QWN0aW9uQ29udGV4dD57XG4gICAgICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgICAgIHN0YXR1czogQWN0aW9uU3RhdHVzLkVycm9yZWQsXG4gICAgICAgICAgICAgICAgZXJyb3I6IGhhbmRsZWFibGVFcnJvclxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoY3R4ID0+IHRoaXMuX2FjdGlvblJlc3VsdHMubmV4dChjdHgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2UgYWN0aW9ucyBvbiB0aGUgc3RhdGVzLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnZva2VBY3Rpb25zKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTx1bmtub3duW10+IHtcbiAgICBjb25zdCB0eXBlID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pITtcbiAgICBjb25zdCByZXN1bHRzOiBPYnNlcnZhYmxlPHVua25vd24+W10gPSBbXTtcblxuICAgIC8vIERldGVybWluZXMgd2hldGhlciB0aGUgZGlzcGF0Y2hlZCBhY3Rpb24gaGFzIGJlZW4gaGFuZGxlZCwgdGhpcyBpcyBhc3NpZ25lZFxuICAgIC8vIHRvIGB0cnVlYCB3aXRoaW4gdGhlIGJlbG93IGBmb3JgIGxvb3AgaWYgYW55IGBhY3Rpb25NZXRhc2AgaGFzIGJlZW4gZm91bmQuXG4gICAgbGV0IGFjdGlvbkhhc0JlZW5IYW5kbGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBhY3Rpb25IYW5kbGVycyA9IHRoaXMuX2FjdGlvblJlZ2lzdHJ5LmdldCh0eXBlKTtcblxuICAgIGlmIChhY3Rpb25IYW5kbGVycykge1xuICAgICAgZm9yIChjb25zdCBhY3Rpb25IYW5kbGVyIG9mIGFjdGlvbkhhbmRsZXJzKSB7XG4gICAgICAgIGxldCByZXN1bHQ7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXN1bHQgPSBhY3Rpb25IYW5kbGVyKGFjdGlvbik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXN1bHQgPSB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdCk7XG5cbiAgICAgICAgYWN0aW9uSGFzQmVlbkhhbmRsZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBgTmd4c1VuaGFuZGxlZEFjdGlvbnNMb2dnZXJgIGlzIGEgdHJlZS1zaGFrYWJsZSBjbGFzcyB3aGljaCBmdW5jdGlvbnNcbiAgICAvLyBvbmx5IGR1cmluZyBkZXZlbG9wbWVudC5cbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlICYmICFhY3Rpb25IYXNCZWVuSGFuZGxlZCkge1xuICAgICAgY29uc3QgdW5oYW5kbGVkQWN0aW9uc0xvZ2dlciA9IHRoaXMuX2luamVjdG9yLmdldChOZ3hzVW5oYW5kbGVkQWN0aW9uc0xvZ2dlciwgbnVsbCk7XG4gICAgICAvLyBUaGUgYE5neHNVbmhhbmRsZWRBY3Rpb25zTG9nZ2VyYCB3aWxsIG5vdCBiZSByZXNvbHZlZCBieSB0aGUgaW5qZWN0b3IgaWYgdGhlXG4gICAgICAvLyBgTmd4c0RldmVsb3BtZW50TW9kdWxlYCBpcyBub3QgcHJvdmlkZWQuIEl0J3MgZW5vdWdoIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGBpbmplY3Rvci5nZXRgXG4gICAgICAvLyBkaWRuJ3QgcmV0dXJuIGBudWxsYCBzbyB3ZSBtYXkgZW5zdXJlIHRoZSBtb2R1bGUgaGFzIGJlZW4gaW1wb3J0ZWQuXG4gICAgICB1bmhhbmRsZWRBY3Rpb25zTG9nZ2VyPy53YXJuKGFjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkge1xuICAgICAgcmVzdWx0cy5wdXNoKG9mKHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JrSm9pbihyZXN1bHRzKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9TdGF0ZXNNYXAoc3RhdGVDbGFzc2VzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdKToge1xuICAgIG5ld1N0YXRlczogybVTdGF0ZUNsYXNzSW50ZXJuYWxbXTtcbiAgfSB7XG4gICAgY29uc3QgbmV3U3RhdGVzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdID0gW107XG4gICAgY29uc3Qgc3RhdGVzTWFwOiBTdGF0ZXNCeU5hbWUgPSB0aGlzLnN0YXRlc0J5TmFtZTtcblxuICAgIGZvciAoY29uc3Qgc3RhdGVDbGFzcyBvZiBzdGF0ZUNsYXNzZXMpIHtcbiAgICAgIGNvbnN0IHN0YXRlTmFtZSA9IMm1Z2V0U3RvcmVNZXRhZGF0YShzdGF0ZUNsYXNzKS5uYW1lITtcbiAgICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgICAgZW5zdXJlU3RhdGVOYW1lSXNVbmlxdWUoc3RhdGVOYW1lLCBzdGF0ZUNsYXNzLCBzdGF0ZXNNYXApO1xuICAgICAgfVxuICAgICAgY29uc3QgdW5tb3VudGVkU3RhdGUgPSAhc3RhdGVzTWFwW3N0YXRlTmFtZV07XG4gICAgICBpZiAodW5tb3VudGVkU3RhdGUpIHtcbiAgICAgICAgbmV3U3RhdGVzLnB1c2goc3RhdGVDbGFzcyk7XG4gICAgICAgIHN0YXRlc01hcFtzdGF0ZU5hbWVdID0gc3RhdGVDbGFzcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBuZXdTdGF0ZXMgfTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUnVudGltZUluZm9Ub01ldGEobWV0YTogybVNZXRhRGF0YU1vZGVsLCBwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlUGF0aHNbbWV0YS5uYW1lIV0gPSBwYXRoO1xuICAgIC8vIFRPRE86IHZlcnNpb25zIGFmdGVyIHYzIC0gd2UgcGxhbiB0byBnZXQgcmlkIG9mIHRoZSBgcGF0aGAgcHJvcGVydHkgYmVjYXVzZSBpdCBpcyBub24tZGV0ZXJtaW5pc3RpY1xuICAgIC8vIHdlIGNhbiBkbyB0aGlzIHdoZW4gd2UgZ2V0IHJpZCBvZiB0aGUgaW5jb3JyZWN0bHkgZXhwb3NlZCBnZXRTdG9yZU1ldGFkYXRhXG4gICAgLy8gV2Ugd2lsbCBuZWVkIHRvIGNvbWUgdXAgd2l0aCBhbiBhbHRlcm5hdGl2ZSB0byB3aGF0IHdhcyBleHBvc2VkIGluIHYzIGJlY2F1c2UgdGhpcyBpcyB1c2VkIGJ5IG1hbnkgcGx1Z2luc1xuICAgIG1ldGEucGF0aCA9IHBhdGg7XG4gIH1cblxuICBwcml2YXRlIGhhc0JlZW5Nb3VudGVkQW5kQm9vdHN0cmFwcGVkKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWVJc0Jvb3RzdHJhcHBlZEluSW5pdGlhbFN0YXRlOiBib29sZWFuID1cbiAgICAgIGdldFZhbHVlKHRoaXMuX2luaXRpYWxTdGF0ZSwgcGF0aCkgIT09IHVuZGVmaW5lZDtcbiAgICAvLyBUaGlzIGNoZWNrcyB3aGV0aGVyIGEgc3RhdGUgaGFzIGJlZW4gYWxyZWFkeSBhZGRlZCB0byB0aGUgZ2xvYmFsIGdyYXBoIGFuZFxuICAgIC8vIGl0cyBsaWZlY3ljbGUgaXMgaW4gJ2Jvb3RzdHJhcHBlZCcgc3RhdGUuXG4gICAgcmV0dXJuIHRoaXMuc3RhdGVzQnlOYW1lW25hbWVdICYmIHZhbHVlSXNCb290c3RyYXBwZWRJbkluaXRpYWxTdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgaHlkcmF0ZUFjdGlvbk1ldGFzTWFwKHsgcGF0aCwgYWN0aW9ucywgaW5zdGFuY2UgfTogTWFwcGVkU3RvcmUpOiB2b2lkIHtcbiAgICBjb25zdCB7IGRpc3BhdGNoZWQkIH0gPSB0aGlzLl9hY3Rpb25zO1xuICAgIGZvciAoY29uc3QgYWN0aW9uVHlwZSBvZiBPYmplY3Qua2V5cyhhY3Rpb25zKSkge1xuICAgICAgY29uc3QgYWN0aW9uSGFuZGxlcnMgPSBhY3Rpb25zW2FjdGlvblR5cGVdLm1hcChhY3Rpb25NZXRhID0+IHtcbiAgICAgICAgY29uc3QgY2FuY2VsYWJsZSA9ICEhYWN0aW9uTWV0YS5vcHRpb25zLmNhbmNlbFVuY29tcGxldGVkO1xuXG4gICAgICAgIHJldHVybiAoYWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGF0ZUNvbnRleHQgPSB0aGlzLl9zdGF0ZUNvbnRleHRGYWN0b3J5LmNyZWF0ZVN0YXRlQ29udGV4dChwYXRoKTtcblxuICAgICAgICAgIGxldCByZXN1bHQgPSBpbnN0YW5jZVthY3Rpb25NZXRhLmZuXShzdGF0ZUNvbnRleHQsIGFjdGlvbik7XG5cbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIHVzZSBgaXNQcm9taXNlYCBpbnN0ZWFkIG9mIGNoZWNraW5nIHdoZXRoZXJcbiAgICAgICAgICAvLyBgcmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZWAuIEluIHpvbmUuanMgcGF0Y2hlZCBlbnZpcm9ubWVudHMsIGBnbG9iYWwuUHJvbWlzZWBcbiAgICAgICAgICAvLyBpcyB0aGUgYFpvbmVBd2FyZVByb21pc2VgLiBTb21lIEFQSXMsIHdoaWNoIGFyZSBsaWtlbHkgbm90IHBhdGNoZWQgYnkgem9uZS5qc1xuICAgICAgICAgIC8vIGZvciBjZXJ0YWluIHJlYXNvbnMsIG1pZ2h0IG5vdCB3b3JrIHdpdGggYGluc3RhbmNlb2ZgLiBGb3IgaW5zdGFuY2UsIHRoZSBkeW5hbWljXG4gICAgICAgICAgLy8gaW1wb3J0IHJldHVybnMgYSBuYXRpdmUgcHJvbWlzZSAobm90IGEgYFpvbmVBd2FyZVByb21pc2VgKSwgY2F1c2luZyB0aGlzIGNoZWNrIHRvXG4gICAgICAgICAgLy8gYmUgZmFsc3kuXG4gICAgICAgICAgaWYgKMm1aXNQcm9taXNlKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGZyb20ocmVzdWx0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKFxuICAgICAgICAgICAgICBtZXJnZU1hcCgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICjJtWlzUHJvbWlzZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBmcm9tKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAvLyBJZiB0aGlzIG9ic2VydmFibGUgaGFzIGNvbXBsZXRlZCB3aXRob3V0IGVtaXR0aW5nIGFueSB2YWx1ZXMsXG4gICAgICAgICAgICAgIC8vIHdlIHdvdWxkbid0IHdhbnQgdG8gY29tcGxldGUgdGhlIGVudGlyZSBjaGFpbiBvZiBhY3Rpb25zLlxuICAgICAgICAgICAgICAvLyBJZiBhbnkgb2JzZXJ2YWJsZSBjb21wbGV0ZXMsIHRoZW4gdGhlIGFjdGlvbiB3aWxsIGJlIGNhbmNlbGVkLlxuICAgICAgICAgICAgICAvLyBGb3IgaW5zdGFuY2UsIGlmIGFueSBhY3Rpb24gaGFuZGxlciBoYWQgYSBzdGF0ZW1lbnQgbGlrZVxuICAgICAgICAgICAgICAvLyBgaGFuZGxlcihjdHgpIHsgcmV0dXJuIEVNUFRZOyB9YCwgdGhlbiB0aGUgYWN0aW9uIHdvdWxkIGJlIGNhbmNlbGVkLlxuICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25neHMvc3RvcmUvaXNzdWVzLzE1NjhcbiAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGFjdHVhbGx5IGRvbid0IGNhcmUgYWJvdXQgdGhlIHJldHVybiB0eXBlOyB3ZSBvbmx5IGNhcmVcbiAgICAgICAgICAgICAgLy8gYWJvdXQgZW1pc3Npb24sIGFuZCB0aHVzIGB1bmRlZmluZWRgIGlzIGFwcGxpY2FibGUgYnkgdGhlIGZyYW1ld29yay5cbiAgICAgICAgICAgICAgZGVmYXVsdElmRW1wdHkodW5kZWZpbmVkKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGNhbmNlbGFibGUpIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm90aWZpZXIkID0gZGlzcGF0Y2hlZCQucGlwZShvZkFjdGlvbkRpc3BhdGNoZWQoYWN0aW9uKSk7XG4gICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKHRha2VVbnRpbChub3RpZmllciQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnBpcGUoXG4gICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSB1c2UgdGhlIGBmaW5hbGl6ZWAgb3BlcmF0b3Igb25seSB3aGVuIHRoZSBhY3Rpb24gaGFuZGxlclxuICAgICAgICAgICAgICAvLyByZXR1cm5zIGFuIG9ic2VydmFibGUuIElmIHRoZSBhY3Rpb24gaGFuZGxlciBpcyBzeW5jaHJvbm91cywgd2UgZG8gbm90XG4gICAgICAgICAgICAgIC8vIG5lZWQgdG8gc2V0IHRoZSBzdGF0ZSBjb250ZXh0IGZ1bmN0aW9ucyB0byBgbm9vcGAsIGFzIHRoZSBhYnNlbmNlIG9mIGFcbiAgICAgICAgICAgICAgLy8gcmV0dXJuIHZhbHVlIGluZGljYXRlcyBubyBhc3luY2hyb25vdXMgZnVuY3Rpb25hbGl0eS4gSWYgdGhlIGhhbmRsZXInc1xuICAgICAgICAgICAgICAvLyByZXN1bHQgaXMgdW5zdWJzY3JpYmVkIChlaXRoZXIgYmVjYXVzZSB0aGUgb2JzZXJ2YWJsZSBoYXMgY29tcGxldGVkIG9yIGl0XG4gICAgICAgICAgICAgIC8vIHdhcyB1bnN1YnNjcmliZWQgYnkgYHRha2VVbnRpbGAgZHVlIHRvIGEgbmV3IGFjdGlvbiBiZWluZyBkaXNwYXRjaGVkKSxcbiAgICAgICAgICAgICAgLy8gd2UgcHJldmVudCB3cml0aW5nIHRvIHRoZSBzdGF0ZSBjb250ZXh0LlxuICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3RhdGVDb250ZXh0LnNldFN0YXRlID0gbm9vcDtcbiAgICAgICAgICAgICAgICBzdGF0ZUNvbnRleHQucGF0Y2hTdGF0ZSA9IG5vb3A7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgYWN0aW9uIGhhbmRsZXIgaXMgc3luY2hyb25vdXMgYW5kIHJldHVybnMgbm90aGluZyAoYHZvaWRgKSwgd2VcbiAgICAgICAgICAgIC8vIHN0aWxsIGhhdmUgdG8gY29udmVydCB0aGUgcmVzdWx0IHRvIGEgc3luY2hyb25vdXMgb2JzZXJ2YWJsZS5cbiAgICAgICAgICAgIHJlc3VsdCA9IG9mKHVuZGVmaW5lZCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICBmb3IgKGNvbnN0IGFjdGlvbkhhbmRsZXIgb2YgYWN0aW9uSGFuZGxlcnMpIHtcbiAgICAgICAgdGhpcy5fYWN0aW9uUmVnaXN0cnkucmVnaXN0ZXIoYWN0aW9uVHlwZSwgYWN0aW9uSGFuZGxlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgaXMgdXNlZCB0byByZXBsYWNlIGBzZXRTdGF0ZWAgYW5kIGBwYXRjaFN0YXRlYCBvbmNlIHRoZSBhY3Rpb25cbi8vIGhhbmRsZXIgaGFzIGJlZW4gdW5zdWJzY3JpYmVkIG9yIGNvbXBsZXRlZCwgdG8gcHJldmVudCB3cml0aW5nXG4vLyB0byB0aGUgc3RhdGUgY29udGV4dC5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuIl19
@@ -1,5 +1,4 @@
1
1
  import { ɵmemoize, ɵgetStoreMetadata, ɵgetSelectorMetadata } from '@ngxs/store/internals';
2
- const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
3
2
  export function createRootSelectorFactory(selectorMetaData, selectors, memoizedSelectorFn) {
4
3
  return (context) => {
5
4
  const { argumentSelectorFunctions, selectorOptions } = getRuntimeSelectorInfo(context, selectorMetaData, selectors);
@@ -20,7 +19,7 @@ export function createRootSelectorFactory(selectorMetaData, selectors, memoizedS
20
19
  // We're logging an error in this function because it may be used by `select`,
21
20
  // `selectSignal`, and `selectSnapshot`. Therefore, there's no need to catch
22
21
  // exceptions there to log errors.
23
- if (NG_DEV_MODE) {
22
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
24
23
  const message = 'The selector below has thrown an error upon invocation. ' +
25
24
  'Please check for any unsafe property access that may result in null ' +
26
25
  'or undefined values.';
@@ -93,4 +92,4 @@ export function getRootSelectorFactory(selector) {
93
92
  const metadata = ɵgetSelectorMetadata(selector) || ɵgetStoreMetadata(selector);
94
93
  return (metadata && metadata.makeRootSelector) || (() => selector);
95
94
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBR1IsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUdyQixNQUFNLHVCQUF1QixDQUFDO0FBTS9CLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEUsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxnQkFBd0MsRUFDeEMsU0FBNEIsRUFDNUIsa0JBQXFCO0lBRXJCLE9BQU8sQ0FBQyxPQUFnQyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxHQUFHLHNCQUFzQixDQUMzRSxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFNBQVMsQ0FDVixDQUFDO1FBRUYsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLGVBQWUsQ0FBQztRQUUzQyxPQUFPLFNBQVMsY0FBYyxDQUFDLFNBQWM7WUFDM0MsNkRBQTZEO1lBQzdELE1BQU0sT0FBTyxHQUFHLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBRXpFLDhFQUE4RTtZQUM5RSwrRUFBK0U7WUFDL0UsNkJBQTZCO1lBQzdCLElBQUksQ0FBQztnQkFDSCxPQUFPLGtCQUFrQixDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxjQUFjLElBQUksRUFBRSxZQUFZLFNBQVMsRUFBRSxDQUFDO29CQUM5QyxPQUFPLFNBQVMsQ0FBQztnQkFDbkIsQ0FBQztnQkFFRCw4RUFBOEU7Z0JBQzlFLDRFQUE0RTtnQkFDNUUsa0NBQWtDO2dC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QUNwQyxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsUUFBYTtJQUNsRCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRSxPQUFPLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIMm1bWVtb2l6ZSxcbiAgybVSdW50aW1lU2VsZWN0b3JDb250ZXh0LFxuICDJtVNlbGVjdG9yRmFjdG9yeSxcbiAgybVnZXRTdG9yZU1ldGFkYXRhLFxuICDJtWdldFNlbGVjdG9yTWV0YWRhdGEsXG4gIMm1U2VsZWN0b3JNZXRhRGF0YU1vZGVsLFxuICDJtVNoYXJlZFNlbGVjdG9yT3B0aW9uc1xufSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBDcmVhdGlvbk1ldGFkYXRhLCBSdW50aW1lU2VsZWN0b3JJbmZvIH0gZnJvbSAnLi9zZWxlY3Rvci1tb2RlbHMnO1xuXG5kZWNsYXJlIGNvbnN0IG5nRGV2TW9kZTogYm9vbGVhbjtcblxuY29uc3QgTkdfREVWX01PREUgPSB0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGU7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSb290U2VsZWN0b3JGYWN0b3J5PFQgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueT4oXG4gIHNlbGVjdG9yTWV0YURhdGE6IMm1U2VsZWN0b3JNZXRhRGF0YU1vZGVsLFxuICBzZWxlY3RvcnM6IGFueVtdIHwgdW5kZWZpbmVkLFxuICBtZW1vaXplZFNlbGVjdG9yRm46IFRcbik6IMm1U2VsZWN0b3JGYWN0b3J5IHtcbiAgcmV0dXJuIChjb250ZXh0OiDJtVJ1bnRpbWVTZWxlY3RvckNvbnRleHQpID0+IHtcbiAgICBjb25zdCB7IGFyZ3VtZW50U2VsZWN0b3JGdW5jdGlvbnMsIHNlbGVjdG9yT3B0aW9ucyB9ID0gZ2V0UnVudGltZVNlbGVjdG9ySW5mbyhcbiAgICAgIGNvbnRleHQsXG4gICAgICBzZWxlY3Rvck1ldGFEYXRhLFxuICAgICAgc2VsZWN0b3JzXG4gICAgKTtcblxuICAgIGNvbnN0IHsgc3VwcHJlc3NFcnJvcnMgfSA9IHNlbGVjdG9yT3B0aW9ucztcblxuICAgIHJldHVybiBmdW5jdGlvbiBzZWxlY3RGcm9tUm9vdChyb290U3RhdGU6IGFueSkge1xuICAgICAgLy8gRGV0ZXJtaW5lIGFyZ3VtZW50cyBmcm9tIHRoZSBhcHAgc3RhdGUgdXNpbmcgdGhlIHNlbGVjdG9yc1xuICAgICAgY29uc3QgcmVzdWx0cyA9IGFyZ3VtZW50U2VsZWN0b3JGdW5jdGlvbnMubWFwKGFyZ0ZuID0+IGFyZ0ZuKHJvb3RTdGF0ZSkpO1xuXG4gICAgICAvLyBJZiB0aGUgbGFtYmRhIGF0dGVtcHRzIHRvIGFjY2VzcyBzb21ldGhpbmcgaW4gdGhlIHN0YXRlIHRoYXQgZG9lc24ndCBleGlzdCxcbiAgICAgIC8vIGl0IHdpbGwgdGhyb3cgYSBgVHlwZUVycm9yYC4gU2luY2UgdGhpcyBiZWhhdmlvciBpcyBjb21tb24sIHdlIHNpbXBseSByZXR1cm5cbiAgICAgIC8vIGB1bmRlZmluZWRgIGluIHN1Y2ggY2FzZXMuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbWVtb2l6ZWRTZWxlY3RvckZuKC4uLnJlc3VsdHMpO1xuICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgaWYgKHN1cHByZXNzRXJyb3JzICYmIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlJ3JlIGxvZ2dpbmcgYW4gZXJyb3IgaW4gdGhpcyBmdW5jdGlvbiBiZWNhdXNlIGl0IG1heSBiZSB1c2VkIGJ5IGBzZWxlY3RgLFxuICAgICAgICAvLyBgc2VsZWN0U2lnbmFsYCwgYW5kIGBzZWxlY3RTbmFwc2hvdGAuIFRoZXJlZm9yZSwgdGhlcmUncyBubyBuZWVkIHRvIGNhdGNoXG4gICAgICAgIC8vIGV4Y2VwdGlvbnMgdGhlcmUgdG8gbG9nIGVycm9ycy5cbiAgICAgICAgaWYgKE5HX0RFVl9NT0RFKSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgICAgICAnVGhlIHNlbGVjdG9yIGJlbG93IGhhcyB0aHJvd24gYW4gZXJyb3IgdXBvbiBpbnZvY2F0aW9uLiAnICtcbiAgICAgICAgICAgICdQbGVhc2UgY2hlY2sgZm9yIGFueSB1bnNhZmUgcHJvcGVydHkgYWNjZXNzIHRoYXQgbWF5IHJlc3VsdCBpbiBudWxsICcgK1xuICAgICAgICAgICAgJ29yIHVuZGVmaW5lZCB2YWx1ZXMuJztcblxuICAgICAgICAgIC8vIEF2b2lkIGNvbmNhdGVuYXRpbmcgdGhlIG1lc3NhZ2Ugd2l0aCB0aGUgb3JpZ2luYWwgZnVuY3Rpb24sIGFzIHRoaXMgd2lsbFxuICAgICAgICAgIC8vIGludm9rZSBgdG9TdHJpbmcoKWAgb24gdGhlIGZ1bmN0aW9uLiBJbnN0ZWFkLCBsb2cgaXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudC5cbiAgICAgICAgICAvLyBUaGlzIHdheSwgZGV2ZWxvcGVycyB3aWxsIGJlIGFibGUgdG8gbmF2aWdhdGUgdG8gdGhlIGFjdHVhbCBjb2RlIGluIHRoZSBicm93c2VyLlxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSwgc2VsZWN0b3JNZXRhRGF0YS5vcmlnaW5hbEZuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGV4O1xuICAgICAgfVxuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNZW1vaXplZFNlbGVjdG9yRm48VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihcbiAgb3JpZ2luYWxGbjogVCxcbiAgY3JlYXRpb25NZXRhZGF0YTogUGFydGlhbDxDcmVhdGlvbk1ldGFkYXRhPiB8IHVuZGVmaW5lZFxuKSB7XG4gIGNvbnN0IGNvbnRhaW5lckNsYXNzID0gY3JlYXRpb25NZXRhZGF0YSAmJiBjcmVhdGlvbk1ldGFkYXRhLmNvbnRhaW5lckNsYXNzO1xuICBjb25zdCB3cmFwcGVkRm4gPSBmdW5jdGlvbiB3cmFwcGVkU2VsZWN0b3JGbigpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXJlc3QtcGFyYW1zXG4gICAgY29uc3QgcmV0dXJuVmFsdWUgPSBvcmlnaW5hbEZuLmFwcGx5KGNvbnRhaW5lckNsYXNzLCA8YW55PmFyZ3VtZW50cyk7XG4gICAgaWYgKHR5cGVvZiByZXR1cm5WYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgaW5uZXJNZW1vaXplZEZuID0gybVtZW1vaXplLmFwcGx5KG51bGwsIFtyZXR1cm5WYWx1ZV0pO1xuICAgICAgcmV0dXJuIGlubmVyTWVtb2l6ZWRGbjtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICB9IGFzIFQ7XG4gIGNvbnN0IG1lbW9pemVkRm4gPSDJtW1lbW9pemUod3JhcHBlZEZuKTtcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG1lbW9pemVkRm4sIG9yaWdpbmFsRm4pO1xuICByZXR1cm4gbWVtb2l6ZWRGbjtcbn1cblxuZnVuY3Rpb24gZ2V0UnVudGltZVNlbGVjdG9ySW5mbyhcbiAgY29udGV4dDogybVSdW50aW1lU2VsZWN0b3JDb250ZXh0LFxuICBzZWxlY3Rvck1ldGFEYXRhOiDJtVNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgc2VsZWN0b3JzOiBhbnlbXSB8IHVuZGVmaW5lZCA9IFtdXG4pOiBSdW50aW1lU2VsZWN0b3JJbmZvIHtcbiAgY29uc3QgbG9jYWxTZWxlY3Rvck9wdGlvbnMgPSBzZWxlY3Rvck1ldGFEYXRhLmdldFNlbGVjdG9yT3B0aW9ucygpO1xuICBjb25zdCBzZWxlY3Rvck9wdGlvbnMgPSBjb250ZXh0LmdldFNlbGVjdG9yT3B0aW9ucyhsb2NhbFNlbGVjdG9yT3B0aW9ucyk7XG4gIGNvbnN0IHNlbGVjdG9yc1RvQXBwbHkgPSBnZXRTZWxlY3RvcnNUb0FwcGx5KFxuICAgIHNlbGVjdG9ycyxcbiAgICBzZWxlY3Rvck9wdGlvbnMsXG4gICAgc2VsZWN0b3JNZXRhRGF0YS5jb250YWluZXJDbGFzc1xuICApO1xuXG4gIGNvbnN0IGFyZ3VtZW50U2VsZWN0b3JGdW5jdGlvbnMgPSBzZWxlY3RvcnNUb0FwcGx5Lm1hcChzZWxlY3RvciA9PiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IGdldFJvb3RTZWxlY3RvckZhY3Rvcnkoc2VsZWN0b3IpO1xuICAgIHJldHVybiBmYWN0b3J5KGNvbnRleHQpO1xuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBzZWxlY3Rvck9wdGlvbnMsXG4gICAgYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9uc1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRTZWxlY3RvcnNUb0FwcGx5KFxuICBzZWxlY3RvcnM6IGFueVtdIHwgdW5kZWZpbmVkID0gW10sXG4gIHNlbGVjdG9yT3B0aW9uczogybVTaGFyZWRTZWxlY3Rvck9wdGlvbnMsXG4gIGNvbnRhaW5lckNsYXNzOiBhbnlcbikge1xuICBjb25zdCBzZWxlY3RvcnNUb0FwcGx5ID0gW107XG4gIC8vIFRoZSBjb250YWluZXIgc3RhdGUgcmVmZXJzIHRvIHRoZSBzdGF0ZSBjbGFzcyB0aGF0IGluY2x1ZGVzIHRoZVxuICAvLyBkZWZpbml0aW9uIG9mIHRoZSBzZWxlY3RvciBmdW5jdGlvbiwgZm9yIGV4YW1wbGU6XG4gIC8vIEBTdGF0ZSgpXG4gIC8vIGNsYXNzIEFuaW1hbHNTdGF0ZSB7XG4gIC8vICAgQFNlbGVjdG9yKClcbiAgLy8gICBzdGF0aWMgZ2V0QW5pbWFscyhzdGF0ZTogQW5pbWFsc1N0YXRlTW9kZWwpIHt9XG4gIC8vIH1cbiAgLy8gVGhlIGBBbmltYWxzU3RhdGVgIHNlcnZlcyBhcyB0aGUgY29udGFpbmVyIHN0YXRlLiBBZGRpdGlvbmFsbHksIHRoZVxuICAvLyBzZWxlY3RvciBtYXkgcmVzaWRlIHdpdGhpbiBhIG5hbWVzcGFjZSBvciBhbm90aGVyIGNsYXNzIGxhY2tpbmcgdGhlXG4gIC8vIGBAU3RhdGVgIGRlY29yYXRvciwgdGh1cyBub3QgYmVpbmcgdHJlYXRlZCBhcyB0aGUgY29udGFpbmVyIHN0YXRlLlxuICBjb25zdCBjYW5JbmplY3RDb250YWluZXJTdGF0ZSA9XG4gICAgc2VsZWN0b3JPcHRpb25zLmluamVjdENvbnRhaW5lclN0YXRlIHx8IHNlbGVjdG9ycy5sZW5ndGggPT09IDA7XG5cbiAgaWYgKGNvbnRhaW5lckNsYXNzICYmIGNhbkluamVjdENvbnRhaW5lclN0YXRlKSB7XG4gICAgLy8gSWYgd2UgYXJlIG9uIGEgc3RhdGUgY2xhc3MsIGFkZCBpdCBhcyB0aGUgZmlyc3Qgc2VsZWN0b3IgcGFyYW1ldGVyXG4gICAgY29uc3QgbWV0YWRhdGEgPSDJtWdldFN0b3JlTWV0YWRhdGEoY29udGFpbmVyQ2xhc3MpO1xuICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgc2VsZWN0b3JzVG9BcHBseS5wdXNoKGNvbnRhaW5lckNsYXNzKTtcbiAgICB9XG4gIH1cbiAgc2VsZWN0b3JzVG9BcHBseS5wdXNoKC4uLnNlbGVjdG9ycyk7XG4gIHJldHVybiBzZWxlY3RvcnNUb0FwcGx5O1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIHNlbGVjdG9yIHRvIGdldCB0aGUgc2VsZWN0ZWQgc2xpY2UgZnJvbSB0aGUgYXBwIHN0YXRlXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yOiBhbnkpOiDJtVNlbGVjdG9yRmFjdG9yeSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gybVnZXRTZWxlY3Rvck1ldGFkYXRhKHNlbGVjdG9yKSB8fCDJtWdldFN0b3JlTWV0YWRhdGEoc2VsZWN0b3IpO1xuICByZXR1cm4gKG1ldGFkYXRhICYmIG1ldGFkYXRhLm1ha2VSb290U2VsZWN0b3IpIHx8ICgoKSA9PiBzZWxlY3Rvcik7XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBR1IsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUdyQixNQUFNLHVCQUF1QixDQUFDO0FBTS9CLE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsZ0JBQXdDLEVBQ3hDLFNBQTRCLEVBQzVCLGtCQUFxQjtJQUVyQixPQUFPLENBQUMsT0FBZ0MsRUFBRSxFQUFFO1FBQzFDLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsR0FBRyxzQkFBc0IsQ0FDM0UsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixTQUFTLENBQ1YsQ0FBQztRQUVGLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxlQUFlLENBQUM7UUFFM0MsT0FBTyxTQUFTLGNBQWMsQ0FBQyxTQUFjO1lBQzNDLDZEQUE2RDtZQUM3RCxNQUFNLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUV6RSw4RUFBOEU7WUFDOUUsK0VBQStFO1lBQy9FLDZCQUE2QjtZQUM3QixJQUFJLENBQUM7Z0JBQ0gsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUNaLElBQUksY0FBYyxJQUFJLEVBQUUsWUFBWSxTQUFTLEVBQUUsQ0FBQztvQkFDOUMsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUM7Z0JBRUQsOEVBQThFO2dCQUM5RSw0RUFBNEU7Z0JBQzVFLGtDQUFrQztnQkFDbEMsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ2xE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QztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUFhO0lBQ2xELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLE9BQU8sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgybVtZW1vaXplLFxuICDJtVJ1bnRpbWVTZWxlY3RvckNvbnRleHQsXG4gIMm1U2VsZWN0b3JGYWN0b3J5LFxuICDJtWdldFN0b3JlTWV0YWRhdGEsXG4gIMm1Z2V0U2VsZWN0b3JNZXRhZGF0YSxcbiAgybVTZWxlY3Rvck1ldGFEYXRhTW9kZWwsXG4gIMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zXG59IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IENyZWF0aW9uTWV0YWRhdGEsIFJ1bnRpbWVTZWxlY3RvckluZm8gfSBmcm9tICcuL3NlbGVjdG9yLW1vZGVscyc7XG5cbmRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm9vdFNlbGVjdG9yRmFjdG9yeTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBzZWxlY3Rvck1ldGFEYXRhOiDJtVNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgc2VsZWN0b3JzOiBhbnlbXSB8IHVuZGVmaW5lZCxcbiAgbWVtb2l6ZWRTZWxlY3RvckZuOiBUXG4pOiDJtVNlbGVjdG9yRmFjdG9yeSB7XG4gIHJldHVybiAoY29udGV4dDogybVSdW50aW1lU2VsZWN0b3JDb250ZXh0KSA9PiB7XG4gICAgY29uc3QgeyBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLCBzZWxlY3Rvck9wdGlvbnMgfSA9IGdldFJ1bnRpbWVTZWxlY3RvckluZm8oXG4gICAgICBjb250ZXh0LFxuICAgICAgc2VsZWN0b3JNZXRhRGF0YSxcbiAgICAgIHNlbGVjdG9yc1xuICAgICk7XG5cbiAgICBjb25zdCB7IHN1cHByZXNzRXJyb3JzIH0gPSBzZWxlY3Rvck9wdGlvbnM7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gc2VsZWN0RnJvbVJvb3Qocm9vdFN0YXRlOiBhbnkpIHtcbiAgICAgIC8vIERldGVybWluZSBhcmd1bWVudHMgZnJvbSB0aGUgYXBwIHN0YXRlIHVzaW5nIHRoZSBzZWxlY3RvcnNcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLm1hcChhcmdGbiA9PiBhcmdGbihyb290U3RhdGUpKTtcblxuICAgICAgLy8gSWYgdGhlIGxhbWJkYSBhdHRlbXB0cyB0byBhY2Nlc3Mgc29tZXRoaW5nIGluIHRoZSBzdGF0ZSB0aGF0IGRvZXNuJ3QgZXhpc3QsXG4gICAgICAvLyBpdCB3aWxsIHRocm93IGEgYFR5cGVFcnJvcmAuIFNpbmNlIHRoaXMgYmVoYXZpb3IgaXMgY29tbW9uLCB3ZSBzaW1wbHkgcmV0dXJuXG4gICAgICAvLyBgdW5kZWZpbmVkYCBpbiBzdWNoIGNhc2VzLlxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1lbW9pemVkU2VsZWN0b3JGbiguLi5yZXN1bHRzKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIGlmIChzdXBwcmVzc0Vycm9ycyAmJiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSdyZSBsb2dnaW5nIGFuIGVycm9yIGluIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCBieSBgc2VsZWN0YCxcbiAgICAgICAgLy8gYHNlbGVjdFNpZ25hbGAsIGFuZCBgc2VsZWN0U25hcHNob3RgLiBUaGVyZWZvcmUsIHRoZXJlJ3Mgbm8gbmVlZCB0byBjYXRjaFxuICAgICAgICAvLyBleGNlcHRpb25zIHRoZXJlIHRvIGxvZyBlcnJvcnMuXG4gICAgICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICAgICdUaGUgc2VsZWN0b3IgYmVsb3cgaGFzIHRocm93biBhbiBlcnJvciB1cG9uIGludm9jYXRpb24uICcgK1xuICAgICAgICAgICAgJ1BsZWFzZSBjaGVjayBmb3IgYW55IHVuc2FmZSBwcm9wZXJ0eSBhY2Nlc3MgdGhhdCBtYXkgcmVzdWx0IGluIG51bGwgJyArXG4gICAgICAgICAgICAnb3IgdW5kZWZpbmVkIHZhbHVlcy4nO1xuXG4gICAgICAgICAgLy8gQXZvaWQgY29uY2F0ZW5hdGluZyB0aGUgbWVzc2FnZSB3aXRoIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiwgYXMgdGhpcyB3aWxsXG4gICAgICAgICAgLy8gaW52b2tlIGB0b1N0cmluZygpYCBvbiB0aGUgZnVuY3Rpb24uIEluc3RlYWQsIGxvZyBpdCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50LlxuICAgICAgICAgIC8vIFRoaXMgd2F5LCBkZXZlbG9wZXJzIHdpbGwgYmUgYWJsZSB0byBuYXZpZ2F0ZSB0byB0aGUgYWN0dWFsIGNvZGUgaW4gdGhlIGJyb3dzZXIuXG4gICAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBzZWxlY3Rvck1ldGFEYXRhLm9yaWdpbmFsRm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXg7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1lbW9pemVkU2VsZWN0b3JGbjxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBvcmlnaW5hbEZuOiBULFxuICBjcmVhdGlvbk1ldGFkYXRhOiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+IHwgdW5kZWZpbmVkXG4pIHtcbiAgY29uc3QgY29udGFpbmVyQ2xhc3MgPSBjcmVhdGlvbk1ldGFkYXRhICYmIGNyZWF0aW9uTWV0YWRhdGEuY29udGFpbmVyQ2xhc3M7XG4gIGNvbnN0IHdyYXBwZWRGbiA9IGZ1bmN0aW9uIHdyYXBwZWRTZWxlY3RvckZuKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcmVzdC1wYXJhbXNcbiAgICBjb25zdCByZXR1cm5WYWx1ZSA9IG9yaWdpbmFsRm4uYXBwbHkoY29udGFpbmVyQ2xhc3MsIDxhbnk+YXJndW1lbnRzKTtcbiAgICBpZiAodHlwZW9mIHJldHVyblZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBpbm5lck1lbW9pemVkRm4gPSDJtW1lbW9pemUuYXBwbHkobnVsbCwgW3JldHVyblZhbHVlXSk7XG4gICAgICByZXR1cm4gaW5uZXJNZW1vaXplZEZuO1xuICAgIH1cbiAgICByZXR1cm4gcmV0dXJuVmFsdWU7XG4gIH0gYXMgVDtcbiAgY29uc3QgbWVtb2l6ZWRGbiA9IMm1bWVtb2l6ZSh3cmFwcGVkRm4pO1xuICBPYmplY3Quc2V0UHJvdG90eXBlT2YobWVtb2l6ZWRGbiwgb3JpZ2luYWxGbik7XG4gIHJldHVybiBtZW1vaXplZEZuO1xufVxuXG5mdW5jdGlvbiBnZXRSdW50aW1lU2VsZWN0b3JJbmZvKFxuICBjb250ZXh0OiDJtVJ1bnRpbWVTZWxlY3RvckNvbnRleHQsXG4gIHNlbGVjdG9yTWV0YURhdGE6IMm1U2VsZWN0b3JNZXRhRGF0YU1vZGVsLFxuICBzZWxlY3RvcnM6IGFueVtdIHwgdW5kZWZpbmVkID0gW11cbik6IFJ1bnRpbWVTZWxlY3RvckluZm8ge1xuICBjb25zdCBsb2NhbFNlbGVjdG9yT3B0aW9ucyA9IHNlbGVjdG9yTWV0YURhdGEuZ2V0U2VsZWN0b3JPcHRpb25zKCk7XG4gIGNvbnN0IHNlbGVjdG9yT3B0aW9ucyA9IGNvbnRleHQuZ2V0U2VsZWN0b3JPcHRpb25zKGxvY2FsU2VsZWN0b3JPcHRpb25zKTtcbiAgY29uc3Qgc2VsZWN0b3JzVG9BcHBseSA9IGdldFNlbGVjdG9yc1RvQXBwbHkoXG4gICAgc2VsZWN0b3JzLFxuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBzZWxlY3Rvck1ldGFEYXRhLmNvbnRhaW5lckNsYXNzXG4gICk7XG5cbiAgY29uc3QgYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9ucyA9IHNlbGVjdG9yc1RvQXBwbHkubWFwKHNlbGVjdG9yID0+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeShzZWxlY3Rvcik7XG4gICAgcmV0dXJuIGZhY3RvcnkoY29udGV4dCk7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFNlbGVjdG9yc1RvQXBwbHkoXG4gIHNlbGVjdG9yczogYW55W10gfCB1bmRlZmluZWQgPSBbXSxcbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyxcbiAgY29udGFpbmVyQ2xhc3M6IGFueVxuKSB7XG4gIGNvbnN0IHNlbGVjdG9yc1RvQXBwbHkgPSBbXTtcbiAgLy8gVGhlIGNvbnRhaW5lciBzdGF0ZSByZWZlcnMgdG8gdGhlIHN0YXRlIGNsYXNzIHRoYXQgaW5jbHVkZXMgdGhlXG4gIC8vIGRlZmluaXRpb24gb2YgdGhlIHNlbGVjdG9yIGZ1bmN0aW9uLCBmb3IgZXhhbXBsZTpcbiAgLy8gQFN0YXRlKClcbiAgLy8gY2xhc3MgQW5pbWFsc1N0YXRlIHtcbiAgLy8gICBAU2VsZWN0b3IoKVxuICAvLyAgIHN0YXRpYyBnZXRBbmltYWxzKHN0YXRlOiBBbmltYWxzU3RhdGVNb2RlbCkge31cbiAgLy8gfVxuICAvLyBUaGUgYEFuaW1hbHNTdGF0ZWAgc2VydmVzIGFzIHRoZSBjb250YWluZXIgc3RhdGUuIEFkZGl0aW9uYWxseSwgdGhlXG4gIC8vIHNlbGVjdG9yIG1heSByZXNpZGUgd2l0aGluIGEgbmFtZXNwYWNlIG9yIGFub3RoZXIgY2xhc3MgbGFja2luZyB0aGVcbiAgLy8gYEBTdGF0ZWAgZGVjb3JhdG9yLCB0aHVzIG5vdCBiZWluZyB0cmVhdGVkIGFzIHRoZSBjb250YWluZXIgc3RhdGUuXG4gIGNvbnN0IGNhbkluamVjdENvbnRhaW5lclN0YXRlID1cbiAgICBzZWxlY3Rvck9wdGlvbnMuaW5qZWN0Q29udGFpbmVyU3RhdGUgfHwgc2VsZWN0b3JzLmxlbmd0aCA9PT0gMDtcblxuICBpZiAoY29udGFpbmVyQ2xhc3MgJiYgY2FuSW5qZWN0Q29udGFpbmVyU3RhdGUpIHtcbiAgICAvLyBJZiB3ZSBhcmUgb24gYSBzdGF0ZSBjbGFzcywgYWRkIGl0IGFzIHRoZSBmaXJzdCBzZWxlY3RvciBwYXJhbWV0ZXJcbiAgICBjb25zdCBtZXRhZGF0YSA9IMm1Z2V0U3RvcmVNZXRhZGF0YShjb250YWluZXJDbGFzcyk7XG4gICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICBzZWxlY3RvcnNUb0FwcGx5LnB1c2goY29udGFpbmVyQ2xhc3MpO1xuICAgIH1cbiAgfVxuICBzZWxlY3RvcnNUb0FwcGx5LnB1c2goLi4uc2VsZWN0b3JzKTtcbiAgcmV0dXJuIHNlbGVjdG9yc1RvQXBwbHk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGUgc2VsZWN0b3IgdG8gZ2V0IHRoZSBzZWxlY3RlZCBzbGljZSBmcm9tIHRoZSBhcHAgc3RhdGVcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RTZWxlY3RvckZhY3Rvcnkoc2VsZWN0b3I6IGFueSk6IMm1U2VsZWN0b3JGYWN0b3J5IHtcbiAgY29uc3QgbWV0YWRhdGEgPSDJtWdldFNlbGVjdG9yTWV0YWRhdGEoc2VsZWN0b3IpIHx8IMm1Z2V0U3RvcmVNZXRhZGF0YShzZWxlY3Rvcik7XG4gIHJldHVybiAobWV0YWRhdGEgJiYgbWV0YWRhdGEubWFrZVJvb3RTZWxlY3RvcikgfHwgKCgpID0+IHNlbGVjdG9yKTtcbn1cbiJdfQ==
@@ -7,7 +7,6 @@ import { StateFactory } from '../internal/state-factory';
7
7
  import { SelectFactory } from '../decorators/select/select-factory';
8
8
  import { InternalStateOperations } from '../internal/state-operations';
9
9
  import { LifecycleStateManager } from '../internal/lifecycle-state-manager';
10
- const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
11
10
  /**
12
11
  * This function is shared by both NgModule and standalone features.
13
12
  * When using `NgxsModule.forRoot` and `provideStore`, we can depend on the
@@ -55,11 +54,11 @@ export function featureStatesInitializer() {
55
54
  /**
56
55
  * InjectionToken that registers the global Store.
57
56
  */
58
- export const NGXS_ROOT_STORE_INITIALIZER = new InjectionToken(NG_DEV_MODE ? 'NGXS_ROOT_STORE_INITIALIZER' : '');
57
+ export const NGXS_ROOT_STORE_INITIALIZER = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_ROOT_STORE_INITIALIZER' : '');
59
58
  /**
60
59
  * InjectionToken that registers feature states.
61
60
  */
62
- export const NGXS_FEATURE_STORE_INITIALIZER = new InjectionToken(NG_DEV_MODE ? 'NGXS_FEATURE_STORE_INITIALIZER' : '');
61
+ export const NGXS_FEATURE_STORE_INITIALIZER = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_FEATURE_STORE_INITIALIZER' : '');
63
62
  export const NGXS_ROOT_ENVIRONMENT_INITIALIZER = [
64
63
  { provide: NGXS_ROOT_STORE_INITIALIZER, useFactory: rootStoreInitializer },
65
64
  {
@@ -86,4 +85,4 @@ export const NGXS_FEATURE_ENVIRONMENT_INITIALIZER = [
86
85
  }
87
86
  }
88
87
  ];
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3N0YW5kYWxvbmUtZmVhdHVyZXMvaW5pdGlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RFLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyQyxNQUFNLHVCQUF1QixH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QjtRQUNoQyxLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVU7WUFDUixPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IMm1U3RhdGVDbGFzc0ludGVybmFsIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBOR1hTX1BSRUJPT1RfRk5TIH0gZnJvbSAnLi9wcmVib290JztcbmltcG9ydCB7IEluaXRTdGF0ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICcuLi9wbHVnaW5fYXBpJztcbmltcG9ydCB7IEZFQVRVUkVfU1RBVEVfVE9LRU4sIFJPT1RfU1RBVEVfVE9LRU4gfSBmcm9tICcuLi9zeW1ib2xzJztcbmltcG9ydCB7IFN0YXRlRmFjdG9yeSB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLWZhY3RvcnknO1xuaW1wb3J0IHsgU3RhdGVzQW5kRGVmYXVsdHMgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgU2VsZWN0RmFjdG9yeSB9IGZyb20gJy4uL2RlY29yYXRvcnMvc2VsZWN0L3NlbGVjdC1mYWN0b3J5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi4vaW50ZXJuYWwvc3RhdGUtb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBMaWZlY3ljbGVTdGF0ZU1hbmFnZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9saWZlY3ljbGUtc3RhdGUtbWFuYWdlcic7XG5cbmNvbnN0IE5HX0RFVl9NT0RFID0gdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgc2hhcmVkIGJ5IGJvdGggTmdNb2R1bGUgYW5kIHN0YW5kYWxvbmUgZmVhdHVyZXMuXG4gKiBXaGVuIHVzaW5nIGBOZ3hzTW9kdWxlLmZvclJvb3RgIGFuZCBgcHJvdmlkZVN0b3JlYCwgd2UgY2FuIGRlcGVuZCBvbiB0aGVcbiAqIHNhbWUgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25hbGl0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvb3RTdG9yZUluaXRpYWxpemVyKCk6IHZvaWQge1xuICBjb25zdCBwcmVib290Rm5zID0gaW5qZWN0KE5HWFNfUFJFQk9PVF9GTlMsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW107XG4gIHByZWJvb3RGbnMuZm9yRWFjaChwcmVib290Rm4gPT4gcHJlYm9vdEZuKCkpO1xuXG4gIGNvbnN0IGZhY3RvcnkgPSBpbmplY3QoU3RhdGVGYWN0b3J5KTtcbiAgY29uc3QgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMpO1xuXG4gIGluamVjdChTdG9yZSk7XG4gIGluamVjdChTZWxlY3RGYWN0b3J5KTtcblxuICBjb25zdCBzdGF0ZXMgPSBpbmplY3QoUk9PVF9TVEFURV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgY29uc3QgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyID0gaW5qZWN0KExpZmVjeWNsZVN0YXRlTWFuYWdlcik7XG5cbiAgLy8gQWRkIHN0b3JlcyB0byB0aGUgc3RhdGUgZ3JhcGggYW5kIHJldHVybiB0aGVpciBkZWZhdWx0cy5cbiAgY29uc3QgcmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMgPSBmYWN0b3J5LmFkZEFuZFJldHVybkRlZmF1bHRzKHN0YXRlcyk7XG5cbiAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHMpO1xuXG4gIC8vIENvbm5lY3Qgb3VyIGFjdGlvbnMgc3RyZWFtLlxuICBmYWN0b3J5LmNvbm5lY3RBY3Rpb25IYW5kbGVycygpO1xuXG4gIC8vIERpc3BhdGNoIHRoZSBpbml0IGFjdGlvbiBhbmQgaW52b2tlIGluaXQgYW5kIGJvb3RzdHJhcCBmdW5jdGlvbnMgYWZ0ZXIuXG4gIGxpZmVjeWNsZVN0YXRlTWFuYWdlci5uZ3hzQm9vdHN0cmFwKG5ldyBJbml0U3RhdGUoKSwgcmVzdWx0cyk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1dGlsaXplZCBieSBib3RoIE5nTW9kdWxlIGFuZCBzdGFuZGFsb25lIGZlYXR1cmVzLlxuICogV2hlbiB1c2luZyBgTmd4c01vZHVsZS5mb3JGZWF0dXJlYCBhbmQgYHByb3ZpZGVTdGF0ZXNgLCB3ZSBjYW4gZGVwZW5kIG9uXG4gKiB0aGUgc2FtZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZVN0YXRlc0luaXRpYWxpemVyKCk6IHZvaWQge1xuICBpbmplY3QoU3RvcmUpO1xuXG4gIGNvbnN0IGludGVybmFsU3RhdGVPcGVyYXRpb25zID0gaW5qZWN0KEludGVybmFsU3RhdGVPcGVyYXRpb25zKTtcbiAgY29uc3QgZmFjdG9yeSA9IGluamVjdChTdGF0ZUZhY3RvcnkpO1xuICBjb25zdCBzdGF0ZXMgPSBpbmplY3QoRkVBVFVSRV9TVEFURV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgY29uc3QgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyID0gaW5qZWN0KExpZmVjeWNsZVN0YXRlTWFuYWdlcik7XG5cbiAgLy8gU2luY2UgRkVBVFVSRV9TVEFURV9UT0tFTiBpcyBhIG11bHRpIHRva2VuLCB3ZSBuZWVkIHRvXG4gIC8vIGZsYXR0ZW4gaXQgW1tGZWF0dXJlMVN0YXRlLCBGZWF0dXJlMlN0YXRlXSwgW0ZlYXR1cmUzU3RhdGVdXS5cbiAgY29uc3QgZmxhdHRlbmVkU3RhdGVzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdID0gc3RhdGVzLnJlZHVjZShcbiAgICAodG90YWw6IMm1U3RhdGVDbGFzc0ludGVybmFsW10sIHZhbHVlczogybVTdGF0ZUNsYXNzSW50ZXJuYWxbXSkgPT4gdG90YWwuY29uY2F0KHZhbHVlcyksXG4gICAgW11cbiAgKTtcblxuICAvLyBhZGQgc3RvcmVzIHRvIHRoZSBzdGF0ZSBncmFwaCBhbmQgcmV0dXJuIHRoZWlyIGRlZmF1bHRzLlxuICBjb25zdCByZXN1bHRzOiBTdGF0ZXNBbmREZWZhdWx0cyA9IGZhY3RvcnkuYWRkQW5kUmV0dXJuRGVmYXVsdHMoZmxhdHRlbmVkU3RhdGVzKTtcblxuICBpZiAocmVzdWx0cy5zdGF0ZXMubGVuZ3RoKSB7XG4gICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHMpO1xuXG4gICAgLy8gRGlzcGF0Y2ggdGhlIHVwZGF0ZSBhY3Rpb24gYW5kIGludm9rZSBpbml0IGFuZCBib290c3RyYXAgZnVuY3Rpb25zIGFmdGVyLlxuICAgIGxpZmVjeWNsZVN0YXRlTWFuYWdlci5uZ3hzQm9vdHN0cmFwKG5ldyBVcGRhdGVTdGF0ZShyZXN1bHRzLmRlZmF1bHRzKSwgcmVzdWx0cyk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiB0aGF0IHJlZ2lzdGVycyB0aGUgZ2xvYmFsIFN0b3JlLlxuICovXG5leHBvcnQgY29uc3QgTkdYU19ST09UX1NUT1JFX0lOSVRJQUxJWkVSID0gbmV3IEluamVjdGlvblRva2VuPHZvaWQ+KFxuICBOR19ERVZfTU9ERSA/ICdOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVInIDogJydcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uVG9rZW4gdGhhdCByZWdpc3RlcnMgZmVhdHVyZSBzdGF0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX0ZFQVRVUkVfU1RPUkVfSU5JVElBTElaRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dm9pZD4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfRkVBVFVSRV9TVE9SRV9JTklUSUFMSVpFUicgOiAnJ1xuKTtcblxuZXhwb3J0IGNvbnN0IE5HWFNfUk9PVF9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUjogUHJvdmlkZXJbXSA9IFtcbiAgeyBwcm92aWRlOiBOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IHJvb3RTdG9yZUluaXRpYWxpemVyIH0sXG4gIHtcbiAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICB1c2VGYWN0b3J5KCkge1xuICAgICAgcmV0dXJuICgpID0+IGluamVjdChOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVIpO1xuICAgIH1cbiAgfVxuXTtcblxuLyoqXG4gKiBUaGUgYE5HWFNfRkVBVFVSRV9FTlZJUk9OTUVOVF9JTklUSUFMSVpFUmAgZnVuY3Rpb25zIGFzIGFuIGVudmlyb25tZW50IGluaXRpYWxpemVyXG4gKiBhdCB0aGUgYFJvdXRlYCBsZXZlbC4gQW5ndWxhciBSb3V0ZXIgY3JlYXRlcyBhbiBlbnZpcm9ubWVudCByb3V0ZSBpbmplY3RvciBmb3IgZWFjaFxuICogbWF0Y2hlZCByb3V0ZSB3aGVyZSBuYXZpZ2F0aW9uIG9jY3Vycy4gVGhlIGluamVjdG9yIGlzIGNyZWF0ZWQgb25jZSwgZW5zdXJpbmcgdGhhdFxuICogdGhlIGZlYXR1cmUgc3RhdGVzIGluaXRpYWxpemF0aW9uIG9ubHkgaGFwcGVucyBvbmNlIGFzIHdlbGwuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX0ZFQVRVUkVfRU5WSVJPTk1FTlRfSU5JVElBTElaRVI6IFByb3ZpZGVyW10gPSBbXG4gIHsgcHJvdmlkZTogTkdYU19GRUFUVVJFX1NUT1JFX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBmZWF0dXJlU3RhdGVzSW5pdGlhbGl6ZXIgfSxcbiAge1xuICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZUZhY3RvcnkoKSB7XG4gICAgICByZXR1cm4gKCkgPT4gaW5qZWN0KE5HWFNfRkVBVFVSRV9TVE9SRV9JTklUSUFMSVpFUik7XG4gICAgfVxuICB9XG5dO1xuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3N0YW5kYWxvbmUtZmVhdHVyZXMvaW5pdGlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUU3QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVoRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFNUQsMkRBQTJEO0lBQzNELE1BQU0sT0FBTyxHQUFzQixPQUFPLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFeEUsdUJBQXVCLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0QsOEJBQThCO0lBQzlCLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRWhDLDBFQUEwRTtJQUMxRSxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx3QkFBd0I7SUFDdEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWQsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFNUQseURBQXlEO0lBQ3pELGdFQUFnRTtJQUNoRSxNQUFNLGVBQWUsR0FBMEIsTUFBTSxDQUFDLE1BQU0sQ0FDMUQsQ0FBQyxLQUE0QixFQUFFLE1BQTZCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ3JGLEVBQUUsQ0FDSCxDQUFDO0lBRUYsMkRBQTJEO0lBQzNELE1BQU0sT0FBTyxHQUFzQixPQUFPLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFakYsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLHVCQUF1QixDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTdELDRFQUE0RTtRQUM1RSxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xGLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDbkYsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQzlELE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3RGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBZTtJQUMzRCxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUU7SUFDMUU7UUFDRSxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVTtZQUNSLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDbkQsQ0FBQztLQUNGO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQWU7SUFDOUQsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFO0lBQ2pGO1FBQ0UsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVU7WUFDUixPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3RELENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IMm1U3RhdGVDbGFzc0ludGVybmFsIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBOR1hTX1BSRUJPT1RfRk5TIH0gZnJvbSAnLi9wcmVib290JztcbmltcG9ydCB7IEluaXRTdGF0ZSwgVXBkYXRlU3RhdGUgfSBmcm9tICcuLi9wbHVnaW5fYXBpJztcbmltcG9ydCB7IEZFQVRVUkVfU1RBVEVfVE9LRU4sIFJPT1RfU1RBVEVfVE9LRU4gfSBmcm9tICcuLi9zeW1ib2xzJztcbmltcG9ydCB7IFN0YXRlRmFjdG9yeSB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLWZhY3RvcnknO1xuaW1wb3J0IHsgU3RhdGVzQW5kRGVmYXVsdHMgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgU2VsZWN0RmFjdG9yeSB9IGZyb20gJy4uL2RlY29yYXRvcnMvc2VsZWN0L3NlbGVjdC1mYWN0b3J5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi4vaW50ZXJuYWwvc3RhdGUtb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBMaWZlY3ljbGVTdGF0ZU1hbmFnZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9saWZlY3ljbGUtc3RhdGUtbWFuYWdlcic7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzaGFyZWQgYnkgYm90aCBOZ01vZHVsZSBhbmQgc3RhbmRhbG9uZSBmZWF0dXJlcy5cbiAqIFdoZW4gdXNpbmcgYE5neHNNb2R1bGUuZm9yUm9vdGAgYW5kIGBwcm92aWRlU3RvcmVgLCB3ZSBjYW4gZGVwZW5kIG9uIHRoZVxuICogc2FtZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9vdFN0b3JlSW5pdGlhbGl6ZXIoKTogdm9pZCB7XG4gIGNvbnN0IHByZWJvb3RGbnMgPSBpbmplY3QoTkdYU19QUkVCT09UX0ZOUywgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgcHJlYm9vdEZucy5mb3JFYWNoKHByZWJvb3RGbiA9PiBwcmVib290Rm4oKSk7XG5cbiAgY29uc3QgZmFjdG9yeSA9IGluamVjdChTdGF0ZUZhY3RvcnkpO1xuICBjb25zdCBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyA9IGluamVjdChJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyk7XG5cbiAgaW5qZWN0KFN0b3JlKTtcbiAgaW5qZWN0KFNlbGVjdEZhY3RvcnkpO1xuXG4gIGNvbnN0IHN0YXRlcyA9IGluamVjdChST09UX1NUQVRFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuICBjb25zdCBsaWZlY3ljbGVTdGF0ZU1hbmFnZXIgPSBpbmplY3QoTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyKTtcblxuICAvLyBBZGQgc3RvcmVzIHRvIHRoZSBzdGF0ZSBncmFwaCBhbmQgcmV0dXJuIHRoZWlyIGRlZmF1bHRzLlxuICBjb25zdCByZXN1bHRzOiBTdGF0ZXNBbmREZWZhdWx0cyA9IGZhY3RvcnkuYWRkQW5kUmV0dXJuRGVmYXVsdHMoc3RhdGVzKTtcblxuICBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0cyk7XG5cbiAgLy8gQ29ubmVjdCBvdXIgYWN0aW9ucyBzdHJlYW0uXG4gIGZhY3RvcnkuY29ubmVjdEFjdGlvbkhhbmRsZXJzKCk7XG5cbiAgLy8gRGlzcGF0Y2ggdGhlIGluaXQgYWN0aW9uIGFuZCBpbnZva2UgaW5pdCBhbmQgYm9vdHN0cmFwIGZ1bmN0aW9ucyBhZnRlci5cbiAgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLm5neHNCb290c3RyYXAobmV3IEluaXRTdGF0ZSgpLCByZXN1bHRzKTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHV0aWxpemVkIGJ5IGJvdGggTmdNb2R1bGUgYW5kIHN0YW5kYWxvbmUgZmVhdHVyZXMuXG4gKiBXaGVuIHVzaW5nIGBOZ3hzTW9kdWxlLmZvckZlYXR1cmVgIGFuZCBgcHJvdmlkZVN0YXRlc2AsIHdlIGNhbiBkZXBlbmQgb25cbiAqIHRoZSBzYW1lIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlU3RhdGVzSW5pdGlhbGl6ZXIoKTogdm9pZCB7XG4gIGluamVjdChTdG9yZSk7XG5cbiAgY29uc3QgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMpO1xuICBjb25zdCBmYWN0b3J5ID0gaW5qZWN0KFN0YXRlRmFjdG9yeSk7XG4gIGNvbnN0IHN0YXRlcyA9IGluamVjdChGRUFUVVJFX1NUQVRFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuICBjb25zdCBsaWZlY3ljbGVTdGF0ZU1hbmFnZXIgPSBpbmplY3QoTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyKTtcblxuICAvLyBTaW5jZSBGRUFUVVJFX1NUQVRFX1RPS0VOIGlzIGEgbXVsdGkgdG9rZW4sIHdlIG5lZWQgdG9cbiAgLy8gZmxhdHRlbiBpdCBbW0ZlYXR1cmUxU3RhdGUsIEZlYXR1cmUyU3RhdGVdLCBbRmVhdHVyZTNTdGF0ZV1dLlxuICBjb25zdCBmbGF0dGVuZWRTdGF0ZXM6IMm1U3RhdGVDbGFzc0ludGVybmFsW10gPSBzdGF0ZXMucmVkdWNlKFxuICAgICh0b3RhbDogybVTdGF0ZUNsYXNzSW50ZXJuYWxbXSwgdmFsdWVzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbFtdKSA9PiB0b3RhbC5jb25jYXQodmFsdWVzKSxcbiAgICBbXVxuICApO1xuXG4gIC8vIGFkZCBzdG9yZXMgdG8gdGhlIHN0YXRlIGdyYXBoIGFuZCByZXR1cm4gdGhlaXIgZGVmYXVsdHMuXG4gIGNvbnN0IHJlc3VsdHM6IFN0YXRlc0FuZERlZmF1bHRzID0gZmFjdG9yeS5hZGRBbmRSZXR1cm5EZWZhdWx0cyhmbGF0dGVuZWRTdGF0ZXMpO1xuXG4gIGlmIChyZXN1bHRzLnN0YXRlcy5sZW5ndGgpIHtcbiAgICBpbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0cyk7XG5cbiAgICAvLyBEaXNwYXRjaCB0aGUgdXBkYXRlIGFjdGlvbiBhbmQgaW52b2tlIGluaXQgYW5kIGJvb3RzdHJhcCBmdW5jdGlvbnMgYWZ0ZXIuXG4gICAgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLm5neHNCb290c3RyYXAobmV3IFVwZGF0ZVN0YXRlKHJlc3VsdHMuZGVmYXVsdHMpLCByZXN1bHRzKTtcbiAgfVxufVxuXG4vKipcbiAqIEluamVjdGlvblRva2VuIHRoYXQgcmVnaXN0ZXJzIHRoZSBnbG9iYWwgU3RvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dm9pZD4oXG4gIHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSA/ICdOR1hTX1JPT1RfU1RPUkVfSU5JVElBTElaRVInIDogJydcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uVG9rZW4gdGhhdCByZWdpc3RlcnMgZmVhdHVyZSBzdGF0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX0ZFQVRVUkVfU1RPUkVfSU5JVElBTElaRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dm9pZD4oXG4gIHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSA/ICdOR1hTX0ZFQVRVUkVfU1RPUkVfSU5JVElBTElaRVInIDogJydcbik7XG5cbmV4cG9ydCBjb25zdCBOR1hTX1JPT1RfRU5WSVJPTk1FTlRfSU5JVElBTElaRVI6IFByb3ZpZGVyW10gPSBbXG4gIHsgcHJvdmlkZTogTkdYU19ST09UX1NUT1JFX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiByb290U3RvcmVJbml0aWFsaXplciB9LFxuICB7XG4gICAgcHJvdmlkZTogRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gICAgbXVsdGk6IHRydWUsXG4gICAgdXNlRmFjdG9yeSgpIHtcbiAgICAgIHJldHVybiAoKSA9PiBpbmplY3QoTkdYU19ST09UX1NUT1JFX0lOSVRJQUxJWkVSKTtcbiAgICB9XG4gIH1cbl07XG5cbi8qKlxuICogVGhlIGBOR1hTX0ZFQVRVUkVfRU5WSVJPTk1FTlRfSU5JVElBTElaRVJgIGZ1bmN0aW9ucyBhcyBhbiBlbnZpcm9ubWVudCBpbml0aWFsaXplclxuICogYXQgdGhlIGBSb3V0ZWAgbGV2ZWwuIEFuZ3VsYXIgUm91dGVyIGNyZWF0ZXMgYW4gZW52aXJvbm1lbnQgcm91dGUgaW5qZWN0b3IgZm9yIGVhY2hcbiAqIG1hdGNoZWQgcm91dGUgd2hlcmUgbmF2aWdhdGlvbiBvY2N1cnMuIFRoZSBpbmplY3RvciBpcyBjcmVhdGVkIG9uY2UsIGVuc3VyaW5nIHRoYXRcbiAqIHRoZSBmZWF0dXJlIHN0YXRlcyBpbml0aWFsaXphdGlvbiBvbmx5IGhhcHBlbnMgb25jZSBhcyB3ZWxsLlxuICovXG5leHBvcnQgY29uc3QgTkdYU19GRUFUVVJFX0VOVklST05NRU5UX0lOSVRJQUxJWkVSOiBQcm92aWRlcltdID0gW1xuICB7IHByb3ZpZGU6IE5HWFNfRkVBVFVSRV9TVE9SRV9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogZmVhdHVyZVN0YXRlc0luaXRpYWxpemVyIH0sXG4gIHtcbiAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICB1c2VGYWN0b3J5KCkge1xuICAgICAgcmV0dXJuICgpID0+IGluamVjdChOR1hTX0ZFQVRVUkVfU1RPUkVfSU5JVElBTElaRVIpO1xuICAgIH1cbiAgfVxuXTtcbiJdfQ==
@@ -1,9 +1,8 @@
1
1
  import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
2
- const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
3
2
  /**
4
3
  * InjectionToken that registers preboot functions (called before the root initializer).
5
4
  */
6
- export const NGXS_PREBOOT_FNS = new InjectionToken(NG_DEV_MODE ? 'NGXS_PREBOOT_FNS' : '');
5
+ export const NGXS_PREBOOT_FNS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_PREBOOT_FNS' : '');
7
6
  /**
8
7
  * This function registers a preboot function which will be called before the root
9
8
  * store initializer is run, but after all of the NGXS features are provided and
@@ -29,4 +28,4 @@ export function withNgxsPreboot(prebootFn) {
29
28
  { provide: NGXS_PREBOOT_FNS, multi: true, useValue: prebootFn }
30
29
  ]);
31
30
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zdGFuZGFsb25lLWZlYXR1cmVzL3ByZWJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxNQUFNLFdBQVcsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQ2hELFdBQVcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDdEMsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUF1QjtJQUNyRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtLQUNoRSxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiB0aGF0IHJlZ2lzdGVycyBwcmVib290IGZ1bmN0aW9ucyAoY2FsbGVkIGJlZm9yZSB0aGUgcm9vdCBpbml0aWFsaXplcikuXG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX1BSRUJPT1RfRk5TID0gbmV3IEluamVjdGlvblRva2VuPFZvaWRGdW5jdGlvbltdPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19QUkVCT09UX0ZOUycgOiAnJ1xuKTtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlZ2lzdGVycyBhIHByZWJvb3QgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSByb290XG4gKiBzdG9yZSBpbml0aWFsaXplciBpcyBydW4sIGJ1dCBhZnRlciBhbGwgb2YgdGhlIE5HWFMgZmVhdHVyZXMgYXJlIHByb3ZpZGVkIGFuZFxuICogYXZhaWxhYmxlIGZvciBpbmplY3Rpb24uIFRoaXMgaXMgdXNlZnVsIGZvciByZWdpc3RlcmluZyBhY3Rpb24gc3RyZWFtIGxpc3RlbmVyc1xuICogYmVmb3JlIGFueSBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cbiAqXG4gKiBgYGB0c1xuICogYm9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgIHByb3ZpZGVTdG9yZShcbiAqICAgICAgIFtDb3VudHJpZXNTdGF0ZV0sXG4gKiAgICAgICB3aXRoTmd4c1ByZWJvb3QoKCkgPT4ge1xuICogICAgICAgICBjb25zdCBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAqICAgICAgICAgYWN0aW9ucyQuc3Vic2NyaWJlKGN0eCA9PiBjb25zb2xlLmxvZyhjdHgpKTtcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICBdXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE5neHNQcmVib290KHByZWJvb3RGbjogVm9pZEZ1bmN0aW9uKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHsgcHJvdmlkZTogTkdYU19QUkVCT09UX0ZOUywgbXVsdGk6IHRydWUsIHVzZVZhbHVlOiBwcmVib290Rm4gfVxuICBdKTtcbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zdGFuZGFsb25lLWZlYXR1cmVzL3ByZWJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUNoRCxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN4RSxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQXVCO0lBQ3JELE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO0tBQ2hFLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSW5qZWN0aW9uVG9rZW4gdGhhdCByZWdpc3RlcnMgcHJlYm9vdCBmdW5jdGlvbnMgKGNhbGxlZCBiZWZvcmUgdGhlIHJvb3QgaW5pdGlhbGl6ZXIpLlxuICovXG5leHBvcnQgY29uc3QgTkdYU19QUkVCT09UX0ZOUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxWb2lkRnVuY3Rpb25bXT4oXG4gIHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSA/ICdOR1hTX1BSRUJPT1RfRk5TJyA6ICcnXG4pO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gcmVnaXN0ZXJzIGEgcHJlYm9vdCBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgdGhlIHJvb3RcbiAqIHN0b3JlIGluaXRpYWxpemVyIGlzIHJ1biwgYnV0IGFmdGVyIGFsbCBvZiB0aGUgTkdYUyBmZWF0dXJlcyBhcmUgcHJvdmlkZWQgYW5kXG4gKiBhdmFpbGFibGUgZm9yIGluamVjdGlvbi4gVGhpcyBpcyB1c2VmdWwgZm9yIHJlZ2lzdGVyaW5nIGFjdGlvbiBzdHJlYW0gbGlzdGVuZXJzXG4gKiBiZWZvcmUgYW55IGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICpcbiAqIGBgYHRzXG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihBcHBDb21wb25lbnQsIHtcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgcHJvdmlkZVN0b3JlKFxuICogICAgICAgW0NvdW50cmllc1N0YXRlXSxcbiAqICAgICAgIHdpdGhOZ3hzUHJlYm9vdCgoKSA9PiB7XG4gKiAgICAgICAgIGNvbnN0IGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICogICAgICAgICBhY3Rpb25zJC5zdWJzY3JpYmUoY3R4ID0+IGNvbnNvbGUubG9nKGN0eCkpO1xuICogICAgICAgfSlcbiAqICAgICApXG4gKiAgIF1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTmd4c1ByZWJvb3QocHJlYm9vdEZuOiBWb2lkRnVuY3Rpb24pIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgeyBwcm92aWRlOiBOR1hTX1BSRUJPT1RfRk5TLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IHByZWJvb3RGbiB9XG4gIF0pO1xufVxuIl19
@@ -8,7 +8,6 @@ import { leaveNgxs } from './operators/leave-ngxs';
8
8
  import { NgxsConfig } from './symbols';
9
9
  import { StateFactory } from './internal/state-factory';
10
10
  import * as i0 from "@angular/core";
11
- const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
12
11
  export class Store {
13
12
  constructor() {
14
13
  this._stateStream = inject(ɵStateStream);
@@ -28,7 +27,7 @@ export class Store {
28
27
  * Dispatches action(s).
29
28
  */
30
29
  dispatch(actionOrActions) {
31
- if (NG_DEV_MODE) {
30
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
32
31
  if (
33
32
  // If a single action is dispatched and it's nullable.
34
33
  actionOrActions == null ||
@@ -115,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
115
114
  type: Injectable,
116
115
  args: [{ providedIn: 'root' }]
117
116
  }], ctorParameters: () => [] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFFTCxFQUFFLEVBRUYsVUFBVSxFQUNWLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFdBQVcsRUFDWCxJQUFJLEVBQ0wsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUd4RCxNQUFNLFdBQVcsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDO0FBU2xFLE1BQU0sT0FBTyxLQUFLO0lBaUJoQjtRQWhCUSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyw2QkFBd0IsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzRCxZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLCtCQUEwQixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLGtCQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxD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SSxDQUFDLHdCQUF3QixDQUFDLHNCQUFzQixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHNCQUFzQixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxRQUFhO1FBQzNDLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUN0RSxPQUFPLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLGlCQUFpQixHQUFRLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUUvRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7aUlBMUhVLEtBQUs7cUlBQUwsS0FBSyxjQURRLE1BQU07OzJGQUNuQixLQUFLO2tCQURqQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGFibGUsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFN1YnNjcmlwdGlvbixcbiAgdGhyb3dFcnJvcixcbiAgY2F0Y2hFcnJvcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHRha2Vcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyDJtUlOSVRJQUxfU1RBVEVfVE9LRU4sIMm1U3RhdGVTdHJlYW0gfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IGdldFJvb3RTZWxlY3RvckZhY3RvcnkgfSBmcm9tICcuL3NlbGVjdG9ycy9zZWxlY3Rvci11dGlscyc7XG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9ycyc7XG5cbmNvbnN0IE5HX0RFVl9NT0RFID0gdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlO1xuXG4vLyBXZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHByb3ZpZGVkIGBUYCB0eXBlIGV4dGVuZHMgYW4gYXJyYXkgaW4gb3JkZXIgdG9cbi8vIGFwcGx5IHRoZSBgTm9uTnVsbGFibGVbXWAgdHlwZSB0byBpdHMgZWxlbWVudHMuIFRoaXMgaXMgYmVjYXVzZSwgZm9yXG4vLyBgY29uc3QgYWN0aW9ucyA9IFt1bmRlZmluZWRdYCwgdHlwZSBpbmZlcmVuY2Ugd291bGQgcmVzdWx0IGluIGBOb25OdWxsYWJsZTx1bmtub3duPmBcbi8vIHJhdGhlciB0aGFuIGBOb25OdWxsYWJsZTx1bmtub3duPltdYC5cbnR5cGUgQWN0aW9uT3JBcnJheU9mQWN0aW9uczxUPiA9IFQgZXh0ZW5kcyAoaW5mZXIgVSlbXSA/IE5vbk51bGxhYmxlPFU+W10gOiBOb25OdWxsYWJsZTxUPjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdG9yZSB7XG4gIHByaXZhdGUgX3N0YXRlU3RyZWFtID0gaW5qZWN0KMm1U3RhdGVTdHJlYW0pO1xuICBwcml2YXRlIF9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyA9IGluamVjdChJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyk7XG4gIHByaXZhdGUgX2NvbmZpZyA9IGluamVjdChOZ3hzQ29uZmlnKTtcbiAgcHJpdmF0ZSBfaW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSA9IGluamVjdChJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSk7XG4gIHByaXZhdGUgX3N0YXRlRmFjdG9yeSA9IGluamVjdChTdGF0ZUZhY3RvcnkpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGEgZGVyaXZlZCBzdGF0ZSBzdHJlYW0gdGhhdCBsZWF2ZXMgTkdYUyBleGVjdXRpb24gc3RyYXRlZ3kgdG8gZW1pdCBzdGF0ZSBjaGFuZ2VzIHdpdGhpbiB0aGUgQW5ndWxhciB6b25lLFxuICAgKiBiZWNhdXNlIHN0YXRlIGlzIGJlaW5nIGNoYW5nZWQgYWN0dWFsbHkgd2l0aGluIHRoZSBgPHJvb3Q+YCB6b25lLCBzZWUgYEludGVybmFsRGlzcGF0Y2hlciNkaXNwYXRjaFNpbmdsZWAuXG4gICAqIEFsbCBzZWxlY3RzIHdvdWxkIHVzZSB0aGlzIHN0cmVhbSwgYW5kIGl0IHdvdWxkIGNhbGwgbGVhdmUgb25seSBvbmNlIGZvciBhbnkgc3RhdGUgY2hhbmdlIGFjcm9zcyBhbGwgYWN0aXZlIHNlbGVjdG9ycy5cbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdGFibGVTdGF0ZVN0cmVhbSA9IHRoaXMuX3N0YXRlU3RyZWFtLnBpcGUoXG4gICAgbGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmluaXRTdGF0ZVN0cmVhbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgYWN0aW9uKHMpLlxuICAgKi9cbiAgZGlzcGF0Y2g8VD4oYWN0aW9uT3JBY3Rpb25zOiBBY3Rpb25PckFycmF5T2ZBY3Rpb25zPFQ+KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgaWYgKE5HX0RFVl9NT0RFKSB7XG4gICAgICBpZiAoXG4gICAgICAgIC8vIElmIGEgc2luZ2xlIGFjdGlvbiBpcyBkaXNwYXRjaGVkIGFuZCBpdCdzIG51bGxhYmxlLlxuICAgICAgICBhY3Rpb25PckFjdGlvbnMgPT0gbnVsbCB8fFxuICAgICAgICAvLyBJZiBhIGxpc3Qgb2YgYWN0aW9ucyBpcyBkaXNwYXRjaGVkIGFuZCBhbnkgb2YgdGhlIGFjdGlvbnMgYXJlIG51bGxhYmxlLlxuICAgICAgICAoQXJyYXkuaXNBcnJheShhY3Rpb25PckFjdGlvbnMpICYmIGFjdGlvbk9yQWN0aW9ucy5zb21lKGFjdGlvbiA9PiBhY3Rpb24gPT0gbnVsbCkpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ2BkaXNwYXRjaCgpYCB3YXMgY2FsbGVkIHdpdGhvdXQgcHJvdmlkaW5nIGFuIGFjdGlvbi4nKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGEgc2xpY2Ugb2YgZGF0YSBmcm9tIHRoZSBzdG9yZS5cbiAgICovXG4gIHNlbGVjdDxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHNlbGVjdG9yRm4gPSB0aGlzLmdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZVN0YXRlU3RyZWFtLnBpcGUoXG4gICAgICBtYXAoc2VsZWN0b3JGbiksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogRXJyb3IpOiBPYnNlcnZhYmxlPG5ldmVyPiB8IE9ic2VydmFibGU8dW5kZWZpbmVkPiA9PiB7XG4gICAgICAgIC8vIGlmIGVycm9yIGlzIFR5cGVFcnJvciB3ZSBzd2FsbG93IGl0IHRvIHByZXZlbnQgdXN1YWwgZXJyb3JzIHdpdGggcHJvcGVydHkgYWNjZXNzXG4gICAgICAgIGlmICh0aGlzLl9jb25maWcuc2VsZWN0b3JPcHRpb25zLnN1cHByZXNzRXJyb3JzICYmIGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXRocm93IG90aGVyIGVycm9yc1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBvbmUgc2xpY2Ugb2YgZGF0YSBmcm9tIHRoZSBzdG9yZS5cbiAgICovXG4gIHNlbGVjdE9uY2U8VD4oc2VsZWN0b3I6IFR5cGVkU2VsZWN0b3I8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Qoc2VsZWN0b3IpLnBpcGUodGFrZSgxKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgc25hcHNob3QgZnJvbSB0aGUgc3RhdGUuXG4gICAqL1xuICBzZWxlY3RTbmFwc2hvdDxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IFQge1xuICAgIGNvbnN0IHNlbGVjdG9yRm4gPSB0aGlzLmdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yKTtcbiAgICByZXR1cm4gc2VsZWN0b3JGbih0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSBzaWduYWwgZnJvbSB0aGUgc3RhdGUuXG4gICAqL1xuICBzZWxlY3RTaWduYWw8VD4oc2VsZWN0b3I6IFR5cGVkU2VsZWN0b3I8VD4pOiBTaWduYWw8VD4ge1xuICAgIGNvbnN0IHNlbGVjdG9yRm4gPSB0aGlzLmdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yKTtcbiAgICByZXR1cm4gY29tcHV0ZWQ8VD4oKCkgPT4gc2VsZWN0b3JGbih0aGlzLl9zdGF0ZVN0cmVhbS5zdGF0ZSgpKSk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3cgdGhlIHVzZXIgdG8gc3Vic2NyaWJlIHRvIHRoZSByb290IG9mIHRoZSBzdGF0ZVxuICAgKi9cbiAgc3Vic2NyaWJlKGZuPzogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlU3RhdGVTdHJlYW1cbiAgICAgIC5waXBlKGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KSlcbiAgICAgIC5zdWJzY3JpYmUoZm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgcmF3IHZhbHVlIG9mIHRoZSBzdGF0ZS5cbiAgICovXG4gIHNuYXBzaG90KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5nZXRTdGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBzdGF0ZSB0byBhIHNwZWNpZmljIHBvaW50IGluIHRpbWUuIFRoaXMgbWV0aG9kIGlzIHVzZWZ1bFxuICAgKiBmb3IgcGx1Z2luJ3Mgd2hvIG5lZWQgdG8gbW9kaWZ5IHRoZSBzdGF0ZSBkaXJlY3RseSBvciB1bml0IHRlc3RpbmcuXG4gICAqL1xuICByZXNldChzdGF0ZTogYW55KSB7XG4gICAgdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpLnNldFN0YXRlKHN0YXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3I6IGFueSkge1xuICAgIGNvbnN0IG1ha2VTZWxlY3RvckZuID0gZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeShzZWxlY3Rvcik7XG4gICAgY29uc3QgcnVudGltZUNvbnRleHQgPSB0aGlzLl9zdGF0ZUZhY3RvcnkuZ2V0UnVudGltZVNlbGVjdG9yQ29udGV4dCgpO1xuICAgIHJldHVybiBtYWtlU2VsZWN0b3JGbihydW50aW1lQ29udGV4dCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTdGF0ZVN0cmVhbSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGVWYWx1ZTogYW55ID0gaW5qZWN0KMm1SU5JVElBTF9TVEFURV9UT0tFTik7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9zdGF0ZVN0cmVhbS52YWx1ZTtcbiAgICBjb25zdCBzdG9yZUlzRW1wdHkgPSAhdmFsdWUgfHwgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcblxuICAgIGlmIChzdG9yZUlzRW1wdHkpIHtcbiAgICAgIHRoaXMuX3N0YXRlU3RyZWFtLm5leHQoaW5pdGlhbFN0YXRlVmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFFTCxFQUFFLEVBRUYsVUFBVSxFQUNWLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFdBQVcsRUFDWCxJQUFJLEVBQ0wsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVV4RCxNQUFNLE9BQU8sS0FBSztJQWlCaEI7UUFoQlEsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsNkJBQXdCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDM0QsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QiwrQkFBMEIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNuRSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU3Qzs7OztXQUlHO1FBQ0ssMkJBQXNCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJ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Q0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHVCQUF1QixDQUFDLFFBQWE7UUFDM0MsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RFLE9BQU8sY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0saUJBQWlCLEdBQVEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDdEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBRS9ELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztpSUExSFUsS0FBSztxSUFBTCxLQUFLLGNBRFEsTUFBTTs7MkZBQ25CLEtBQUs7a0JBRGpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCwgSW5qZWN0YWJsZSwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3Vic2NyaXB0aW9uLFxuICB0aHJvd0Vycm9yLFxuICBjYXRjaEVycm9yLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgdGFrZVxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IMm1SU5JVElBTF9TVEFURV9UT0tFTiwgybVTdGF0ZVN0cmVhbSB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeSB9IGZyb20gJy4vc2VsZWN0b3JzL3NlbGVjdG9yLXV0aWxzJztcbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBTdGF0ZUZhY3RvcnkgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLWZhY3RvcnknO1xuaW1wb3J0IHsgVHlwZWRTZWxlY3RvciB9IGZyb20gJy4vc2VsZWN0b3JzJztcblxuLy8gV2UgbmVlZCB0byBjaGVjayB3aGV0aGVyIHRoZSBwcm92aWRlZCBgVGAgdHlwZSBleHRlbmRzIGFuIGFycmF5IGluIG9yZGVyIHRvXG4vLyBhcHBseSB0aGUgYE5vbk51bGxhYmxlW11gIHR5cGUgdG8gaXRzIGVsZW1lbnRzLiBUaGlzIGlzIGJlY2F1c2UsIGZvclxuLy8gYGNvbnN0IGFjdGlvbnMgPSBbdW5kZWZpbmVkXWAsIHR5cGUgaW5mZXJlbmNlIHdvdWxkIHJlc3VsdCBpbiBgTm9uTnVsbGFibGU8dW5rbm93bj5gXG4vLyByYXRoZXIgdGhhbiBgTm9uTnVsbGFibGU8dW5rbm93bj5bXWAuXG50eXBlIEFjdGlvbk9yQXJyYXlPZkFjdGlvbnM8VD4gPSBUIGV4dGVuZHMgKGluZmVyIFUpW10gPyBOb25OdWxsYWJsZTxVPltdIDogTm9uTnVsbGFibGU8VD47XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuICBwcml2YXRlIF9zdGF0ZVN0cmVhbSA9IGluamVjdCjJtVN0YXRlU3RyZWFtKTtcbiAgcHJpdmF0ZSBfaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgPSBpbmplY3QoSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMpO1xuICBwcml2YXRlIF9jb25maWcgPSBpbmplY3QoTmd4c0NvbmZpZyk7XG4gIHByaXZhdGUgX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kgPSBpbmplY3QoSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kpO1xuICBwcml2YXRlIF9zdGF0ZUZhY3RvcnkgPSBpbmplY3QoU3RhdGVGYWN0b3J5KTtcblxuICAvKipcbiAgICogVGhpcyBpcyBhIGRlcml2ZWQgc3RhdGUgc3RyZWFtIHRoYXQgbGVhdmVzIE5HWFMgZXhlY3V0aW9uIHN0cmF0ZWd5IHRvIGVtaXQgc3RhdGUgY2hhbmdlcyB3aXRoaW4gdGhlIEFuZ3VsYXIgem9uZSxcbiAgICogYmVjYXVzZSBzdGF0ZSBpcyBiZWluZyBjaGFuZ2VkIGFjdHVhbGx5IHdpdGhpbiB0aGUgYDxyb290PmAgem9uZSwgc2VlIGBJbnRlcm5hbERpc3BhdGNoZXIjZGlzcGF0Y2hTaW5nbGVgLlxuICAgKiBBbGwgc2VsZWN0cyB3b3VsZCB1c2UgdGhpcyBzdHJlYW0sIGFuZCBpdCB3b3VsZCBjYWxsIGxlYXZlIG9ubHkgb25jZSBmb3IgYW55IHN0YXRlIGNoYW5nZSBhY3Jvc3MgYWxsIGFjdGl2ZSBzZWxlY3RvcnMuXG4gICAqL1xuICBwcml2YXRlIF9zZWxlY3RhYmxlU3RhdGVTdHJlYW0gPSB0aGlzLl9zdGF0ZVN0cmVhbS5waXBlKFxuICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pbml0U3RhdGVTdHJlYW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGFjdGlvbihzKS5cbiAgICovXG4gIGRpc3BhdGNoPFQ+KGFjdGlvbk9yQWN0aW9uczogQWN0aW9uT3JBcnJheU9mQWN0aW9uczxUPik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgLy8gSWYgYSBzaW5nbGUgYWN0aW9uIGlzIGRpc3BhdGNoZWQgYW5kIGl0J3MgbnVsbGFibGUuXG4gICAgICAgIGFjdGlvbk9yQWN0aW9ucyA9PSBudWxsIHx8XG4gICAgICAgIC8vIElmIGEgbGlzdCBvZiBhY3Rpb25zIGlzIGRpc3BhdGNoZWQgYW5kIGFueSBvZiB0aGUgYWN0aW9ucyBhcmUgbnVsbGFibGUuXG4gICAgICAgIChBcnJheS5pc0FycmF5KGFjdGlvbk9yQWN0aW9ucykgJiYgYWN0aW9uT3JBY3Rpb25zLnNvbWUoYWN0aW9uID0+IGFjdGlvbiA9PSBudWxsKSlcbiAgICAgICkge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignYGRpc3BhdGNoKClgIHdhcyBjYWxsZWQgd2l0aG91dCBwcm92aWRpbmcgYW4gYWN0aW9uLicpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlU3RhdGVTdHJlYW0ucGlwZShcbiAgICAgIG1hcChzZWxlY3RvckZuKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcik6IE9ic2VydmFibGU8bmV2ZXI+IHwgT2JzZXJ2YWJsZTx1bmRlZmluZWQ+ID0+IHtcbiAgICAgICAgLy8gaWYgZXJyb3IgaXMgVHlwZUVycm9yIHdlIHN3YWxsb3cgaXQgdG8gcHJldmVudCB1c3VhbCBlcnJvcnMgd2l0aCBwcm9wZXJ0eSBhY2Nlc3NcbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5zZWxlY3Rvck9wdGlvbnMuc3VwcHJlc3NFcnJvcnMgJiYgZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJldGhyb3cgb3RoZXIgZXJyb3JzXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IG9uZSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdChzZWxlY3RvcikucGlwZSh0YWtlKDEpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSBzbmFwc2hvdCBmcm9tIHRoZSBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdFNuYXBzaG90PFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogVCB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiBzZWxlY3RvckZuKHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIHNpZ25hbCBmcm9tIHRoZSBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdFNpZ25hbDxUPihzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUPik6IFNpZ25hbDxUPiB7XG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xuICAgIHJldHVybiBjb21wdXRlZDxUPigoKSA9PiBzZWxlY3RvckZuKHRoaXMuX3N0YXRlU3RyZWFtLnN0YXRlKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgdXNlciB0byBzdWJzY3JpYmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHN0YXRlXG4gICAqL1xuICBzdWJzY3JpYmUoZm4/OiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGVTdGF0ZVN0cmVhbVxuICAgICAgLnBpcGUobGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKVxuICAgICAgLnN1YnNjcmliZShmbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSByYXcgdmFsdWUgb2YgdGhlIHN0YXRlLlxuICAgKi9cbiAgc25hcHNob3QoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpLmdldFN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgc3BlY2lmaWMgcG9pbnQgaW4gdGltZS4gVGhpcyBtZXRob2QgaXMgdXNlZnVsXG4gICAqIGZvciBwbHVnaW4ncyB3aG8gbmVlZCB0byBtb2RpZnkgdGhlIHN0YXRlIGRpcmVjdGx5IG9yIHVuaXQgdGVzdGluZy5cbiAgICovXG4gIHJlc2V0KHN0YXRlOiBhbnkpIHtcbiAgICB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuc2V0U3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3RvcjogYW55KSB7XG4gICAgY29uc3QgbWFrZVNlbGVjdG9yRm4gPSBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yKTtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuX3N0YXRlRmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KCk7XG4gICAgcmV0dXJuIG1ha2VTZWxlY3RvckZuKHJ1bnRpbWVDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0YXRlU3RyZWFtKCk6IHZvaWQge1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZVZhbHVlOiBhbnkgPSBpbmplY3QoybVJTklUSUFMX1NUQVRFX1RPS0VOKTtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX3N0YXRlU3RyZWFtLnZhbHVlO1xuICAgIGNvbnN0IHN0b3JlSXNFbXB0eSA9ICF2YWx1ZSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuXG4gICAgaWYgKHN0b3JlSXNFbXB0eSkge1xuICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChpbml0aWFsU3RhdGVWYWx1ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,18 +1,17 @@
1
1
  import { Injectable, InjectionToken, inject } from '@angular/core';
2
2
  import { DispatchOutsideZoneNgxsExecutionStrategy } from './execution/dispatch-outside-zone-ngxs-execution-strategy';
3
3
  import * as i0 from "@angular/core";
4
- const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
5
4
  // The injection token is used to resolve a list of states provided at
6
5
  // the root level through either `NgxsModule.forRoot` or `provideStore`.
7
- export const ROOT_STATE_TOKEN = new InjectionToken(NG_DEV_MODE ? 'ROOT_STATE_TOKEN' : '');
6
+ export const ROOT_STATE_TOKEN = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'ROOT_STATE_TOKEN' : '');
8
7
  // The injection token is used to resolve a list of states provided at
9
8
  // the feature level through either `NgxsModule.forFeature` or `provideStates`.
10
9
  // The Array<Array> is used to overload the resolved value of the token because
11
10
  // it is a multi-provider token.
12
- export const FEATURE_STATE_TOKEN = new InjectionToken(NG_DEV_MODE ? 'FEATURE_STATE_TOKEN' : '');
11
+ export const FEATURE_STATE_TOKEN = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'FEATURE_STATE_TOKEN' : '');
13
12
  // The injection token is used to resolve to options provided at the root
14
13
  // level through either `NgxsModule.forRoot` or `provideStore`.
15
- export const NGXS_OPTIONS = new InjectionToken(NG_DEV_MODE ? 'NGXS_OPTIONS' : '');
14
+ export const NGXS_OPTIONS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_OPTIONS' : '');
16
15
  /**
17
16
  * The NGXS config settings.
18
17
  */
@@ -84,4 +83,4 @@ export class NgxsSimpleChange {
84
83
  this.firstChange = firstChange;
85
84
  }
86
85
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckgsTUFBTSxXQUFXLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQztBQUVsRSxzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3RDLENBQUM7QUFFRixzRUFBc0U7QUFDdEUsK0VBQStFO0FBQy9FLCtFQUErRTtBQUMvRSxnQ0FBZ0M7QUFDaEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsQ0FBQztBQUVGLHlFQUF5RTtBQUN6RSwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUM1QyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNsQyxDQUFDO0FBTUY7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLFVBQVU7SUFmdkI7UUEwQkUsa0JBQWEsR0FPVDtZQUNGLDJCQUEyQixFQUFFLEtBQUs7U0FDbkMsQ0FBQztRQUNGOzs7Ozs7Ozs7O1dBVUc7UUFDSCxzQkFBaUIsR0FBZ0Msd0NBQXdDLENBQUM7UUFDMUY7O1dBRUc7UUFDSCxvQkFBZSxHQUEyQjtZQUN4QyxvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUM7S0FDSDtpSUF4Q1ksVUFBVTtxSUFBVixVQUFVLGNBZFQsTUFBTSxjQUNOLEdBQWUsRUFBRTtZQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwQyxPQUFPO2dCQUNMLEdBQUcsYUFBYTtnQkFDaEIsR0FBRyxNQUFNO2dCQUNULGVBQWUsRUFBRTtvQkFDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO29CQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlO2lCQUMxQjthQUNGLENBQUM7UUFDSixDQUFDOzsyRkFFVSxVQUFVO2tCQWZ0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO29CQUNsQixVQUFVLEVBQUUsR0FBZSxFQUFFO3dCQUMzQixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQzt3QkFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNwQyxPQUFPOzRCQUNMLEdBQUcsYUFBYTs0QkFDaEIsR0FBRyxNQUFNOzRCQUNULGVBQWUsRUFBRTtnQ0FDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO2dDQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlOzZCQUMxQjt5QkFDRixDQUFDO29CQUNKLENBQUM7aUJBQ0Y7O0FBc0VEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDa0IsYUFBZ0IsRUFDaEIsWUFBZSxFQUNmLFdBQW9CO1FBRnBCLGtCQUFhLEdBQWIsYUFBYSxDQUFHO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVM7SUFDbkMsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIFR5cGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUvb3BlcmF0b3JzJztcbmltcG9ydCB7IMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zLCDJtVN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIHJvb3QgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgUk9PVF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcnJheTzJtVN0YXRlQ2xhc3M+PihcbiAgTkdfREVWX01PREUgPyAnUk9PVF9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIGZlYXR1cmUgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yRmVhdHVyZWAgb3IgYHByb3ZpZGVTdGF0ZXNgLlxuLy8gVGhlIEFycmF5PEFycmF5PiBpcyB1c2VkIHRvIG92ZXJsb2FkIHRoZSByZXNvbHZlZCB2YWx1ZSBvZiB0aGUgdG9rZW4gYmVjYXVzZVxuLy8gaXQgaXMgYSBtdWx0aS1wcm92aWRlciB0b2tlbi5cbmV4cG9ydCBjb25zdCBGRUFUVVJFX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFycmF5PEFycmF5PMm1U3RhdGVDbGFzcz4+PihcbiAgTkdfREVWX01PREUgPyAnRkVBVFVSRV9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgdG8gb3B0aW9ucyBwcm92aWRlZCBhdCB0aGUgcm9vdFxuLy8gbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgTkdYU19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE5neHNNb2R1bGVPcHRpb25zPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19PUFRJT05TJyA6ICcnXG4pO1xuXG5leHBvcnQgdHlwZSBOZ3hzTGlmZUN5Y2xlID0gUGFydGlhbDxOZ3hzT25DaGFuZ2VzPiAmXG4gIFBhcnRpYWw8Tmd4c09uSW5pdD4gJlxuICBQYXJ0aWFsPE5neHNBZnRlckJvb3RzdHJhcD47XG5cbi8qKlxuICogVGhlIE5HWFMgY29uZmlnIHNldHRpbmdzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgdXNlRmFjdG9yeTogKCk6IE5neHNDb25maWcgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRDb25maWcgPSBuZXcgTmd4c0NvbmZpZygpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChOR1hTX09QVElPTlMpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgc2VsZWN0b3JPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRDb25maWcuc2VsZWN0b3JPcHRpb25zLFxuICAgICAgICAuLi5jb25maWcuc2VsZWN0b3JPcHRpb25zXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJ1biBpbiBkZXZlbG9wbWVudCBtb2RlLiBUaGlzIHdpbGwgYWRkIGFkZGl0aW9uYWwgZGVidWdnaW5nIGZlYXR1cmVzOlxuICAgKiAtIE9iamVjdC5mcmVlemUgb24gdGhlIHN0YXRlIGFuZCBhY3Rpb25zIHRvIGd1YXJhbnRlZSBpbW11dGFiaWxpdHlcbiAgICogKGRlZmF1bHQ6IGZhbHNlKVxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHByb3BlcnR5IHdpbGwgYmUgYWNjb3VudGVkIG9ubHkgaW4gZGV2ZWxvcG1lbnQgbW9kZS5cbiAgICogSXQgbWFrZXMgc2Vuc2UgdG8gdXNlIGl0IG9ubHkgZHVyaW5nIGRldmVsb3BtZW50IHRvIGVuc3VyZSB0aGVyZSdyZSBubyBzdGF0ZSBtdXRhdGlvbnMuXG4gICAqIFdoZW4gYnVpbGRpbmcgZm9yIHByb2R1Y3Rpb24sIHRoZSBgT2JqZWN0LmZyZWV6ZWAgd2lsbCBiZSB0cmVlLXNoYWtlbiBhd2F5LlxuICAgKi9cbiAgZGV2ZWxvcG1lbnRNb2RlOiBib29sZWFuO1xuICBjb21wYXRpYmlsaXR5OiB7XG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBhIHN0cmljdCBDb250ZW50IFNlY3VyaXR5IFBvbGljeS5cbiAgICAgKiBUaGlzIHdpbGwgY2lyY3VtdmVudCBzb21lIG9wdGltaXNhdGlvbnMgdGhhdCB2aW9sYXRlIGEgc3RyaWN0IENTUCB0aHJvdWdoIHRoZSB1c2Ugb2YgYG5ldyBGdW5jdGlvbiguLi4pYC5cbiAgICAgKiAoZGVmYXVsdDogZmFsc2UpXG4gICAgICovXG4gICAgc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5OiBib29sZWFuO1xuICB9ID0ge1xuICAgIHN0cmljdENvbnRlbnRTZWN1cml0eVBvbGljeTogZmFsc2VcbiAgfTtcbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHBlcmZvcm0gYXN5bmMgb3BlcmF0aW9ucyBpbnNpZGUuIEFuIGltcGxlbWVudGF0aW9uIGNhbiBiZVxuICAgKiBwcm92aWRlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgd2hlcmUgdGhlIGFzeW5jIG9wZXJhdGlvbnMgYXJlIHJ1blxuICAgKiBvdXRzaWRlIEFuZ3VsYXIncyB6b25lIGJ1dCBhbGwgb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIG9mIE5HWFMgYXJlIHJ1biBiYWNrIGluc2lkZSBBbmd1bGFyJ3Mgem9uZS5cbiAgICogVGhlc2Ugb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIGFyZSBmcm9tOlxuICAgKiAgIGBzdG9yZS5zZWxlY3RTaWduYWwoLi4uKWAsIGBzdG9yZS5zZWxlY3QoLi4uKWAsIGBhY3Rpb25zLnN1YnNjcmliZSguLi4pYCBvciBgc3RvcmUuZGlzcGF0Y2goLi4uKS5zdWJzY3JpYmUoLi4uKWBcbiAgICogRXZlcnkgYHpvbmUucnVuYCBjYXVzZXMgQW5ndWxhciB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBvbiB0aGUgd2hvbGUgdHJlZSAoYGFwcC50aWNrKClgKSBzbyBvZiB5b3VyXG4gICAqIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcmVseSBvbiB6b25lLmpzIHJ1bm5pbmcgY2hhbmdlIGRldGVjdGlvbiB0aGVuIHlvdSBjYW4gc3dpdGNoIHRvIHRoZVxuICAgKiBgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneWAgdGhhdCBkb2Vzbid0IGludGVyYWN0IHdpdGggem9uZXMuXG4gICAqIChkZWZhdWx0OiBudWxsKVxuICAgKi9cbiAgZXhlY3V0aW9uU3RyYXRlZ3k6IFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiA9IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k7XG4gIC8qKlxuICAgKiBEZWZpbmluZyBzaGFyZWQgc2VsZWN0b3Igb3B0aW9uc1xuICAgKi9cbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9IHtcbiAgICBpbmplY3RDb250YWluZXJTdGF0ZTogZmFsc2UsXG4gICAgc3VwcHJlc3NFcnJvcnM6IGZhbHNlXG4gIH07XG59XG5cbmV4cG9ydCB7IFN0YXRlT3BlcmF0b3IgfTtcblxuLyoqXG4gKiBTdGF0ZSBjb250ZXh0IHByb3ZpZGVkIHRvIHRoZSBhY3Rpb25zIGluIHRoZSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUNvbnRleHQ8VD4ge1xuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgZ2V0U3RhdGUoKTogVDtcblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgbmV3IHZhbHVlLlxuICAgKi9cbiAgc2V0U3RhdGUodmFsOiBUIHwgU3RhdGVPcGVyYXRvcjxUPik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFBhdGNoIHRoZSBleGlzdGluZyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogdm9pZDtcblxuICAvKipcbiAgICogRGlzcGF0Y2ggYSBuZXcgYWN0aW9uIGFuZCByZXR1cm4gdGhlIGRpc3BhdGNoZWQgb2JzZXJ2YWJsZS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYmFzaWMgY2hhbmdlIGZyb20gYSBwcmV2aW91cyB0byBhIG5ldyB2YWx1ZSBmb3IgYSBzaW5nbGUgc3RhdGUgaW5zdGFuY2UuXG4gKiBQYXNzZWQgYXMgYSB2YWx1ZSBpbiBhIE5neHNTaW1wbGVDaGFuZ2VzIG9iamVjdCB0byB0aGUgbmd4c09uQ2hhbmdlcyBob29rLlxuICovXG5leHBvcnQgY2xhc3MgTmd4c1NpbXBsZUNoYW5nZTxUID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwcmV2aW91c1ZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50VmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGZpcnN0Q2hhbmdlOiBib29sZWFuXG4gICkge31cbn1cblxuLyoqXG4gKiBPbiBpbml0IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNPbkluaXQge1xuICBuZ3hzT25Jbml0KGN0eDogU3RhdGVDb250ZXh0PGFueT4pOiB2b2lkO1xufVxuXG4vKipcbiAqIE9uIGNoYW5nZSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzT25DaGFuZ2VzIHtcbiAgbmd4c09uQ2hhbmdlcyhjaGFuZ2U6IE5neHNTaW1wbGVDaGFuZ2UpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFmdGVyIGJvb3RzdHJhcCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzQWZ0ZXJCb290c3RyYXAge1xuICBuZ3hzQWZ0ZXJCb290c3RyYXAoY3R4OiBTdGF0ZUNvbnRleHQ8YW55Pik6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIE5neHNNb2R1bGVPcHRpb25zID0gUGFydGlhbDxOZ3hzQ29uZmlnPjtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZGVjbGFyZSBnbG9iYWwge1xuICBjb25zdCBuZ0Rldk1vZGU6IGJvb2xlYW47XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckgsc0VBQXNFO0FBQ3RFLHdFQUF3RTtBQUN4RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDeEUsQ0FBQztBQUVGLHNFQUFzRTtBQUN0RSwrRUFBK0U7QUFDL0UsK0VBQStFO0FBQy9FLGdDQUFnQztBQUNoQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDM0UsQ0FBQztBQUVGLHlFQUF5RTtBQUN6RSwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUM1QyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDcEUsQ0FBQztBQU1GOztHQUVHO0FBZ0JILE1BQU0sT0FBTyxVQUFVO0lBZnZCO1FBMEJFLGtCQUFhLEdBT1Q7WUFDRiwyQkFBMkIsRUFBRSxLQUFLO1NBQ25DLENBQUM7UUFDRjs7Ozs7Ozs7OztXQVVHO1FBQ0gsc0JBQWlCLEdBQWdDLHdDQUF3QyxDQUFDO1FBQzFGOztXQUVHO1FBQ0gsb0JBQWUsR0FBMkI7WUFDeEMsb0JBQW9CLEVBQUUsS0FBSztZQUMzQixjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDO0tBQ0g7aUlBeENZLFVBQVU7cUlBQVYsVUFBVSxjQWRULE1BQU0sY0FDTixHQUFlLEVBQUU7WUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEMsT0FBTztnQkFDTCxHQUFHLGFBQWE7Z0JBQ2hCLEdBQUcsTUFBTTtnQkFDVCxlQUFlLEVBQUU7b0JBQ2YsR0FBRyxhQUFhLENBQUMsZUFBZTtvQkFDaEMsR0FBRyxNQUFNLENBQUMsZUFBZTtpQkFDMUI7YUFDRixDQUFDO1FBQ0osQ0FBQzs7MkZBRVUsVUFBVTtrQkFmdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsVUFBVSxFQUFFLEdBQWUsRUFBRTt3QkFDM0IsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7d0JBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDcEMsT0FBTzs0QkFDTCxHQUFHLGFBQWE7NEJBQ2hCLEdBQUcsTUFBTTs0QkFDVCxlQUFlLEVBQUU7Z0NBQ2YsR0FBRyxhQUFhLENBQUMsZUFBZTtnQ0FDaEMsR0FBRyxNQUFNLENBQUMsZUFBZTs2QkFDMUI7eUJBQ0YsQ0FBQztvQkFDSixDQUFDO2lCQUNGOztBQXNFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQ2tCLGFBQWdCLEVBQ2hCLFlBQWUsRUFDZixXQUFvQjtRQUZwQixrQkFBYSxHQUFiLGFBQWEsQ0FBRztRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBRztRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFTO0lBQ25DLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5pbXBvcnQgeyDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucywgybVTdGF0ZUNsYXNzIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vc3ltYm9scyc7XG5pbXBvcnQgeyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIHJvb3QgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgUk9PVF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcnJheTzJtVN0YXRlQ2xhc3M+PihcbiAgdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlID8gJ1JPT1RfU1RBVEVfVE9LRU4nIDogJydcbik7XG5cbi8vIFRoZSBpbmplY3Rpb24gdG9rZW4gaXMgdXNlZCB0byByZXNvbHZlIGEgbGlzdCBvZiBzdGF0ZXMgcHJvdmlkZWQgYXRcbi8vIHRoZSBmZWF0dXJlIGxldmVsIHRocm91Z2ggZWl0aGVyIGBOZ3hzTW9kdWxlLmZvckZlYXR1cmVgIG9yIGBwcm92aWRlU3RhdGVzYC5cbi8vIFRoZSBBcnJheTxBcnJheT4gaXMgdXNlZCB0byBvdmVybG9hZCB0aGUgcmVzb2x2ZWQgdmFsdWUgb2YgdGhlIHRva2VuIGJlY2F1c2Vcbi8vIGl0IGlzIGEgbXVsdGktcHJvdmlkZXIgdG9rZW4uXG5leHBvcnQgY29uc3QgRkVBVFVSRV9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcnJheTxBcnJheTzJtVN0YXRlQ2xhc3M+Pj4oXG4gIHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSA/ICdGRUFUVVJFX1NUQVRFX1RPS0VOJyA6ICcnXG4pO1xuXG4vLyBUaGUgaW5qZWN0aW9uIHRva2VuIGlzIHVzZWQgdG8gcmVzb2x2ZSB0byBvcHRpb25zIHByb3ZpZGVkIGF0IHRoZSByb290XG4vLyBsZXZlbCB0aHJvdWdoIGVpdGhlciBgTmd4c01vZHVsZS5mb3JSb290YCBvciBgcHJvdmlkZVN0b3JlYC5cbmV4cG9ydCBjb25zdCBOR1hTX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c01vZHVsZU9wdGlvbnM+KFxuICB0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUgPyAnTkdYU19PUFRJT05TJyA6ICcnXG4pO1xuXG5leHBvcnQgdHlwZSBOZ3hzTGlmZUN5Y2xlID0gUGFydGlhbDxOZ3hzT25DaGFuZ2VzPiAmXG4gIFBhcnRpYWw8Tmd4c09uSW5pdD4gJlxuICBQYXJ0aWFsPE5neHNBZnRlckJvb3RzdHJhcD47XG5cbi8qKlxuICogVGhlIE5HWFMgY29uZmlnIHNldHRpbmdzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgdXNlRmFjdG9yeTogKCk6IE5neHNDb25maWcgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRDb25maWcgPSBuZXcgTmd4c0NvbmZpZygpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChOR1hTX09QVElPTlMpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgc2VsZWN0b3JPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRDb25maWcuc2VsZWN0b3JPcHRpb25zLFxuICAgICAgICAuLi5jb25maWcuc2VsZWN0b3JPcHRpb25zXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJ1biBpbiBkZXZlbG9wbWVudCBtb2RlLiBUaGlzIHdpbGwgYWRkIGFkZGl0aW9uYWwgZGVidWdnaW5nIGZlYXR1cmVzOlxuICAgKiAtIE9iamVjdC5mcmVlemUgb24gdGhlIHN0YXRlIGFuZCBhY3Rpb25zIHRvIGd1YXJhbnRlZSBpbW11dGFiaWxpdHlcbiAgICogKGRlZmF1bHQ6IGZhbHNlKVxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHByb3BlcnR5IHdpbGwgYmUgYWNjb3VudGVkIG9ubHkgaW4gZGV2ZWxvcG1lbnQgbW9kZS5cbiAgICogSXQgbWFrZXMgc2Vuc2UgdG8gdXNlIGl0IG9ubHkgZHVyaW5nIGRldmVsb3BtZW50IHRvIGVuc3VyZSB0aGVyZSdyZSBubyBzdGF0ZSBtdXRhdGlvbnMuXG4gICAqIFdoZW4gYnVpbGRpbmcgZm9yIHByb2R1Y3Rpb24sIHRoZSBgT2JqZWN0LmZyZWV6ZWAgd2lsbCBiZSB0cmVlLXNoYWtlbiBhd2F5LlxuICAgKi9cbiAgZGV2ZWxvcG1lbnRNb2RlOiBib29sZWFuO1xuICBjb21wYXRpYmlsaXR5OiB7XG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBhIHN0cmljdCBDb250ZW50IFNlY3VyaXR5IFBvbGljeS5cbiAgICAgKiBUaGlzIHdpbGwgY2lyY3VtdmVudCBzb21lIG9wdGltaXNhdGlvbnMgdGhhdCB2aW9sYXRlIGEgc3RyaWN0IENTUCB0aHJvdWdoIHRoZSB1c2Ugb2YgYG5ldyBGdW5jdGlvbiguLi4pYC5cbiAgICAgKiAoZGVmYXVsdDogZmFsc2UpXG4gICAgICovXG4gICAgc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5OiBib29sZWFuO1xuICB9ID0ge1xuICAgIHN0cmljdENvbnRlbnRTZWN1cml0eVBvbGljeTogZmFsc2VcbiAgfTtcbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHBlcmZvcm0gYXN5bmMgb3BlcmF0aW9ucyBpbnNpZGUuIEFuIGltcGxlbWVudGF0aW9uIGNhbiBiZVxuICAgKiBwcm92aWRlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgd2hlcmUgdGhlIGFzeW5jIG9wZXJhdGlvbnMgYXJlIHJ1blxuICAgKiBvdXRzaWRlIEFuZ3VsYXIncyB6b25lIGJ1dCBhbGwgb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIG9mIE5HWFMgYXJlIHJ1biBiYWNrIGluc2lkZSBBbmd1bGFyJ3Mgem9uZS5cbiAgICogVGhlc2Ugb2JzZXJ2YWJsZSBiZWhhdmlvdXJzIGFyZSBmcm9tOlxuICAgKiAgIGBzdG9yZS5zZWxlY3RTaWduYWwoLi4uKWAsIGBzdG9yZS5zZWxlY3QoLi4uKWAsIGBhY3Rpb25zLnN1YnNjcmliZSguLi4pYCBvciBgc3RvcmUuZGlzcGF0Y2goLi4uKS5zdWJzY3JpYmUoLi4uKWBcbiAgICogRXZlcnkgYHpvbmUucnVuYCBjYXVzZXMgQW5ndWxhciB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBvbiB0aGUgd2hvbGUgdHJlZSAoYGFwcC50aWNrKClgKSBzbyBvZiB5b3VyXG4gICAqIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcmVseSBvbiB6b25lLmpzIHJ1bm5pbmcgY2hhbmdlIGRldGVjdGlvbiB0aGVuIHlvdSBjYW4gc3dpdGNoIHRvIHRoZVxuICAgKiBgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneWAgdGhhdCBkb2Vzbid0IGludGVyYWN0IHdpdGggem9uZXMuXG4gICAqIChkZWZhdWx0OiBudWxsKVxuICAgKi9cbiAgZXhlY3V0aW9uU3RyYXRlZ3k6IFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiA9IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k7XG4gIC8qKlxuICAgKiBEZWZpbmluZyBzaGFyZWQgc2VsZWN0b3Igb3B0aW9uc1xuICAgKi9cbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9IHtcbiAgICBpbmplY3RDb250YWluZXJTdGF0ZTogZmFsc2UsXG4gICAgc3VwcHJlc3NFcnJvcnM6IGZhbHNlXG4gIH07XG59XG5cbmV4cG9ydCB7IFN0YXRlT3BlcmF0b3IgfTtcblxuLyoqXG4gKiBTdGF0ZSBjb250ZXh0IHByb3ZpZGVkIHRvIHRoZSBhY3Rpb25zIGluIHRoZSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUNvbnRleHQ8VD4ge1xuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgZ2V0U3RhdGUoKTogVDtcblxuICAvKipcbiAgICogUmVzZXQgdGhlIHN0YXRlIHRvIGEgbmV3IHZhbHVlLlxuICAgKi9cbiAgc2V0U3RhdGUodmFsOiBUIHwgU3RhdGVPcGVyYXRvcjxUPik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFBhdGNoIHRoZSBleGlzdGluZyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgICovXG4gIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogdm9pZDtcblxuICAvKipcbiAgICogRGlzcGF0Y2ggYSBuZXcgYWN0aW9uIGFuZCByZXR1cm4gdGhlIGRpc3BhdGNoZWQgb2JzZXJ2YWJsZS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYmFzaWMgY2hhbmdlIGZyb20gYSBwcmV2aW91cyB0byBhIG5ldyB2YWx1ZSBmb3IgYSBzaW5nbGUgc3RhdGUgaW5zdGFuY2UuXG4gKiBQYXNzZWQgYXMgYSB2YWx1ZSBpbiBhIE5neHNTaW1wbGVDaGFuZ2VzIG9iamVjdCB0byB0aGUgbmd4c09uQ2hhbmdlcyBob29rLlxuICovXG5leHBvcnQgY2xhc3MgTmd4c1NpbXBsZUNoYW5nZTxUID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwcmV2aW91c1ZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50VmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGZpcnN0Q2hhbmdlOiBib29sZWFuXG4gICkge31cbn1cblxuLyoqXG4gKiBPbiBpbml0IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNPbkluaXQge1xuICBuZ3hzT25Jbml0KGN0eDogU3RhdGVDb250ZXh0PGFueT4pOiB2b2lkO1xufVxuXG4vKipcbiAqIE9uIGNoYW5nZSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzT25DaGFuZ2VzIHtcbiAgbmd4c09uQ2hhbmdlcyhjaGFuZ2U6IE5neHNTaW1wbGVDaGFuZ2UpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFmdGVyIGJvb3RzdHJhcCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzQWZ0ZXJCb290c3RyYXAge1xuICBuZ3hzQWZ0ZXJCb290c3RyYXAoY3R4OiBTdGF0ZUNvbnRleHQ8YW55Pik6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIE5neHNNb2R1bGVPcHRpb25zID0gUGFydGlhbDxOZ3hzQ29uZmlnPjtcblxuLyoqIEBpbnRlcm5hbCAqL1xuZGVjbGFyZSBnbG9iYWwge1xuICBjb25zdCBuZ0Rldk1vZGU6IGJvb2xlYW47XG59XG4iXX0=
@@ -129,7 +129,6 @@ class StateToken {
129
129
  }
130
130
  }
131
131
 
132
- const NG_DEV_MODE$1 = typeof ngDevMode !== 'undefined' && ngDevMode;
133
132
  class ɵInitialState {
134
133
  static { this._value = {}; }
135
134
  static set(state) {
@@ -141,7 +140,7 @@ class ɵInitialState {
141
140
  return state;
142
141
  }
143
142
  }
144
- const ɵINITIAL_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$1 ? 'INITIAL_STATE_TOKEN' : '', {
143
+ const ɵINITIAL_STATE_TOKEN = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'INITIAL_STATE_TOKEN' : '', {
145
144
  providedIn: 'root',
146
145
  factory: () => ɵInitialState.pop()
147
146
  });
@@ -162,10 +161,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
162
161
  args: [{ providedIn: 'root' }]
163
162
  }], ctorParameters: () => [] });
164
163
 
165
- const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
166
164
  // These tokens are internal and can change at any point.
167
- const ɵNGXS_STATE_FACTORY = /* @__PURE__ */ new InjectionToken(NG_DEV_MODE ? 'ɵNGXS_STATE_FACTORY' : '');
168
- const ɵNGXS_STATE_CONTEXT_FACTORY = /* @__PURE__ */ new InjectionToken(NG_DEV_MODE ? 'ɵNGXS_STATE_CONTEXT_FACTORY' : '');
165
+ const ɵNGXS_STATE_FACTORY = /* @__PURE__ */ new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'ɵNGXS_STATE_FACTORY' : '');
166
+ const ɵNGXS_STATE_CONTEXT_FACTORY = /* @__PURE__ */ new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'ɵNGXS_STATE_CONTEXT_FACTORY' : '');
169
167
 
170
168
  /**
171
169
  * This wraps the provided function, and will enforce the following: