@data-client/core 0.14.16 → 0.14.19

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.
Files changed (91) hide show
  1. package/dist/index.js +556 -280
  2. package/dist/index.umd.min.js +1 -1
  3. package/legacy/actions.js +1 -1
  4. package/legacy/controller/Controller.js +101 -12
  5. package/legacy/controller/actions/createFetch.js +3 -2
  6. package/legacy/controller/actions/createSubscription.js +3 -3
  7. package/legacy/controller/ensurePojo.js +3 -2
  8. package/legacy/index.js +3 -4
  9. package/legacy/manager/DevtoolsManager.js +14 -9
  10. package/legacy/manager/NetworkManager.js +8 -5
  11. package/legacy/manager/PollingSubscription.js +6 -3
  12. package/legacy/manager/SubscriptionManager.js +4 -3
  13. package/legacy/manager/applyManager.js +3 -7
  14. package/legacy/manager/initManager.js +15 -0
  15. package/legacy/state/GCPolicy.js +153 -0
  16. package/legacy/state/reducer/createReducer.js +7 -3
  17. package/legacy/state/reducer/expireReducer.js +5 -4
  18. package/legacy/state/reducer/fetchReducer.js +3 -2
  19. package/legacy/state/reducer/invalidateReducer.js +6 -5
  20. package/legacy/state/reducer/setResponseReducer.js +10 -7
  21. package/legacy/types.js +1 -1
  22. package/lib/actionTypes.d.ts.map +1 -1
  23. package/lib/actions.d.ts +2 -2
  24. package/lib/actions.d.ts.map +1 -1
  25. package/lib/actions.js +1 -1
  26. package/lib/controller/Controller.d.ts +108 -5
  27. package/lib/controller/Controller.d.ts.map +1 -1
  28. package/lib/controller/Controller.js +97 -9
  29. package/lib/controller/actions/createSubscription.js +3 -3
  30. package/lib/index.d.ts +2 -0
  31. package/lib/index.d.ts.map +1 -1
  32. package/lib/index.js +3 -4
  33. package/lib/manager/DevtoolsManager.d.ts.map +1 -1
  34. package/lib/manager/DevtoolsManager.js +7 -5
  35. package/lib/manager/NetworkManager.js +3 -2
  36. package/lib/manager/PollingSubscription.js +1 -1
  37. package/lib/manager/SubscriptionManager.d.ts.map +1 -1
  38. package/lib/manager/SubscriptionManager.js +1 -1
  39. package/lib/manager/applyManager.d.ts.map +1 -1
  40. package/lib/manager/applyManager.js +3 -7
  41. package/lib/manager/initManager.d.ts +4 -0
  42. package/lib/manager/initManager.d.ts.map +1 -0
  43. package/lib/manager/initManager.js +15 -0
  44. package/lib/state/GCPolicy.d.ts +55 -0
  45. package/lib/state/GCPolicy.d.ts.map +1 -0
  46. package/lib/state/GCPolicy.js +153 -0
  47. package/lib/state/reducer/createReducer.js +5 -2
  48. package/lib/state/reducer/expireReducer.d.ts +1 -0
  49. package/lib/state/reducer/expireReducer.d.ts.map +1 -1
  50. package/lib/state/reducer/invalidateReducer.d.ts +1 -0
  51. package/lib/state/reducer/invalidateReducer.d.ts.map +1 -1
  52. package/lib/state/reducer/setReducer.d.ts +5 -4
  53. package/lib/state/reducer/setReducer.d.ts.map +1 -1
  54. package/lib/state/reducer/setResponseReducer.d.ts +6 -4
  55. package/lib/state/reducer/setResponseReducer.d.ts.map +1 -1
  56. package/lib/state/reducer/setResponseReducer.js +4 -2
  57. package/lib/types.d.ts +1 -0
  58. package/lib/types.d.ts.map +1 -1
  59. package/lib/types.js +1 -1
  60. package/package.json +12 -4
  61. package/src/actions.ts +2 -1
  62. package/src/controller/Controller.ts +206 -9
  63. package/src/controller/__tests__/Controller.ts +8 -4
  64. package/src/controller/__tests__/__snapshots__/get.ts.snap +7 -0
  65. package/src/controller/__tests__/__snapshots__/getResponse.ts.snap +15 -0
  66. package/src/controller/__tests__/get.ts +45 -17
  67. package/src/controller/__tests__/getResponse.ts +46 -0
  68. package/src/controller/actions/createSubscription.ts +2 -2
  69. package/src/index.ts +2 -6
  70. package/src/manager/DevtoolsManager.ts +2 -3
  71. package/src/manager/PollingSubscription.ts +9 -9
  72. package/src/manager/SubscriptionManager.ts +1 -2
  73. package/src/manager/applyManager.ts +3 -4
  74. package/src/manager/initManager.ts +21 -0
  75. package/src/state/GCPolicy.ts +197 -0
  76. package/src/state/__tests__/GCPolicy.test.ts +258 -0
  77. package/src/state/__tests__/__snapshots__/reducer.ts.snap +2 -0
  78. package/src/state/__tests__/reducer.ts +4 -4
  79. package/src/state/reducer/createReducer.ts +1 -1
  80. package/src/state/reducer/setResponseReducer.ts +3 -1
  81. package/src/types.ts +1 -0
  82. package/ts3.4/actions.d.ts +2 -5
  83. package/ts3.4/controller/Controller.d.ts +141 -5
  84. package/ts3.4/index.d.ts +2 -0
  85. package/ts3.4/manager/initManager.d.ts +4 -0
  86. package/ts3.4/state/GCPolicy.d.ts +55 -0
  87. package/ts3.4/state/reducer/expireReducer.d.ts +1 -0
  88. package/ts3.4/state/reducer/invalidateReducer.d.ts +1 -0
  89. package/ts3.4/state/reducer/setReducer.d.ts +3 -2
  90. package/ts3.4/state/reducer/setResponseReducer.d.ts +4 -2
  91. package/ts3.4/types.d.ts +1 -0
package/lib/index.d.ts CHANGED
@@ -2,8 +2,10 @@ export * as __INTERNAL__ from './internal.js';
2
2
  export type { NetworkError, UnknownError, ErrorTypes, Schema, EndpointInterface, EntityInterface, SchemaClass, ResolveType, DenormalizeNullable, Denormalize, Normalize, NormalizeNullable, FetchFunction, EndpointExtraOptions, Queryable, SchemaArgs, NI, } from '@data-client/normalizr';
3
3
  export { ExpiryStatus } from '@data-client/normalizr';
4
4
  export { default as NetworkManager, ResetError, } from './manager/NetworkManager.js';
5
+ export * from './state/GCPolicy.js';
5
6
  export { default as createReducer, initialState, } from './state/reducer/createReducer.js';
6
7
  export { default as applyManager } from './manager/applyManager.js';
8
+ export { default as initManager } from './manager/initManager.js';
7
9
  export { default as Controller } from './controller/Controller.js';
8
10
  export type { DataClientDispatch, GenericDispatch, } from './controller/Controller.js';
9
11
  export * as actions from './controller/actions/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,EAAE,GACH,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,IAAI,aAAa,EACxB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAC;AAEzD,cAAc,uBAAuB,CAAC;AACtC,kDAAkD;AAClD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,EAAE,GACH,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,OAAO,IAAI,aAAa,EACxB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAC;AAEzD,cAAc,uBAAuB,CAAC;AACtC,kDAAkD;AAClD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
package/lib/index.js CHANGED
@@ -1,12 +1,11 @@
1
- Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
2
- return Object.prototype.hasOwnProperty.call(it, key);
3
- };
4
1
  import * as _INTERNAL__ from './internal.js';
5
2
  export { _INTERNAL__ as __INTERNAL__ };
6
3
  export { ExpiryStatus } from '@data-client/normalizr';
7
4
  export { default as NetworkManager, ResetError } from './manager/NetworkManager.js';
5
+ export * from './state/GCPolicy.js';
8
6
  export { default as createReducer, initialState } from './state/reducer/createReducer.js';
9
7
  export { default as applyManager } from './manager/applyManager.js';
8
+ export { default as initManager } from './manager/initManager.js';
10
9
  export { default as Controller } from './controller/Controller.js';
11
10
  import * as _actions from './controller/actions/index.js';
12
11
  export { _actions as actions };
@@ -17,4 +16,4 @@ export { _actionTypes as actionTypes };
17
16
  /* istanbul ignore next */
18
17
  export * from './types.js';
19
18
  export * from './manager/index.js';
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9JTlRFUk5BTF9fIiwiX19JTlRFUk5BTF9fIiwiRXhwaXJ5U3RhdHVzIiwiZGVmYXVsdCIsIk5ldHdvcmtNYW5hZ2VyIiwiUmVzZXRFcnJvciIsImNyZWF0ZVJlZHVjZXIiLCJpbml0aWFsU3RhdGUiLCJhcHBseU1hbmFnZXIiLCJDb250cm9sbGVyIiwiX2FjdGlvbnMiLCJhY3Rpb25zIiwiX2FjdGlvblR5cGVzIiwiYWN0aW9uVHlwZXMiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuXG5leHBvcnQgKiBhcyBfX0lOVEVSTkFMX18gZnJvbSAnLi9pbnRlcm5hbC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIE5ldHdvcmtFcnJvcixcbiAgVW5rbm93bkVycm9yLFxuICBFcnJvclR5cGVzLFxuICBTY2hlbWEsXG4gIEVuZHBvaW50SW50ZXJmYWNlLFxuICBFbnRpdHlJbnRlcmZhY2UsXG4gIFNjaGVtYUNsYXNzLFxuICBSZXNvbHZlVHlwZSxcbiAgRGVub3JtYWxpemVOdWxsYWJsZSxcbiAgRGVub3JtYWxpemUsXG4gIE5vcm1hbGl6ZSxcbiAgTm9ybWFsaXplTnVsbGFibGUsXG4gIEZldGNoRnVuY3Rpb24sXG4gIEVuZHBvaW50RXh0cmFPcHRpb25zLFxuICBRdWVyeWFibGUsXG4gIFNjaGVtYUFyZ3MsXG4gIE5JLFxufSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmV4cG9ydCB7IEV4cGlyeVN0YXR1cyB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBOZXR3b3JrTWFuYWdlcixcbiAgUmVzZXRFcnJvcixcbn0gZnJvbSAnLi9tYW5hZ2VyL05ldHdvcmtNYW5hZ2VyLmpzJztcbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgY3JlYXRlUmVkdWNlcixcbiAgaW5pdGlhbFN0YXRlLFxufSBmcm9tICcuL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcGx5TWFuYWdlciB9IGZyb20gJy4vbWFuYWdlci9hcHBseU1hbmFnZXIuanMnO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIERhdGFDbGllbnREaXNwYXRjaCxcbiAgR2VuZXJpY0Rpc3BhdGNoLFxufSBmcm9tICcuL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5leHBvcnQgKiBhcyBhY3Rpb25zIGZyb20gJy4vY29udHJvbGxlci9hY3Rpb25zL2luZGV4LmpzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9sbGVyL3R5cGVzLmpzJztcbi8qKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9BY3Rpb25zICovXG5leHBvcnQgKiBhcyBhY3Rpb25UeXBlcyBmcm9tICcuL2FjdGlvblR5cGVzLmpzJztcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbWFuYWdlci9pbmRleC5qcyc7XG4iXSwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUFDLFlBQUFJLFdBQUEsTUFFMEIsZUFBZTtBQUFBLFNBQUFBLFdBQUEsSUFBakNDLFlBQVk7QUFvQnhCLFNBQVNDLFlBQVksUUFBUSx3QkFBd0I7QUFDckQsU0FDRUMsT0FBTyxJQUFJQyxjQUFjLEVBQ3pCQyxVQUFVLFFBQ0wsNkJBQTZCO0FBQ3BDLFNBQ0VGLE9BQU8sSUFBSUcsYUFBYSxFQUN4QkMsWUFBWSxRQUNQLGtDQUFrQztBQUN6QyxTQUFTSixPQUFPLElBQUlLLFlBQVksUUFBUSwyQkFBMkI7QUFFbkUsU0FBU0wsT0FBTyxJQUFJTSxVQUFVLFFBQVEsNEJBQTRCO0FBQUMsWUFBQUMsUUFBQSxNQUsxQywrQkFBK0I7QUFBQSxTQUFBQSxRQUFBLElBQTVDQyxPQUFPO0FBRW5CLGNBQWMsdUJBQXVCO0FBQ3JDO0FBQUEsWUFBQUMsWUFBQSxNQUM2QixrQkFBa0I7QUFBQSxTQUFBQSxZQUFBLElBQW5DQyxXQUFXO0FBQ3ZCO0FBQ0EsY0FBYyxZQUFZO0FBQzFCLGNBQWMsb0JBQW9CIiwiaWdub3JlTGlzdCI6W119
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSU5URVJOQUxfXyIsIl9fSU5URVJOQUxfXyIsIkV4cGlyeVN0YXR1cyIsImRlZmF1bHQiLCJOZXR3b3JrTWFuYWdlciIsIlJlc2V0RXJyb3IiLCJjcmVhdGVSZWR1Y2VyIiwiaW5pdGlhbFN0YXRlIiwiYXBwbHlNYW5hZ2VyIiwiaW5pdE1hbmFnZXIiLCJDb250cm9sbGVyIiwiX2FjdGlvbnMiLCJhY3Rpb25zIiwiX2FjdGlvblR5cGVzIiwiYWN0aW9uVHlwZXMiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogYXMgX19JTlRFUk5BTF9fIGZyb20gJy4vaW50ZXJuYWwuanMnO1xuZXhwb3J0IHR5cGUge1xuICBOZXR3b3JrRXJyb3IsXG4gIFVua25vd25FcnJvcixcbiAgRXJyb3JUeXBlcyxcbiAgU2NoZW1hLFxuICBFbmRwb2ludEludGVyZmFjZSxcbiAgRW50aXR5SW50ZXJmYWNlLFxuICBTY2hlbWFDbGFzcyxcbiAgUmVzb2x2ZVR5cGUsXG4gIERlbm9ybWFsaXplTnVsbGFibGUsXG4gIERlbm9ybWFsaXplLFxuICBOb3JtYWxpemUsXG4gIE5vcm1hbGl6ZU51bGxhYmxlLFxuICBGZXRjaEZ1bmN0aW9uLFxuICBFbmRwb2ludEV4dHJhT3B0aW9ucyxcbiAgUXVlcnlhYmxlLFxuICBTY2hlbWFBcmdzLFxuICBOSSxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5leHBvcnQgeyBFeHBpcnlTdGF0dXMgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgTmV0d29ya01hbmFnZXIsXG4gIFJlc2V0RXJyb3IsXG59IGZyb20gJy4vbWFuYWdlci9OZXR3b3JrTWFuYWdlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlL0dDUG9saWN5LmpzJztcbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgY3JlYXRlUmVkdWNlcixcbiAgaW5pdGlhbFN0YXRlLFxufSBmcm9tICcuL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcGx5TWFuYWdlciB9IGZyb20gJy4vbWFuYWdlci9hcHBseU1hbmFnZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpbml0TWFuYWdlciB9IGZyb20gJy4vbWFuYWdlci9pbml0TWFuYWdlci5qcyc7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udHJvbGxlciB9IGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgRGF0YUNsaWVudERpc3BhdGNoLFxuICBHZW5lcmljRGlzcGF0Y2gsXG59IGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmV4cG9ydCAqIGFzIGFjdGlvbnMgZnJvbSAnLi9jb250cm9sbGVyL2FjdGlvbnMvaW5kZXguanMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2xsZXIvdHlwZXMuanMnO1xuLyoqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL2RvY3MvYXBpL0FjdGlvbnMgKi9cbmV4cG9ydCAqIGFzIGFjdGlvblR5cGVzIGZyb20gJy4vYWN0aW9uVHlwZXMuanMnO1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tYW5hZ2VyL2luZGV4LmpzJztcbiJdLCJtYXBwaW5ncyI6IjZCQUE4QixlQUFlO0FBQUEsU0FBQUEsV0FBQSxJQUFqQ0MsWUFBWTtBQW9CeEIsU0FBU0MsWUFBWSxRQUFRLHdCQUF3QjtBQUNyRCxTQUNFQyxPQUFPLElBQUlDLGNBQWMsRUFDekJDLFVBQVUsUUFDTCw2QkFBNkI7QUFDcEMsY0FBYyxxQkFBcUI7QUFDbkMsU0FDRUYsT0FBTyxJQUFJRyxhQUFhLEVBQ3hCQyxZQUFZLFFBQ1Asa0NBQWtDO0FBQ3pDLFNBQVNKLE9BQU8sSUFBSUssWUFBWSxRQUFRLDJCQUEyQjtBQUNuRSxTQUFTTCxPQUFPLElBQUlNLFdBQVcsUUFBUSwwQkFBMEI7QUFFakUsU0FBU04sT0FBTyxJQUFJTyxVQUFVLFFBQVEsNEJBQTRCO0FBQUMsWUFBQUMsUUFBQSxNQUsxQywrQkFBK0I7QUFBQSxTQUFBQSxRQUFBLElBQTVDQyxPQUFPO0FBRW5CLGNBQWMsdUJBQXVCO0FBQ3JDO0FBQUEsWUFBQUMsWUFBQSxNQUM2QixrQkFBa0I7QUFBQSxTQUFBQSxZQUFBLElBQW5DQyxXQUFXO0FBQ3ZCO0FBQ0EsY0FBYyxZQUFZO0FBQzFCLGNBQWMsb0JBQW9CIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"DevtoolsManager.d.ts","sourceRoot":"","sources":["../../src/manager/DevtoolsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EAAE,cAAc,EAAE,CAAC;AA6E/B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,OAAO;IAC7C,UAAU,EAAE,UAAU,CAAC;IAC/B,UAAkB,QAAQ,EAAE,SAAS,GAAG,GAAG,CAAC;IAC5C,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAM;IACxD,UAAkB,UAAU,EAAE,UAAU,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC;IACvD,eAAe,SAAO;gBAGpB,MAAM,CAAC,EAAE,cAAc,EACvB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO;IA6ChD,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAapC,yCAAyC;IACzC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IA4BtB,gDAAgD;IAChD,OAAO;CACR"}
1
+ {"version":3,"file":"DevtoolsManager.d.ts","sourceRoot":"","sources":["../../src/manager/DevtoolsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EAAE,cAAc,EAAE,CAAC;AA6E/B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,OAAO;IAC7C,UAAU,EAAE,UAAU,CAAC;IAC/B,UAAkB,QAAQ,EAAE,SAAS,GAAG,GAAG,CAAC;IAC5C,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAM;IACxD,UAAkB,UAAU,EAAE,UAAU,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC;IACvD,eAAe,SAAO;gBAGpB,MAAM,CAAC,EAAE,cAAc,EACvB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO;IA6ChD,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAapC,yCAAyC;IACzC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IA4BtB,gDAAgD;IAChD,OAAO;CACR"}
@@ -1,6 +1,6 @@
1
1
  var _DevToolsManager;
2
- /* eslint-disable no-inner-declarations */
3
-
2
+ import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
3
+ import _reduceInstanceProperty from "core-js-pure/stable/instance/reduce.js";
4
4
  import createReducer from '../state/reducer/createReducer.js';
5
5
  let DEFAULT_CONFIG = {};
6
6
  if (process.env.NODE_ENV !== 'production') {
@@ -92,11 +92,12 @@ export default class DevToolsManager {
92
92
  if (this.started) {
93
93
  this.devTools.send(action, state);
94
94
  } else {
95
+ var _context;
95
96
  // avoid this getting too big in case this is long running
96
97
  // we cut in half so we aren't constantly reallocating
97
98
  if (this.actions.length > this.maxBufferLength) this.actions = this.actions.slice(this.maxBufferLength / 2);
98
99
  // queue actions
99
- this.actions.push([action, state]);
100
+ _pushInstanceProperty(_context = this.actions).call(_context, [action, state]);
100
101
  }
101
102
  }
102
103
 
@@ -152,8 +153,9 @@ _DevToolsManager = DevToolsManager;
152
153
  state = controller.getState();
153
154
  }
154
155
  ret.then(() => {
156
+ var _context2;
155
157
  if (shouldSkip) return;
156
- this.handleAction(action, state.optimistic.reduce(reducer, state));
158
+ this.handleAction(action, _reduceInstanceProperty(_context2 = state.optimistic).call(_context2, reducer, state));
157
159
  });
158
160
  return ret;
159
161
  };
@@ -162,4 +164,4 @@ _DevToolsManager = DevToolsManager;
162
164
  _DevToolsManager.prototype.middleware = () => next => action => next(action);
163
165
  }
164
166
  })();
165
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiREVGQVVMVF9DT05GSUciLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImV4dHJhRW5kcG9pbnRLZXlzIiwic2VyaWFsaXplRW5kcG9pbnQiLCJlbmRwb2ludCIsIl90b0pTT04iLCJfZW5kcG9pbnQkc2NoZW1hIiwic2VyaWFsIiwibmFtZSIsInNjaGVtYSIsInRvSlNPTiIsInNpZGVFZmZlY3QiLCJmb3JFYWNoIiwia2V5IiwiSEFTSU5UTCIsIkludGwiLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJ0aXRsZSIsImF1dG9QYXVzZSIsImZlYXR1cmVzIiwicGF1c2UiLCJsb2NrIiwicGVyc2lzdCIsImV4cG9ydCIsImltcG9ydCIsImp1bXAiLCJza2lwIiwicmVvcmRlciIsImRpc3BhdGNoIiwidGVzdCIsImFjdGlvblNhbml0aXplciIsImFjdGlvbiIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJ1bmRlZmluZWQiLCJyZXBsYWNlciIsInZhbHVlIiwiaXNGaW5pdGUiLCJlbmRzV2l0aCIsIkRhdGVUaW1lRm9ybWF0IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsImZyYWN0aW9uYWxTZWNvbmREaWdpdHMiLCJmb3JtYXQiLCJEZXZUb29sc01hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInNraXBMb2dnaW5nIiwic3RhcnRlZCIsImFjdGlvbnMiLCJtYXhCdWZmZXJMZW5ndGgiLCJkZXZUb29scyIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwibWF4QWdlIiwiaGFuZGxlQWN0aW9uIiwic3RhdGUiLCJzZW5kIiwibGVuZ3RoIiwic2xpY2UiLCJwdXNoIiwiaW5pdCIsInN1YnNjcmliZSIsIm1zZyIsInR5cGUiLCJwYXlsb2FkIiwiY29udHJvbGxlciIsInJlc2V0RW50aXJlU3RvcmUiLCJjbGVhbnVwIiwiX0RldlRvb2xzTWFuYWdlciIsInByb3RvdHlwZSIsIm1pZGRsZXdhcmUiLCJuZXh0IiwicmVkdWNlciIsImdldFN0YXRlIiwiX3RoaXMkc2tpcExvZ2dpbmciLCJzaG91bGRTa2lwIiwiY2FsbCIsInJldCIsInRoZW4iLCJvcHRpbWlzdGljIiwicmVkdWNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvRGV2dG9vbHNNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWlubmVyLWRlY2xhcmF0aW9ucyAqL1xuaW1wb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9IGZyb20gJy4vZGV2dG9vbHNUeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnRyb2xsZXIsIEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnLi4vaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBNaWRkbGV3YXJlIH0gZnJvbSAnLi4vbWlkZGxld2FyZVR5cGVzLmpzJztcbmltcG9ydCBjcmVhdGVSZWR1Y2VyIGZyb20gJy4uL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5pbXBvcnQgdHlwZSB7IE1hbmFnZXIsIFN0YXRlLCBBY3Rpb25UeXBlcyB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9O1xuXG5sZXQgREVGQVVMVF9DT05GSUcgPSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgY29uc3QgZXh0cmFFbmRwb2ludEtleXMgPSBbXG4gICAgJ2RhdGFFeHBpcnlMZW5ndGgnLFxuICAgICdlcnJvckV4cGlyeUxlbmd0aCcsXG4gICAgJ2Vycm9yUG9saWN5JyxcbiAgICAnaW52YWxpZElmU3RhbGUnLFxuICAgICdwb2xsRnJlcXVlbmN5JyxcbiAgICAnZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlJyxcbiAgICAndXBkYXRlJyxcbiAgXTtcblxuICBmdW5jdGlvbiBzZXJpYWxpemVFbmRwb2ludChlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2UpIHtcbiAgICBjb25zdCBzZXJpYWw6IGFueSA9IHtcbiAgICAgIG5hbWU6IGVuZHBvaW50Lm5hbWUsXG4gICAgICBzY2hlbWE6IChlbmRwb2ludC5zY2hlbWEgYXMgYW55KT8udG9KU09OPy4oKSA/PyBlbmRwb2ludC5zY2hlbWEsXG4gICAgICBzaWRlRWZmZWN0OiBlbmRwb2ludC5zaWRlRWZmZWN0LFxuICAgIH07XG4gICAgZXh0cmFFbmRwb2ludEtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGtleSBpbiBlbmRwb2ludClcbiAgICAgICAgc2VyaWFsW2tleV0gPSBlbmRwb2ludFtrZXkgYXMga2V5b2YgRW5kcG9pbnRJbnRlcmZhY2VdO1xuICAgIH0pO1xuICAgIHJldHVybiBzZXJpYWw7XG4gIH1cblxuICBjb25zdCBIQVNJTlRMID0gdHlwZW9mIEludGwgIT09ICd1bmRlZmluZWQnO1xuICBERUZBVUxUX0NPTkZJRyA9IHtcbiAgICBuYW1lOiBgRGF0YSBDbGllbnQ6ICR7Z2xvYmFsVGhpcy5kb2N1bWVudD8udGl0bGV9YCxcbiAgICBhdXRvUGF1c2U6IHRydWUsXG4gICAgZmVhdHVyZXM6IHtcbiAgICAgIHBhdXNlOiB0cnVlLCAvLyBzdGFydC9wYXVzZSByZWNvcmRpbmcgb2YgZGlzcGF0Y2hlZCBhY3Rpb25zXG4gICAgICBsb2NrOiB0cnVlLCAvLyBsb2NrL3VubG9jayBkaXNwYXRjaGluZyBhY3Rpb25zIGFuZCBzaWRlIGVmZmVjdHNcbiAgICAgIHBlcnNpc3Q6IGZhbHNlLCAvLyBwZXJzaXN0IHN0YXRlcyBvbiBwYWdlIHJlbG9hZGluZ1xuICAgICAgZXhwb3J0OiB0cnVlLCAvLyBleHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgICAgaW1wb3J0OiAnY3VzdG9tJywgLy8gaW1wb3J0IGhpc3Rvcnkgb2YgYWN0aW9ucyBmcm9tIGEgZmlsZVxuICAgICAganVtcDogdHJ1ZSwgLy8ganVtcCBiYWNrIGFuZCBmb3J0aCAodGltZSB0cmF2ZWxsaW5nKVxuICAgICAgc2tpcDogdHJ1ZSwgLy8gc2tpcCAoY2FuY2VsKSBhY3Rpb25zXG4gICAgICByZW9yZGVyOiB0cnVlLCAvLyBkcmFnIGFuZCBkcm9wIGFjdGlvbnMgaW4gdGhlIGhpc3RvcnkgbGlzdFxuICAgICAgZGlzcGF0Y2g6IGZhbHNlLCAvLyBkaXNwYXRjaCBjdXN0b20gYWN0aW9ucyBvciBhY3Rpb24gY3JlYXRvcnNcbiAgICAgIHRlc3Q6IGZhbHNlLCAvLyBnZW5lcmF0ZSB0ZXN0cyBmb3IgdGhlIHNlbGVjdGVkIGFjdGlvbnNcbiAgICB9LFxuICAgIGFjdGlvblNhbml0aXplcjogKGFjdGlvbjogQWN0aW9uVHlwZXMpID0+IHtcbiAgICAgIGlmICghKCdlbmRwb2ludCcgaW4gYWN0aW9uKSkgcmV0dXJuIGFjdGlvbjtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgZW5kcG9pbnQ6IHNlcmlhbGl6ZUVuZHBvaW50KGFjdGlvbi5lbmRwb2ludCksXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2VyaWFsaXplOiB7XG4gICAgICBvcHRpb25zOiB1bmRlZmluZWQsXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmVwbGFjZXI6XG4gICAgICAgIEhBU0lOVEwgP1xuICAgICAgICAgIChrZXk6IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCwgdmFsdWU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgICB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICBpc0Zpbml0ZSh2YWx1ZSkgJiZcbiAgICAgICAgICAgICAgKGtleSA9PT0gJ2RhdGUnIHx8IGtleS5lbmRzV2l0aCgnQXQnKSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICAgICAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIHNlY29uZDogJ251bWVyaWMnLFxuICAgICAgICAgICAgICAgIGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6IDMsXG4gICAgICAgICAgICAgIH0pLmZvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xufVxuXG4vKiogSW50ZWdyYXRlcyB3aXRoIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3JlZHV4LWRldnRvb2xzXG4gKlxuICogT3B0aW9uczogaHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVkdXgtZGV2dG9vbHMvYmxvYi9tYWluL2V4dGVuc2lvbi9kb2NzL0FQSS9Bcmd1bWVudHMubWRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9EZXZUb29sc01hbmFnZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGV2VG9vbHNNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIGRlY2xhcmUgbWlkZGxld2FyZTogTWlkZGxld2FyZTtcbiAgcHJvdGVjdGVkIGRlY2xhcmUgZGV2VG9vbHM6IHVuZGVmaW5lZCB8IGFueTtcbiAgcHJvdGVjdGVkIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGFjdGlvbnM6IFtBY3Rpb25UeXBlcywgU3RhdGU8dW5rbm93bj5dW10gPSBbXTtcbiAgcHJvdGVjdGVkIGRlY2xhcmUgY29udHJvbGxlcjogQ29udHJvbGxlcjtcbiAgZGVjbGFyZSBza2lwTG9nZ2luZz86IChhY3Rpb246IEFjdGlvblR5cGVzKSA9PiBib29sZWFuO1xuICBtYXhCdWZmZXJMZW5ndGggPSAxMDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29uZmlnPzogRGV2VG9vbHNDb25maWcsXG4gICAgc2tpcExvZ2dpbmc/OiAoYWN0aW9uOiBBY3Rpb25UeXBlcykgPT4gYm9vbGVhbixcbiAgKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLmRldlRvb2xzID1cbiAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAod2luZG93IGFzIGFueSkuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7XG4gICAgICAgIC4uLkRFRkFVTFRfQ09ORklHLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9KTtcbiAgICAvLyB3ZSBjdXQgaXQgaW4gaGFsZiBzbyB3ZSBzaG91bGQgZG91YmxlIHNvIHdlIGRvbid0IGxvc2VcbiAgICBpZiAoY29uZmlnPy5tYXhBZ2UpIHRoaXMubWF4QnVmZmVyTGVuZ3RoID0gY29uZmlnLm1heEFnZSAqIDI7XG4gICAgaWYgKHNraXBMb2dnaW5nKSB0aGlzLnNraXBMb2dnaW5nID0gc2tpcExvZ2dpbmc7XG4gIH1cblxuICBzdGF0aWMge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHRoaXMucHJvdG90eXBlLm1pZGRsZXdhcmUgPSBmdW5jdGlvbiAoY29udHJvbGxlcikge1xuICAgICAgICBpZiAoIXRoaXMuZGV2VG9vbHMpIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgICAgIHRoaXMuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKGNvbnRyb2xsZXIgYXMgYW55KTtcbiAgICAgICAgbGV0IHN0YXRlID0gY29udHJvbGxlci5nZXRTdGF0ZSgpO1xuICAgICAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IHNob3VsZFNraXAgPSB0aGlzLnNraXBMb2dnaW5nPy4oYWN0aW9uKTtcbiAgICAgICAgICBjb25zdCByZXQgPSBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgLy8gd2UgdHJhY2sgc3RhdGUgY2hhbmdlcyBoZXJlIHNpbmNlIGdldFN0YXRlKCkgd2lsbCBvbmx5IHVwZGF0ZSBhZnRlciBhIGJhdGNoIGNvbW1pdFxuICAgICAgICAgICAgc3RhdGUgPSByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0LnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNob3VsZFNraXApIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQWN0aW9uKGFjdGlvbiwgc3RhdGUub3B0aW1pc3RpYy5yZWR1Y2UocmVkdWNlciwgc3RhdGUpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm90b3R5cGUubWlkZGxld2FyZSA9ICgpID0+IG5leHQgPT4gYWN0aW9uID0+IG5leHQoYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBY3Rpb24oYWN0aW9uOiBhbnksIHN0YXRlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zdGFydGVkKSB7XG4gICAgICB0aGlzLmRldlRvb2xzLnNlbmQoYWN0aW9uLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGF2b2lkIHRoaXMgZ2V0dGluZyB0b28gYmlnIGluIGNhc2UgdGhpcyBpcyBsb25nIHJ1bm5pbmdcbiAgICAgIC8vIHdlIGN1dCBpbiBoYWxmIHNvIHdlIGFyZW4ndCBjb25zdGFudGx5IHJlYWxsb2NhdGluZ1xuICAgICAgaWYgKHRoaXMuYWN0aW9ucy5sZW5ndGggPiB0aGlzLm1heEJ1ZmZlckxlbmd0aClcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy5hY3Rpb25zLnNsaWNlKHRoaXMubWF4QnVmZmVyTGVuZ3RoIC8gMik7XG4gICAgICAvLyBxdWV1ZSBhY3Rpb25zXG4gICAgICB0aGlzLmFjdGlvbnMucHVzaChbYWN0aW9uLCBzdGF0ZV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiBpbml0aWFsIHN0YXRlIGlzIHJlYWR5ICovXG4gIGluaXQoc3RhdGU6IFN0YXRlPGFueT4pIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB0aGlzLmRldlRvb2xzKSB7XG4gICAgICB0aGlzLmRldlRvb2xzLmluaXQoc3RhdGUpO1xuICAgICAgdGhpcy5kZXZUb29scy5zdWJzY3JpYmUoKG1zZzogYW55KSA9PiB7XG4gICAgICAgIHN3aXRjaCAobXNnLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdTVEFSVCc6XG4gICAgICAgICAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaCgoW2FjdGlvbiwgc3RhdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3Rpb24oYWN0aW9uLCBzdGF0ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1NUT1AnOlxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdESVNQQVRDSCc6XG4gICAgICAgICAgICBpZiAobXNnLnBheWxvYWQudHlwZSA9PT0gJ1JFU0VUJykge1xuICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzZXRFbnRpcmVTdG9yZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBzdWJzY3JpcHRpb25zIGFyZSBjbGVhbmVkIHVwLiAqL1xuICBjbGVhbnVwKCkge31cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBOztBQUlBLE9BQU9BLGFBQWEsTUFBTSxtQ0FBbUM7QUFLN0QsSUFBSUMsY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV2QixJQUFJQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtFQUFBLElBQUFDLG9CQUFBO0VBQ3pDLE1BQU1DLGlCQUFpQixHQUFHLENBQ3hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFFBQVEsQ0FDVDtFQUVELFNBQVNDLGlCQUFpQkEsQ0FBQ0MsUUFBMkIsRUFBRTtJQUFBLElBQUFDLE9BQUEsRUFBQUMsZ0JBQUE7SUFDdEQsTUFBTUMsTUFBVyxHQUFHO01BQ2xCQyxJQUFJLEVBQUVKLFFBQVEsQ0FBQ0ksSUFBSTtNQUNuQkMsTUFBTSxHQUFBSixPQUFBLElBQUFDLGdCQUFBLEdBQUdGLFFBQVEsQ0FBQ0ssTUFBTSxhQUFoQkgsZ0JBQUEsQ0FBMEJJLE1BQU0sb0JBQWhDSixnQkFBQSxDQUEwQkksTUFBTSxDQUFHLENBQUMsWUFBQUwsT0FBQSxHQUFJRCxRQUFRLENBQUNLLE1BQU07TUFDL0RFLFVBQVUsRUFBRVAsUUFBUSxDQUFDTztJQUN2QixDQUFDO0lBQ0RULGlCQUFpQixDQUFDVSxP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
167
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiREVGQVVMVF9DT05GSUciLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImV4dHJhRW5kcG9pbnRLZXlzIiwic2VyaWFsaXplRW5kcG9pbnQiLCJlbmRwb2ludCIsIl90b0pTT04iLCJfZW5kcG9pbnQkc2NoZW1hIiwic2VyaWFsIiwibmFtZSIsInNjaGVtYSIsInRvSlNPTiIsInNpZGVFZmZlY3QiLCJmb3JFYWNoIiwia2V5IiwiSEFTSU5UTCIsIkludGwiLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJ0aXRsZSIsImF1dG9QYXVzZSIsImZlYXR1cmVzIiwicGF1c2UiLCJsb2NrIiwicGVyc2lzdCIsImV4cG9ydCIsImltcG9ydCIsImp1bXAiLCJza2lwIiwicmVvcmRlciIsImRpc3BhdGNoIiwidGVzdCIsImFjdGlvblNhbml0aXplciIsImFjdGlvbiIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJ1bmRlZmluZWQiLCJyZXBsYWNlciIsInZhbHVlIiwiaXNGaW5pdGUiLCJlbmRzV2l0aCIsIkRhdGVUaW1lRm9ybWF0IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsImZyYWN0aW9uYWxTZWNvbmREaWdpdHMiLCJmb3JtYXQiLCJEZXZUb29sc01hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInNraXBMb2dnaW5nIiwic3RhcnRlZCIsImFjdGlvbnMiLCJtYXhCdWZmZXJMZW5ndGgiLCJkZXZUb29scyIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwibWF4QWdlIiwiaGFuZGxlQWN0aW9uIiwic3RhdGUiLCJzZW5kIiwiX2NvbnRleHQiLCJsZW5ndGgiLCJzbGljZSIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImNhbGwiLCJpbml0Iiwic3Vic2NyaWJlIiwibXNnIiwidHlwZSIsInBheWxvYWQiLCJjb250cm9sbGVyIiwicmVzZXRFbnRpcmVTdG9yZSIsImNsZWFudXAiLCJfRGV2VG9vbHNNYW5hZ2VyIiwicHJvdG90eXBlIiwibWlkZGxld2FyZSIsIm5leHQiLCJyZWR1Y2VyIiwiZ2V0U3RhdGUiLCJfdGhpcyRza2lwTG9nZ2luZyIsInNob3VsZFNraXAiLCJyZXQiLCJ0aGVuIiwiX2NvbnRleHQyIiwiX3JlZHVjZUluc3RhbmNlUHJvcGVydHkiLCJvcHRpbWlzdGljIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvRGV2dG9vbHNNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGV2VG9vbHNDb25maWcgfSBmcm9tICcuL2RldnRvb2xzVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyLCBFbmRwb2ludEludGVyZmFjZSB9IGZyb20gJy4uL2luZGV4LmpzJztcbmltcG9ydCB0eXBlIHsgTWlkZGxld2FyZSB9IGZyb20gJy4uL21pZGRsZXdhcmVUeXBlcy5qcyc7XG5pbXBvcnQgY3JlYXRlUmVkdWNlciBmcm9tICcuLi9zdGF0ZS9yZWR1Y2VyL2NyZWF0ZVJlZHVjZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBNYW5hZ2VyLCBTdGF0ZSwgQWN0aW9uVHlwZXMgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIHsgRGV2VG9vbHNDb25maWcgfTtcblxubGV0IERFRkFVTFRfQ09ORklHID0ge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIGNvbnN0IGV4dHJhRW5kcG9pbnRLZXlzID0gW1xuICAgICdkYXRhRXhwaXJ5TGVuZ3RoJyxcbiAgICAnZXJyb3JFeHBpcnlMZW5ndGgnLFxuICAgICdlcnJvclBvbGljeScsXG4gICAgJ2ludmFsaWRJZlN0YWxlJyxcbiAgICAncG9sbEZyZXF1ZW5jeScsXG4gICAgJ2dldE9wdGltaXN0aWNSZXNwb25zZScsXG4gICAgJ3VwZGF0ZScsXG4gIF07XG5cbiAgZnVuY3Rpb24gc2VyaWFsaXplRW5kcG9pbnQoZW5kcG9pbnQ6IEVuZHBvaW50SW50ZXJmYWNlKSB7XG4gICAgY29uc3Qgc2VyaWFsOiBhbnkgPSB7XG4gICAgICBuYW1lOiBlbmRwb2ludC5uYW1lLFxuICAgICAgc2NoZW1hOiAoZW5kcG9pbnQuc2NoZW1hIGFzIGFueSk/LnRvSlNPTj8uKCkgPz8gZW5kcG9pbnQuc2NoZW1hLFxuICAgICAgc2lkZUVmZmVjdDogZW5kcG9pbnQuc2lkZUVmZmVjdCxcbiAgICB9O1xuICAgIGV4dHJhRW5kcG9pbnRLZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChrZXkgaW4gZW5kcG9pbnQpXG4gICAgICAgIHNlcmlhbFtrZXldID0gZW5kcG9pbnRba2V5IGFzIGtleW9mIEVuZHBvaW50SW50ZXJmYWNlXTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2VyaWFsO1xuICB9XG5cbiAgY29uc3QgSEFTSU5UTCA9IHR5cGVvZiBJbnRsICE9PSAndW5kZWZpbmVkJztcbiAgREVGQVVMVF9DT05GSUcgPSB7XG4gICAgbmFtZTogYERhdGEgQ2xpZW50OiAke2dsb2JhbFRoaXMuZG9jdW1lbnQ/LnRpdGxlfWAsXG4gICAgYXV0b1BhdXNlOiB0cnVlLFxuICAgIGZlYXR1cmVzOiB7XG4gICAgICBwYXVzZTogdHJ1ZSwgLy8gc3RhcnQvcGF1c2UgcmVjb3JkaW5nIG9mIGRpc3BhdGNoZWQgYWN0aW9uc1xuICAgICAgbG9jazogdHJ1ZSwgLy8gbG9jay91bmxvY2sgZGlzcGF0Y2hpbmcgYWN0aW9ucyBhbmQgc2lkZSBlZmZlY3RzXG4gICAgICBwZXJzaXN0OiBmYWxzZSwgLy8gcGVyc2lzdCBzdGF0ZXMgb24gcGFnZSByZWxvYWRpbmdcbiAgICAgIGV4cG9ydDogdHJ1ZSwgLy8gZXhwb3J0IGhpc3Rvcnkgb2YgYWN0aW9ucyBpbiBhIGZpbGVcbiAgICAgIGltcG9ydDogJ2N1c3RvbScsIC8vIGltcG9ydCBoaXN0b3J5IG9mIGFjdGlvbnMgZnJvbSBhIGZpbGVcbiAgICAgIGp1bXA6IHRydWUsIC8vIGp1bXAgYmFjayBhbmQgZm9ydGggKHRpbWUgdHJhdmVsbGluZylcbiAgICAgIHNraXA6IHRydWUsIC8vIHNraXAgKGNhbmNlbCkgYWN0aW9uc1xuICAgICAgcmVvcmRlcjogdHJ1ZSwgLy8gZHJhZyBhbmQgZHJvcCBhY3Rpb25zIGluIHRoZSBoaXN0b3J5IGxpc3RcbiAgICAgIGRpc3BhdGNoOiBmYWxzZSwgLy8gZGlzcGF0Y2ggY3VzdG9tIGFjdGlvbnMgb3IgYWN0aW9uIGNyZWF0b3JzXG4gICAgICB0ZXN0OiBmYWxzZSwgLy8gZ2VuZXJhdGUgdGVzdHMgZm9yIHRoZSBzZWxlY3RlZCBhY3Rpb25zXG4gICAgfSxcbiAgICBhY3Rpb25TYW5pdGl6ZXI6IChhY3Rpb246IEFjdGlvblR5cGVzKSA9PiB7XG4gICAgICBpZiAoISgnZW5kcG9pbnQnIGluIGFjdGlvbikpIHJldHVybiBhY3Rpb247XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgIGVuZHBvaW50OiBzZXJpYWxpemVFbmRwb2ludChhY3Rpb24uZW5kcG9pbnQpLFxuICAgICAgfTtcbiAgICB9LFxuICAgIHNlcmlhbGl6ZToge1xuICAgICAgb3B0aW9uczogdW5kZWZpbmVkLFxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJlcGxhY2VyOlxuICAgICAgICBIQVNJTlRMID9cbiAgICAgICAgICAoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsIHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiZcbiAgICAgICAgICAgICAgdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgaXNGaW5pdGUodmFsdWUpICYmXG4gICAgICAgICAgICAgIChrZXkgPT09ICdkYXRlJyB8fCBrZXkuZW5kc1dpdGgoJ0F0JykpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLVVTJywge1xuICAgICAgICAgICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICBzZWNvbmQ6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICBmcmFjdGlvbmFsU2Vjb25kRGlnaXRzOiAzLFxuICAgICAgICAgICAgICB9KS5mb3JtYXQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqIEludGVncmF0ZXMgd2l0aCBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZWR1eC1kZXZ0b29sc1xuICpcbiAqIE9wdGlvbnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3JlZHV4LWRldnRvb2xzL2Jsb2IvbWFpbi9leHRlbnNpb24vZG9jcy9BUEkvQXJndW1lbnRzLm1kXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvRGV2VG9vbHNNYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERldlRvb2xzTWFuYWdlciBpbXBsZW1lbnRzIE1hbmFnZXIge1xuICBkZWNsYXJlIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmU7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGRldlRvb2xzOiB1bmRlZmluZWQgfCBhbnk7XG4gIHByb3RlY3RlZCBzdGFydGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBhY3Rpb25zOiBbQWN0aW9uVHlwZXMsIFN0YXRlPHVua25vd24+XVtdID0gW107XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IENvbnRyb2xsZXI7XG4gIGRlY2xhcmUgc2tpcExvZ2dpbmc/OiAoYWN0aW9uOiBBY3Rpb25UeXBlcykgPT4gYm9vbGVhbjtcbiAgbWF4QnVmZmVyTGVuZ3RoID0gMTAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZz86IERldlRvb2xzQ29uZmlnLFxuICAgIHNraXBMb2dnaW5nPzogKGFjdGlvbjogQWN0aW9uVHlwZXMpID0+IGJvb2xlYW4sXG4gICkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhpcy5kZXZUb29scyA9XG4gICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18gJiZcbiAgICAgICh3aW5kb3cgYXMgYW55KS5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fLmNvbm5lY3Qoe1xuICAgICAgICAuLi5ERUZBVUxUX0NPTkZJRyxcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgfSk7XG4gICAgLy8gd2UgY3V0IGl0IGluIGhhbGYgc28gd2Ugc2hvdWxkIGRvdWJsZSBzbyB3ZSBkb24ndCBsb3NlXG4gICAgaWYgKGNvbmZpZz8ubWF4QWdlKSB0aGlzLm1heEJ1ZmZlckxlbmd0aCA9IGNvbmZpZy5tYXhBZ2UgKiAyO1xuICAgIGlmIChza2lwTG9nZ2luZykgdGhpcy5za2lwTG9nZ2luZyA9IHNraXBMb2dnaW5nO1xuICB9XG5cbiAgc3RhdGljIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB0aGlzLnByb3RvdHlwZS5taWRkbGV3YXJlID0gZnVuY3Rpb24gKGNvbnRyb2xsZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRldlRvb2xzKSByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4gbmV4dChhY3Rpb24pO1xuICAgICAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihjb250cm9sbGVyIGFzIGFueSk7XG4gICAgICAgIGxldCBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgcmV0dXJuIG5leHQgPT4gYWN0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCBzaG91bGRTa2lwID0gdGhpcy5za2lwTG9nZ2luZz8uKGFjdGlvbik7XG4gICAgICAgICAgY29uc3QgcmV0ID0gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIC8vIHdlIHRyYWNrIHN0YXRlIGNoYW5nZXMgaGVyZSBzaW5jZSBnZXRTdGF0ZSgpIHdpbGwgb25seSB1cGRhdGUgYWZ0ZXIgYSBiYXRjaCBjb21taXRcbiAgICAgICAgICAgIHN0YXRlID0gcmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUgPSBjb250cm9sbGVyLmdldFN0YXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChzaG91bGRTa2lwKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUFjdGlvbihhY3Rpb24sIHN0YXRlLm9wdGltaXN0aWMucmVkdWNlKHJlZHVjZXIsIHN0YXRlKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvdG90eXBlLm1pZGRsZXdhcmUgPSAoKSA9PiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQWN0aW9uKGFjdGlvbjogYW55LCBzdGF0ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgdGhpcy5kZXZUb29scy5zZW5kKGFjdGlvbiwgc3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBhdm9pZCB0aGlzIGdldHRpbmcgdG9vIGJpZyBpbiBjYXNlIHRoaXMgaXMgbG9uZyBydW5uaW5nXG4gICAgICAvLyB3ZSBjdXQgaW4gaGFsZiBzbyB3ZSBhcmVuJ3QgY29uc3RhbnRseSByZWFsbG9jYXRpbmdcbiAgICAgIGlmICh0aGlzLmFjdGlvbnMubGVuZ3RoID4gdGhpcy5tYXhCdWZmZXJMZW5ndGgpXG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5zbGljZSh0aGlzLm1heEJ1ZmZlckxlbmd0aCAvIDIpO1xuICAgICAgLy8gcXVldWUgYWN0aW9uc1xuICAgICAgdGhpcy5hY3Rpb25zLnB1c2goW2FjdGlvbiwgc3RhdGVdKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gaW5pdGlhbCBzdGF0ZSBpcyByZWFkeSAqL1xuICBpbml0KHN0YXRlOiBTdGF0ZTxhbnk+KSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdGhpcy5kZXZUb29scykge1xuICAgICAgdGhpcy5kZXZUb29scy5pbml0KHN0YXRlKTtcbiAgICAgIHRoaXMuZGV2VG9vbHMuc3Vic2NyaWJlKChtc2c6IGFueSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG1zZy50eXBlKSB7XG4gICAgICAgICAgY2FzZSAnU1RBUlQnOlxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5hY3Rpb25zLmZvckVhY2goKFthY3Rpb24sIHN0YXRlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQWN0aW9uKGFjdGlvbiwgc3RhdGUpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5hY3Rpb25zID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdTVE9QJzpcbiAgICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnRElTUEFUQ0gnOlxuICAgICAgICAgICAgaWYgKG1zZy5wYXlsb2FkLnR5cGUgPT09ICdSRVNFVCcpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnJlc2V0RW50aXJlU3RvcmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiogRW5zdXJlcyBhbGwgc3Vic2NyaXB0aW9ucyBhcmUgY2xlYW5lZCB1cC4gKi9cbiAgY2xlYW51cCgpIHt9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUdBLE9BQU9BLGFBQWEsTUFBTSxtQ0FBbUM7QUFLN0QsSUFBSUMsY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV2QixJQUFJQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtFQUFBLElBQUFDLG9CQUFBO0VBQ3pDLE1BQU1DLGlCQUFpQixHQUFHLENBQ3hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFFBQVEsQ0FDVDtFQUVELFNBQVNDLGlCQUFpQkEsQ0FBQ0MsUUFBMkIsRUFBRTtJQUFBLElBQUFDLE9BQUEsRUFBQUMsZ0JBQUE7SUFDdEQsTUFBTUMsTUFBVyxHQUFHO01BQ2xCQyxJQUFJLEVBQUVKLFFBQVEsQ0FBQ0ksSUFBSTtNQUNuQkMsTUFBTSxHQUFBSixPQUFBLElBQUFDLGdCQUFBLEdBQUdGLFFBQVEsQ0FBQ0ssTUFBTSxhQUFoQkgsZ0JBQUEsQ0FBMEJJLE1BQU0sb0JBQWhDSixnQkFBQSxDQUEwQkksTUFBTSxDQUFHLENBQUMsWUFBQUwsT0FBQSxHQUFJRCxRQUFRLENBQUNLLE1BQU07TUFDL0RFLFVBQVUsRUFBRVAsUUFBUSxDQUFDTztJQUN2QixDQUFDO0lBQ0RULGlCQUFpQixDQUFDVSxPQUFPLENBQUNDLEdBQUcsSUFBSTtNQUMvQixJQUFJQSxHQUFHLElBQUlULFFBQVEsRUFDakJHLE1BQU0sQ0FBQ00sR0FBRyxDQUFDLEdBQUdULFFBQVEsQ0FBQ1MsR0FBRyxDQUE0QjtJQUMxRCxDQUFDLENBQUM7SUFDRixPQUFPTixNQUFNO0VBQ2Y7RUFFQSxNQUFNTyxPQUFPLEdBQUcsT0FBT0MsSUFBSSxLQUFLLFdBQVc7RUFDM0NsQixjQUFjLEdBQUc7SUFDZlcsSUFBSSxFQUFFLGlCQUFBUCxvQkFBQSxHQUFnQmUsVUFBVSxDQUFDQyxRQUFRLHFCQUFuQmhCLG9CQUFBLENBQXFCaUIsS0FBSyxFQUFFO0lBQ2xEQyxTQUFTLEVBQUUsSUFBSTtJQUNmQyxRQUFRLEVBQUU7TUFDUkMsS0FBSyxFQUFFLElBQUk7TUFBRTtNQUNiQyxJQUFJLEVBQUUsSUFBSTtNQUFFO01BQ1pDLE9BQU8sRUFBRSxLQUFLO01BQUU7TUFDaEJDLE1BQU0sRUFBRSxJQUFJO01BQUU7TUFDZEMsTUFBTSxFQUFFLFFBQVE7TUFBRTtNQUNsQkMsSUFBSSxFQUFFLElBQUk7TUFBRTtNQUNaQyxJQUFJLEVBQUUsSUFBSTtNQUFFO01BQ1pDLE9BQU8sRUFBRSxJQUFJO01BQUU7TUFDZkMsUUFBUSxFQUFFLEtBQUs7TUFBRTtNQUNqQkMsSUFBSSxFQUFFLEtBQUssQ0FBRTtJQUNmLENBQUM7SUFDREMsZUFBZSxFQUFHQyxNQUFtQixJQUFLO01BQ3hDLElBQUksRUFBRSxVQUFVLElBQUlBLE1BQU0sQ0FBQyxFQUFFLE9BQU9BLE1BQU07TUFDMUMsT0FBTztRQUNMLEdBQUdBLE1BQU07UUFDVDVCLFFBQVEsRUFBRUQsaUJBQWlCLENBQUM2QixNQUFNLENBQUM1QixRQUFRO01BQzdDLENBQUM7SUFDSCxDQUFDO0lBQ0Q2QixTQUFTLEVBQUU7TUFDVEMsT0FBTyxFQUFFQyxTQUFTO01BQ2xCO01BQ0FDLFFBQVEsRUFDTnRCLE9BQU8sR0FDTCxDQUFDRCxHQUE2QixFQUFFd0IsS0FBYyxLQUFLO1FBQ2pELElBQ0UsT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFDekIsT0FBT3hCLEdBQUcsS0FBSyxRQUFRLElBQ3ZCeUIsUUFBUSxDQUFDRCxLQUFLLENBQUMsS0FDZHhCLEdBQUcsS0FBSyxNQUFNLElBQUlBLEdBQUcsQ0FBQzBCLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN0QztVQUNBLE9BQU94QixJQUFJLENBQUN5QixjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ2xDQyxJQUFJLEVBQUUsU0FBUztZQUNmQyxNQUFNLEVBQUUsU0FBUztZQUNqQkMsTUFBTSxFQUFFLFNBQVM7WUFDakJDLHNCQUFzQixFQUFFO1VBQzFCLENBQUMsQ0FBQyxDQUFDQyxNQUFNLENBQUNSLEtBQUssQ0FBQztRQUNsQjtRQUNBLE9BQU9BLEtBQUs7TUFDZCxDQUFDLEdBQ0RGO0lBQ047RUFDRixDQUFDO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNVyxlQUFlLENBQW9CO0VBU3REQyxXQUFXQSxDQUNUQyxNQUF1QixFQUN2QkMsV0FBOEMsRUFDOUM7SUFBQSxLQVRRQyxPQUFPLEdBQUcsS0FBSztJQUFBLEtBQ2ZDLE9BQU8sR0FBb0MsRUFBRTtJQUFBLEtBR3ZEQyxlQUFlLEdBQUcsR0FBRztJQU1uQjtJQUNBLElBQUksQ0FBQ0MsUUFBUSxHQUNYLE9BQU9DLE1BQU0sS0FBSyxXQUFXLElBQzVCQSxNQUFNLENBQVNDLDRCQUE0QixJQUMzQ0QsTUFBTSxDQUFTQyw0QkFBNEIsQ0FBQ0MsT0FBTyxDQUFDO01BQ25ELEdBQUczRCxjQUFjO01BQ2pCLEdBQUdtRDtJQUNMLENBQUMsQ0FBQztJQUNKO0lBQ0EsSUFBSUEsTUFBTSxZQUFOQSxNQUFNLENBQUVTLE1BQU0sRUFBRSxJQUFJLENBQUNMLGVBQWUsR0FBR0osTUFBTSxDQUFDUyxNQUFNLEdBQUcsQ0FBQztJQUM1RCxJQUFJUixXQUFXLEVBQUUsSUFBSSxDQUFDQSxXQUFXLEdBQUdBLFdBQVc7RUFDakQ7RUFnQ0FTLFlBQVlBLENBQUMxQixNQUFXLEVBQUUyQixLQUFVLEVBQUU7SUFDcEMsSUFBSSxJQUFJLENBQUNULE9BQU8sRUFBRTtNQUNoQixJQUFJLENBQUNHLFFBQVEsQ0FBQ08sSUFBSSxDQUFDNUIsTUFBTSxFQUFFMkIsS0FBSyxDQUFDO0lBQ25DLENBQUMsTUFBTTtNQUFBLElBQUFFLFFBQUE7TUFDTDtNQUNBO01BQ0EsSUFBSSxJQUFJLENBQUNWLE9BQU8sQ0FBQ1csTUFBTSxHQUFHLElBQUksQ0FBQ1YsZUFBZSxFQUM1QyxJQUFJLENBQUNELE9BQU8sR0FBRyxJQUFJLENBQUNBLE9BQU8sQ0FBQ1ksS0FBSyxDQUFDLElBQUksQ0FBQ1gsZUFBZSxHQUFHLENBQUMsQ0FBQztNQUM3RDtNQUNBWSxxQkFBQSxDQUFBSCxRQUFBLE9BQUksQ0FBQ1YsT0FBTyxFQUFBYyxJQUFBLENBQUFKLFFBQUEsRUFBTSxDQUFDN0IsTUFBTSxFQUFFMkIsS0FBSyxDQUFDLENBQUM7SUFDcEM7RUFDRjs7RUFFQTtFQUNBTyxJQUFJQSxDQUFDUCxLQUFpQixFQUFFO0lBQ3RCLElBQUk3RCxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUNxRCxRQUFRLEVBQUU7TUFDMUQsSUFBSSxDQUFDQSxRQUFRLENBQUNhLElBQUksQ0FBQ1AsS0FBSyxDQUFDO01BQ3pCLElBQUksQ0FBQ04sUUFBUSxDQUFDYyxTQUFTLENBQUVDLEdBQVEsSUFBSztRQUNwQyxRQUFRQSxHQUFHLENBQUNDLElBQUk7VUFDZCxLQUFLLE9BQU87WUFDVixJQUFJLENBQUNuQixPQUFPLEdBQUcsSUFBSTtZQUVuQixJQUFJLElBQUksQ0FBQ0MsT0FBTyxDQUFDVyxNQUFNLEVBQUU7Y0FDdkIsSUFBSSxDQUFDWCxPQUFPLENBQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDb0IsTUFBTSxFQUFFMkIsS0FBSyxDQUFDLEtBQUs7Z0JBQ3hDLElBQUksQ0FBQ0QsWUFBWSxDQUFDMUIsTUFBTSxFQUFFMkIsS0FBSyxDQUFDO2NBQ2xDLENBQUMsQ0FBQztjQUNGLElBQUksQ0FBQ1IsT0FBTyxHQUFHLEVBQUU7WUFDbkI7WUFDQTtVQUNGLEtBQUssTUFBTTtZQUNULElBQUksQ0FBQ0QsT0FBTyxHQUFHLEtBQUs7WUFDcEI7VUFDRixLQUFLLFVBQVU7WUFDYixJQUFJa0IsR0FBRyxDQUFDRSxPQUFPLENBQUNELElBQUksS0FBSyxPQUFPLEVBQUU7Y0FDaEMsSUFBSSxDQUFDRSxVQUFVLENBQUNDLGdCQUFnQixDQUFDLENBQUM7WUFDcEM7WUFDQTtRQUNKO01BQ0YsQ0FBQyxDQUFDO0lBQ0o7RUFDRjs7RUFFQTtFQUNBQyxPQUFPQSxDQUFBLEVBQUcsQ0FBQztBQUNiO0FBQUNDLGdCQUFBLEdBcEdvQjVCLGVBQWU7QUFBQTtFQTJCaEM7RUFDQTtFQUNBLElBQUloRCxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtJQUN6QzBFLGdCQUFBLENBQUtDLFNBQVMsQ0FBQ0MsVUFBVSxHQUFHLFVBQVVMLFVBQVUsRUFBRTtNQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDbEIsUUFBUSxFQUFFLE9BQU93QixJQUFJLElBQUk3QyxNQUFNLElBQUk2QyxJQUFJLENBQUM3QyxNQUFNLENBQUM7TUFDekQsSUFBSSxDQUFDdUMsVUFBVSxHQUFHQSxVQUFVO01BQzVCLE1BQU1PLE9BQU8sR0FBR2xGLGFBQWEsQ0FBQzJFLFVBQWlCLENBQUM7TUFDaEQsSUFBSVosS0FBSyxHQUFHWSxVQUFVLENBQUNRLFFBQVEsQ0FBQyxDQUFDO01BQ2pDLE9BQU9GLElBQUksSUFBSTdDLE1BQU0sSUFBSTtRQUFBLElBQUFnRCxpQkFBQTtRQUN2QixNQUFNQyxVQUFVLElBQUFELGlCQUFBLEdBQUcsSUFBSSxDQUFDL0IsV0FBVyxxQkFBaEIrQixpQkFBQSxDQUFBZixJQUFBLEtBQUksRUFBZWpDLE1BQU0sQ0FBQztRQUM3QyxNQUFNa0QsR0FBRyxHQUFHTCxJQUFJLENBQUM3QyxNQUFNLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUNrQixPQUFPLEVBQUU7VUFDaEI7VUFDQVMsS0FBSyxHQUFHbUIsT0FBTyxDQUFDbkIsS0FBSyxFQUFFM0IsTUFBTSxDQUFDO1FBQ2hDLENBQUMsTUFBTTtVQUNMMkIsS0FBSyxHQUFHWSxVQUFVLENBQUNRLFFBQVEsQ0FBQyxDQUFDO1FBQy9CO1FBQ0FHLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDLE1BQU07VUFBQSxJQUFBQyxTQUFBO1VBQ2IsSUFBSUgsVUFBVSxFQUFFO1VBQ2hCLElBQUksQ0FBQ3ZCLFlBQVksQ0FBQzFCLE1BQU0sRUFBRXFELHVCQUFBLENBQUFELFNBQUEsR0FBQXpCLEtBQUssQ0FBQzJCLFVBQVUsRUFBQXJCLElBQUEsQ0FBQW1CLFNBQUEsRUFBUU4sT0FBTyxFQUFFbkIsS0FBSyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDO1FBQ0YsT0FBT3VCLEdBQUc7TUFDWixDQUFDO0lBQ0gsQ0FBQztFQUNILENBQUMsTUFBTTtJQUNMUixnQkFBQSxDQUFLQyxTQUFTLENBQUNDLFVBQVUsR0FBRyxNQUFNQyxJQUFJLElBQUk3QyxNQUFNLElBQUk2QyxJQUFJLENBQUM3QyxNQUFNLENBQUM7RUFDbEU7QUFBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,3 +1,4 @@
1
+ import _Promise$allSettled from "core-js-pure/stable/promise/all-settled.js";
1
2
  import { SET_RESPONSE, FETCH, RESET } from '../actionTypes.js';
2
3
  import { createSetResponse } from '../controller/actions/index.js';
3
4
  import Controller from '../controller/Controller.js';
@@ -101,7 +102,7 @@ export default class NetworkManager {
101
102
  }
102
103
  allSettled() {
103
104
  const fetches = Object.values(this.fetched);
104
- if (fetches.length) return Promise.allSettled(fetches);
105
+ if (fetches.length) return _Promise$allSettled(fetches);
105
106
  }
106
107
 
107
108
  /** Clear all promise state */
@@ -254,4 +255,4 @@ export default class NetworkManager {
254
255
  callback();
255
256
  }
256
257
  }
257
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfUkVTUE9OU0UiLCJGRVRDSCIsIlJFU0VUIiwiY3JlYXRlU2V0UmVzcG9uc2UiLCJDb250cm9sbGVyIiwiUmVzZXRFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiTmV0d29ya01hbmFnZXIiLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJmZXRjaGVkIiwiT2JqZWN0IiwiY3JlYXRlIiwicmVzb2x2ZXJzIiwicmVqZWN0b3JzIiwiZmV0Y2hlZEF0IiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZUZldGNoIiwiZW5kcG9pbnQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJ1bmRlZmluZWQiLCJzaWRlRWZmZWN0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwia2V5IiwiX2NvbnRyb2xsZXIkZ2V0U3RhdGUkIiwiZXJyb3IiLCJnZXRTdGF0ZSIsIm1ldGEiLCJoYW5kbGVTZXQiLCJhcmdzIiwicmVzcG9uc2UiLCJjbGVhckFsbCIsImsiLCJpbml0IiwiY2xlYW51cERhdGUiLCJjbGVhbnVwIiwiRGF0ZSIsIm5vdyIsInNraXBMb2dnaW5nIiwiYWxsU2V0dGxlZCIsImZldGNoZXMiLCJ2YWx1ZXMiLCJsZW5ndGgiLCJjbGVhciIsImNhdGNoIiwiZ2V0TGFzdFJlc2V0IiwibGFzdFJlc2V0IiwicmVqZWN0IiwidGhyb3R0bGUiLCJkZWZlcmVkRmV0Y2giLCJwcm9taXNlIiwicmVzb2x2ZVByb21pc2UiLCJkYXRhIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiaXNOYU4iLCJjb25zb2xlIiwicHJvbWlzZUhhbmRsZXIiLCJmZXRjaCIsImlkbGVDYWxsYmFjayIsInRpbWVvdXQiLCJjYWxsYmFjayIsIm9wdGlvbnMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9OZXR3b3JrTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTRVRfUkVTUE9OU0UsIEZFVENILCBSRVNFVCB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB7IGNyZWF0ZVNldFJlc3BvbnNlIH0gZnJvbSAnLi4vY29udHJvbGxlci9hY3Rpb25zL2luZGV4LmpzJztcbmltcG9ydCBDb250cm9sbGVyIGZyb20gJy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEZldGNoQWN0aW9uLFxuICBNYW5hZ2VyLFxuICBBY3Rpb25UeXBlcyxcbiAgTWlkZGxld2FyZUFQSSxcbiAgTWlkZGxld2FyZSxcbiAgU2V0UmVzcG9uc2VBY3Rpb24sXG59IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIFJlc2V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIG5hbWUgPSAnUmVzZXRFcnJvcic7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0Fib3J0ZWQgZHVlIHRvIFJFU0VUJyk7XG4gIH1cbn1cblxuLyoqIEhhbmRsZXMgYWxsIGFzeW5jIG5ldHdvcmsgZGlzcGF0Y2hlc1xuICpcbiAqIERlZHVwZXMgY29uY3VycmVudCByZXF1ZXN0cyBieSBrZWVwaW5nIHRyYWNrIG9mIGFsbCBmZXRjaGVzIGluIGZsaWdodFxuICogYW5kIHJldHVybmluZyBleGlzdGluZyBwcm9taXNlcyBmb3IgcmVxdWVzdHMgYWxyZWFkeSBpbiBmbGlnaHQuXG4gKlxuICogSW50ZXJmYWNlcyB3aXRoIHN0b3JlIHZpYSBhIHJlZHV4LWNvbXBhdGlibGUgbWlkZGxld2FyZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9OZXR3b3JrTWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXR3b3JrTWFuYWdlciBpbXBsZW1lbnRzIE1hbmFnZXIge1xuICBwcm90ZWN0ZWQgZmV0Y2hlZDogeyBbazogc3RyaW5nXTogUHJvbWlzZTxhbnk+IH0gPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBwcm90ZWN0ZWQgcmVzb2x2ZXJzOiB7IFtrOiBzdHJpbmddOiAodmFsdWU/OiBhbnkpID0+IHZvaWQgfSA9IHt9O1xuICBwcm90ZWN0ZWQgcmVqZWN0b3JzOiB7IFtrOiBzdHJpbmddOiAodmFsdWU/OiBhbnkpID0+IHZvaWQgfSA9IHt9O1xuICBwcm90ZWN0ZWQgZmV0Y2hlZEF0OiB7IFtrOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBkZWNsYXJlIHJlYWRvbmx5IGRhdGFFeHBpcnlMZW5ndGg6IG51bWJlcjtcbiAgZGVjbGFyZSByZWFkb25seSBlcnJvckV4cGlyeUxlbmd0aDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG4gIGRlY2xhcmUgY2xlYW51cERhdGU/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoeyBkYXRhRXhwaXJ5TGVuZ3RoID0gNjAwMDAsIGVycm9yRXhwaXJ5TGVuZ3RoID0gMTAwMCB9ID0ge30pIHtcbiAgICB0aGlzLmRhdGFFeHBpcnlMZW5ndGggPSBkYXRhRXhwaXJ5TGVuZ3RoO1xuICAgIHRoaXMuZXJyb3JFeHBpcnlMZW5ndGggPSBlcnJvckV4cGlyeUxlbmd0aDtcbiAgfVxuXG4gIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmUgPSBjb250cm9sbGVyID0+IHtcbiAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgIHJldHVybiBuZXh0ID0+IGFjdGlvbiA9PiB7XG4gICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgRkVUQ0g6XG4gICAgICAgICAgdGhpcy5oYW5kbGVGZXRjaChhY3Rpb24pO1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2FzZSB0aGF0IGNhdXNlcyBhbnkgc3RhdGUgY2hhbmdlXG4gICAgICAgICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gaW50ZXJjZXB0IG90aGVyIGZldGNoZXMgYXMgd2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIHJlZHVjZXJzIGR1cmluZ1xuICAgICAgICAgIC8vIHJlbmRlciAtIHNvIHdlIG5lZWQgdG8gc3RvcCAncmVhZG9ubHknIGZldGNoZXMgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCBpbiByZW5kZXJcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBhY3Rpb24uZW5kcG9pbnQuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGFjdGlvbi5lbmRwb2ludC5zaWRlRWZmZWN0XG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGNhc2UgU0VUX1JFU1BPTlNFOlxuICAgICAgICAgIC8vIG9ubHkgc2V0IGFmdGVyIG5ldyBzdGF0ZSBpcyBjb21wdXRlZFxuICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbikudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uLmtleSBpbiB0aGlzLmZldGNoZWQpIHtcbiAgICAgICAgICAgICAgLy8gTm90ZTogbWV0YSAqbXVzdCogYmUgc2V0IGJ5IHJlZHVjZXIgc28gdGhpcyBzaG91bGQgYmUgc2FmZVxuICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKS5tZXRhW2FjdGlvbi5rZXldPy5lcnJvcjtcbiAgICAgICAgICAgICAgLy8gcHJvY2Vzc2luZyBlcnJvcnMgcmVzdWx0IGluIHN0YXRlIG1ldGEgaGF2aW5nIGVycm9yLCBzbyB3ZSBzaG91bGQgcmVqZWN0IHRoZSBwcm9taXNlXG4gICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2V0KFxuICAgICAgICAgICAgICAgICAgY3JlYXRlU2V0UmVzcG9uc2UoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGFyZ3M6IGFjdGlvbi5hcmdzLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZTogZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoZWRBdDogYWN0aW9uLm1ldGEuZmV0Y2hlZEF0LFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZXQoYWN0aW9uKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICBjYXNlIFJFU0VUOiB7XG4gICAgICAgICAgY29uc3QgcmVqZWN0b3JzID0geyAuLi50aGlzLnJlamVjdG9ycyB9O1xuXG4gICAgICAgICAgdGhpcy5jbGVhckFsbCgpO1xuICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbikudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAvLyB0aGVyZSBjb3VsZCBiZSBleHRlcm5hbCBsaXN0ZW5lcnMgdG8gdGhlIHByb21pc2VcbiAgICAgICAgICAgIC8vIHRoaXMgbXVzdCBoYXBwZW4gYWZ0ZXIgY29tbWl0IHNvIG91ciBvd24gcmVqZWN0b3Iga25vd3Mgbm90IHRvIGRpc3BhdGNoIGFuIGVycm9yIGJhc2VkIG9uIHRoaXNcbiAgICAgICAgICAgIGZvciAoY29uc3QgayBpbiByZWplY3RvcnMpIHtcbiAgICAgICAgICAgICAgcmVqZWN0b3JzW2tdKG5ldyBSZXNldEVycm9yKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIG5leHQoYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xuXG4gIC8qKiBPbiBtb3VudCAqL1xuICBpbml0KCkge1xuICAgIGRlbGV0ZSB0aGlzLmNsZWFudXBEYXRlO1xuICB9XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHByb21pc2VzIGFyZSBjb21wbGV0ZWQgYnkgcmVqZWN0aW5nIHJlbWFpbmluZy4gKi9cbiAgY2xlYW51cCgpIHtcbiAgICAvLyBlbnN1cmUgbm8gZGlzcGF0Y2hlcyBhZnRlciB1bm1vdW50XG4gICAgLy8gdGhpcyBtdXN0IGJlIHJldmVyc2libGUgKGRvbmUgaW4gaW5pdCkgc28gdXNlRWZmZWN0KCkgcmVtYWlucyBzeW1tZXRyaWNcbiAgICB0aGlzLmNsZWFudXBEYXRlID0gRGF0ZS5ub3coKTtcbiAgfVxuXG4gIC8qKiBVc2VkIGJ5IERldnRvb2xzTWFuYWdlciB0byBkZXRlcm1pbmUgd2hldGhlciB0byBsb2cgYW4gYWN0aW9uICovXG4gIHNraXBMb2dnaW5nKGFjdGlvbjogQWN0aW9uVHlwZXMpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBhY3Rpb24udHlwZSA9PT0gRkVUQ0ggJiYgYWN0aW9uLmtleSBpbiB0aGlzLmZldGNoZWQ7XG4gIH1cblxuICBhbGxTZXR0bGVkKCkge1xuICAgIGNvbnN0IGZldGNoZXMgPSBPYmplY3QudmFsdWVzKHRoaXMuZmV0Y2hlZCk7XG4gICAgaWYgKGZldGNoZXMubGVuZ3RoKSByZXR1cm4gUHJvbWlzZS5hbGxTZXR0bGVkKGZldGNoZXMpO1xuICB9XG5cbiAgLyoqIENsZWFyIGFsbCBwcm9taXNlIHN0YXRlICovXG4gIHByb3RlY3RlZCBjbGVhckFsbCgpIHtcbiAgICBmb3IgKGNvbnN0IGsgaW4gdGhpcy5yZWplY3RvcnMpIHtcbiAgICAgIHRoaXMuY2xlYXIoayk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsZWFyIHByb21pc2Ugc3RhdGUgZm9yIGEgZ2l2ZW4ga2V5ICovXG4gIHByb3RlY3RlZCBjbGVhcihrZXk6IHN0cmluZykge1xuICAgIHRoaXMuZmV0Y2hlZFtrZXldLmNhdGNoKCgpID0+IHt9KTtcbiAgICBkZWxldGUgdGhpcy5yZXNvbHZlcnNba2V5XTtcbiAgICBkZWxldGUgdGhpcy5yZWplY3RvcnNba2V5XTtcbiAgICBkZWxldGUgdGhpcy5mZXRjaGVkW2tleV07XG4gICAgZGVsZXRlIHRoaXMuZmV0Y2hlZEF0W2tleV07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TGFzdFJlc2V0KCkge1xuICAgIGlmICh0aGlzLmNsZWFudXBEYXRlKSByZXR1cm4gdGhpcy5jbGVhbnVwRGF0ZTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCkubGFzdFJlc2V0O1xuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL2ZldGNoJyBhY3Rpb24uXG4gICAqXG4gICAqIFdpbGwgdGhlbiBzdGFydCBhIHByb21pc2UgZm9yIGEga2V5IGFuZCBwb3RlbnRpYWxseSBzdGFydCB0aGUgbmV0d29ya1xuICAgKiBmZXRjaC5cbiAgICpcbiAgICogVXNlcyB0aHJvdHRsZSBlbmRwb2ludHMgd2l0aG91dCBzaWRlRWZmZWN0cy4gVGhpcyBpcyB2YWx1YWJsZVxuICAgKiBmb3IgZW5zdXJlcyBtdXRhdGlvbiByZXF1ZXN0cyBhbHdheXMgZ28gdGhyb3VnaC5cbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVGZXRjaChhY3Rpb246IEZldGNoQWN0aW9uKSB7XG4gICAgY29uc3QgeyByZXNvbHZlLCByZWplY3QsIGZldGNoZWRBdCB9ID0gYWN0aW9uLm1ldGE7XG4gICAgY29uc3QgdGhyb3R0bGUgPSAhYWN0aW9uLmVuZHBvaW50LnNpZGVFZmZlY3Q7XG5cbiAgICBjb25zdCBkZWZlcmVkRmV0Y2ggPSAoKSA9PiB7XG4gICAgICBsZXQgcHJvbWlzZSA9IGFjdGlvbi5lbmRwb2ludCguLi5hY3Rpb24uYXJncyk7XG4gICAgICBjb25zdCByZXNvbHZlUHJvbWlzZSA9IChcbiAgICAgICAgcHJvbWlzZTogUHJvbWlzZTxzdHJpbmcgfCBudW1iZXIgfCBvYmplY3QgfCBudWxsPixcbiAgICAgICkgPT5cbiAgICAgICAgcHJvbWlzZVxuICAgICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICB9KTtcbiAgICAgIC8vIHNjaGVkdWxlIG5vbi10aHJvdHRsZWQgcmVzb2x1dGlvbnMgaW4gYSBtaWNyb3Rhc2sgYmVmb3JlIHNldFxuICAgICAgLy8gdGhpcyBlbmFibGVzIHVzZXJzIGF3YWl0aW5nIHRoZWlyIGZldGNoIHRvIHRyaWdnZXIgYW55IHJlYWN0IHVwZGF0ZXMgbmVlZGVkIHRvIGRlYWxcbiAgICAgIC8vIHdpdGggdXBjb21pbmcgY2hhbmdlcyBiZWNhdXNlIG9mIHRoZSBmZXRjaCAoZm9yIGluc3RhbmNlIGF2b2lkaW5nIHN1c3BlbnNlIGlmIHNvbWV0aGluZyBpcyBkZWxldGVkKVxuICAgICAgaWYgKCF0aHJvdHRsZSkge1xuICAgICAgICBwcm9taXNlID0gcmVzb2x2ZVByb21pc2UocHJvbWlzZSk7XG4gICAgICB9XG4gICAgICBwcm9taXNlID0gcHJvbWlzZVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgbGV0IGxhc3RSZXNldCA9IHRoaXMuZ2V0TGFzdFJlc2V0KCk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGlzTmFOKGxhc3RSZXNldCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICdzdGF0ZS5sYXN0UmVzZXQgaXMgTmFOLiBPbmx5IHBvc2l0aXZlIHRpbWVzdGFtcHMgYXJlIHZhbGlkLicsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbGFzdFJlc2V0ID0gMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBkb24ndCB1cGRhdGUgc3RhdGUgd2l0aCBwcm9taXNlcyBzdGFydGVkIGJlZm9yZSBsYXN0IGNsZWFyXG4gICAgICAgICAgaWYgKGZldGNoZWRBdCA+PSBsYXN0UmVzZXQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbGxlci5yZXNvbHZlKGFjdGlvbi5lbmRwb2ludCwge1xuICAgICAgICAgICAgICBhcmdzOiBhY3Rpb24uYXJncyxcbiAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgIGZldGNoZWRBdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgY29uc3QgbGFzdFJlc2V0ID0gdGhpcy5nZXRMYXN0UmVzZXQoKTtcbiAgICAgICAgICAvLyBkb24ndCB1cGRhdGUgc3RhdGUgd2l0aCBwcm9taXNlcyBzdGFydGVkIGJlZm9yZSBsYXN0IGNsZWFyXG4gICAgICAgICAgaWYgKGZldGNoZWRBdCA+PSBsYXN0UmVzZXQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbGxlci5yZXNvbHZlKGFjdGlvbi5lbmRwb2ludCwge1xuICAgICAgICAgICAgICBhcmdzOiBhY3Rpb24uYXJncyxcbiAgICAgICAgICAgICAgcmVzcG9uc2U6IGVycm9yLFxuICAgICAgICAgICAgICBmZXRjaGVkQXQsXG4gICAgICAgICAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH07XG5cbiAgICBpZiAodGhyb3R0bGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnRocm90dGxlKGFjdGlvbi5rZXksIGRlZmVyZWRGZXRjaCwgZmV0Y2hlZEF0KVxuICAgICAgICAudGhlbihkYXRhID0+IHJlc29sdmUoZGF0YSkpXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiByZWplY3QoZXJyb3IpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlZmVyZWRGZXRjaCgpLmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzIGEgc2V0IGFjdGlvbi5cbiAgICpcbiAgICogV2lsbCByZXNvbHZlIHRoZSBwcm9taXNlIGFzc29jaWF0ZWQgd2l0aCBzZXQga2V5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVNldChhY3Rpb246IFNldFJlc3BvbnNlQWN0aW9uKSB7XG4gICAgLy8gdGhpcyBjYW4gc3RpbGwgdHVybiBvdXQgdG8gYmUgdW50cnVlIHNpbmNlIHRoaXMgaXMgYXN5bmNcbiAgICBpZiAoYWN0aW9uLmtleSBpbiB0aGlzLmZldGNoZWQpIHtcbiAgICAgIGxldCBwcm9taXNlSGFuZGxlcjogKHZhbHVlPzogYW55KSA9PiB2b2lkO1xuICAgICAgaWYgKGFjdGlvbi5lcnJvcikge1xuICAgICAgICBwcm9taXNlSGFuZGxlciA9IHRoaXMucmVqZWN0b3JzW2FjdGlvbi5rZXldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvbWlzZUhhbmRsZXIgPSB0aGlzLnJlc29sdmVyc1thY3Rpb24ua2V5XTtcbiAgICAgIH1cbiAgICAgIHByb21pc2VIYW5kbGVyKGFjdGlvbi5yZXNwb25zZSk7XG4gICAgICAvLyBzaW5jZSB3ZSdyZSByZXNvbHZlZCB3ZSBubyBsb25nZXIgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoaXMgcHJvbWlzZVxuICAgICAgdGhpcy5jbGVhcihhY3Rpb24ua2V5KTtcbiAgICB9XG4gIH1cblxuICAvKiogRW5zdXJlcyBvbmx5IG9uZSByZXF1ZXN0IGZvciBhIGdpdmVuIGtleSBpcyBpbiBmbGlnaHQgYXQgYW55IHRpbWVcbiAgICpcbiAgICogVXNlcyBrZXkgdG8gZWl0aGVyIHJldHJpZXZlIGluLWZsaWdodCBwcm9taXNlLCBvciBpZiBub3RcbiAgICogY3JlYXRlIGEgbmV3IHByb21pc2UgYW5kIGNhbGwgZmV0Y2guXG4gICAqXG4gICAqIE5vdGU6IFRoZSBuZXcgcHJvbWlzZSBpcyBub3QgYWN0dWFsbHkgdGllZCB0byBmZXRjaCBhdCBhbGwsXG4gICAqIGJ1dCBpcyByZXNvbHZlZCB3aGVuIHRoZSBleHBlY3RlZCAncmVjaWV2ZScgYWN0aW9uIGlzIHByb2Nlc3NlZC5cbiAgICogVGhpcyBlbnN1cmVzIHByb21pc2VzIGFyZSByZXNvbHZlZCBvbmx5IG9uY2UgdGhlaXIgZGF0YSBpcyBwcm9jZXNzZWRcbiAgICogYnkgdGhlIHJlZHVjZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgdGhyb3R0bGUoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgZmV0Y2g6ICgpID0+IFByb21pc2U8YW55PixcbiAgICBmZXRjaGVkQXQ6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgbGFzdFJlc2V0ID0gdGhpcy5nZXRMYXN0UmVzZXQoKTtcbiAgICAvLyB3ZSdyZSBhbHJlYWR5IGZldGNoaW5nIHNvIHJldXNlIHRoZSBwcm9taXNlXG4gICAgLy8gZmV0Y2hlcyBhZnRlciByZXNldCBkbyBub3QgY291bnRcbiAgICBpZiAoa2V5IGluIHRoaXMuZmV0Y2hlZCAmJiB0aGlzLmZldGNoZWRBdFtrZXldID4gbGFzdFJlc2V0KSB7XG4gICAgICByZXR1cm4gdGhpcy5mZXRjaGVkW2tleV07XG4gICAgfVxuXG4gICAgdGhpcy5mZXRjaGVkW2tleV0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnJlc29sdmVyc1trZXldID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMucmVqZWN0b3JzW2tleV0gPSByZWplY3Q7XG4gICAgfSk7XG4gICAgdGhpcy5mZXRjaGVkQXRba2V5XSA9IGZldGNoZWRBdDtcblxuICAgIHRoaXMuaWRsZUNhbGxiYWNrKFxuICAgICAgKCkgPT4ge1xuICAgICAgICAvLyBzaW5jZSBvdXIgcmVhbCBwcm9taXNlIGlzIHJlc29sdmVkIHZpYSB0aGUgd3JhcFJlZHVjZXIoKSxcbiAgICAgICAgLy8gd2Ugc2hvdWxkIGp1c3Qgc3RvcCBhbGwgZXJyb3JzIGhlcmUuXG4gICAgICAgIC8vIFRPRE86IGRlY291cGxlIHRoaXMgZnJvbSB1c2VGZXRjaGVyKCkgKHRoYXQncyB3aGF0J3MgZGlzcGF0Y2hpbmcgdGhlIGVycm9yIHRoZSByZXNvbHZlcyBpbiBoZXJlKVxuICAgICAgICBmZXRjaCgpLmNhdGNoKCgpID0+IG51bGwpO1xuICAgICAgfSxcbiAgICAgIHsgdGltZW91dDogNTAwIH0sXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmZldGNoZWRba2V5XTtcbiAgfVxuXG4gIC8qKiBDYWxscyB0aGUgY2FsbGJhY2sgd2hlbiBjbGllbnQgaXMgbm90ICdidXN5JyB3aXRoIGhpZ2ggcHJpb3JpdHkgaW50ZXJhY3Rpb24gdGFza3NcbiAgICpcbiAgICogT3ZlcnJpZGUgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGlkbGVDYWxsYmFjayhcbiAgICBjYWxsYmFjazogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkLFxuICAgIG9wdGlvbnM/OiBJZGxlUmVxdWVzdE9wdGlvbnMsXG4gICkge1xuICAgIGNhbGxiYWNrKCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxFQUFFQyxLQUFLLEVBQUVDLEtBQUssUUFBUSxtQkFBbUI7QUFDOUQsU0FBU0MsaUJBQWlCLFFBQVEsZ0NBQWdDO0FBQ2xFLE9BQU9DLFVBQVUsTUFBTSw2QkFBNkI7QUFVcEQsT0FBTyxNQUFNQyxVQUFVLFNBQVNDLEtBQUssQ0FBQztFQUdwQ0MsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osS0FBSyxDQUFDLHNCQUFzQixDQUFDO0lBQUMsS0FIaENDLElBQUksR0FBRyxZQUFZO0VBSW5CO0FB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
258
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfUkVTUE9OU0UiLCJGRVRDSCIsIlJFU0VUIiwiY3JlYXRlU2V0UmVzcG9uc2UiLCJDb250cm9sbGVyIiwiUmVzZXRFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiTmV0d29ya01hbmFnZXIiLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJmZXRjaGVkIiwiT2JqZWN0IiwiY3JlYXRlIiwicmVzb2x2ZXJzIiwicmVqZWN0b3JzIiwiZmV0Y2hlZEF0IiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZUZldGNoIiwiZW5kcG9pbnQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJ1bmRlZmluZWQiLCJzaWRlRWZmZWN0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwia2V5IiwiX2NvbnRyb2xsZXIkZ2V0U3RhdGUkIiwiZXJyb3IiLCJnZXRTdGF0ZSIsIm1ldGEiLCJoYW5kbGVTZXQiLCJhcmdzIiwicmVzcG9uc2UiLCJjbGVhckFsbCIsImsiLCJpbml0IiwiY2xlYW51cERhdGUiLCJjbGVhbnVwIiwiRGF0ZSIsIm5vdyIsInNraXBMb2dnaW5nIiwiYWxsU2V0dGxlZCIsImZldGNoZXMiLCJ2YWx1ZXMiLCJsZW5ndGgiLCJfUHJvbWlzZSRhbGxTZXR0bGVkIiwiY2xlYXIiLCJjYXRjaCIsImdldExhc3RSZXNldCIsImxhc3RSZXNldCIsInJlamVjdCIsInRocm90dGxlIiwiZGVmZXJlZEZldGNoIiwicHJvbWlzZSIsInJlc29sdmVQcm9taXNlIiwiZGF0YSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImlzTmFOIiwiY29uc29sZSIsInByb21pc2VIYW5kbGVyIiwiZmV0Y2giLCJpZGxlQ2FsbGJhY2siLCJ0aW1lb3V0IiwiY2FsbGJhY2siLCJvcHRpb25zIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvTmV0d29ya01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VUX1JFU1BPTlNFLCBGRVRDSCwgUkVTRVQgfSBmcm9tICcuLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVTZXRSZXNwb25zZSB9IGZyb20gJy4uL2NvbnRyb2xsZXIvYWN0aW9ucy9pbmRleC5qcyc7XG5pbXBvcnQgQ29udHJvbGxlciBmcm9tICcuLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUge1xuICBGZXRjaEFjdGlvbixcbiAgTWFuYWdlcixcbiAgQWN0aW9uVHlwZXMsXG4gIE1pZGRsZXdhcmVBUEksXG4gIE1pZGRsZXdhcmUsXG4gIFNldFJlc3BvbnNlQWN0aW9uLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBSZXNldEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBuYW1lID0gJ1Jlc2V0RXJyb3InO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdBYm9ydGVkIGR1ZSB0byBSRVNFVCcpO1xuICB9XG59XG5cbi8qKiBIYW5kbGVzIGFsbCBhc3luYyBuZXR3b3JrIGRpc3BhdGNoZXNcbiAqXG4gKiBEZWR1cGVzIGNvbmN1cnJlbnQgcmVxdWVzdHMgYnkga2VlcGluZyB0cmFjayBvZiBhbGwgZmV0Y2hlcyBpbiBmbGlnaHRcbiAqIGFuZCByZXR1cm5pbmcgZXhpc3RpbmcgcHJvbWlzZXMgZm9yIHJlcXVlc3RzIGFscmVhZHkgaW4gZmxpZ2h0LlxuICpcbiAqIEludGVyZmFjZXMgd2l0aCBzdG9yZSB2aWEgYSByZWR1eC1jb21wYXRpYmxlIG1pZGRsZXdhcmUuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTmV0d29ya01hbmFnZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV0d29ya01hbmFnZXIgaW1wbGVtZW50cyBNYW5hZ2VyIHtcbiAgcHJvdGVjdGVkIGZldGNoZWQ6IHsgW2s6IHN0cmluZ106IFByb21pc2U8YW55PiB9ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcHJvdGVjdGVkIHJlc29sdmVyczogeyBbazogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiB2b2lkIH0gPSB7fTtcbiAgcHJvdGVjdGVkIHJlamVjdG9yczogeyBbazogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiB2b2lkIH0gPSB7fTtcbiAgcHJvdGVjdGVkIGZldGNoZWRBdDogeyBbazogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgZGVjbGFyZSByZWFkb25seSBkYXRhRXhwaXJ5TGVuZ3RoOiBudW1iZXI7XG4gIGRlY2xhcmUgcmVhZG9ubHkgZXJyb3JFeHBpcnlMZW5ndGg6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIgPSBuZXcgQ29udHJvbGxlcigpO1xuICBkZWNsYXJlIGNsZWFudXBEYXRlPzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHsgZGF0YUV4cGlyeUxlbmd0aCA9IDYwMDAwLCBlcnJvckV4cGlyeUxlbmd0aCA9IDEwMDAgfSA9IHt9KSB7XG4gICAgdGhpcy5kYXRhRXhwaXJ5TGVuZ3RoID0gZGF0YUV4cGlyeUxlbmd0aDtcbiAgICB0aGlzLmVycm9yRXhwaXJ5TGVuZ3RoID0gZXJyb3JFeHBpcnlMZW5ndGg7XG4gIH1cblxuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlID0gY29udHJvbGxlciA9PiB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIEZFVENIOlxuICAgICAgICAgIHRoaXMuaGFuZGxlRmV0Y2goYWN0aW9uKTtcbiAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNhc2UgdGhhdCBjYXVzZXMgYW55IHN0YXRlIGNoYW5nZVxuICAgICAgICAgIC8vIEl0J3MgaW1wb3J0YW50IHRvIGludGVyY2VwdCBvdGhlciBmZXRjaGVzIGFzIHdlIGRvbid0IHdhbnQgdG8gdHJpZ2dlciByZWR1Y2VycyBkdXJpbmdcbiAgICAgICAgICAvLyByZW5kZXIgLSBzbyB3ZSBuZWVkIHRvIHN0b3AgJ3JlYWRvbmx5JyBmZXRjaGVzIHdoaWNoIGNhbiBiZSB0cmlnZ2VyZWQgaW4gcmVuZGVyXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgYWN0aW9uLmVuZHBvaW50LmdldE9wdGltaXN0aWNSZXNwb25zZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBhY3Rpb24uZW5kcG9pbnQuc2lkZUVmZmVjdFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoYWN0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICBjYXNlIFNFVF9SRVNQT05TRTpcbiAgICAgICAgICAvLyBvbmx5IHNldCBhZnRlciBuZXcgc3RhdGUgaXMgY29tcHV0ZWRcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvbi5rZXkgaW4gdGhpcy5mZXRjaGVkKSB7XG4gICAgICAgICAgICAgIC8vIE5vdGU6IG1ldGEgKm11c3QqIGJlIHNldCBieSByZWR1Y2VyIHNvIHRoaXMgc2hvdWxkIGJlIHNhZmVcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBjb250cm9sbGVyLmdldFN0YXRlKCkubWV0YVthY3Rpb24ua2V5XT8uZXJyb3I7XG4gICAgICAgICAgICAgIC8vIHByb2Nlc3NpbmcgZXJyb3JzIHJlc3VsdCBpbiBzdGF0ZSBtZXRhIGhhdmluZyBlcnJvciwgc28gd2Ugc2hvdWxkIHJlamVjdCB0aGUgcHJvbWlzZVxuICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNldChcbiAgICAgICAgICAgICAgICAgIGNyZWF0ZVNldFJlc3BvbnNlKGFjdGlvbi5lbmRwb2ludCwge1xuICAgICAgICAgICAgICAgICAgICBhcmdzOiBhY3Rpb24uYXJncyxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2U6IGVycm9yLFxuICAgICAgICAgICAgICAgICAgICBmZXRjaGVkQXQ6IGFjdGlvbi5tZXRhLmZldGNoZWRBdCxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2V0KGFjdGlvbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSBSRVNFVDoge1xuICAgICAgICAgIGNvbnN0IHJlamVjdG9ycyA9IHsgLi4udGhpcy5yZWplY3RvcnMgfTtcblxuICAgICAgICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgLy8gdGhlcmUgY291bGQgYmUgZXh0ZXJuYWwgbGlzdGVuZXJzIHRvIHRoZSBwcm9taXNlXG4gICAgICAgICAgICAvLyB0aGlzIG11c3QgaGFwcGVuIGFmdGVyIGNvbW1pdCBzbyBvdXIgb3duIHJlamVjdG9yIGtub3dzIG5vdCB0byBkaXNwYXRjaCBhbiBlcnJvciBiYXNlZCBvbiB0aGlzXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGsgaW4gcmVqZWN0b3JzKSB7XG4gICAgICAgICAgICAgIHJlamVjdG9yc1trXShuZXcgUmVzZXRFcnJvcigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICAvKiogT24gbW91bnQgKi9cbiAgaW5pdCgpIHtcbiAgICBkZWxldGUgdGhpcy5jbGVhbnVwRGF0ZTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBwcm9taXNlcyBhcmUgY29tcGxldGVkIGJ5IHJlamVjdGluZyByZW1haW5pbmcuICovXG4gIGNsZWFudXAoKSB7XG4gICAgLy8gZW5zdXJlIG5vIGRpc3BhdGNoZXMgYWZ0ZXIgdW5tb3VudFxuICAgIC8vIHRoaXMgbXVzdCBiZSByZXZlcnNpYmxlIChkb25lIGluIGluaXQpIHNvIHVzZUVmZmVjdCgpIHJlbWFpbnMgc3ltbWV0cmljXG4gICAgdGhpcy5jbGVhbnVwRGF0ZSA9IERhdGUubm93KCk7XG4gIH1cblxuICAvKiogVXNlZCBieSBEZXZ0b29sc01hbmFnZXIgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gbG9nIGFuIGFjdGlvbiAqL1xuICBza2lwTG9nZ2luZyhhY3Rpb246IEFjdGlvblR5cGVzKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gYWN0aW9uLnR5cGUgPT09IEZFVENIICYmIGFjdGlvbi5rZXkgaW4gdGhpcy5mZXRjaGVkO1xuICB9XG5cbiAgYWxsU2V0dGxlZCgpIHtcbiAgICBjb25zdCBmZXRjaGVzID0gT2JqZWN0LnZhbHVlcyh0aGlzLmZldGNoZWQpO1xuICAgIGlmIChmZXRjaGVzLmxlbmd0aCkgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChmZXRjaGVzKTtcbiAgfVxuXG4gIC8qKiBDbGVhciBhbGwgcHJvbWlzZSBzdGF0ZSAqL1xuICBwcm90ZWN0ZWQgY2xlYXJBbGwoKSB7XG4gICAgZm9yIChjb25zdCBrIGluIHRoaXMucmVqZWN0b3JzKSB7XG4gICAgICB0aGlzLmNsZWFyKGspO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbGVhciBwcm9taXNlIHN0YXRlIGZvciBhIGdpdmVuIGtleSAqL1xuICBwcm90ZWN0ZWQgY2xlYXIoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmZldGNoZWRba2V5XS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgZGVsZXRlIHRoaXMucmVzb2x2ZXJzW2tleV07XG4gICAgZGVsZXRlIHRoaXMucmVqZWN0b3JzW2tleV07XG4gICAgZGVsZXRlIHRoaXMuZmV0Y2hlZFtrZXldO1xuICAgIGRlbGV0ZSB0aGlzLmZldGNoZWRBdFtrZXldO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldExhc3RSZXNldCgpIHtcbiAgICBpZiAodGhpcy5jbGVhbnVwRGF0ZSkgcmV0dXJuIHRoaXMuY2xlYW51cERhdGU7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5nZXRTdGF0ZSgpLmxhc3RSZXNldDtcbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiBtaWRkbGV3YXJlIGludGVyY2VwdHMgJ3JkYy9mZXRjaCcgYWN0aW9uLlxuICAgKlxuICAgKiBXaWxsIHRoZW4gc3RhcnQgYSBwcm9taXNlIGZvciBhIGtleSBhbmQgcG90ZW50aWFsbHkgc3RhcnQgdGhlIG5ldHdvcmtcbiAgICogZmV0Y2guXG4gICAqXG4gICAqIFVzZXMgdGhyb3R0bGUgZW5kcG9pbnRzIHdpdGhvdXQgc2lkZUVmZmVjdHMuIFRoaXMgaXMgdmFsdWFibGVcbiAgICogZm9yIGVuc3VyZXMgbXV0YXRpb24gcmVxdWVzdHMgYWx3YXlzIGdvIHRocm91Z2guXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRmV0Y2goYWN0aW9uOiBGZXRjaEFjdGlvbikge1xuICAgIGNvbnN0IHsgcmVzb2x2ZSwgcmVqZWN0LCBmZXRjaGVkQXQgfSA9IGFjdGlvbi5tZXRhO1xuICAgIGNvbnN0IHRocm90dGxlID0gIWFjdGlvbi5lbmRwb2ludC5zaWRlRWZmZWN0O1xuXG4gICAgY29uc3QgZGVmZXJlZEZldGNoID0gKCkgPT4ge1xuICAgICAgbGV0IHByb21pc2UgPSBhY3Rpb24uZW5kcG9pbnQoLi4uYWN0aW9uLmFyZ3MpO1xuICAgICAgY29uc3QgcmVzb2x2ZVByb21pc2UgPSAoXG4gICAgICAgIHByb21pc2U6IFByb21pc2U8c3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0IHwgbnVsbD4sXG4gICAgICApID0+XG4gICAgICAgIHByb21pc2VcbiAgICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgfSk7XG4gICAgICAvLyBzY2hlZHVsZSBub24tdGhyb3R0bGVkIHJlc29sdXRpb25zIGluIGEgbWljcm90YXNrIGJlZm9yZSBzZXRcbiAgICAgIC8vIHRoaXMgZW5hYmxlcyB1c2VycyBhd2FpdGluZyB0aGVpciBmZXRjaCB0byB0cmlnZ2VyIGFueSByZWFjdCB1cGRhdGVzIG5lZWRlZCB0byBkZWFsXG4gICAgICAvLyB3aXRoIHVwY29taW5nIGNoYW5nZXMgYmVjYXVzZSBvZiB0aGUgZmV0Y2ggKGZvciBpbnN0YW5jZSBhdm9pZGluZyBzdXNwZW5zZSBpZiBzb21ldGhpbmcgaXMgZGVsZXRlZClcbiAgICAgIGlmICghdGhyb3R0bGUpIHtcbiAgICAgICAgcHJvbWlzZSA9IHJlc29sdmVQcm9taXNlKHByb21pc2UpO1xuICAgICAgfVxuICAgICAgcHJvbWlzZSA9IHByb21pc2VcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGxldCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc05hTihsYXN0UmVzZXQpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAnc3RhdGUubGFzdFJlc2V0IGlzIE5hTi4gT25seSBwb3NpdGl2ZSB0aW1lc3RhbXBzIGFyZSB2YWxpZC4nLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGxhc3RSZXNldCA9IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIHN0YXRlIHdpdGggcHJvbWlzZXMgc3RhcnRlZCBiZWZvcmUgbGFzdCBjbGVhclxuICAgICAgICAgIGlmIChmZXRjaGVkQXQgPj0gbGFzdFJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzb2x2ZShhY3Rpb24uZW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgYXJnczogYWN0aW9uLmFyZ3MsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgICBmZXRjaGVkQXQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnN0IGxhc3RSZXNldCA9IHRoaXMuZ2V0TGFzdFJlc2V0KCk7XG4gICAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIHN0YXRlIHdpdGggcHJvbWlzZXMgc3RhcnRlZCBiZWZvcmUgbGFzdCBjbGVhclxuICAgICAgICAgIGlmIChmZXRjaGVkQXQgPj0gbGFzdFJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzb2x2ZShhY3Rpb24uZW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgYXJnczogYWN0aW9uLmFyZ3MsXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiBlcnJvcixcbiAgICAgICAgICAgICAgZmV0Y2hlZEF0LFxuICAgICAgICAgICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9O1xuXG4gICAgaWYgKHRocm90dGxlKSB7XG4gICAgICByZXR1cm4gdGhpcy50aHJvdHRsZShhY3Rpb24ua2V5LCBkZWZlcmVkRmV0Y2gsIGZldGNoZWRBdClcbiAgICAgICAgLnRoZW4oZGF0YSA9PiByZXNvbHZlKGRhdGEpKVxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4gcmVqZWN0KGVycm9yKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkZWZlcmVkRmV0Y2goKS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyBhIHNldCBhY3Rpb24uXG4gICAqXG4gICAqIFdpbGwgcmVzb2x2ZSB0aGUgcHJvbWlzZSBhc3NvY2lhdGVkIHdpdGggc2V0IGtleS5cbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVTZXQoYWN0aW9uOiBTZXRSZXNwb25zZUFjdGlvbikge1xuICAgIC8vIHRoaXMgY2FuIHN0aWxsIHR1cm4gb3V0IHRvIGJlIHVudHJ1ZSBzaW5jZSB0aGlzIGlzIGFzeW5jXG4gICAgaWYgKGFjdGlvbi5rZXkgaW4gdGhpcy5mZXRjaGVkKSB7XG4gICAgICBsZXQgcHJvbWlzZUhhbmRsZXI6ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcbiAgICAgIGlmIChhY3Rpb24uZXJyb3IpIHtcbiAgICAgICAgcHJvbWlzZUhhbmRsZXIgPSB0aGlzLnJlamVjdG9yc1thY3Rpb24ua2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb21pc2VIYW5kbGVyID0gdGhpcy5yZXNvbHZlcnNbYWN0aW9uLmtleV07XG4gICAgICB9XG4gICAgICBwcm9taXNlSGFuZGxlcihhY3Rpb24ucmVzcG9uc2UpO1xuICAgICAgLy8gc2luY2Ugd2UncmUgcmVzb2x2ZWQgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGlzIHByb21pc2VcbiAgICAgIHRoaXMuY2xlYXIoYWN0aW9uLmtleSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEVuc3VyZXMgb25seSBvbmUgcmVxdWVzdCBmb3IgYSBnaXZlbiBrZXkgaXMgaW4gZmxpZ2h0IGF0IGFueSB0aW1lXG4gICAqXG4gICAqIFVzZXMga2V5IHRvIGVpdGhlciByZXRyaWV2ZSBpbi1mbGlnaHQgcHJvbWlzZSwgb3IgaWYgbm90XG4gICAqIGNyZWF0ZSBhIG5ldyBwcm9taXNlIGFuZCBjYWxsIGZldGNoLlxuICAgKlxuICAgKiBOb3RlOiBUaGUgbmV3IHByb21pc2UgaXMgbm90IGFjdHVhbGx5IHRpZWQgdG8gZmV0Y2ggYXQgYWxsLFxuICAgKiBidXQgaXMgcmVzb2x2ZWQgd2hlbiB0aGUgZXhwZWN0ZWQgJ3JlY2lldmUnIGFjdGlvbiBpcyBwcm9jZXNzZWQuXG4gICAqIFRoaXMgZW5zdXJlcyBwcm9taXNlcyBhcmUgcmVzb2x2ZWQgb25seSBvbmNlIHRoZWlyIGRhdGEgaXMgcHJvY2Vzc2VkXG4gICAqIGJ5IHRoZSByZWR1Y2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHRocm90dGxlKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGZldGNoOiAoKSA9PiBQcm9taXNlPGFueT4sXG4gICAgZmV0Y2hlZEF0OiBudW1iZXIsXG4gICkge1xuICAgIGNvbnN0IGxhc3RSZXNldCA9IHRoaXMuZ2V0TGFzdFJlc2V0KCk7XG4gICAgLy8gd2UncmUgYWxyZWFkeSBmZXRjaGluZyBzbyByZXVzZSB0aGUgcHJvbWlzZVxuICAgIC8vIGZldGNoZXMgYWZ0ZXIgcmVzZXQgZG8gbm90IGNvdW50XG4gICAgaWYgKGtleSBpbiB0aGlzLmZldGNoZWQgJiYgdGhpcy5mZXRjaGVkQXRba2V5XSA+IGxhc3RSZXNldCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hlZFtrZXldO1xuICAgIH1cblxuICAgIHRoaXMuZmV0Y2hlZFtrZXldID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5yZXNvbHZlcnNba2V5XSA9IHJlc29sdmU7XG4gICAgICB0aGlzLnJlamVjdG9yc1trZXldID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZmV0Y2hlZEF0W2tleV0gPSBmZXRjaGVkQXQ7XG5cbiAgICB0aGlzLmlkbGVDYWxsYmFjayhcbiAgICAgICgpID0+IHtcbiAgICAgICAgLy8gc2luY2Ugb3VyIHJlYWwgcHJvbWlzZSBpcyByZXNvbHZlZCB2aWEgdGhlIHdyYXBSZWR1Y2VyKCksXG4gICAgICAgIC8vIHdlIHNob3VsZCBqdXN0IHN0b3AgYWxsIGVycm9ycyBoZXJlLlxuICAgICAgICAvLyBUT0RPOiBkZWNvdXBsZSB0aGlzIGZyb20gdXNlRmV0Y2hlcigpICh0aGF0J3Mgd2hhdCdzIGRpc3BhdGNoaW5nIHRoZSBlcnJvciB0aGUgcmVzb2x2ZXMgaW4gaGVyZSlcbiAgICAgICAgZmV0Y2goKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICAgIH0sXG4gICAgICB7IHRpbWVvdXQ6IDUwMCB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5mZXRjaGVkW2tleV07XG4gIH1cblxuICAvKiogQ2FsbHMgdGhlIGNhbGxiYWNrIHdoZW4gY2xpZW50IGlzIG5vdCAnYnVzeScgd2l0aCBoaWdoIHByaW9yaXR5IGludGVyYWN0aW9uIHRhc2tzXG4gICAqXG4gICAqIE92ZXJyaWRlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBpZGxlQ2FsbGJhY2soXG4gICAgY2FsbGJhY2s6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCxcbiAgICBvcHRpb25zPzogSWRsZVJlcXVlc3RPcHRpb25zLFxuICApIHtcbiAgICBjYWxsYmFjaygpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxZQUFZLEVBQUVDLEtBQUssRUFBRUMsS0FBSyxRQUFRLG1CQUFtQjtBQUM5RCxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBZ0M7QUFDbEUsT0FBT0MsVUFBVSxNQUFNLDZCQUE2QjtBQVVwRCxPQUFPLE1BQU1DLFVBQVUsU0FBU0MsS0FBSyxDQUFDO0VBR3BDQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixLQUFLLENBQUMsc0JBQXNCLENBQUM7SUFBQyxLQUhoQ0Ms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
@@ -147,4 +147,4 @@ export default class PollingSubscription {
147
147
  return (_this$controller$getS = (_this$controller$getS2 = this.controller.getState().meta[this.key]) == null ? void 0 : _this$controller$getS2.date) != null ? _this$controller$getS : 0;
148
148
  }
149
149
  }
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyIiwiUG9sbGluZ1N1YnNjcmlwdGlvbiIsImNvbnN0cnVjdG9yIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImNvbm5lY3Rpb25MaXN0ZW5lciIsImZyZXF1ZW5jeUhpc3RvZ3JhbSIsIk1hcCIsIm9mZmxpbmVMaXN0ZW5lciIsImNsZWFudXAiLCJhZGRPbmxpbmVMaXN0ZW5lciIsIm9ubGluZUxpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJub3ciLCJEYXRlIiwic3RhcnRJZCIsInNldFRpbWVvdXQiLCJ1cGRhdGUiLCJydW4iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsImtleSIsIk1hdGgiLCJtYXgiLCJsYXN0RmV0Y2hUaW1lIiwiZnJlcXVlbmN5IiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwidW5kZWZpbmVkIiwiRXJyb3IiLCJhcmdzIiwic2V0IiwiaXNPbmxpbmUiLCJhZGQiLCJoYXMiLCJnZXQiLCJyZW1vdmUiLCJkZWxldGUiLCJzaXplIiwibWluIiwia2V5cyIsImVycm9yIiwiaW50ZXJ2YWxJZCIsImNsZWFySW50ZXJ2YWwiLCJsYXN0SW50ZXJ2YWxJZCIsImNsZWFyVGltZW91dCIsInJlbW92ZU9mZmxpbmVMaXN0ZW5lciIsInN1cCIsImNhbGwiLCJPYmplY3QiLCJhc3NpZ24iLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJlcnJvclBvbGljeSIsImZldGNoIiwiY2F0Y2giLCJzZXRJbnRlcnZhbCIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UyIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UzIiLCJnZXRTdGF0ZSIsIm1ldGEiLCJkYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvUG9sbGluZ1N1YnNjcmlwdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCBDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9Db25uZWN0aW9uTGlzdGVuZXIuanMnO1xuaW1wb3J0IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9EZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb25NYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaWJlQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFBvbGxpbmdTdWJzY3JpcHRpb24ga2VlcHMgYSBnaXZlbiByZXNvdXJjZSB1cGRhdGVkIGJ5XG4gKiBkaXNwYXRjaGluZyBhIGZldGNoIGF0IGEgcmF0ZSBlcXVhbCB0byB0aGUgbWluaW11bSB1cGRhdGVcbiAqIGludGVydmFsIHJlcXVlc3RlZC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9Qb2xsaW5nU3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvbGxpbmdTdWJzY3JpcHRpb24gaW1wbGVtZW50cyBTdWJzY3JpcHRpb24ge1xuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2U7XG4gIHByb3RlY3RlZCBkZWNsYXJlIHJlYWRvbmx5IGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGRlY2xhcmUgZnJlcXVlbmN5OiBudW1iZXI7XG4gIHByb3RlY3RlZCBmcmVxdWVuY3lIaXN0b2dyYW06IE1hcDxudW1iZXIsIG51bWJlcj4gPSBuZXcgTWFwKCk7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGNvbnRyb2xsZXI6IENvbnRyb2xsZXI7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIHByb3RlY3RlZCBkZWNsYXJlIGxhc3RJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBzdGFydElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgZGVjbGFyZSBjb25uZWN0aW9uTGlzdGVuZXI6IENvbm5lY3Rpb25MaXN0ZW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3Rpb246IE9taXQ8U3Vic2NyaWJlQWN0aW9uLCAndHlwZSc+LFxuICAgIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4gICAgY29ubmVjdGlvbkxpc3RlbmVyPzogQ29ubmVjdGlvbkxpc3RlbmVyLFxuICApIHtcbiAgICBpZiAoYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3kgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignZnJlcXVlbmN5IG5lZWRlZCBmb3IgcG9sbGluZyBzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLmVuZHBvaW50ID0gYWN0aW9uLmVuZHBvaW50O1xuICAgIHRoaXMuZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgdGhpcy5hcmdzID0gYWN0aW9uLmFyZ3M7XG4gICAgdGhpcy5rZXkgPSBhY3Rpb24ua2V5O1xuICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldCh0aGlzLmZyZXF1ZW5jeSwgMSk7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lciA9XG4gICAgICBjb25uZWN0aW9uTGlzdGVuZXIgfHwgbmV3IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIoKTtcblxuICAgIC8vIEtpY2tzdGFydCBydW5uaW5nIHNpbmNlIHRoaXMgaXMgaW5pdGlhbGl6ZWQgYWZ0ZXIgdGhlIG9ubGluZSBub3RpZiBpcyBzZW50XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLmlzT25saW5lKCkpIHtcbiAgICAgIHRoaXMub25saW5lTGlzdGVuZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vZmZsaW5lTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKiogU3Vic2NyaWJlIHRvIGEgZnJlcXVlbmN5ICovXG4gIGFkZChmcmVxdWVuY3k/OiBudW1iZXIpIHtcbiAgICBpZiAoZnJlcXVlbmN5ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uaGFzKGZyZXF1ZW5jeSkpIHtcbiAgICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldChcbiAgICAgICAgZnJlcXVlbmN5LFxuICAgICAgICAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSArIDEsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoZnJlcXVlbmN5LCAxKTtcblxuICAgICAgLy8gbmV3IG1pbiBzbyByZXN0YXJ0IHNlcnZpY2VcbiAgICAgIGlmIChmcmVxdWVuY3kgPCB0aGlzLmZyZXF1ZW5jeSkge1xuICAgICAgICB0aGlzLmZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTtcbiAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogVW5zdWJzY3JpYmUgZnJvbSBhIGZyZXF1ZW5jeSAqL1xuICByZW1vdmUoZnJlcXVlbmN5PzogbnVtYmVyKSB7XG4gICAgaWYgKGZyZXF1ZW5jeSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmhhcyhmcmVxdWVuY3kpKSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoXG4gICAgICAgIGZyZXF1ZW5jeSxcbiAgICAgICAgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgLSAxLFxuICAgICAgKTtcbiAgICAgIGlmICgodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSA8IDEpIHtcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZGVsZXRlKGZyZXF1ZW5jeSk7XG5cbiAgICAgICAgLy8gbm90aGluZyBzdWJzY3JpYmVkIHRvIHRoaXMgYW55bW9yZS4uLml0IGlzIGludmFsaWRcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNpemUgPT09IDApIHtcbiAgICAgICAgICB0aGlzLmNsZWFudXAoKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMgd2FzIHRoZSBtaW4sIHNvIGZpbmQgdGhlIG5leHQgc2l6ZVxuICAgICAgICBpZiAoZnJlcXVlbmN5IDw9IHRoaXMuZnJlcXVlbmN5KSB7XG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3kgPSBNYXRoLm1pbiguLi50aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5rZXlzKCkpO1xuICAgICAgICAgIHRoaXMucnVuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGVsc2UgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJ1xuICAgICkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYE1pc21hdGNoZWQgcmVtb3ZlOiAke2ZyZXF1ZW5jeX0gaXMgbm90IHN1YnNjcmliZWQgZm9yICR7dGhpcy5rZXl9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBDbGVhbnVwIG1lYW5zIGNsZWFyaW5nIG91dCBiYWNrZ3JvdW5kIGludGVydmFsLiAqL1xuICBjbGVhbnVwKCkge1xuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhc3RJbnRlcnZhbElkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMubGFzdEludGVydmFsSWQpO1xuICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXJ0SWQpO1xuICAgICAgZGVsZXRlIHRoaXMuc3RhcnRJZDtcbiAgICB9XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT2ZmbGluZUxpc3RlbmVyKHRoaXMub2ZmbGluZUxpc3RlbmVyKTtcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyIHJlcXVlc3QgZm9yIGxhdGVzdCByZXNvdXJjZSAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlKCkge1xuICAgIGNvbnN0IHN1cCA9IHRoaXMuZW5kcG9pbnQ7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgcmV0dXJuIHN1cC5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuICAgIH07XG4gICAgT2JqZWN0LmFzc2lnbihlbmRwb2ludCwgdGhpcy5lbmRwb2ludCk7XG4gICAgZW5kcG9pbnQuZGF0YUV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMjtcbiAgICBlbmRwb2ludC5lcnJvckV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMTA7XG4gICAgZW5kcG9pbnQuZXJyb3JQb2xpY3kgPSAoKSA9PiAnc29mdCcgYXMgY29uc3Q7XG4gICAgZW5kcG9pbnQua2V5ID0gKCkgPT4gdGhpcy5rZXk7XG4gICAgLy8gc3RvcCBhbnkgZXJyb3JzIGhlcmUgZnJvbSBidWJibGluZ1xuICAgIHRoaXMuY29udHJvbGxlci5mZXRjaChlbmRwb2ludCwgLi4udGhpcy5hcmdzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIC8qKiBXaGF0IGhhcHBlbnMgd2hlbiBicm93c2VyIGdvZXMgb2ZmbGluZSAqL1xuICBwcm90ZWN0ZWQgb2ZmbGluZUxpc3RlbmVyID0gKCkgPT4ge1xuICAgIC8vIHRoaXMgY2xlYXJzIGV4aXN0aW5nIGxpc3RlbmVycywgc28gbm8gbmVlZCB0byBjbGVhciBvZmZsaW5lIGxpc3RlbmVyXG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIuYWRkT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gIH07XG5cbiAgLyoqIFdoYXQgaGFwcGVucyB3aGVuIGJyb3dzZXIgY29tZXMgb25saW5lICovXG4gIHByb3RlY3RlZCBvbmxpbmVMaXN0ZW5lciA9ICgpID0+IHtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5yZW1vdmVPbmxpbmVMaXN0ZW5lcih0aGlzLm9ubGluZUxpc3RlbmVyKTtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuc3RhcnRJZCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5zdGFydElkO1xuICAgICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFBvbGwgc2V0VGltZW91dCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IHRpbWVvdXRJZCBkZWxldGVkYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgTWF0aC5tYXgoMCwgdGhpcy5sYXN0RmV0Y2hUaW1lKCkgLSBub3cgKyB0aGlzLmZyZXF1ZW5jeSksXG4gICAgKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5hZGRPZmZsaW5lTGlzdGVuZXIodGhpcy5vZmZsaW5lTGlzdGVuZXIpO1xuICB9O1xuXG4gIC8qKiBSdW4gcG9sbGluZyBwcm9jZXNzIHdpdGggY3VycmVudCBmcmVxdWVuY3lcbiAgICpcbiAgICogV2lsbCBjbGVhbiB1cCBvbGQgcG9sbCBpbnRlcnZhbCBvbiBuZXh0IHJ1blxuICAgKi9cbiAgcHJvdGVjdGVkIHJ1bigpIHtcbiAgICBpZiAodGhpcy5zdGFydElkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkgdGhpcy5sYXN0SW50ZXJ2YWxJZCA9IHRoaXMuaW50ZXJ2YWxJZDtcbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAvLyBzaW5jZSB3ZSBkb24ndCBrbm93IGhvdyBsb25nIGludG8gdGhlIGxhc3QgcG9sbCBpdCB3YXMgYmVmb3JlIHJlc2V0dGluZ1xuICAgICAgLy8gd2Ugd2FpdCB0aWwgdGhlIG5leHQgZmV0Y2ggdG8gY2xlYXIgb2xkIGludGVydmFsc1xuICAgICAgaWYgKHRoaXMubGFzdEludGVydmFsSWQpIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmxhc3RJbnRlcnZhbElkKTtcbiAgICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB0aGlzLnVwZGF0ZSgpO1xuICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFBvbGwgaW50ZXJ2YWxJZCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IGludGVydmFsSWQgZGVsZXRlZGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5mcmVxdWVuY3kpO1xuICB9XG5cbiAgLyoqIExhc3QgZmV0Y2ggdGltZSAqL1xuICBwcm90ZWN0ZWQgbGFzdEZldGNoVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCkubWV0YVt0aGlzLmtleV0/LmRhdGUgPz8gMDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSx5QkFBeUIsTUFBTSxnQ0FBZ0M7QUFLdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1DLG1CQUFtQixDQUF5QjtFQVkvREMsV0FBV0EsQ0FDVEMsTUFBcUMsRUFDckNDLFVBQXNCLEVBQ3RCQyxrQkFBdUMsRUFDdkM7SUFBQSxLQVhRQyxrQkFBa0IsR0FBd0IsSUFBSUMsR0FBRyxDQUFDLENBQUM7SUFvSDdEO0lBQUEsS0FDVUMsZUFBZSxHQUFHLE1BQU07TUFDaEM7TUFDQSxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQ2QsSUFBSSxDQUFDSixrQkFBa0IsQ0FBQ0ssaUJBQWlCLENBQUMsSUFBSSxDQUFDQyxjQUFjLENBQUM7SUFDaEUsQ0FBQztJQUVEO0lBQUEsS0FDVUEsY0FBYyxHQUFHLE1BQU07TUFDL0IsSUFBSSxDQUFDTixrQkFBa0IsQ0FBQ08sb0JBQW9CLENBQUMsSUFBSSxDQUFDRCxjQUFjLENBQUM7TUFDakUsTUFBTUUsR0FBRyxHQUFHQyxJQUFJLENBQUNELEdBQUcsQ0FBQyxDQUFDO01BQ3RCLElBQUksQ0FBQ0UsT0FBTyxHQUFHQyxVQUFVLENBQ3ZCLE1BQU07UUFDSixJQUFJLElBQUksQ0FBQ0QsT0FBTyxFQUFFO1VBQ2hCLE9BQU8sSUFB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
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyIiwiUG9sbGluZ1N1YnNjcmlwdGlvbiIsImNvbnN0cnVjdG9yIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImNvbm5lY3Rpb25MaXN0ZW5lciIsImZyZXF1ZW5jeUhpc3RvZ3JhbSIsIk1hcCIsIm9mZmxpbmVMaXN0ZW5lciIsImNsZWFudXAiLCJhZGRPbmxpbmVMaXN0ZW5lciIsIm9ubGluZUxpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJub3ciLCJEYXRlIiwic3RhcnRJZCIsInNldFRpbWVvdXQiLCJ1cGRhdGUiLCJydW4iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsImtleSIsIk1hdGgiLCJtYXgiLCJsYXN0RmV0Y2hUaW1lIiwiZnJlcXVlbmN5IiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwidW5kZWZpbmVkIiwiRXJyb3IiLCJhcmdzIiwic2V0IiwiaXNPbmxpbmUiLCJhZGQiLCJoYXMiLCJnZXQiLCJyZW1vdmUiLCJkZWxldGUiLCJzaXplIiwibWluIiwia2V5cyIsImVycm9yIiwiaW50ZXJ2YWxJZCIsImNsZWFySW50ZXJ2YWwiLCJsYXN0SW50ZXJ2YWxJZCIsImNsZWFyVGltZW91dCIsInJlbW92ZU9mZmxpbmVMaXN0ZW5lciIsInN1cCIsImNhbGwiLCJPYmplY3QiLCJhc3NpZ24iLCJkYXRhRXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJlcnJvclBvbGljeSIsImZldGNoIiwiY2F0Y2giLCJzZXRJbnRlcnZhbCIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UyIsIl90aGlzJGNvbnRyb2xsZXIkZ2V0UzIiLCJnZXRTdGF0ZSIsIm1ldGEiLCJkYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvUG9sbGluZ1N1YnNjcmlwdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCBDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9Db25uZWN0aW9uTGlzdGVuZXIuanMnO1xuaW1wb3J0IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9EZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb25NYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaWJlQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFBvbGxpbmdTdWJzY3JpcHRpb24ga2VlcHMgYSBnaXZlbiByZXNvdXJjZSB1cGRhdGVkIGJ5XG4gKiBkaXNwYXRjaGluZyBhIGZldGNoIGF0IGEgcmF0ZSBlcXVhbCB0byB0aGUgbWluaW11bSB1cGRhdGVcbiAqIGludGVydmFsIHJlcXVlc3RlZC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9Qb2xsaW5nU3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvbGxpbmdTdWJzY3JpcHRpb24gaW1wbGVtZW50cyBTdWJzY3JpcHRpb24ge1xuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2U7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIHJlYWRvbmx5IGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBkZWNsYXJlIHByb3RlY3RlZCByZWFkb25seSBrZXk6IHN0cmluZztcbiAgZGVjbGFyZSBwcm90ZWN0ZWQgZnJlcXVlbmN5OiBudW1iZXI7XG4gIHByb3RlY3RlZCBmcmVxdWVuY3lIaXN0b2dyYW06IE1hcDxudW1iZXIsIG51bWJlcj4gPSBuZXcgTWFwKCk7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IENvbnRyb2xsZXI7XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIGRlY2xhcmUgcHJvdGVjdGVkIGxhc3RJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBkZWNsYXJlIHByb3RlY3RlZCBzdGFydElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIGRlY2xhcmUgcHJpdmF0ZSBjb25uZWN0aW9uTGlzdGVuZXI6IENvbm5lY3Rpb25MaXN0ZW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3Rpb246IE9taXQ8U3Vic2NyaWJlQWN0aW9uLCAndHlwZSc+LFxuICAgIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4gICAgY29ubmVjdGlvbkxpc3RlbmVyPzogQ29ubmVjdGlvbkxpc3RlbmVyLFxuICApIHtcbiAgICBpZiAoYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3kgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignZnJlcXVlbmN5IG5lZWRlZCBmb3IgcG9sbGluZyBzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLmVuZHBvaW50ID0gYWN0aW9uLmVuZHBvaW50O1xuICAgIHRoaXMuZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgdGhpcy5hcmdzID0gYWN0aW9uLmFyZ3M7XG4gICAgdGhpcy5rZXkgPSBhY3Rpb24ua2V5O1xuICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldCh0aGlzLmZyZXF1ZW5jeSwgMSk7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lciA9XG4gICAgICBjb25uZWN0aW9uTGlzdGVuZXIgfHwgbmV3IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIoKTtcblxuICAgIC8vIEtpY2tzdGFydCBydW5uaW5nIHNpbmNlIHRoaXMgaXMgaW5pdGlhbGl6ZWQgYWZ0ZXIgdGhlIG9ubGluZSBub3RpZiBpcyBzZW50XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLmlzT25saW5lKCkpIHtcbiAgICAgIHRoaXMub25saW5lTGlzdGVuZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vZmZsaW5lTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKiogU3Vic2NyaWJlIHRvIGEgZnJlcXVlbmN5ICovXG4gIGFkZChmcmVxdWVuY3k/OiBudW1iZXIpIHtcbiAgICBpZiAoZnJlcXVlbmN5ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uaGFzKGZyZXF1ZW5jeSkpIHtcbiAgICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNldChcbiAgICAgICAgZnJlcXVlbmN5LFxuICAgICAgICAodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSArIDEsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoZnJlcXVlbmN5LCAxKTtcblxuICAgICAgLy8gbmV3IG1pbiBzbyByZXN0YXJ0IHNlcnZpY2VcbiAgICAgIGlmIChmcmVxdWVuY3kgPCB0aGlzLmZyZXF1ZW5jeSkge1xuICAgICAgICB0aGlzLmZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTtcbiAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogVW5zdWJzY3JpYmUgZnJvbSBhIGZyZXF1ZW5jeSAqL1xuICByZW1vdmUoZnJlcXVlbmN5PzogbnVtYmVyKSB7XG4gICAgaWYgKGZyZXF1ZW5jeSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmhhcyhmcmVxdWVuY3kpKSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoXG4gICAgICAgIGZyZXF1ZW5jeSxcbiAgICAgICAgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgLSAxLFxuICAgICAgKTtcbiAgICAgIGlmICgodGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZ2V0KGZyZXF1ZW5jeSkgYXMgbnVtYmVyKSA8IDEpIHtcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uZGVsZXRlKGZyZXF1ZW5jeSk7XG5cbiAgICAgICAgLy8gbm90aGluZyBzdWJzY3JpYmVkIHRvIHRoaXMgYW55bW9yZS4uLml0IGlzIGludmFsaWRcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLnNpemUgPT09IDApIHtcbiAgICAgICAgICB0aGlzLmNsZWFudXAoKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMgd2FzIHRoZSBtaW4sIHNvIGZpbmQgdGhlIG5leHQgc2l6ZVxuICAgICAgICBpZiAoZnJlcXVlbmN5IDw9IHRoaXMuZnJlcXVlbmN5KSB7XG4gICAgICAgICAgdGhpcy5mcmVxdWVuY3kgPSBNYXRoLm1pbiguLi50aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5rZXlzKCkpO1xuICAgICAgICAgIHRoaXMucnVuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGVsc2UgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJ1xuICAgICkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYE1pc21hdGNoZWQgcmVtb3ZlOiAke2ZyZXF1ZW5jeX0gaXMgbm90IHN1YnNjcmliZWQgZm9yICR7dGhpcy5rZXl9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBDbGVhbnVwIG1lYW5zIGNsZWFyaW5nIG91dCBiYWNrZ3JvdW5kIGludGVydmFsLiAqL1xuICBjbGVhbnVwKCkge1xuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhc3RJbnRlcnZhbElkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMubGFzdEludGVydmFsSWQpO1xuICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXJ0SWQpO1xuICAgICAgZGVsZXRlIHRoaXMuc3RhcnRJZDtcbiAgICB9XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT2ZmbGluZUxpc3RlbmVyKHRoaXMub2ZmbGluZUxpc3RlbmVyKTtcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyIHJlcXVlc3QgZm9yIGxhdGVzdCByZXNvdXJjZSAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlKCkge1xuICAgIGNvbnN0IHN1cCA9IHRoaXMuZW5kcG9pbnQ7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgcmV0dXJuIHN1cC5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuICAgIH07XG4gICAgT2JqZWN0LmFzc2lnbihlbmRwb2ludCwgdGhpcy5lbmRwb2ludCk7XG4gICAgZW5kcG9pbnQuZGF0YUV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMjtcbiAgICBlbmRwb2ludC5lcnJvckV4cGlyeUxlbmd0aCA9IHRoaXMuZnJlcXVlbmN5IC8gMTA7XG4gICAgZW5kcG9pbnQuZXJyb3JQb2xpY3kgPSAoKSA9PiAnc29mdCcgYXMgY29uc3Q7XG4gICAgZW5kcG9pbnQua2V5ID0gKCkgPT4gdGhpcy5rZXk7XG4gICAgLy8gc3RvcCBhbnkgZXJyb3JzIGhlcmUgZnJvbSBidWJibGluZ1xuICAgIHRoaXMuY29udHJvbGxlci5mZXRjaChlbmRwb2ludCwgLi4udGhpcy5hcmdzKS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIC8qKiBXaGF0IGhhcHBlbnMgd2hlbiBicm93c2VyIGdvZXMgb2ZmbGluZSAqL1xuICBwcm90ZWN0ZWQgb2ZmbGluZUxpc3RlbmVyID0gKCkgPT4ge1xuICAgIC8vIHRoaXMgY2xlYXJzIGV4aXN0aW5nIGxpc3RlbmVycywgc28gbm8gbmVlZCB0byBjbGVhciBvZmZsaW5lIGxpc3RlbmVyXG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIuYWRkT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gIH07XG5cbiAgLyoqIFdoYXQgaGFwcGVucyB3aGVuIGJyb3dzZXIgY29tZXMgb25saW5lICovXG4gIHByb3RlY3RlZCBvbmxpbmVMaXN0ZW5lciA9ICgpID0+IHtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5yZW1vdmVPbmxpbmVMaXN0ZW5lcih0aGlzLm9ubGluZUxpc3RlbmVyKTtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIHRoaXMuc3RhcnRJZCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnN0YXJ0SWQpIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5zdGFydElkO1xuICAgICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFBvbGwgc2V0VGltZW91dCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IHRpbWVvdXRJZCBkZWxldGVkYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgTWF0aC5tYXgoMCwgdGhpcy5sYXN0RmV0Y2hUaW1lKCkgLSBub3cgKyB0aGlzLmZyZXF1ZW5jeSksXG4gICAgKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5hZGRPZmZsaW5lTGlzdGVuZXIodGhpcy5vZmZsaW5lTGlzdGVuZXIpO1xuICB9O1xuXG4gIC8qKiBSdW4gcG9sbGluZyBwcm9jZXNzIHdpdGggY3VycmVudCBmcmVxdWVuY3lcbiAgICpcbiAgICogV2lsbCBjbGVhbiB1cCBvbGQgcG9sbCBpbnRlcnZhbCBvbiBuZXh0IHJ1blxuICAgKi9cbiAgcHJvdGVjdGVkIHJ1bigpIHtcbiAgICBpZiAodGhpcy5zdGFydElkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkgdGhpcy5sYXN0SW50ZXJ2YWxJZCA9IHRoaXMuaW50ZXJ2YWxJZDtcbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAvLyBzaW5jZSB3ZSBkb24ndCBrbm93IGhvdyBsb25nIGludG8gdGhlIGxhc3QgcG9sbCBpdCB3YXMgYmVmb3JlIHJlc2V0dGluZ1xuICAgICAgLy8gd2Ugd2FpdCB0aWwgdGhlIG5leHQgZmV0Y2ggdG8gY2xlYXIgb2xkIGludGVydmFsc1xuICAgICAgaWYgKHRoaXMubGFzdEludGVydmFsSWQpIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmxhc3RJbnRlcnZhbElkKTtcbiAgICAgICAgZGVsZXRlIHRoaXMubGFzdEludGVydmFsSWQ7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB0aGlzLnVwZGF0ZSgpO1xuICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFBvbGwgaW50ZXJ2YWxJZCBmb3IgJHt0aGlzLmtleX0gc3RpbGwgcnVubmluZywgYnV0IGludGVydmFsSWQgZGVsZXRlZGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5mcmVxdWVuY3kpO1xuICB9XG5cbiAgLyoqIExhc3QgZmV0Y2ggdGltZSAqL1xuICBwcm90ZWN0ZWQgbGFzdEZldGNoVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCkubWV0YVt0aGlzLmtleV0/LmRhdGUgPz8gMDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSx5QkFBeUIsTUFBTSxnQ0FBZ0M7QUFLdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1DLG1CQUFtQixDQUF5QjtFQVkvREMsV0FBV0EsQ0FDVEMsTUFBcUMsRUFDckNDLFVBQXNCLEVBQ3RCQyxrQkFBdUMsRUFDdkM7SUFBQSxLQVhRQyxrQkFBa0IsR0FBd0IsSUFBSUMsR0FBRyxDQUFDLENBQUM7SUFvSDdEO0lBQUEsS0FDVUMsZUFBZSxHQUFHLE1BQU07TUFDaEM7TUFDQSxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQ2QsSUFBSSxDQUFDSixrQkFBa0IsQ0FBQ0ssaUJBQWlCLENBQUMsSUFBSSxDQUFDQyxjQUFjLENBQUM7SUFDaEUsQ0FBQztJQUVEO0lBQUEsS0FDVUEsY0FBYyxHQUFHLE1BQU07TUFDL0IsSUFBSSxDQUFDTixrQkFBa0IsQ0FBQ08sb0JBQW9CLENBQUMsSUFBSSxDQUFDRCxjQUFjLENBQUM7TUFDakUsTUFBTUUsR0FBRyxHQUFHQyxJQUFJLENBQUNELEdBQUcsQ0FBQyxDQUFDO01BQ3RCLElBQUksQ0FBQ0UsT0FBTyxHQUFHQyxVQUFVLENBQ3ZCLE1BQU07UUFDSixJQUFJLElBQUksQ0FBQ0QsT0FBTyxFQUFFO1VBQ2hCLE9BQU8sSUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionManager.d.ts","sourceRoot":"","sources":["../../src/manager/SubscriptionManager.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,KAAK,OAAO,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEnD,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,KACE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EACrC,UAAU,EAAE,UAAU,GACrB,YAAY,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB,CACtC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB,CAC/D,YAAW,OAAO,CAAC,OAAO,CAAC;IAE3B,SAAS,CAAC,aAAa,EAAE;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;KAChC,CAAM;IAEP,mBAA2B,YAAY,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,UAAU,EAAE,UAAU,CAAoB;gBAExC,YAAY,EAAE,CAAC;IAI3B,UAAU,EAAE,UAAU,CAkBpB;IAEF,gDAAgD;IAChD,OAAO;IAMP;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe;IAcjD;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;CActD"}
1
+ {"version":3,"file":"SubscriptionManager.d.ts","sourceRoot":"","sources":["../../src/manager/SubscriptionManager.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,KAAK,OAAO,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEnD,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,KACE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EACrC,UAAU,EAAE,UAAU,GACrB,YAAY,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB,CACtC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB,CAC/D,YAAW,OAAO,CAAC,OAAO,CAAC;IAE3B,SAAS,CAAC,aAAa,EAAE;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;KAChC,CAAM;IAEP,mBAA2B,YAAY,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,UAAU,EAAE,UAAU,CAAoB;gBAExC,YAAY,EAAE,CAAC;IAI3B,UAAU,EAAE,UAAU,CAkBpB;IAEF,gDAAgD;IAChD,OAAO;IAMP;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe;IAcjD;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;CActD"}
@@ -75,4 +75,4 @@ export default class SubscriptionManager {
75
75
  }
76
76
  }
77
77
  }
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkUiLCJVTlNVQlNDUklCRSIsIkNvbnRyb2xsZXIiLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb25zIiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZVN1YnNjcmliZSIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZVVuc3Vic2NyaWJlIiwiY2xlYW51cCIsImtleSIsImZyZXF1ZW5jeSIsImVuZHBvaW50IiwicG9sbEZyZXF1ZW5jeSIsImFkZCIsImVtcHR5IiwicmVtb3ZlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkUsIFVOU1VCU0NSSUJFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWFuYWdlcixcbiAgTWlkZGxld2FyZUFQSSxcbiAgTWlkZGxld2FyZSxcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIEFjdGlvbnMgPSBVbnN1YnNjcmliZUFjdGlvbiB8IFN1YnNjcmliZUFjdGlvbjtcblxuLyoqIEludGVyZmFjZSBoYW5kbGluZyBhIHNpbmdsZSByZXNvdXJjZSBzdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgYWRkKGZyZXF1ZW5jeT86IG51bWJlcik6IHZvaWQ7XG4gIHJlbW92ZShmcmVxdWVuY3k/OiBudW1iZXIpOiBib29sZWFuO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG5cbi8qKiBUaGUgc3RhdGljIGNsYXNzIHRoYXQgY29uc3RydWN0cyBTdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSB7XG4gIG5ldyAoXG4gICAgYWN0aW9uOiBPbWl0PFN1YnNjcmliZUFjdGlvbiwgJ3R5cGUnPixcbiAgICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbi8qKiBIYW5kbGVzIHN1YnNjcmlwdGlvbiBhY3Rpb25zIC0+IGZldGNoIG9yIHNldCBhY3Rpb25zXG4gKlxuICogQ29uc3RydWN0b3IgdGFrZXMgYSBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlIGNsYXNzIHRvIGNvbnRyb2wgaG93XG4gKiBzdWJzY3JpcHRpb25zIGFyZSBoYW5kbGVkLiAoZS5nLiwgcG9sbGluZywgd2Vic29ja2V0cylcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9TdWJzY3JpcHRpb25NYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnNjcmlwdGlvbk1hbmFnZXI8XG4gIFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlID0gU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSxcbj4gaW1wbGVtZW50cyBNYW5hZ2VyPEFjdGlvbnM+XG57XG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiB7XG4gICAgW2tleTogc3RyaW5nXTogSW5zdGFuY2VUeXBlPFM+O1xuICB9ID0ge307XG5cbiAgcHJvdGVjdGVkIGRlY2xhcmUgcmVhZG9ubHkgU3Vic2NyaXB0aW9uOiBTO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG5cbiAgY29uc3RydWN0b3IoU3Vic2NyaXB0aW9uOiBTKSB7XG4gICAgdGhpcy5TdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb247XG4gIH1cblxuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlID0gY29udHJvbGxlciA9PiB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFNVQlNDUklCRTpcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWJzY3JpYmUoYWN0aW9uKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGNhc2UgVU5TVUJTQ1JJQkU6XG4gICAgICAgICAgdGhpcy5oYW5kbGVVbnN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5jbGVhbnVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3N1YnNjcmliZScgYWN0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVN1YnNjcmliZShhY3Rpb246IFN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICBpZiAoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgY29uc3QgZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5hZGQoZnJlcXVlbmN5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2tleV0gPSBuZXcgdGhpcy5TdWJzY3JpcHRpb24oXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLFxuICAgICAgKSBhcyBJbnN0YW5jZVR5cGU8Uz47XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3Vuc3Vic2NyaWJlJyBhY3Rpb24uXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlVW5zdWJzY3JpYmUoYWN0aW9uOiBVbnN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIGNvbnN0IGVtcHR5ID0gdGhpcy5zdWJzY3JpcHRpb25zW2tleV0ucmVtb3ZlKGZyZXF1ZW5jeSk7XG4gICAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihgTWlzbWF0Y2hlZCB1bnN1YnNjcmliZTogJHtrZXl9IGlzIG5vdCBzdWJzY3JpYmVkYCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsRUFBRUMsV0FBVyxRQUFRLG1CQUFtQjtBQUMxRCxPQUFPQyxVQUFVLE1BQU0s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
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkUiLCJVTlNVQlNDUklCRSIsIkNvbnRyb2xsZXIiLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJTdWJzY3JpcHRpb24iLCJzdWJzY3JpcHRpb25zIiwiY29udHJvbGxlciIsIm1pZGRsZXdhcmUiLCJuZXh0IiwiYWN0aW9uIiwidHlwZSIsImhhbmRsZVN1YnNjcmliZSIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImhhbmRsZVVuc3Vic2NyaWJlIiwiY2xlYW51cCIsImtleSIsImZyZXF1ZW5jeSIsImVuZHBvaW50IiwicG9sbEZyZXF1ZW5jeSIsImFkZCIsImVtcHR5IiwicmVtb3ZlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkUsIFVOU1VCU0NSSUJFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWFuYWdlcixcbiAgTWlkZGxld2FyZSxcbiAgVW5zdWJzY3JpYmVBY3Rpb24sXG4gIFN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG50eXBlIEFjdGlvbnMgPSBVbnN1YnNjcmliZUFjdGlvbiB8IFN1YnNjcmliZUFjdGlvbjtcblxuLyoqIEludGVyZmFjZSBoYW5kbGluZyBhIHNpbmdsZSByZXNvdXJjZSBzdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcbiAgYWRkKGZyZXF1ZW5jeT86IG51bWJlcik6IHZvaWQ7XG4gIHJlbW92ZShmcmVxdWVuY3k/OiBudW1iZXIpOiBib29sZWFuO1xuICBjbGVhbnVwKCk6IHZvaWQ7XG59XG5cbi8qKiBUaGUgc3RhdGljIGNsYXNzIHRoYXQgY29uc3RydWN0cyBTdWJzY3JpcHRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSB7XG4gIG5ldyAoXG4gICAgYWN0aW9uOiBPbWl0PFN1YnNjcmliZUFjdGlvbiwgJ3R5cGUnPixcbiAgICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbi8qKiBIYW5kbGVzIHN1YnNjcmlwdGlvbiBhY3Rpb25zIC0+IGZldGNoIG9yIHNldCBhY3Rpb25zXG4gKlxuICogQ29uc3RydWN0b3IgdGFrZXMgYSBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlIGNsYXNzIHRvIGNvbnRyb2wgaG93XG4gKiBzdWJzY3JpcHRpb25zIGFyZSBoYW5kbGVkLiAoZS5nLiwgcG9sbGluZywgd2Vic29ja2V0cylcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9TdWJzY3JpcHRpb25NYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnNjcmlwdGlvbk1hbmFnZXI8XG4gIFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlID0gU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSxcbj4gaW1wbGVtZW50cyBNYW5hZ2VyPEFjdGlvbnM+XG57XG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiB7XG4gICAgW2tleTogc3RyaW5nXTogSW5zdGFuY2VUeXBlPFM+O1xuICB9ID0ge307XG5cbiAgZGVjbGFyZSBwcm90ZWN0ZWQgcmVhZG9ubHkgU3Vic2NyaXB0aW9uOiBTO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG5cbiAgY29uc3RydWN0b3IoU3Vic2NyaXB0aW9uOiBTKSB7XG4gICAgdGhpcy5TdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb247XG4gIH1cblxuICBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlID0gY29udHJvbGxlciA9PiB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICByZXR1cm4gbmV4dCA9PiBhY3Rpb24gPT4ge1xuICAgICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFNVQlNDUklCRTpcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWJzY3JpYmUoYWN0aW9uKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGNhc2UgVU5TVUJTQ1JJQkU6XG4gICAgICAgICAgdGhpcy5oYW5kbGVVbnN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5jbGVhbnVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3N1YnNjcmliZScgYWN0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVN1YnNjcmliZShhY3Rpb246IFN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICBpZiAoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgY29uc3QgZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5hZGQoZnJlcXVlbmN5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zW2tleV0gPSBuZXcgdGhpcy5TdWJzY3JpcHRpb24oXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLFxuICAgICAgKSBhcyBJbnN0YW5jZVR5cGU8Uz47XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3Vuc3Vic2NyaWJlJyBhY3Rpb24uXG4gICAqXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlVW5zdWJzY3JpYmUoYWN0aW9uOiBVbnN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5rZXk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIGNvbnN0IGVtcHR5ID0gdGhpcy5zdWJzY3JpcHRpb25zW2tleV0ucmVtb3ZlKGZyZXF1ZW5jeSk7XG4gICAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihgTWlzbWF0Y2hlZCB1bnN1YnNjcmliZTogJHtrZXl9IGlzIG5vdCBzdWJzY3JpYmVkYCk7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsRUFBRUMsV0FBVyxRQUFRLG1CQUFtQjtBQUMxRCxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCOztBQVVwRDs7QUFP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
@@ -1 +1 @@
1
- {"version":3,"file":"applyManager.d.ts","sourceRoot":"","sources":["../../src/manager/applyManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,UAAU,GACrB,eAAe,EAAE,CAwBnB;AAGD,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAE/C,QAAQ,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5B;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC1D,QAAQ,GACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;AAG1E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CACvD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAClD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC9C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IACnD,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"applyManager.d.ts","sourceRoot":"","sources":["../../src/manager/applyManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,UAAU,GACrB,eAAe,EAAE,CAuBnB;AAGD,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAE/C,QAAQ,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5B;AACD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC1D,QAAQ,GACT,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;AAG1E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CACvD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAClD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC9C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IACnD,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -7,13 +7,9 @@ export default function applyManager(managers, controller) {
7
7
  }
8
8
  return managers.map((manager, i) => {
9
9
  if (!manager.middleware) manager.middleware = manager.getMiddleware == null ? void 0 : manager.getMiddleware();
10
- return ({
11
- dispatch,
12
- getState
13
- }) => {
10
+ return api => {
14
11
  if (i === 0) {
15
- controller.dispatch = dispatch;
16
- controller.getState = getState;
12
+ controller.bindMiddleware(api);
17
13
  }
18
14
  // controller is a superset of the middleware API
19
15
  return manager.middleware(controller);
@@ -24,4 +20,4 @@ export default function applyManager(managers, controller) {
24
20
  /* These should be compatible with redux */
25
21
 
26
22
  /* The next are types from React; but we don't want dependencies on it */
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOZXR3b3JrTWFuYWdlciIsImFwcGx5TWFuYWdlciIsIm1hbmFnZXJzIiwiY29udHJvbGxlciIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImZpbmQiLCJtZ3IiLCJjb25zb2xlIiwid2FybiIsIm1hcCIsIm1hbmFnZXIiLCJpIiwibWlkZGxld2FyZSIsImdldE1pZGRsZXdhcmUiLCJkaXNwYXRjaCIsImdldFN0YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvYXBwbHlNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBOZXR3b3JrTWFuYWdlciBmcm9tICcuL05ldHdvcmtNYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB7IE1hbmFnZXIgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFwcGx5TWFuYWdlcihcbiAgbWFuYWdlcnM6IE1hbmFnZXJbXSxcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbik6IFJlZHV4TWlkZGxld2FyZVtdIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKFxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAhbWFuYWdlcnMuZmluZChtZ3IgPT4gbWdyIGluc3RhbmNlb2YgTmV0d29ya01hbmFnZXIpXG4gICkge1xuICAgIGNvbnNvbGUud2FybignTmV0d29ya01hbmFnZXIgbm90IGZvdW5kOyB0aGlzIGlzIGEgcmVxdWlyZWQgbWFuYWdlci4nKTtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnU2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2d1aWRlcy9yZWR1eCBmb3IgaG9va2luZyB1cCByZWR1eCcsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbWFuYWdlcnMubWFwKChtYW5hZ2VyLCBpKSA9PiB7XG4gICAgaWYgKCFtYW5hZ2VyLm1pZGRsZXdhcmUpIG1hbmFnZXIubWlkZGxld2FyZSA9IG1hbmFnZXIuZ2V0TWlkZGxld2FyZT8uKCk7XG4gICAgcmV0dXJuICh7IGRpc3BhdGNoLCBnZXRTdGF0ZSB9KSA9PiB7XG4gICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAoY29udHJvbGxlciBhcyBhbnkpLmRpc3BhdGNoID0gZGlzcGF0Y2g7XG4gICAgICAgIChjb250cm9sbGVyIGFzIGFueSkuZ2V0U3RhdGUgPSBnZXRTdGF0ZTtcbiAgICAgIH1cbiAgICAgIC8vIGNvbnRyb2xsZXIgaXMgYSBzdXBlcnNldCBvZiB0aGUgbWlkZGxld2FyZSBBUElcbiAgICAgIHJldHVybiAobWFuYWdlciBhcyBNYW5hZ2VyICYgeyBtaWRkbGV3YXJlOiBSZWR1eE1pZGRsZXdhcmUgfSkubWlkZGxld2FyZShcbiAgICAgICAgY29udHJvbGxlciBhcyBDb250cm9sbGVyPGFueT4sXG4gICAgICApO1xuICAgIH07XG4gIH0pO1xufVxuXG4vKiBUaGVzZSBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIHJlZHV4ICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZHV4TWlkZGxld2FyZUFQSTxcbiAgUiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+ID0gUmVkdWNlcjxhbnksIGFueT4sXG4+IHtcbiAgZ2V0U3RhdGU6ICgpID0+IFJlZHVjZXJTdGF0ZTxSPjtcbiAgZGlzcGF0Y2g6IFJlYWN0RGlzcGF0Y2g8Uj47XG59XG5leHBvcnQgdHlwZSBSZWR1eE1pZGRsZXdhcmUgPSA8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+Pih7XG4gIGRpc3BhdGNoLFxufTogUmVkdXhNaWRkbGV3YXJlQVBJPFI+KSA9PiAobmV4dDogUmVhY3REaXNwYXRjaDxSPikgPT4gUmVhY3REaXNwYXRjaDxSPjtcblxuLyogVGhlIG5leHQgYXJlIHR5cGVzIGZyb20gUmVhY3Q7IGJ1dCB3ZSBkb24ndCB3YW50IGRlcGVuZGVuY2llcyBvbiBpdCAqL1xuZXhwb3J0IHR5cGUgUmVhY3REaXNwYXRjaDxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gKFxuICBhY3Rpb246IFJlZHVjZXJBY3Rpb248Uj4sXG4pID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCB0eXBlIFJlZHVjZXI8UywgQT4gPSAocHJldlN0YXRlOiBTLCBhY3Rpb246IEEpID0+IFM7XG5leHBvcnQgdHlwZSBSZWR1Y2VyU3RhdGU8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9XG4gIFIgZXh0ZW5kcyBSZWR1Y2VyPGluZmVyIFMsIGFueT4gPyBTIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBSZWR1Y2VyQWN0aW9uPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPVxuICBSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGluZmVyIEE+ID8gQSA6IG5ldmVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxjQUFjLE1BQU0scUJBQXFCO0FBSWhELGVBQWUsU0FBU0MsWUFBWUEsQ0FDbENDLFFBQW1CLEVBQ25CQyxVQUFzQixFQUNIO0VBQ25CO0VBQ0EsSUFDRUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLElBQ3JDLENBQUNKLFFBQVEsQ0FBQ0ssSUFBSSxDQUFDQyxHQUFHLElBQUlBLEdBQUcsWUFBWVIsY0FBYyxDQUFDLEVBQ3BEO0lBQ0FTLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLHVEQUF1RCxDQUFDO0lBQ3JFRCxPQUFPLENBQUNDLElBQUksQ0FDVixrRUFDRixDQUFDO0VBQ0g7RUFDQSxPQUFPUixRQUFRLENBQUNTLEdBQUcsQ0FBQyxDQUFDQyxPQUFPLEVBQUVDLENBQUMsS0FBSztJQUNsQyxJQUFJLENBQUNELE9BQU8sQ0FBQ0UsVUFBVSxFQUFFRixPQUFPLENBQUNFLFVBQVUsR0FBR0YsT0FBTyxDQUFDRyxhQUFhLG9CQUFyQkgsT0FBTyxDQUFDRyxhQUFhLENBQUcsQ0FBQztJQUN2RSxPQUFPLENBQUM7TUFBRUMsUUFBUTtNQUFFQztJQUFTLENBQUMsS0FBSztNQUNqQyxJQUFJSixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ1ZWLFVBQVUsQ0FBU2EsUUFBUSxHQUFHQSxRQUFRO1FBQ3RDYixVQUFVLENBQVNjLFFBQVEsR0FBR0EsUUFBUTtNQUN6QztNQUNBO01BQ0EsT0FBUUwsT0FBTyxDQUErQ0UsVUFBVSxDQUN0RVgsVUFDRixDQUFDO0lBQ0gsQ0FBQztFQUNILENBQUMsQ0FBQztBQUNKOztBQUVBOztBQVdBIiwiaWdub3JlTGlzdCI6W119
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOZXR3b3JrTWFuYWdlciIsImFwcGx5TWFuYWdlciIsIm1hbmFnZXJzIiwiY29udHJvbGxlciIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImZpbmQiLCJtZ3IiLCJjb25zb2xlIiwid2FybiIsIm1hcCIsIm1hbmFnZXIiLCJpIiwibWlkZGxld2FyZSIsImdldE1pZGRsZXdhcmUiLCJhcGkiLCJiaW5kTWlkZGxld2FyZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL2FwcGx5TWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTmV0d29ya01hbmFnZXIgZnJvbSAnLi9OZXR3b3JrTWFuYWdlci5qcyc7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyBNYW5hZ2VyIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhcHBseU1hbmFnZXIoXG4gIG1hbmFnZXJzOiBNYW5hZ2VyW10sXG4gIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4pOiBSZWR1eE1pZGRsZXdhcmVbXSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmIChcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgIW1hbmFnZXJzLmZpbmQobWdyID0+IG1nciBpbnN0YW5jZW9mIE5ldHdvcmtNYW5hZ2VyKVxuICApIHtcbiAgICBjb25zb2xlLndhcm4oJ05ldHdvcmtNYW5hZ2VyIG5vdCBmb3VuZDsgdGhpcyBpcyBhIHJlcXVpcmVkIG1hbmFnZXIuJyk7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ1NlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9ndWlkZXMvcmVkdXggZm9yIGhvb2tpbmcgdXAgcmVkdXgnLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG1hbmFnZXJzLm1hcCgobWFuYWdlciwgaSkgPT4ge1xuICAgIGlmICghbWFuYWdlci5taWRkbGV3YXJlKSBtYW5hZ2VyLm1pZGRsZXdhcmUgPSBtYW5hZ2VyLmdldE1pZGRsZXdhcmU/LigpO1xuICAgIHJldHVybiAoYXBpOiBSZWR1eE1pZGRsZXdhcmVBUEkpID0+IHtcbiAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgIGNvbnRyb2xsZXIuYmluZE1pZGRsZXdhcmUoYXBpKTtcbiAgICAgIH1cbiAgICAgIC8vIGNvbnRyb2xsZXIgaXMgYSBzdXBlcnNldCBvZiB0aGUgbWlkZGxld2FyZSBBUElcbiAgICAgIHJldHVybiAobWFuYWdlciBhcyBNYW5hZ2VyICYgeyBtaWRkbGV3YXJlOiBSZWR1eE1pZGRsZXdhcmUgfSkubWlkZGxld2FyZShcbiAgICAgICAgY29udHJvbGxlciBhcyBhbnksXG4gICAgICApO1xuICAgIH07XG4gIH0pO1xufVxuXG4vKiBUaGVzZSBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIHJlZHV4ICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZHV4TWlkZGxld2FyZUFQSTxcbiAgUiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+ID0gUmVkdWNlcjxhbnksIGFueT4sXG4+IHtcbiAgZ2V0U3RhdGU6ICgpID0+IFJlZHVjZXJTdGF0ZTxSPjtcbiAgZGlzcGF0Y2g6IFJlYWN0RGlzcGF0Y2g8Uj47XG59XG5leHBvcnQgdHlwZSBSZWR1eE1pZGRsZXdhcmUgPSA8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+Pih7XG4gIGRpc3BhdGNoLFxufTogUmVkdXhNaWRkbGV3YXJlQVBJPFI+KSA9PiAobmV4dDogUmVhY3REaXNwYXRjaDxSPikgPT4gUmVhY3REaXNwYXRjaDxSPjtcblxuLyogVGhlIG5leHQgYXJlIHR5cGVzIGZyb20gUmVhY3Q7IGJ1dCB3ZSBkb24ndCB3YW50IGRlcGVuZGVuY2llcyBvbiBpdCAqL1xuZXhwb3J0IHR5cGUgUmVhY3REaXNwYXRjaDxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gKFxuICBhY3Rpb246IFJlZHVjZXJBY3Rpb248Uj4sXG4pID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCB0eXBlIFJlZHVjZXI8UywgQT4gPSAocHJldlN0YXRlOiBTLCBhY3Rpb246IEEpID0+IFM7XG5leHBvcnQgdHlwZSBSZWR1Y2VyU3RhdGU8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9XG4gIFIgZXh0ZW5kcyBSZWR1Y2VyPGluZmVyIFMsIGFueT4gPyBTIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBSZWR1Y2VyQWN0aW9uPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPVxuICBSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGluZmVyIEE+ID8gQSA6IG5ldmVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxjQUFjLE1BQU0scUJBQXFCO0FBSWhELGVBQWUsU0FBU0MsWUFBWUEsQ0FDbENDLFFBQW1CLEVBQ25CQyxVQUFzQixFQUNIO0VBQ25CO0VBQ0EsSUFDRUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLElBQ3JDLENBQUNKLFFBQVEsQ0FBQ0ssSUFBSSxDQUFDQyxHQUFHLElBQUlBLEdBQUcsWUFBWVIsY0FBYyxDQUFDLEVBQ3BEO0lBQ0FTLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLHVEQUF1RCxDQUFDO0lBQ3JFRCxPQUFPLENBQUNDLElBQUksQ0FDVixrRUFDRixDQUFDO0VBQ0g7RUFDQSxPQUFPUixRQUFRLENBQUNTLEdBQUcsQ0FBQyxDQUFDQyxPQUFPLEVBQUVDLENBQUMsS0FBSztJQUNsQyxJQUFJLENBQUNELE9BQU8sQ0FBQ0UsVUFBVSxFQUFFRixPQUFPLENBQUNFLFVBQVUsR0FBR0YsT0FBTyxDQUFDRyxhQUFhLG9CQUFyQkgsT0FBTyxDQUFDRyxhQUFhLENBQUcsQ0FBQztJQUN2RSxPQUFRQyxHQUF1QixJQUFLO01BQ2xDLElBQUlILENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDWFYsVUFBVSxDQUFDYyxjQUFjLENBQUNELEdBQUcsQ0FBQztNQUNoQztNQUNBO01BQ0EsT0FBUUosT0FBTyxDQUErQ0UsVUFBVSxDQUN0RVgsVUFDRixDQUFDO0lBQ0gsQ0FBQztFQUNILENBQUMsQ0FBQztBQUNKOztBQUVBOztBQVdBIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,4 @@
1
+ import type Controller from '../controller/Controller.js';
2
+ import { Manager, State } from '../types.js';
3
+ export default function initManager(managers: Manager[], controller: Controller, initialState: State<unknown>): () => () => void;
4
+ //# sourceMappingURL=initManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initManager.d.ts","sourceRoot":"","sources":["../../src/manager/initManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,oBAc7B"}
@@ -0,0 +1,15 @@
1
+ export default function initManager(managers, controller, initialState) {
2
+ return () => {
3
+ managers.forEach(manager => {
4
+ manager.init == null || manager.init(initialState);
5
+ });
6
+ controller.gcPolicy.init(controller);
7
+ return () => {
8
+ managers.forEach(manager => {
9
+ manager.cleanup();
10
+ });
11
+ controller.gcPolicy.cleanup();
12
+ };
13
+ };
14
+ }
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbml0TWFuYWdlciIsIm1hbmFnZXJzIiwiY29udHJvbGxlciIsImluaXRpYWxTdGF0ZSIsImZvckVhY2giLCJtYW5hZ2VyIiwiaW5pdCIsImdjUG9saWN5IiwiY2xlYW51cCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL2luaXRNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB7IE1hbmFnZXIsIFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpbml0TWFuYWdlcihcbiAgbWFuYWdlcnM6IE1hbmFnZXJbXSxcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbiAgaW5pdGlhbFN0YXRlOiBTdGF0ZTx1bmtub3duPixcbikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIG1hbmFnZXJzLmZvckVhY2gobWFuYWdlciA9PiB7XG4gICAgICBtYW5hZ2VyLmluaXQ/Lihpbml0aWFsU3RhdGUpO1xuICAgIH0pO1xuICAgIGNvbnRyb2xsZXIuZ2NQb2xpY3kuaW5pdChjb250cm9sbGVyKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbWFuYWdlcnMuZm9yRWFjaChtYW5hZ2VyID0+IHtcbiAgICAgICAgbWFuYWdlci5jbGVhbnVwKCk7XG4gICAgICB9KTtcbiAgICAgIGNvbnRyb2xsZXIuZ2NQb2xpY3kuY2xlYW51cCgpO1xuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUdBLGVBQWUsU0FBU0EsV0FBV0EsQ0FDakNDLFFBQW1CLEVBQ25CQyxVQUFzQixFQUN0QkMsWUFBNEIsRUFDNUI7RUFDQSxPQUFPLE1BQU07SUFDWEYsUUFBUSxDQUFDRyxPQUFPLENBQUNDLE9BQU8sSUFBSTtNQUMxQkEsT0FBTyxDQUFDQyxJQUFJLFlBQVpELE9BQU8sQ0FBQ0MsSUFBSSxDQUFHSCxZQUFZLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0lBQ0ZELFVBQVUsQ0FBQ0ssUUFBUSxDQUFDRCxJQUFJLENBQUNKLFVBQVUsQ0FBQztJQUNwQyxPQUFPLE1BQU07TUFDWEQsUUFBUSxDQUFDRyxPQUFPLENBQUNDLE9BQU8sSUFBSTtRQUMxQkEsT0FBTyxDQUFDRyxPQUFPLENBQUMsQ0FBQztNQUNuQixDQUFDLENBQUM7TUFDRk4sVUFBVSxDQUFDSyxRQUFRLENBQUNDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,55 @@
1
+ import type { EntityPath } from '@data-client/normalizr';
2
+ import Controller from '../controller/Controller.js';
3
+ export declare class GCPolicy implements GCInterface {
4
+ protected endpointCount: Map<string, number>;
5
+ protected entityCount: Map<string, Map<string, number>>;
6
+ protected endpointsQ: Set<string>;
7
+ protected entitiesQ: EntityPath[];
8
+ protected intervalId: ReturnType<typeof setInterval>;
9
+ protected controller: Controller;
10
+ protected options: Required<Omit<GCOptions, 'expiresAt'>>;
11
+ constructor({ intervalMS, expiryMultiplier, expiresAt, }?: GCOptions);
12
+ init(controller: Controller): void;
13
+ cleanup(): void;
14
+ createCountRef({ key, paths }: {
15
+ key?: string;
16
+ paths?: EntityPath[];
17
+ }): () => () => void;
18
+ protected expiresAt({ fetchedAt, expiresAt, }: {
19
+ expiresAt: number;
20
+ date: number;
21
+ fetchedAt: number;
22
+ }): number;
23
+ protected runSweep(): void;
24
+ /** Calls the callback when client is not 'busy' with high priority interaction tasks
25
+ *
26
+ * Override for platform-specific implementations
27
+ */
28
+ protected idleCallback(callback: (...args: any[]) => void, options?: IdleRequestOptions): void;
29
+ }
30
+ export declare class ImmortalGCPolicy implements GCInterface {
31
+ init(): void;
32
+ cleanup(): void;
33
+ createCountRef(): () => () => undefined;
34
+ }
35
+ export interface GCOptions {
36
+ intervalMS?: number;
37
+ expiryMultiplier?: number;
38
+ expiresAt?: (meta: {
39
+ expiresAt: number;
40
+ date: number;
41
+ fetchedAt: number;
42
+ }) => number;
43
+ }
44
+ export interface CreateCountRef {
45
+ ({ key, paths }: {
46
+ key?: string;
47
+ paths?: EntityPath[];
48
+ }): () => () => void;
49
+ }
50
+ export interface GCInterface {
51
+ createCountRef: CreateCountRef;
52
+ init(controller: Controller): void;
53
+ cleanup(): void;
54
+ }
55
+ //# sourceMappingURL=GCPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GCPolicy.d.ts","sourceRoot":"","sources":["../../src/state/GCPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAErD,qBAAa,QAAS,YAAW,WAAW;IAC1C,SAAS,CAAC,aAAa,sBAA6B;IACpD,SAAS,CAAC,WAAW,mCAA0C;IAC/D,SAAS,CAAC,UAAU,cAAqB;IACzC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,CAAM;IAEvC,UAAkB,UAAU,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAC7D,UAAkB,UAAU,EAAE,UAAU,CAAC;IACzC,UAAkB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;gBAEtD,EAEV,UAA0B,EAC1B,gBAAoB,EACpB,SAAS,GACV,GAAE,SAAc;IAUjB,IAAI,CAAC,UAAU,EAAE,UAAU;IAQ3B,OAAO;IAIP,cAAc,CAAC,EAAE,GAAG,EAAE,KAAU,EAAE,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE;IA+C1E,SAAS,CAAC,SAAS,CAAC,EAClB,SAAS,EACT,SAAS,GACV,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;IASV,SAAS,CAAC,QAAQ;IAiDlB;;;OAGG;IACH,SAAS,CAAC,YAAY,CACpB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAClC,OAAO,CAAC,EAAE,kBAAkB;CAQ/B;AAED,qBAAa,gBAAiB,YAAW,WAAW;IAElD,IAAI;IAEJ,OAAO;IACP,cAAc;CAGf;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,MAAM,CAAC;CACd;AACD,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,GAAG,MAAM,MAAM,IAAI,CAAC;CAC5E;AACD,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB"}