react-elmish 10.5.0 → 10.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Common.d.ts CHANGED
@@ -9,6 +9,6 @@ declare function useIsMounted(): RefObject<boolean>;
9
9
  declare function useSubscription<TProps, TModel, TMessage extends Message>(subscription: Subscription<TProps, TModel, TMessage> | undefined, model: TModel, props: TProps, dispatch: Dispatch<TMessage>, reInitOn: unknown[] | undefined): void;
10
10
  declare function useReInit(setModel: (model: null) => void, reInitOn: unknown[] | undefined): void;
11
11
  declare function getDispatch<TMessage extends Message>(handleMessage: (msg: TMessage) => boolean, callSetModel: () => void, callDevTools?: (msg: TMessage) => void, fakeDispatch?: Dispatch<TMessage>): Dispatch<TMessage>;
12
- declare function runInit<TModel, TProps, TMessage extends Message>(name: string, initFn: InitFunction<TProps, TModel, TMessage>, props: TProps, setModel: (model: TModel) => void, dispatch: Dispatch<TMessage>, devTools: Nullable<ReduxDevTools>, fakeModel: TModel | undefined): TModel;
12
+ declare function runInit<TModel, TProps, TMessage extends Message>(name: string, initFn: InitFunction<TProps, TModel, TMessage>, props: TProps, setModel: (model: TModel) => void, dispatch: Dispatch<TMessage>, getDevTools: () => Nullable<ReduxDevTools>, fakeModel: TModel | undefined): TModel;
13
13
  declare function useDispose<TModel>(dispose: DisposeFunction<TModel> | undefined, model: TModel, reInitOn: unknown[] | undefined): void;
14
- export { execCmd, logMessage, modelHasChanged, useRedux, useIsMounted, useSubscription, useReInit, useDispose, getDispatch, runInit };
14
+ export { execCmd, getDispatch, logMessage, modelHasChanged, runInit, useDispose, useIsMounted, useRedux, useReInit, useSubscription, };
package/dist/Common.js CHANGED
@@ -60,18 +60,18 @@ function execCmd(dispatch) {
60
60
 
61
61
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters -- We need to type Model.
62
62
  function useRedux(name, setModel) {
63
- var devTools = (0, _react.useRef)(null);
63
+ var devToolsRef = (0, _react.useRef)(null);
64
64
  (0, _react.useEffect)(function () {
65
65
  var reduxUnsubscribe;
66
66
  if (_Init.Services.enableDevTools === true && (0, _reduxDevTools.isReduxDevToolsEnabled)(window)) {
67
67
  // eslint-disable-next-line no-underscore-dangle
68
- devTools.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({
68
+ devToolsRef.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({
69
69
  name: name,
70
70
  serialize: {
71
71
  options: true
72
72
  }
73
73
  });
74
- reduxUnsubscribe = devTools.current.subscribe(function (message) {
74
+ reduxUnsubscribe = devToolsRef.current.subscribe(function (message) {
75
75
  if (message.type === "DISPATCH" && message.payload.type === "JUMP_TO_ACTION") {
76
76
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
77
77
  setModel(JSON.parse(message.state));
@@ -83,7 +83,7 @@ function useRedux(name, setModel) {
83
83
  (_reduxUnsubscribe = reduxUnsubscribe) === null || _reduxUnsubscribe === void 0 || _reduxUnsubscribe();
84
84
  };
85
85
  }, [name, setModel]);
86
- return devTools;
86
+ return devToolsRef;
87
87
  }
88
88
  function useIsMounted() {
89
89
  var isMountedRef = (0, _react.useRef)(true);
@@ -97,35 +97,36 @@ function useIsMounted() {
97
97
  }
98
98
  function useSubscription(subscription, model, props, dispatch, reInitOn) {
99
99
  (0, _react.useEffect)(function () {
100
- if (subscription) {
101
- var subscriptionResult = subscription(model, props);
102
- if ((0, _Types.subscriptionIsFunctionArray)(subscriptionResult)) {
103
- var destructors = subscriptionResult.map(function (sub) {
104
- return sub(dispatch);
105
- }).filter(function (destructor) {
106
- return destructor !== undefined;
107
- });
108
- return function combinedDestructor() {
109
- var _iterator2 = _createForOfIteratorHelper(destructors),
110
- _step2;
111
- try {
112
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
113
- var _destructor = _step2.value;
114
- _destructor();
115
- }
116
- } catch (err) {
117
- _iterator2.e(err);
118
- } finally {
119
- _iterator2.f();
100
+ if (!subscription) {
101
+ return;
102
+ }
103
+ var subscriptionResult = subscription(model, props);
104
+ if ((0, _Types.subscriptionIsFunctionArray)(subscriptionResult)) {
105
+ var destructors = subscriptionResult.map(function (sub) {
106
+ return sub(dispatch);
107
+ }).filter(function (current) {
108
+ return current !== undefined;
109
+ });
110
+ return function combinedDestructor() {
111
+ var _iterator2 = _createForOfIteratorHelper(destructors),
112
+ _step2;
113
+ try {
114
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
115
+ var _destructor = _step2.value;
116
+ _destructor();
120
117
  }
121
- };
122
- }
123
- var _subscriptionResult = _slicedToArray(subscriptionResult, 2),
124
- subCmd = _subscriptionResult[0],
125
- destructor = _subscriptionResult[1];
126
- execCmd(dispatch, subCmd);
127
- return destructor;
118
+ } catch (err) {
119
+ _iterator2.e(err);
120
+ } finally {
121
+ _iterator2.f();
122
+ }
123
+ };
128
124
  }
125
+ var _subscriptionResult = _slicedToArray(subscriptionResult, 2),
126
+ subCmd = _subscriptionResult[0],
127
+ destructor = _subscriptionResult[1];
128
+ execCmd(dispatch, subCmd);
129
+ return destructor;
129
130
  // biome-ignore lint/correctness/useExhaustiveDependencies: We only want to reinitialize when the reInitOn dependencies change
130
131
  }, reInitOn !== null && reInitOn !== void 0 ? reInitOn : []);
131
132
  }
@@ -156,6 +157,8 @@ function getDispatch(handleMessage, callSetModel, callDevTools, fakeDispatch) {
156
157
  modified = true;
157
158
  }
158
159
  callDevTools === null || callDevTools === void 0 || callDevTools(nextMsg);
160
+
161
+ // eslint-disable-next-line unicorn/no-array-front-mutation -- We need to remove messages from the start.
159
162
  nextMsg = buffer.shift();
160
163
  } while (nextMsg);
161
164
  running = false;
@@ -164,21 +167,23 @@ function getDispatch(handleMessage, callSetModel, callDevTools, fakeDispatch) {
164
167
  }
165
168
  };
166
169
  }
167
- function runInit(name, initFn, props, setModel, dispatch, devTools, fakeModel) {
168
- var _Services$logger3;
170
+ function runInit(name, initFn, props, setModel, dispatch, getDevTools, fakeModel) {
171
+ var _getDevTools, _Services$logger3;
169
172
  var _ref = fakeModel ? [fakeModel] : initFn(props),
170
173
  _ref2 = _toArray(_ref),
171
174
  initModel = _ref2[0],
172
175
  initCommands = _arrayLikeToArray(_ref2).slice(1);
173
176
  setModel(initModel);
174
- devTools === null || devTools === void 0 || devTools.init(initModel);
177
+ (_getDevTools = getDevTools()) === null || _getDevTools === void 0 || _getDevTools.init(initModel);
175
178
  (_Services$logger3 = _Init.Services.logger) === null || _Services$logger3 === void 0 || _Services$logger3.debug("Initial model for", name, initModel);
176
179
  execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(initCommands)));
177
180
  return initModel;
178
181
  }
179
182
  function useDispose(dispose, model, reInitOn) {
180
183
  var modelRef = (0, _react.useRef)(model);
181
- modelRef.current = model;
184
+ (0, _react.useLayoutEffect)(function () {
185
+ modelRef.current = model;
186
+ });
182
187
  (0, _react.useEffect)(function () {
183
188
  if (dispose) {
184
189
  return function () {
@@ -188,4 +193,4 @@ function useDispose(dispose, model, reInitOn) {
188
193
  // biome-ignore lint/correctness/useExhaustiveDependencies: We only want to run dispose when the reInitOn dependencies change or on unmount
189
194
  }, reInitOn !== null && reInitOn !== void 0 ? reInitOn : []);
190
195
  }
191
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0luaXQiLCJfcmVkdXhEZXZUb29scyIsIl9UeXBlcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImZyb20iLCJfc2xpY2VkVG9BcnJheSIsImUiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJsIiwidCIsIm4iLCJpIiwidSIsImEiLCJmIiwibyIsImNhbGwiLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibG9nTWVzc2FnZSIsIm1zZyIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl9TZXJ2aWNlcyRkaXNwYXRjaE1pZCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiaW5mbyIsImRlYnVnIiwiZGlzcGF0Y2hNaWRkbGV3YXJlIiwibW9kZWxIYXNDaGFuZ2VkIiwiY3VycmVudE1vZGVsIiwibW9kZWwiLCJpcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJleGVjQ21kIiwiZGlzcGF0Y2giLCJfbGVuIiwiYXJndW1lbnRzIiwiY29tbWFuZHMiLCJfa2V5IiwiX2l0ZXJhdG9yIiwiZmxhdCIsIl9zdGVwIiwiZXJyIiwidXNlUmVkdXgiLCJzZXRNb2RlbCIsImRldlRvb2xzIiwidXNlUmVmIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsImVuYWJsZURldlRvb2xzIiwiaXNSZWR1eERldlRvb2xzRW5hYmxlZCIsIndpbmRvdyIsImN1cnJlbnQiLCJfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fIiwiY29ubmVjdCIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJzdWJzY3JpYmUiLCJtZXNzYWdlIiwidHlwZSIsInBheWxvYWQiLCJKU09OIiwicGFyc2UiLCJzdGF0ZSIsIl9yZWR1eFVuc3Vic2NyaWJlIiwidXNlSXNNb3VudGVkIiwiaXNNb3VudGVkUmVmIiwidXNlU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9uIiwicHJvcHMiLCJyZUluaXRPbiIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwiZGVzdHJ1Y3RvciIsInVuZGVmaW5lZCIsImNvbWJpbmVkRGVzdHJ1Y3RvciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfc3Vic2NyaXB0aW9uUmVzdWx0Iiwic3ViQ21kIiwidXNlUmVJbml0IiwiZmlyc3RDYWxsUmVmIiwiZ2V0RGlzcGF0Y2giLCJoYW5kbGVNZXNzYWdlIiwiY2FsbFNldE1vZGVsIiwiY2FsbERldlRvb2xzIiwiZmFrZURpc3BhdGNoIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsInNoaWZ0IiwicnVuSW5pdCIsImluaXRGbiIsImZha2VNb2RlbCIsIl9TZXJ2aWNlcyRsb2dnZXIzIiwiX3JlZiIsIl9yZWYyIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiaW5pdCIsImFwcGx5IiwiY29uY2F0IiwidXNlRGlzcG9zZSIsImRpc3Bvc2UiLCJtb2RlbFJlZiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Db21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB7IGlzUmVkdXhEZXZUb29sc0VuYWJsZWQsIHR5cGUgUmVkdXhEZXZUb29scyB9IGZyb20gXCIuL3JlZHV4RGV2VG9vbHNcIjtcbmltcG9ydCB7XG5cdHR5cGUgQ21kLFxuXHR0eXBlIERpc3BhdGNoLFxuXHR0eXBlIERpc3Bvc2VGdW5jdGlvbixcblx0dHlwZSBJbml0RnVuY3Rpb24sXG5cdHR5cGUgTWVzc2FnZSxcblx0dHlwZSBOdWxsYWJsZSxcblx0dHlwZSBTdWJzY3JpcHRpb24sXG5cdHN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcblxuZnVuY3Rpb24gbG9nTWVzc2FnZShuYW1lOiBzdHJpbmcsIG1zZzogTWVzc2FnZSk6IHZvaWQge1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmluZm8oXCJNZXNzYWdlIGZyb21cIiwgbmFtZSwgbXNnLm5hbWUpO1xuXHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiTWVzc2FnZSBmcm9tXCIsIG5hbWUsIG1zZyk7XG5cblx0U2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlPy4obXNnKTtcbn1cblxuZnVuY3Rpb24gbW9kZWxIYXNDaGFuZ2VkPFRNb2RlbD4oY3VycmVudE1vZGVsOiBUTW9kZWwsIG1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4pOiBib29sZWFuIHtcblx0cmV0dXJuICFPYmplY3QuaXMobW9kZWwsIGN1cnJlbnRNb2RlbCkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMobW9kZWwpLmxlbmd0aCA+IDA7XG59XG5cbmZ1bmN0aW9uIGV4ZWNDbWQ8VE1lc3NhZ2U+KGRpc3BhdGNoOiBEaXNwYXRjaDxUTWVzc2FnZT4sIC4uLmNvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSk6IHZvaWQge1xuXHRmb3IgKGNvbnN0IGNhbGwgb2YgY29tbWFuZHMuZmxhdCgpKSB7XG5cdFx0aWYgKGNhbGwpIHtcblx0XHRcdGNhbGwoZGlzcGF0Y2gpO1xuXHRcdH1cblx0fVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHRvIHR5cGUgTW9kZWwuXG5mdW5jdGlvbiB1c2VSZWR1eDxUTW9kZWw+KG5hbWU6IHN0cmluZywgc2V0TW9kZWw6IChtb2RlbDogVE1vZGVsKSA9PiB2b2lkKTogUmVmT2JqZWN0PE51bGxhYmxlPFJlZHV4RGV2VG9vbHM+PiB7XG5cdGNvbnN0IGRldlRvb2xzID0gdXNlUmVmPE51bGxhYmxlPFJlZHV4RGV2VG9vbHM+PihudWxsKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGxldCByZWR1eFVuc3Vic2NyaWJlOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cblx0XHRpZiAoU2VydmljZXMuZW5hYmxlRGV2VG9vbHMgPT09IHRydWUgJiYgaXNSZWR1eERldlRvb2xzRW5hYmxlZCh3aW5kb3cpKSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcblx0XHRcdGRldlRvb2xzLmN1cnJlbnQgPSB3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KHsgbmFtZSwgc2VyaWFsaXplOiB7IG9wdGlvbnM6IHRydWUgfSB9KTtcblxuXHRcdFx0cmVkdXhVbnN1YnNjcmliZSA9IGRldlRvb2xzLmN1cnJlbnQuc3Vic2NyaWJlKChtZXNzYWdlKSA9PiB7XG5cdFx0XHRcdGlmIChtZXNzYWdlLnR5cGUgPT09IFwiRElTUEFUQ0hcIiAmJiBtZXNzYWdlLnBheWxvYWQudHlwZSA9PT0gXCJKVU1QX1RPX0FDVElPTlwiKSB7XG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb25cblx0XHRcdFx0XHRzZXRNb2RlbChKU09OLnBhcnNlKG1lc3NhZ2Uuc3RhdGUpIGFzIFRNb2RlbCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRyZWR1eFVuc3Vic2NyaWJlPy4oKTtcblx0XHR9O1xuXHR9LCBbbmFtZSwgc2V0TW9kZWxdKTtcblxuXHRyZXR1cm4gZGV2VG9vbHM7XG59XG5cbmZ1bmN0aW9uIHVzZUlzTW91bnRlZCgpOiBSZWZPYmplY3Q8Ym9vbGVhbj4ge1xuXHRjb25zdCBpc01vdW50ZWRSZWYgPSB1c2VSZWYodHJ1ZSk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IHRydWU7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcblx0XHR9O1xuXHR9LCBbXSk7XG5cblx0cmV0dXJuIGlzTW91bnRlZFJlZjtcbn1cblxuZnVuY3Rpb24gdXNlU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgdW5kZWZpbmVkLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuXHRyZUluaXRPbjogdW5rbm93bltdIHwgdW5kZWZpbmVkLFxuKTogdm9pZCB7XG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKHN1YnNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3Qgc3Vic2NyaXB0aW9uUmVzdWx0ID0gc3Vic2NyaXB0aW9uKG1vZGVsLCBwcm9wcyk7XG5cblx0XHRcdGlmIChzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXkoc3Vic2NyaXB0aW9uUmVzdWx0KSkge1xuXHRcdFx0XHRjb25zdCBkZXN0cnVjdG9ycyA9IHN1YnNjcmlwdGlvblJlc3VsdC5tYXAoKHN1YikgPT4gc3ViKGRpc3BhdGNoKSkuZmlsdGVyKChkZXN0cnVjdG9yKSA9PiBkZXN0cnVjdG9yICE9PSB1bmRlZmluZWQpO1xuXG5cdFx0XHRcdHJldHVybiBmdW5jdGlvbiBjb21iaW5lZERlc3RydWN0b3IoKSB7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBkZXN0cnVjdG9yIG9mIGRlc3RydWN0b3JzKSB7XG5cdFx0XHRcdFx0XHRkZXN0cnVjdG9yKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRcdFx0ZXhlY0NtZChkaXNwYXRjaCwgc3ViQ21kKTtcblxuXHRcdFx0cmV0dXJuIGRlc3RydWN0b3I7XG5cdFx0fVxuXHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL3VzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM6IFdlIG9ubHkgd2FudCB0byByZWluaXRpYWxpemUgd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZVxuXHR9LCByZUluaXRPbiA/PyBbXSk7XG59XG5cbmZ1bmN0aW9uIHVzZVJlSW5pdChzZXRNb2RlbDogKG1vZGVsOiBudWxsKSA9PiB2b2lkLCByZUluaXRPbjogdW5rbm93bltdIHwgdW5kZWZpbmVkKTogdm9pZCB7XG5cdGNvbnN0IGZpcnN0Q2FsbFJlZiA9IHVzZVJlZih0cnVlKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChmaXJzdENhbGxSZWYuY3VycmVudCkge1xuXHRcdFx0Zmlyc3RDYWxsUmVmLmN1cnJlbnQgPSBmYWxzZTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHNldE1vZGVsKG51bGwpO1xuXHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL3VzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM6IFdlIG9ubHkgd2FudCB0byByZWluaXRpYWxpemUgd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZVxuXHR9LCByZUluaXRPbiA/PyBbXSk7XG59XG5cbmZ1bmN0aW9uIGdldERpc3BhdGNoPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdGhhbmRsZU1lc3NhZ2U6IChtc2c6IFRNZXNzYWdlKSA9PiBib29sZWFuLFxuXHRjYWxsU2V0TW9kZWw6ICgpID0+IHZvaWQsXG5cdGNhbGxEZXZUb29scz86IChtc2c6IFRNZXNzYWdlKSA9PiB2b2lkLFxuXHRmYWtlRGlzcGF0Y2g/OiBEaXNwYXRjaDxUTWVzc2FnZT4sXG4pOiBEaXNwYXRjaDxUTWVzc2FnZT4ge1xuXHRsZXQgcnVubmluZyA9IGZhbHNlO1xuXHRjb25zdCBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblxuXHRyZXR1cm4gKFxuXHRcdGZha2VEaXNwYXRjaCA/P1xuXHRcdCgobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdFx0YnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdHJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdFx0ZG8ge1xuXHRcdFx0XHRpZiAoaGFuZGxlTWVzc2FnZShuZXh0TXNnKSkge1xuXHRcdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNhbGxEZXZUb29scz8uKG5leHRNc2cpO1xuXG5cdFx0XHRcdG5leHRNc2cgPSBidWZmZXIuc2hpZnQoKTtcblx0XHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0XHRydW5uaW5nID0gZmFsc2U7XG5cblx0XHRcdGlmIChtb2RpZmllZCkge1xuXHRcdFx0XHRjYWxsU2V0TW9kZWwoKTtcblx0XHRcdH1cblx0XHR9KVxuXHQpO1xufVxuXG5mdW5jdGlvbiBydW5Jbml0PFRNb2RlbCwgVFByb3BzLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRuYW1lOiBzdHJpbmcsXG5cdGluaXRGbjogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdHByb3BzOiBUUHJvcHMsXG5cdHNldE1vZGVsOiAobW9kZWw6IFRNb2RlbCkgPT4gdm9pZCxcblx0ZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPixcblx0ZGV2VG9vbHM6IE51bGxhYmxlPFJlZHV4RGV2VG9vbHM+LFxuXHRmYWtlTW9kZWw6IFRNb2RlbCB8IHVuZGVmaW5lZCxcbik6IFRNb2RlbCB7XG5cdGNvbnN0IFtpbml0TW9kZWwsIC4uLmluaXRDb21tYW5kc10gPSBmYWtlTW9kZWwgPyBbZmFrZU1vZGVsXSA6IGluaXRGbihwcm9wcyk7XG5cblx0c2V0TW9kZWwoaW5pdE1vZGVsKTtcblx0ZGV2VG9vbHM/LmluaXQoaW5pdE1vZGVsKTtcblx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIGluaXRNb2RlbCk7XG5cdGV4ZWNDbWQoZGlzcGF0Y2gsIC4uLmluaXRDb21tYW5kcyk7XG5cblx0cmV0dXJuIGluaXRNb2RlbDtcbn1cblxuZnVuY3Rpb24gdXNlRGlzcG9zZTxUTW9kZWw+KFxuXHRkaXNwb3NlOiBEaXNwb3NlRnVuY3Rpb248VE1vZGVsPiB8IHVuZGVmaW5lZCxcblx0bW9kZWw6IFRNb2RlbCxcblx0cmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCxcbik6IHZvaWQge1xuXHRjb25zdCBtb2RlbFJlZiA9IHVzZVJlZihtb2RlbCk7XG5cblx0bW9kZWxSZWYuY3VycmVudCA9IG1vZGVsO1xuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKGRpc3Bvc2UpIHtcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdGRpc3Bvc2UobW9kZWxSZWYuY3VycmVudCk7XG5cdFx0XHR9O1xuXHRcdH1cblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcnVuIGRpc3Bvc2Ugd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZSBvciBvbiB1bm1vdW50XG5cdH0sIHJlSW5pdE9uID8/IFtdKTtcbn1cblxuZXhwb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSwgbW9kZWxIYXNDaGFuZ2VkLCB1c2VSZWR1eCwgdXNlSXNNb3VudGVkLCB1c2VTdWJzY3JpcHRpb24sIHVzZVJlSW5pdCwgdXNlRGlzcG9zZSwgZ2V0RGlzcGF0Y2gsIHJ1bkluaXQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBU2lCLFNBQUFJLG1CQUFBQyxDQUFBLFdBQUFDLGtCQUFBLENBQUFELENBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSCxDQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFKLG1CQUFBRCxDQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxDQUFBLFVBQUFRLGlCQUFBLENBQUFSLENBQUE7QUFBQSxTQUFBUyxTQUFBVCxDQUFBLFdBQUFVLGVBQUEsQ0FBQVYsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQVcsZ0JBQUE7QUFBQSxTQUFBVCxpQkFBQUYsQ0FBQSw4QkFBQVksTUFBQSxZQUFBWixDQUFBLENBQUFZLE1BQUEsQ0FBQUMsUUFBQSxhQUFBYixDQUFBLHVCQUFBTSxLQUFBLENBQUFRLElBQUEsQ0FBQWQsQ0FBQTtBQUFBLFNBQUFlLGVBQUFmLENBQUEsRUFBQWdCLENBQUEsV0FBQU4sZUFBQSxDQUFBVixDQUFBLEtBQUFpQixxQkFBQSxDQUFBakIsQ0FBQSxFQUFBZ0IsQ0FBQSxLQUFBYiwyQkFBQSxDQUFBSCxDQUFBLEVBQUFnQixDQUFBLEtBQUFMLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQU4sU0FBQTtBQUFBLFNBQUFZLHNCQUFBakIsQ0FBQSxFQUFBa0IsQ0FBQSxRQUFBQyxDQUFBLFdBQUFuQixDQUFBLGdDQUFBWSxNQUFBLElBQUFaLENBQUEsQ0FBQVksTUFBQSxDQUFBQyxRQUFBLEtBQUFiLENBQUEsNEJBQUFtQixDQUFBLFFBQUFILENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxPQUFBQyxDQUFBLE9BQUFDLENBQUEsaUJBQUFKLENBQUEsSUFBQUYsQ0FBQSxHQUFBQSxDQUFBLENBQUFPLElBQUEsQ0FBQTFCLENBQUEsR0FBQTJCLElBQUEsUUFBQVQsQ0FBQSxRQUFBVSxNQUFBLENBQUFULENBQUEsTUFBQUEsQ0FBQSxVQUFBSyxDQUFBLHVCQUFBQSxDQUFBLElBQUFSLENBQUEsR0FBQUssQ0FBQSxDQUFBSyxJQUFBLENBQUFQLENBQUEsR0FBQVUsSUFBQSxNQUFBTixDQUFBLENBQUFPLElBQUEsQ0FBQWQsQ0FBQSxDQUFBZSxLQUFBLEdBQUFSLENBQUEsQ0FBQVMsTUFBQSxLQUFBZCxDQUFBLEdBQUFNLENBQUEsaUJBQUF4QixDQUFBLElBQUF5QixDQUFBLE9BQUFMLENBQUEsR0FBQXBCLENBQUEseUJBQUF3QixDQUFBLFlBQUFMLENBQUEsZUFBQUcsQ0FBQSxHQUFBSCxDQUFBLGNBQUFTLE1BQUEsQ0FBQU4sQ0FBQSxNQUFBQSxDQUFBLDJCQUFBRyxDQUFBLFFBQUFMLENBQUEsYUFBQUcsQ0FBQTtBQUFBLFNBQUFiLGdCQUFBVixDQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxDQUFBLFVBQUFBLENBQUE7QUFBQSxTQUFBaUMsMkJBQUFqQyxDQUFBLEVBQUFnQixDQUFBLFFBQUFHLENBQUEseUJBQUFQLE1BQUEsSUFBQVosQ0FBQSxDQUFBWSxNQUFBLENBQUFDLFFBQUEsS0FBQWIsQ0FBQSxxQkFBQW1CLENBQUEsUUFBQWIsS0FBQSxDQUFBQyxPQUFBLENBQUFQLENBQUEsTUFBQW1CLENBQUEsR0FBQWhCLDJCQUFBLENBQUFILENBQUEsTUFBQWdCLENBQUEsSUFBQWhCLENBQUEsdUJBQUFBLENBQUEsQ0FBQWdDLE1BQUEsSUFBQWIsQ0FBQSxLQUFBbkIsQ0FBQSxHQUFBbUIsQ0FBQSxPQUFBZSxFQUFBLE1BQUFDLENBQUEsWUFBQUEsRUFBQSxlQUFBQyxDQUFBLEVBQUFELENBQUEsRUFBQWYsQ0FBQSxXQUFBQSxFQUFBLFdBQUFjLEVBQUEsSUFBQWxDLENBQUEsQ0FBQWdDLE1BQUEsS0FBQUgsSUFBQSxXQUFBQSxJQUFBLE1BQUFFLEtBQUEsRUFBQS9CLENBQUEsQ0FBQWtDLEVBQUEsVUFBQWxCLENBQUEsV0FBQUEsRUFBQWhCLENBQUEsVUFBQUEsQ0FBQSxLQUFBd0IsQ0FBQSxFQUFBVyxDQUFBLGdCQUFBOUIsU0FBQSxpSkFBQW9CLENBQUEsRUFBQUYsQ0FBQSxPQUFBRCxDQUFBLGdCQUFBYyxDQUFBLFdBQUFBLEVBQUEsSUFBQWpCLENBQUEsR0FBQUEsQ0FBQSxDQUFBTyxJQUFBLENBQUExQixDQUFBLE1BQUFvQixDQUFBLFdBQUFBLEVBQUEsUUFBQXBCLENBQUEsR0FBQW1CLENBQUEsQ0FBQVEsSUFBQSxXQUFBSixDQUFBLEdBQUF2QixDQUFBLENBQUE2QixJQUFBLEVBQUE3QixDQUFBLEtBQUFnQixDQUFBLFdBQUFBLEVBQUFoQixDQUFBLElBQUFzQixDQUFBLE9BQUFHLENBQUEsR0FBQXpCLENBQUEsS0FBQXdCLENBQUEsV0FBQUEsRUFBQSxVQUFBRCxDQUFBLFlBQUFKLENBQUEsY0FBQUEsQ0FBQSw4QkFBQUcsQ0FBQSxRQUFBRyxDQUFBO0FBQUEsU0FBQXRCLDRCQUFBSCxDQUFBLEVBQUF1QixDQUFBLFFBQUF2QixDQUFBLDJCQUFBQSxDQUFBLFNBQUFRLGlCQUFBLENBQUFSLENBQUEsRUFBQXVCLENBQUEsT0FBQUosQ0FBQSxNQUFBa0IsUUFBQSxDQUFBWCxJQUFBLENBQUExQixDQUFBLEVBQUFzQyxLQUFBLDZCQUFBbkIsQ0FBQSxJQUFBbkIsQ0FBQSxDQUFBdUMsV0FBQSxLQUFBcEIsQ0FBQSxHQUFBbkIsQ0FBQSxDQUFBdUMsV0FBQSxDQUFBQyxJQUFBLGFBQUFyQixDQUFBLGNBQUFBLENBQUEsR0FBQWIsS0FBQSxDQUFBUSxJQUFBLENBQUFkLENBQUEsb0JBQUFtQixDQUFBLCtDQUFBc0IsSUFBQSxDQUFBdEIsQ0FBQSxJQUFBWCxpQkFBQSxDQUFBUixDQUFBLEVBQUF1QixDQUFBO0FBQUEsU0FBQWYsa0JBQUFSLENBQUEsRUFBQXVCLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUF2QixDQUFBLENBQUFnQyxNQUFBLE1BQUFULENBQUEsR0FBQXZCLENBQUEsQ0FBQWdDLE1BQUEsWUFBQWhCLENBQUEsTUFBQUksQ0FBQSxHQUFBZCxLQUFBLENBQUFpQixDQUFBLEdBQUFQLENBQUEsR0FBQU8sQ0FBQSxFQUFBUCxDQUFBLElBQUFJLENBQUEsQ0FBQUosQ0FBQSxJQUFBaEIsQ0FBQSxDQUFBZ0IsQ0FBQSxVQUFBSSxDQUFBO0FBRWpCLFNBQVNzQixVQUFVQSxDQUFDRixJQUFZLEVBQUVHLEdBQVksRUFBUTtFQUFBLElBQUFDLGdCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLHFCQUFBO0VBQ3JELENBQUFGLGdCQUFBLEdBQUFHLGNBQVEsQ0FBQ0MsTUFBTSxjQUFBSixnQkFBQSxlQUFmQSxnQkFBQSxDQUFpQkssSUFBSSxDQUFDLGNBQWMsRUFBRVQsSUFBSSxFQUFFRyxHQUFHLENBQUNILElBQUksQ0FBQztFQUNyRCxDQUFBSyxpQkFBQSxHQUFBRSxjQUFRLENBQUNDLE1BQU0sY0FBQUgsaUJBQUEsZUFBZkEsaUJBQUEsQ0FBaUJLLEtBQUssQ0FBQyxjQUFjLEVBQUVWLElBQUksRUFBRUcsR0FBRyxDQUFDO0VBRWpELENBQUFHLHFCQUFBLEdBQUFDLGNBQVEsQ0FBQ0ksa0JBQWtCLGNBQUFMLHFCQUFBLGVBQTNCQSxxQkFBQSxDQUFBcEIsSUFBQSxDQUFBcUIsY0FBUSxFQUFzQkosR0FBRyxDQUFDO0FBQ25DO0FBRUEsU0FBU1MsZUFBZUEsQ0FBU0MsWUFBb0IsRUFBRUMsS0FBc0IsRUFBVztFQUN2RixPQUFPLENBQUMxQixNQUFNLENBQUMyQixFQUFFLENBQUNELEtBQUssRUFBRUQsWUFBWSxDQUFDLElBQUl6QixNQUFNLENBQUM0QixtQkFBbUIsQ0FBQ0YsS0FBSyxDQUFDLENBQUN0QixNQUFNLEdBQUcsQ0FBQztBQUN2RjtBQUVBLFNBQVN5QixPQUFPQSxDQUFXQyxRQUE0QixFQUFvRDtFQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBNUIsTUFBQSxFQUEvQzZCLFFBQVEsT0FBQXZELEtBQUEsQ0FBQXFELElBQUEsT0FBQUEsSUFBQSxXQUFBRyxJQUFBLE1BQUFBLElBQUEsR0FBQUgsSUFBQSxFQUFBRyxJQUFBO0lBQVJELFFBQVEsQ0FBQUMsSUFBQSxRQUFBRixTQUFBLENBQUFFLElBQUE7RUFBQTtFQUFBLElBQUFDLFNBQUEsR0FBQTlCLDBCQUFBLENBQ2hENEIsUUFBUSxDQUFDRyxJQUFJLENBQUMsQ0FBQztJQUFBQyxLQUFBO0VBQUE7SUFBbEMsS0FBQUYsU0FBQSxDQUFBM0IsQ0FBQSxNQUFBNkIsS0FBQSxHQUFBRixTQUFBLENBQUEzQyxDQUFBLElBQUFTLElBQUEsR0FBb0M7TUFBQSxJQUF6QkgsSUFBSSxHQUFBdUMsS0FBQSxDQUFBbEMsS0FBQTtNQUNkLElBQUlMLElBQUksRUFBRTtRQUNUQSxJQUFJLENBQUNnQyxRQUFRLENBQUM7TUFDZjtJQUNEO0VBQUMsU0FBQVEsR0FBQTtJQUFBSCxTQUFBLENBQUEvQyxDQUFBLENBQUFrRCxHQUFBO0VBQUE7SUFBQUgsU0FBQSxDQUFBdkMsQ0FBQTtFQUFBO0FBQ0Y7O0FBRUE7QUFDQSxTQUFTMkMsUUFBUUEsQ0FBUzNCLElBQVksRUFBRTRCLFFBQWlDLEVBQXNDO0VBQzlHLElBQU1DLFFBQVEsR0FBRyxJQUFBQyxhQUFNLEVBQTBCLElBQUksQ0FBQztFQUV0RCxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZixJQUFJQyxnQkFBMEM7SUFFOUMsSUFBSXpCLGNBQVEsQ0FBQzBCLGNBQWMsS0FBSyxJQUFJLElBQUksSUFBQUMscUNBQXNCLEVBQUNDLE1BQU0sQ0FBQyxFQUFFO01BQ3ZFO01BQ0FOLFFBQVEsQ0FBQ08sT0FBTyxHQUFHRCxNQUFNLENBQUNFLDRCQUE0QixDQUFDQyxPQUFPLENBQUM7UUFBRXRDLElBQUksRUFBSkEsSUFBSTtRQUFFdUMsU0FBUyxFQUFFO1VBQUVDLE9BQU8sRUFBRTtRQUFLO01BQUUsQ0FBQyxDQUFDO01BRXRHUixnQkFBZ0IsR0FBR0gsUUFBUSxDQUFDTyxPQUFPLENBQUNLLFNBQVMsQ0FBQyxVQUFDQyxPQUFPLEVBQUs7UUFDMUQsSUFBSUEsT0FBTyxDQUFDQyxJQUFJLEtBQUssVUFBVSxJQUFJRCxPQUFPLENBQUNFLE9BQU8sQ0FBQ0QsSUFBSSxLQUFLLGdCQUFnQixFQUFFO1VBQzdFO1VBQ0FmLFFBQVEsQ0FBQ2lCLElBQUksQ0FBQ0MsS0FBSyxDQUFDSixPQUFPLENBQUNLLEtBQUssQ0FBVyxDQUFDO1FBQzlDO01BQ0QsQ0FBQyxDQUFDO0lBQ0g7SUFFQSxPQUFPLFlBQU07TUFBQSxJQUFBQyxpQkFBQTtNQUNaLENBQUFBLGlCQUFBLEdBQUFoQixnQkFBZ0IsY0FBQWdCLGlCQUFBLGVBQWhCQSxpQkFBQSxDQUFtQixDQUFDO0lBQ3JCLENBQUM7RUFDRixDQUFDLEVBQUUsQ0FBQ2hELElBQUksRUFBRTRCLFFBQVEsQ0FBQyxDQUFDO0VBRXBCLE9BQU9DLFFBQVE7QUFDaEI7QUFFQSxTQUFTb0IsWUFBWUEsQ0FBQSxFQUF1QjtFQUMzQyxJQUFNQyxZQUFZLEdBQUcsSUFBQXBCLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFFakMsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2ZtQixZQUFZLENBQUNkLE9BQU8sR0FBRyxJQUFJO0lBRTNCLE9BQU8sWUFBTTtNQUNaYyxZQUFZLENBQUNkLE9BQU8sR0FBRyxLQUFLO0lBQzdCLENBQUM7RUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sT0FBT2MsWUFBWTtBQUNwQjtBQUVBLFNBQVNDLGVBQWVBLENBQ3ZCQyxZQUFnRSxFQUNoRXRDLEtBQWEsRUFDYnVDLEtBQWEsRUFDYm5DLFFBQTRCLEVBQzVCb0MsUUFBK0IsRUFDeEI7RUFDUCxJQUFBdkIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2YsSUFBSXFCLFlBQVksRUFBRTtNQUNqQixJQUFNRyxrQkFBa0IsR0FBR0gsWUFBWSxDQUFDdEMsS0FBSyxFQUFFdUMsS0FBSyxDQUFDO01BRXJELElBQUksSUFBQUcsa0NBQTJCLEVBQUNELGtCQUFrQixDQUFDLEVBQUU7UUFDcEQsSUFBTUUsV0FBVyxHQUFHRixrQkFBa0IsQ0FBQ0csR0FBRyxDQUFDLFVBQUNDLEdBQUc7VUFBQSxPQUFLQSxHQUFHLENBQUN6QyxRQUFRLENBQUM7UUFBQSxFQUFDLENBQUMwQyxNQUFNLENBQUMsVUFBQ0MsVUFBVTtVQUFBLE9BQUtBLFVBQVUsS0FBS0MsU0FBUztRQUFBLEVBQUM7UUFFbkgsT0FBTyxTQUFTQyxrQkFBa0JBLENBQUEsRUFBRztVQUFBLElBQUFDLFVBQUEsR0FBQXZFLDBCQUFBLENBQ1hnRSxXQUFXO1lBQUFRLE1BQUE7VUFBQTtZQUFwQyxLQUFBRCxVQUFBLENBQUFwRSxDQUFBLE1BQUFxRSxNQUFBLEdBQUFELFVBQUEsQ0FBQXBGLENBQUEsSUFBQVMsSUFBQSxHQUFzQztjQUFBLElBQTNCd0UsV0FBVSxHQUFBSSxNQUFBLENBQUExRSxLQUFBO2NBQ3BCc0UsV0FBVSxDQUFDLENBQUM7WUFDYjtVQUFDLFNBQUFuQyxHQUFBO1lBQUFzQyxVQUFBLENBQUF4RixDQUFBLENBQUFrRCxHQUFBO1VBQUE7WUFBQXNDLFVBQUEsQ0FBQWhGLENBQUE7VUFBQTtRQUNGLENBQUM7TUFDRjtNQUVBLElBQUFrRixtQkFBQSxHQUFBM0YsY0FBQSxDQUE2QmdGLGtCQUFrQjtRQUF4Q1ksTUFBTSxHQUFBRCxtQkFBQTtRQUFFTCxVQUFVLEdBQUFLLG1CQUFBO01BRXpCakQsT0FBTyxDQUFDQyxRQUFRLEVBQUVpRCxNQUFNLENBQUM7TUFFekIsT0FBT04sVUFBVTtJQUNsQjtJQUNBO0VBQ0QsQ0FBQyxFQUFFUCxRQUFRLGFBQVJBLFFBQVEsY0FBUkEsUUFBUSxHQUFJLEVBQUUsQ0FBQztBQUNuQjtBQUVBLFNBQVNjLFNBQVNBLENBQUN4QyxRQUErQixFQUFFMEIsUUFBK0IsRUFBUTtFQUMxRixJQUFNZSxZQUFZLEdBQUcsSUFBQXZDLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFFakMsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2YsSUFBSXNDLFlBQVksQ0FBQ2pDLE9BQU8sRUFBRTtNQUN6QmlDLFlBQVksQ0FBQ2pDLE9BQU8sR0FBRyxLQUFLO01BRTVCO0lBQ0Q7SUFFQVIsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNkO0VBQ0QsQ0FBQyxFQUFFMEIsUUFBUSxhQUFSQSxRQUFRLGNBQVJBLFFBQVEsR0FBSSxFQUFFLENBQUM7QUFDbkI7QUFFQSxTQUFTZ0IsV0FBV0EsQ0FDbkJDLGFBQXlDLEVBQ3pDQyxZQUF3QixFQUN4QkMsWUFBc0MsRUFDdENDLFlBQWlDLEVBQ1o7RUFDckIsSUFBSUMsT0FBTyxHQUFHLEtBQUs7RUFDbkIsSUFBTUMsTUFBa0IsR0FBRyxFQUFFO0VBRTdCLE9BQ0NGLFlBQVksYUFBWkEsWUFBWSxjQUFaQSxZQUFZLEdBQ1gsVUFBQ3ZFLEdBQWEsRUFBVztJQUN6QixJQUFJd0UsT0FBTyxFQUFFO01BQ1pDLE1BQU0sQ0FBQ3RGLElBQUksQ0FBQ2EsR0FBRyxDQUFDO01BRWhCO0lBQ0Q7SUFFQXdFLE9BQU8sR0FBRyxJQUFJO0lBRWQsSUFBSUUsT0FBNkIsR0FBRzFFLEdBQUc7SUFDdkMsSUFBSTJFLFFBQVEsR0FBRyxLQUFLO0lBRXBCLEdBQUc7TUFDRixJQUFJUCxhQUFhLENBQUNNLE9BQU8sQ0FBQyxFQUFFO1FBQzNCQyxRQUFRLEdBQUcsSUFBSTtNQUNoQjtNQUVBTCxZQUFZLGFBQVpBLFlBQVksZUFBWkEsWUFBWSxDQUFHSSxPQUFPLENBQUM7TUFFdkJBLE9BQU8sR0FBR0QsTUFBTSxDQUFDRyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDLFFBQVFGLE9BQU87SUFFaEJGLE9BQU8sR0FBRyxLQUFLO0lBRWYsSUFBSUcsUUFBUSxFQUFFO01BQ2JOLFlBQVksQ0FBQyxDQUFDO0lBQ2Y7RUFDRCxDQUFDO0FBRUg7QUFFQSxTQUFTUSxPQUFPQSxDQUNmaEYsSUFBWSxFQUNaaUYsTUFBOEMsRUFDOUM1QixLQUFhLEVBQ2J6QixRQUFpQyxFQUNqQ1YsUUFBNEIsRUFDNUJXLFFBQWlDLEVBQ2pDcUQsU0FBNkIsRUFDcEI7RUFBQSxJQUFBQyxpQkFBQTtFQUNULElBQUFDLElBQUEsR0FBcUNGLFNBQVMsR0FBRyxDQUFDQSxTQUFTLENBQUMsR0FBR0QsTUFBTSxDQUFDNUIsS0FBSyxDQUFDO0lBQUFnQyxLQUFBLEdBQUFwSCxRQUFBLENBQUFtSCxJQUFBO0lBQXJFRSxTQUFTLEdBQUFELEtBQUE7SUFBS0UsWUFBWSxHQUFBdkgsaUJBQUEsQ0FBQXFILEtBQUEsRUFBQXZGLEtBQUE7RUFFakM4QixRQUFRLENBQUMwRCxTQUFTLENBQUM7RUFDbkJ6RCxRQUFRLGFBQVJBLFFBQVEsZUFBUkEsUUFBUSxDQUFFMkQsSUFBSSxDQUFDRixTQUFTLENBQUM7RUFDekIsQ0FBQUgsaUJBQUEsR0FBQTVFLGNBQVEsQ0FBQ0MsTUFBTSxjQUFBMkUsaUJBQUEsZUFBZkEsaUJBQUEsQ0FBaUJ6RSxLQUFLLENBQUMsbUJBQW1CLEVBQUVWLElBQUksRUFBRXNGLFNBQVMsQ0FBQztFQUM1RHJFLE9BQU8sQ0FBQXdFLEtBQUEsVUFBQ3ZFLFFBQVEsRUFBQXdFLE1BQUEsQ0FBQW5JLGtCQUFBLENBQUtnSSxZQUFZLEdBQUM7RUFFbEMsT0FBT0QsU0FBUztBQUNqQjtBQUVBLFNBQVNLLFVBQVVBLENBQ2xCQyxPQUE0QyxFQUM1QzlFLEtBQWEsRUFDYndDLFFBQStCLEVBQ3hCO0VBQ1AsSUFBTXVDLFFBQVEsR0FBRyxJQUFBL0QsYUFBTSxFQUFDaEIsS0FBSyxDQUFDO0VBRTlCK0UsUUFBUSxDQUFDekQsT0FBTyxHQUFHdEIsS0FBSztFQUV4QixJQUFBaUIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2YsSUFBSTZELE9BQU8sRUFBRTtNQUNaLE9BQU8sWUFBTTtRQUNaQSxPQUFPLENBQUNDLFFBQVEsQ0FBQ3pELE9BQU8sQ0FBQztNQUMxQixDQUFDO0lBQ0Y7SUFDQTtFQUNELENBQUMsRUFBRWtCLFFBQVEsYUFBUkEsUUFBUSxjQUFSQSxRQUFRLEdBQUksRUFBRSxDQUFDO0FBQ25CIiwiaWdub3JlTGlzdCI6W119
196
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0luaXQiLCJfcmVkdXhEZXZUb29scyIsIl9UeXBlcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImZyb20iLCJfc2xpY2VkVG9BcnJheSIsImUiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJsIiwidCIsIm4iLCJpIiwidSIsImEiLCJmIiwibyIsImNhbGwiLCJuZXh0IiwiT2JqZWN0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibG9nTWVzc2FnZSIsIm1zZyIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl9TZXJ2aWNlcyRkaXNwYXRjaE1pZCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiaW5mbyIsImRlYnVnIiwiZGlzcGF0Y2hNaWRkbGV3YXJlIiwibW9kZWxIYXNDaGFuZ2VkIiwiY3VycmVudE1vZGVsIiwibW9kZWwiLCJpcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJleGVjQ21kIiwiZGlzcGF0Y2giLCJfbGVuIiwiYXJndW1lbnRzIiwiY29tbWFuZHMiLCJfa2V5IiwiX2l0ZXJhdG9yIiwiZmxhdCIsIl9zdGVwIiwiZXJyIiwidXNlUmVkdXgiLCJzZXRNb2RlbCIsImRldlRvb2xzUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwicmVkdXhVbnN1YnNjcmliZSIsImVuYWJsZURldlRvb2xzIiwiaXNSZWR1eERldlRvb2xzRW5hYmxlZCIsIndpbmRvdyIsImN1cnJlbnQiLCJfX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fIiwiY29ubmVjdCIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJzdWJzY3JpYmUiLCJtZXNzYWdlIiwidHlwZSIsInBheWxvYWQiLCJKU09OIiwicGFyc2UiLCJzdGF0ZSIsIl9yZWR1eFVuc3Vic2NyaWJlIiwidXNlSXNNb3VudGVkIiwiaXNNb3VudGVkUmVmIiwidXNlU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9uIiwicHJvcHMiLCJyZUluaXRPbiIsInN1YnNjcmlwdGlvblJlc3VsdCIsInN1YnNjcmlwdGlvbklzRnVuY3Rpb25BcnJheSIsImRlc3RydWN0b3JzIiwibWFwIiwic3ViIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwiY29tYmluZWREZXN0cnVjdG9yIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImRlc3RydWN0b3IiLCJfc3Vic2NyaXB0aW9uUmVzdWx0Iiwic3ViQ21kIiwidXNlUmVJbml0IiwiZmlyc3RDYWxsUmVmIiwiZ2V0RGlzcGF0Y2giLCJoYW5kbGVNZXNzYWdlIiwiY2FsbFNldE1vZGVsIiwiY2FsbERldlRvb2xzIiwiZmFrZURpc3BhdGNoIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsInNoaWZ0IiwicnVuSW5pdCIsImluaXRGbiIsImdldERldlRvb2xzIiwiZmFrZU1vZGVsIiwiX2dldERldlRvb2xzIiwiX1NlcnZpY2VzJGxvZ2dlcjMiLCJfcmVmIiwiX3JlZjIiLCJpbml0TW9kZWwiLCJpbml0Q29tbWFuZHMiLCJpbml0IiwiYXBwbHkiLCJjb25jYXQiLCJ1c2VEaXNwb3NlIiwiZGlzcG9zZSIsIm1vZGVsUmVmIiwidXNlTGF5b3V0RWZmZWN0Il0sInNvdXJjZXMiOlsiLi4vc3JjL0NvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgeyBpc1JlZHV4RGV2VG9vbHNFbmFibGVkLCB0eXBlIFJlZHV4RGV2VG9vbHMgfSBmcm9tIFwiLi9yZWR1eERldlRvb2xzXCI7XG5pbXBvcnQge1xuXHR0eXBlIENtZCxcblx0dHlwZSBEaXNwYXRjaCxcblx0dHlwZSBEaXNwb3NlRnVuY3Rpb24sXG5cdHR5cGUgSW5pdEZ1bmN0aW9uLFxuXHR0eXBlIE1lc3NhZ2UsXG5cdHR5cGUgTnVsbGFibGUsXG5cdHR5cGUgU3Vic2NyaXB0aW9uLFxuXHRzdWJzY3JpcHRpb25Jc0Z1bmN0aW9uQXJyYXksXG59IGZyb20gXCIuL1R5cGVzXCI7XG5cbmZ1bmN0aW9uIGxvZ01lc3NhZ2UobmFtZTogc3RyaW5nLCBtc2c6IE1lc3NhZ2UpOiB2b2lkIHtcblx0U2VydmljZXMubG9nZ2VyPy5pbmZvKFwiTWVzc2FnZSBmcm9tXCIsIG5hbWUsIG1zZy5uYW1lKTtcblx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIk1lc3NhZ2UgZnJvbVwiLCBuYW1lLCBtc2cpO1xuXG5cdFNlcnZpY2VzLmRpc3BhdGNoTWlkZGxld2FyZT8uKG1zZyk7XG59XG5cbmZ1bmN0aW9uIG1vZGVsSGFzQ2hhbmdlZDxUTW9kZWw+KGN1cnJlbnRNb2RlbDogVE1vZGVsLCBtb2RlbDogUGFydGlhbDxUTW9kZWw+KTogYm9vbGVhbiB7XG5cdHJldHVybiAhT2JqZWN0LmlzKG1vZGVsLCBjdXJyZW50TW9kZWwpICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG1vZGVsKS5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBleGVjQ21kPFRNZXNzYWdlPihkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LCAuLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10pOiB2b2lkIHtcblx0Zm9yIChjb25zdCBjYWxsIG9mIGNvbW1hbmRzLmZsYXQoKSkge1xuXHRcdGlmIChjYWxsKSB7XG5cdFx0XHRjYWxsKGRpc3BhdGNoKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLXBhcmFtZXRlcnMgLS0gV2UgbmVlZCB0byB0eXBlIE1vZGVsLlxuZnVuY3Rpb24gdXNlUmVkdXg8VE1vZGVsPihuYW1lOiBzdHJpbmcsIHNldE1vZGVsOiAobW9kZWw6IFRNb2RlbCkgPT4gdm9pZCk6IFJlZk9iamVjdDxOdWxsYWJsZTxSZWR1eERldlRvb2xzPj4ge1xuXHRjb25zdCBkZXZUb29sc1JlZiA9IHVzZVJlZjxOdWxsYWJsZTxSZWR1eERldlRvb2xzPj4obnVsbCk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRsZXQgcmVkdXhVbnN1YnNjcmliZTogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG5cdFx0aWYgKFNlcnZpY2VzLmVuYWJsZURldlRvb2xzID09PSB0cnVlICYmIGlzUmVkdXhEZXZUb29sc0VuYWJsZWQod2luZG93KSkge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG5cdFx0XHRkZXZUb29sc1JlZi5jdXJyZW50ID0gd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uY29ubmVjdCh7IG5hbWUsIHNlcmlhbGl6ZTogeyBvcHRpb25zOiB0cnVlIH0gfSk7XG5cblx0XHRcdHJlZHV4VW5zdWJzY3JpYmUgPSBkZXZUb29sc1JlZi5jdXJyZW50LnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuXHRcdFx0XHRpZiAobWVzc2FnZS50eXBlID09PSBcIkRJU1BBVENIXCIgJiYgbWVzc2FnZS5wYXlsb2FkLnR5cGUgPT09IFwiSlVNUF9UT19BQ1RJT05cIikge1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uXG5cdFx0XHRcdFx0c2V0TW9kZWwoSlNPTi5wYXJzZShtZXNzYWdlLnN0YXRlKSBhcyBUTW9kZWwpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0cmVkdXhVbnN1YnNjcmliZT8uKCk7XG5cdFx0fTtcblx0fSwgW25hbWUsIHNldE1vZGVsXSk7XG5cblx0cmV0dXJuIGRldlRvb2xzUmVmO1xufVxuXG5mdW5jdGlvbiB1c2VJc01vdW50ZWQoKTogUmVmT2JqZWN0PGJvb2xlYW4+IHtcblx0Y29uc3QgaXNNb3VudGVkUmVmID0gdXNlUmVmKHRydWUpO1xuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuXG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG5cdFx0fTtcblx0fSwgW10pO1xuXG5cdHJldHVybiBpc01vdW50ZWRSZWY7XG59XG5cbmZ1bmN0aW9uIHVzZVN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0c3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IHVuZGVmaW5lZCxcblx0bW9kZWw6IFRNb2RlbCxcblx0cHJvcHM6IFRQcm9wcyxcblx0ZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPixcblx0cmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCxcbik6IHZvaWQge1xuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmICghc3Vic2NyaXB0aW9uKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc3Vic2NyaXB0aW9uUmVzdWx0ID0gc3Vic2NyaXB0aW9uKG1vZGVsLCBwcm9wcyk7XG5cblx0XHRpZiAoc3Vic2NyaXB0aW9uSXNGdW5jdGlvbkFycmF5KHN1YnNjcmlwdGlvblJlc3VsdCkpIHtcblx0XHRcdGNvbnN0IGRlc3RydWN0b3JzID0gc3Vic2NyaXB0aW9uUmVzdWx0Lm1hcCgoc3ViKSA9PiBzdWIoZGlzcGF0Y2gpKS5maWx0ZXIoKGN1cnJlbnQpID0+IGN1cnJlbnQgIT09IHVuZGVmaW5lZCk7XG5cblx0XHRcdHJldHVybiBmdW5jdGlvbiBjb21iaW5lZERlc3RydWN0b3IoKSB7XG5cdFx0XHRcdGZvciAoY29uc3QgZGVzdHJ1Y3RvciBvZiBkZXN0cnVjdG9ycykge1xuXHRcdFx0XHRcdGRlc3RydWN0b3IoKTtcblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvblJlc3VsdDtcblxuXHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIHN1YkNtZCk7XG5cblx0XHRyZXR1cm4gZGVzdHJ1Y3Rvcjtcblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcmVpbml0aWFsaXplIHdoZW4gdGhlIHJlSW5pdE9uIGRlcGVuZGVuY2llcyBjaGFuZ2Vcblx0fSwgcmVJbml0T24gPz8gW10pO1xufVxuXG5mdW5jdGlvbiB1c2VSZUluaXQoc2V0TW9kZWw6IChtb2RlbDogbnVsbCkgPT4gdm9pZCwgcmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRjb25zdCBmaXJzdENhbGxSZWYgPSB1c2VSZWYodHJ1ZSk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoZmlyc3RDYWxsUmVmLmN1cnJlbnQpIHtcblx0XHRcdGZpcnN0Q2FsbFJlZi5jdXJyZW50ID0gZmFsc2U7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRzZXRNb2RlbChudWxsKTtcblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcmVpbml0aWFsaXplIHdoZW4gdGhlIHJlSW5pdE9uIGRlcGVuZGVuY2llcyBjaGFuZ2Vcblx0fSwgcmVJbml0T24gPz8gW10pO1xufVxuXG5mdW5jdGlvbiBnZXREaXNwYXRjaDxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHRoYW5kbGVNZXNzYWdlOiAobXNnOiBUTWVzc2FnZSkgPT4gYm9vbGVhbixcblx0Y2FsbFNldE1vZGVsOiAoKSA9PiB2b2lkLFxuXHRjYWxsRGV2VG9vbHM/OiAobXNnOiBUTWVzc2FnZSkgPT4gdm9pZCxcblx0ZmFrZURpc3BhdGNoPzogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuKTogRGlzcGF0Y2g8VE1lc3NhZ2U+IHtcblx0bGV0IHJ1bm5pbmcgPSBmYWxzZTtcblx0Y29uc3QgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cblx0cmV0dXJuIChcblx0XHRmYWtlRGlzcGF0Y2ggPz9cblx0XHQoKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRcdGlmIChydW5uaW5nKSB7XG5cdFx0XHRcdGJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRydW5uaW5nID0gdHJ1ZTtcblxuXHRcdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRcdGRvIHtcblx0XHRcdFx0aWYgKGhhbmRsZU1lc3NhZ2UobmV4dE1zZykpIHtcblx0XHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjYWxsRGV2VG9vbHM/LihuZXh0TXNnKTtcblxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1mcm9udC1tdXRhdGlvbiAtLSBXZSBuZWVkIHRvIHJlbW92ZSBtZXNzYWdlcyBmcm9tIHRoZSBzdGFydC5cblx0XHRcdFx0bmV4dE1zZyA9IGJ1ZmZlci5zaGlmdCgpO1xuXHRcdFx0fSB3aGlsZSAobmV4dE1zZyk7XG5cblx0XHRcdHJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdFx0aWYgKG1vZGlmaWVkKSB7XG5cdFx0XHRcdGNhbGxTZXRNb2RlbCgpO1xuXHRcdFx0fVxuXHRcdH0pXG5cdCk7XG59XG5cbmZ1bmN0aW9uIHJ1bkluaXQ8VE1vZGVsLCBUUHJvcHMsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG5hbWU6IHN0cmluZyxcblx0aW5pdEZuOiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0cHJvcHM6IFRQcm9wcyxcblx0c2V0TW9kZWw6IChtb2RlbDogVE1vZGVsKSA9PiB2b2lkLFxuXHRkaXNwYXRjaDogRGlzcGF0Y2g8VE1lc3NhZ2U+LFxuXHRnZXREZXZUb29sczogKCkgPT4gTnVsbGFibGU8UmVkdXhEZXZUb29scz4sXG5cdGZha2VNb2RlbDogVE1vZGVsIHwgdW5kZWZpbmVkLFxuKTogVE1vZGVsIHtcblx0Y29uc3QgW2luaXRNb2RlbCwgLi4uaW5pdENvbW1hbmRzXSA9IGZha2VNb2RlbCA/IFtmYWtlTW9kZWxdIDogaW5pdEZuKHByb3BzKTtcblxuXHRzZXRNb2RlbChpbml0TW9kZWwpO1xuXHRnZXREZXZUb29scygpPy5pbml0KGluaXRNb2RlbCk7XG5cdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJJbml0aWFsIG1vZGVsIGZvclwiLCBuYW1lLCBpbml0TW9kZWwpO1xuXHRleGVjQ21kKGRpc3BhdGNoLCAuLi5pbml0Q29tbWFuZHMpO1xuXG5cdHJldHVybiBpbml0TW9kZWw7XG59XG5cbmZ1bmN0aW9uIHVzZURpc3Bvc2U8VE1vZGVsPihkaXNwb3NlOiBEaXNwb3NlRnVuY3Rpb248VE1vZGVsPiB8IHVuZGVmaW5lZCwgbW9kZWw6IFRNb2RlbCwgcmVJbml0T246IHVua25vd25bXSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRjb25zdCBtb2RlbFJlZiA9IHVzZVJlZihtb2RlbCk7XG5cblx0dXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcblx0XHRtb2RlbFJlZi5jdXJyZW50ID0gbW9kZWw7XG5cdH0pO1xuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKGRpc3Bvc2UpIHtcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdGRpc3Bvc2UobW9kZWxSZWYuY3VycmVudCk7XG5cdFx0XHR9O1xuXHRcdH1cblx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSBvbmx5IHdhbnQgdG8gcnVuIGRpc3Bvc2Ugd2hlbiB0aGUgcmVJbml0T24gZGVwZW5kZW5jaWVzIGNoYW5nZSBvciBvbiB1bm1vdW50XG5cdH0sIHJlSW5pdE9uID8/IFtdKTtcbn1cblxuZXhwb3J0IHtcblx0ZXhlY0NtZCxcblx0Z2V0RGlzcGF0Y2gsXG5cdGxvZ01lc3NhZ2UsXG5cdG1vZGVsSGFzQ2hhbmdlZCxcblx0cnVuSW5pdCxcblx0dXNlRGlzcG9zZSxcblx0dXNlSXNNb3VudGVkLFxuXHR1c2VSZWR1eCxcblx0dXNlUmVJbml0LFxuXHR1c2VTdWJzY3JpcHRpb24sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFTaUIsU0FBQUksbUJBQUFDLENBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUosbUJBQUFELENBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLENBQUEsVUFBQVEsaUJBQUEsQ0FBQVIsQ0FBQTtBQUFBLFNBQUFTLFNBQUFULENBQUEsV0FBQVUsZUFBQSxDQUFBVixDQUFBLEtBQUFFLGdCQUFBLENBQUFGLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsQ0FBQSxLQUFBVyxnQkFBQTtBQUFBLFNBQUFULGlCQUFBRixDQUFBLDhCQUFBWSxNQUFBLFlBQUFaLENBQUEsQ0FBQVksTUFBQSxDQUFBQyxRQUFBLGFBQUFiLENBQUEsdUJBQUFNLEtBQUEsQ0FBQVEsSUFBQSxDQUFBZCxDQUFBO0FBQUEsU0FBQWUsZUFBQWYsQ0FBQSxFQUFBZ0IsQ0FBQSxXQUFBTixlQUFBLENBQUFWLENBQUEsS0FBQWlCLHFCQUFBLENBQUFqQixDQUFBLEVBQUFnQixDQUFBLEtBQUFiLDJCQUFBLENBQUFILENBQUEsRUFBQWdCLENBQUEsS0FBQUwsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBTixTQUFBO0FBQUEsU0FBQVksc0JBQUFqQixDQUFBLEVBQUFrQixDQUFBLFFBQUFDLENBQUEsV0FBQW5CLENBQUEsZ0NBQUFZLE1BQUEsSUFBQVosQ0FBQSxDQUFBWSxNQUFBLENBQUFDLFFBQUEsS0FBQWIsQ0FBQSw0QkFBQW1CLENBQUEsUUFBQUgsQ0FBQSxFQUFBSSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLE9BQUFDLENBQUEsT0FBQUMsQ0FBQSxpQkFBQUosQ0FBQSxJQUFBRixDQUFBLEdBQUFBLENBQUEsQ0FBQU8sSUFBQSxDQUFBMUIsQ0FBQSxHQUFBMkIsSUFBQSxRQUFBVCxDQUFBLFFBQUFVLE1BQUEsQ0FBQVQsQ0FBQSxNQUFBQSxDQUFBLFVBQUFLLENBQUEsdUJBQUFBLENBQUEsSUFBQVIsQ0FBQSxHQUFBSyxDQUFBLENBQUFLLElBQUEsQ0FBQVAsQ0FBQSxHQUFBVSxJQUFBLE1BQUFOLENBQUEsQ0FBQU8sSUFBQSxDQUFBZCxDQUFBLENBQUFlLEtBQUEsR0FBQVIsQ0FBQSxDQUFBUyxNQUFBLEtBQUFkLENBQUEsR0FBQU0sQ0FBQSxpQkFBQXhCLENBQUEsSUFBQXlCLENBQUEsT0FBQUwsQ0FBQSxHQUFBcEIsQ0FBQSx5QkFBQXdCLENBQUEsWUFBQUwsQ0FBQSxlQUFBRyxDQUFBLEdBQUFILENBQUEsY0FBQVMsTUFBQSxDQUFBTixDQUFBLE1BQUFBLENBQUEsMkJBQUFHLENBQUEsUUFBQUwsQ0FBQSxhQUFBRyxDQUFBO0FBQUEsU0FBQWIsZ0JBQUFWLENBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLENBQUEsVUFBQUEsQ0FBQTtBQUFBLFNBQUFpQywyQkFBQWpDLENBQUEsRUFBQWdCLENBQUEsUUFBQUcsQ0FBQSx5QkFBQVAsTUFBQSxJQUFBWixDQUFBLENBQUFZLE1BQUEsQ0FBQUMsUUFBQSxLQUFBYixDQUFBLHFCQUFBbUIsQ0FBQSxRQUFBYixLQUFBLENBQUFDLE9BQUEsQ0FBQVAsQ0FBQSxNQUFBbUIsQ0FBQSxHQUFBaEIsMkJBQUEsQ0FBQUgsQ0FBQSxNQUFBZ0IsQ0FBQSxJQUFBaEIsQ0FBQSx1QkFBQUEsQ0FBQSxDQUFBZ0MsTUFBQSxJQUFBYixDQUFBLEtBQUFuQixDQUFBLEdBQUFtQixDQUFBLE9BQUFlLEVBQUEsTUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFDLENBQUEsRUFBQUQsQ0FBQSxFQUFBZixDQUFBLFdBQUFBLEVBQUEsV0FBQWMsRUFBQSxJQUFBbEMsQ0FBQSxDQUFBZ0MsTUFBQSxLQUFBSCxJQUFBLFdBQUFBLElBQUEsTUFBQUUsS0FBQSxFQUFBL0IsQ0FBQSxDQUFBa0MsRUFBQSxVQUFBbEIsQ0FBQSxXQUFBQSxFQUFBaEIsQ0FBQSxVQUFBQSxDQUFBLEtBQUF3QixDQUFBLEVBQUFXLENBQUEsZ0JBQUE5QixTQUFBLGlKQUFBb0IsQ0FBQSxFQUFBRixDQUFBLE9BQUFELENBQUEsZ0JBQUFjLENBQUEsV0FBQUEsRUFBQSxJQUFBakIsQ0FBQSxHQUFBQSxDQUFBLENBQUFPLElBQUEsQ0FBQTFCLENBQUEsTUFBQW9CLENBQUEsV0FBQUEsRUFBQSxRQUFBcEIsQ0FBQSxHQUFBbUIsQ0FBQSxDQUFBUSxJQUFBLFdBQUFKLENBQUEsR0FBQXZCLENBQUEsQ0FBQTZCLElBQUEsRUFBQTdCLENBQUEsS0FBQWdCLENBQUEsV0FBQUEsRUFBQWhCLENBQUEsSUFBQXNCLENBQUEsT0FBQUcsQ0FBQSxHQUFBekIsQ0FBQSxLQUFBd0IsQ0FBQSxXQUFBQSxFQUFBLFVBQUFELENBQUEsWUFBQUosQ0FBQSxjQUFBQSxDQUFBLDhCQUFBRyxDQUFBLFFBQUFHLENBQUE7QUFBQSxTQUFBdEIsNEJBQUFILENBQUEsRUFBQXVCLENBQUEsUUFBQXZCLENBQUEsMkJBQUFBLENBQUEsU0FBQVEsaUJBQUEsQ0FBQVIsQ0FBQSxFQUFBdUIsQ0FBQSxPQUFBSixDQUFBLE1BQUFrQixRQUFBLENBQUFYLElBQUEsQ0FBQTFCLENBQUEsRUFBQXNDLEtBQUEsNkJBQUFuQixDQUFBLElBQUFuQixDQUFBLENBQUF1QyxXQUFBLEtBQUFwQixDQUFBLEdBQUFuQixDQUFBLENBQUF1QyxXQUFBLENBQUFDLElBQUEsYUFBQXJCLENBQUEsY0FBQUEsQ0FBQSxHQUFBYixLQUFBLENBQUFRLElBQUEsQ0FBQWQsQ0FBQSxvQkFBQW1CLENBQUEsK0NBQUFzQixJQUFBLENBQUF0QixDQUFBLElBQUFYLGlCQUFBLENBQUFSLENBQUEsRUFBQXVCLENBQUE7QUFBQSxTQUFBZixrQkFBQVIsQ0FBQSxFQUFBdUIsQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQXZCLENBQUEsQ0FBQWdDLE1BQUEsTUFBQVQsQ0FBQSxHQUFBdkIsQ0FBQSxDQUFBZ0MsTUFBQSxZQUFBaEIsQ0FBQSxNQUFBSSxDQUFBLEdBQUFkLEtBQUEsQ0FBQWlCLENBQUEsR0FBQVAsQ0FBQSxHQUFBTyxDQUFBLEVBQUFQLENBQUEsSUFBQUksQ0FBQSxDQUFBSixDQUFBLElBQUFoQixDQUFBLENBQUFnQixDQUFBLFVBQUFJLENBQUE7QUFFakIsU0FBU3NCLFVBQVVBLENBQUNGLElBQVksRUFBRUcsR0FBWSxFQUFRO0VBQUEsSUFBQUMsZ0JBQUEsRUFBQUMsaUJBQUEsRUFBQUMscUJBQUE7RUFDckQsQ0FBQUYsZ0JBQUEsR0FBQUcsY0FBUSxDQUFDQyxNQUFNLGNBQUFKLGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCSyxJQUFJLENBQUMsY0FBYyxFQUFFVCxJQUFJLEVBQUVHLEdBQUcsQ0FBQ0gsSUFBSSxDQUFDO0VBQ3JELENBQUFLLGlCQUFBLEdBQUFFLGNBQVEsQ0FBQ0MsTUFBTSxjQUFBSCxpQkFBQSxlQUFmQSxpQkFBQSxDQUFpQkssS0FBSyxDQUFDLGNBQWMsRUFBRVYsSUFBSSxFQUFFRyxHQUFHLENBQUM7RUFFakQsQ0FBQUcscUJBQUEsR0FBQUMsY0FBUSxDQUFDSSxrQkFBa0IsY0FBQUwscUJBQUEsZUFBM0JBLHFCQUFBLENBQUFwQixJQUFBLENBQUFxQixjQUFRLEVBQXNCSixHQUFHLENBQUM7QUFDbkM7QUFFQSxTQUFTUyxlQUFlQSxDQUFTQyxZQUFvQixFQUFFQyxLQUFzQixFQUFXO0VBQ3ZGLE9BQU8sQ0FBQzFCLE1BQU0sQ0FBQzJCLEVBQUUsQ0FBQ0QsS0FBSyxFQUFFRCxZQUFZLENBQUMsSUFBSXpCLE1BQU0sQ0FBQzRCLG1CQUFtQixDQUFDRixLQUFLLENBQUMsQ0FBQ3RCLE1BQU0sR0FBRyxDQUFDO0FBQ3ZGO0FBRUEsU0FBU3lCLE9BQU9BLENBQVdDLFFBQTRCLEVBQW9EO0VBQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUE1QixNQUFBLEVBQS9DNkIsUUFBUSxPQUFBdkQsS0FBQSxDQUFBcUQsSUFBQSxPQUFBQSxJQUFBLFdBQUFHLElBQUEsTUFBQUEsSUFBQSxHQUFBSCxJQUFBLEVBQUFHLElBQUE7SUFBUkQsUUFBUSxDQUFBQyxJQUFBLFFBQUFGLFNBQUEsQ0FBQUUsSUFBQTtFQUFBO0VBQUEsSUFBQUMsU0FBQSxHQUFBOUIsMEJBQUEsQ0FDaEQ0QixRQUFRLENBQUNHLElBQUksQ0FBQyxDQUFDO0lBQUFDLEtBQUE7RUFBQTtJQUFsQyxLQUFBRixTQUFBLENBQUEzQixDQUFBLE1BQUE2QixLQUFBLEdBQUFGLFNBQUEsQ0FBQTNDLENBQUEsSUFBQVMsSUFBQSxHQUFvQztNQUFBLElBQXpCSCxJQUFJLEdBQUF1QyxLQUFBLENBQUFsQyxLQUFBO01BQ2QsSUFBSUwsSUFBSSxFQUFFO1FBQ1RBLElBQUksQ0FBQ2dDLFFBQVEsQ0FBQztNQUNmO0lBQ0Q7RUFBQyxTQUFBUSxHQUFBO0lBQUFILFNBQUEsQ0FBQS9DLENBQUEsQ0FBQWtELEdBQUE7RUFBQTtJQUFBSCxTQUFBLENBQUF2QyxDQUFBO0VBQUE7QUFDRjs7QUFFQTtBQUNBLFNBQVMyQyxRQUFRQSxDQUFTM0IsSUFBWSxFQUFFNEIsUUFBaUMsRUFBc0M7RUFDOUcsSUFBTUMsV0FBVyxHQUFHLElBQUFDLGFBQU0sRUFBMEIsSUFBSSxDQUFDO0VBRXpELElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNmLElBQUlDLGdCQUEwQztJQUU5QyxJQUFJekIsY0FBUSxDQUFDMEIsY0FBYyxLQUFLLElBQUksSUFBSSxJQUFBQyxxQ0FBc0IsRUFBQ0MsTUFBTSxDQUFDLEVBQUU7TUFDdkU7TUFDQU4sV0FBVyxDQUFDTyxPQUFPLEdBQUdELE1BQU0sQ0FBQ0UsNEJBQTRCLENBQUNDLE9BQU8sQ0FBQztRQUFFdEMsSUFBSSxFQUFKQSxJQUFJO1FBQUV1QyxTQUFTLEVBQUU7VUFBRUMsT0FBTyxFQUFFO1FBQUs7TUFBRSxDQUFDLENBQUM7TUFFekdSLGdCQUFnQixHQUFHSCxXQUFXLENBQUNPLE9BQU8sQ0FBQ0ssU0FBUyxDQUFDLFVBQUNDLE9BQU8sRUFBSztRQUM3RCxJQUFJQSxPQUFPLENBQUNDLElBQUksS0FBSyxVQUFVLElBQUlELE9BQU8sQ0FBQ0UsT0FBTyxDQUFDRCxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7VUFDN0U7VUFDQWYsUUFBUSxDQUFDaUIsSUFBSSxDQUFDQyxLQUFLLENBQUNKLE9BQU8sQ0FBQ0ssS0FBSyxDQUFXLENBQUM7UUFDOUM7TUFDRCxDQUFDLENBQUM7SUFDSDtJQUVBLE9BQU8sWUFBTTtNQUFBLElBQUFDLGlCQUFBO01BQ1osQ0FBQUEsaUJBQUEsR0FBQWhCLGdCQUFnQixjQUFBZ0IsaUJBQUEsZUFBaEJBLGlCQUFBLENBQW1CLENBQUM7SUFDckIsQ0FBQztFQUNGLENBQUMsRUFBRSxDQUFDaEQsSUFBSSxFQUFFNEIsUUFBUSxDQUFDLENBQUM7RUFFcEIsT0FBT0MsV0FBVztBQUNuQjtBQUVBLFNBQVNvQixZQUFZQSxDQUFBLEVBQXVCO0VBQzNDLElBQU1DLFlBQVksR0FBRyxJQUFBcEIsYUFBTSxFQUFDLElBQUksQ0FBQztFQUVqQyxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZm1CLFlBQVksQ0FBQ2QsT0FBTyxHQUFHLElBQUk7SUFFM0IsT0FBTyxZQUFNO01BQ1pjLFlBQVksQ0FBQ2QsT0FBTyxHQUFHLEtBQUs7SUFDN0IsQ0FBQztFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixPQUFPYyxZQUFZO0FBQ3BCO0FBRUEsU0FBU0MsZUFBZUEsQ0FDdkJDLFlBQWdFLEVBQ2hFdEMsS0FBYSxFQUNidUMsS0FBYSxFQUNibkMsUUFBNEIsRUFDNUJvQyxRQUErQixFQUN4QjtFQUNQLElBQUF2QixnQkFBUyxFQUFDLFlBQU07SUFDZixJQUFJLENBQUNxQixZQUFZLEVBQUU7TUFDbEI7SUFDRDtJQUVBLElBQU1HLGtCQUFrQixHQUFHSCxZQUFZLENBQUN0QyxLQUFLLEVBQUV1QyxLQUFLLENBQUM7SUFFckQsSUFBSSxJQUFBRyxrQ0FBMkIsRUFBQ0Qsa0JBQWtCLENBQUMsRUFBRTtNQUNwRCxJQUFNRSxXQUFXLEdBQUdGLGtCQUFrQixDQUFDRyxHQUFHLENBQUMsVUFBQ0MsR0FBRztRQUFBLE9BQUtBLEdBQUcsQ0FBQ3pDLFFBQVEsQ0FBQztNQUFBLEVBQUMsQ0FBQzBDLE1BQU0sQ0FBQyxVQUFDeEIsT0FBTztRQUFBLE9BQUtBLE9BQU8sS0FBS3lCLFNBQVM7TUFBQSxFQUFDO01BRTdHLE9BQU8sU0FBU0Msa0JBQWtCQSxDQUFBLEVBQUc7UUFBQSxJQUFBQyxVQUFBLEdBQUF0RSwwQkFBQSxDQUNYZ0UsV0FBVztVQUFBTyxNQUFBO1FBQUE7VUFBcEMsS0FBQUQsVUFBQSxDQUFBbkUsQ0FBQSxNQUFBb0UsTUFBQSxHQUFBRCxVQUFBLENBQUFuRixDQUFBLElBQUFTLElBQUEsR0FBc0M7WUFBQSxJQUEzQjRFLFdBQVUsR0FBQUQsTUFBQSxDQUFBekUsS0FBQTtZQUNwQjBFLFdBQVUsQ0FBQyxDQUFDO1VBQ2I7UUFBQyxTQUFBdkMsR0FBQTtVQUFBcUMsVUFBQSxDQUFBdkYsQ0FBQSxDQUFBa0QsR0FBQTtRQUFBO1VBQUFxQyxVQUFBLENBQUEvRSxDQUFBO1FBQUE7TUFDRixDQUFDO0lBQ0Y7SUFFQSxJQUFBa0YsbUJBQUEsR0FBQTNGLGNBQUEsQ0FBNkJnRixrQkFBa0I7TUFBeENZLE1BQU0sR0FBQUQsbUJBQUE7TUFBRUQsVUFBVSxHQUFBQyxtQkFBQTtJQUV6QmpELE9BQU8sQ0FBQ0MsUUFBUSxFQUFFaUQsTUFBTSxDQUFDO0lBRXpCLE9BQU9GLFVBQVU7SUFDakI7RUFDRCxDQUFDLEVBQUVYLFFBQVEsYUFBUkEsUUFBUSxjQUFSQSxRQUFRLEdBQUksRUFBRSxDQUFDO0FBQ25CO0FBRUEsU0FBU2MsU0FBU0EsQ0FBQ3hDLFFBQStCLEVBQUUwQixRQUErQixFQUFRO0VBQzFGLElBQU1lLFlBQVksR0FBRyxJQUFBdkMsYUFBTSxFQUFDLElBQUksQ0FBQztFQUVqQyxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZixJQUFJc0MsWUFBWSxDQUFDakMsT0FBTyxFQUFFO01BQ3pCaUMsWUFBWSxDQUFDakMsT0FBTyxHQUFHLEtBQUs7TUFFNUI7SUFDRDtJQUVBUixRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2Q7RUFDRCxDQUFDLEVBQUUwQixRQUFRLGFBQVJBLFFBQVEsY0FBUkEsUUFBUSxHQUFJLEVBQUUsQ0FBQztBQUNuQjtBQUVBLFNBQVNnQixXQUFXQSxDQUNuQkMsYUFBeUMsRUFDekNDLFlBQXdCLEVBQ3hCQyxZQUFzQyxFQUN0Q0MsWUFBaUMsRUFDWjtFQUNyQixJQUFJQyxPQUFPLEdBQUcsS0FBSztFQUNuQixJQUFNQyxNQUFrQixHQUFHLEVBQUU7RUFFN0IsT0FDQ0YsWUFBWSxhQUFaQSxZQUFZLGNBQVpBLFlBQVksR0FDWCxVQUFDdkUsR0FBYSxFQUFXO0lBQ3pCLElBQUl3RSxPQUFPLEVBQUU7TUFDWkMsTUFBTSxDQUFDdEYsSUFBSSxDQUFDYSxHQUFHLENBQUM7TUFFaEI7SUFDRDtJQUVBd0UsT0FBTyxHQUFHLElBQUk7SUFFZCxJQUFJRSxPQUE2QixHQUFHMUUsR0FBRztJQUN2QyxJQUFJMkUsUUFBUSxHQUFHLEtBQUs7SUFFcEIsR0FBRztNQUNGLElBQUlQLGFBQWEsQ0FBQ00sT0FBTyxDQUFDLEVBQUU7UUFDM0JDLFFBQVEsR0FBRyxJQUFJO01BQ2hCO01BRUFMLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUdJLE9BQU8sQ0FBQzs7TUFFdkI7TUFDQUEsT0FBTyxHQUFHRCxNQUFNLENBQUNHLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsUUFBUUYsT0FBTztJQUVoQkYsT0FBTyxHQUFHLEtBQUs7SUFFZixJQUFJRyxRQUFRLEVBQUU7TUFDYk4sWUFBWSxDQUFDLENBQUM7SUFDZjtFQUNELENBQUM7QUFFSDtBQUVBLFNBQVNRLE9BQU9BLENBQ2ZoRixJQUFZLEVBQ1ppRixNQUE4QyxFQUM5QzVCLEtBQWEsRUFDYnpCLFFBQWlDLEVBQ2pDVixRQUE0QixFQUM1QmdFLFdBQTBDLEVBQzFDQyxTQUE2QixFQUNwQjtFQUFBLElBQUFDLFlBQUEsRUFBQUMsaUJBQUE7RUFDVCxJQUFBQyxJQUFBLEdBQXFDSCxTQUFTLEdBQUcsQ0FBQ0EsU0FBUyxDQUFDLEdBQUdGLE1BQU0sQ0FBQzVCLEtBQUssQ0FBQztJQUFBa0MsS0FBQSxHQUFBdEgsUUFBQSxDQUFBcUgsSUFBQTtJQUFyRUUsU0FBUyxHQUFBRCxLQUFBO0lBQUtFLFlBQVksR0FBQXpILGlCQUFBLENBQUF1SCxLQUFBLEVBQUF6RixLQUFBO0VBRWpDOEIsUUFBUSxDQUFDNEQsU0FBUyxDQUFDO0VBQ25CLENBQUFKLFlBQUEsR0FBQUYsV0FBVyxDQUFDLENBQUMsY0FBQUUsWUFBQSxlQUFiQSxZQUFBLENBQWVNLElBQUksQ0FBQ0YsU0FBUyxDQUFDO0VBQzlCLENBQUFILGlCQUFBLEdBQUE5RSxjQUFRLENBQUNDLE1BQU0sY0FBQTZFLGlCQUFBLGVBQWZBLGlCQUFBLENBQWlCM0UsS0FBSyxDQUFDLG1CQUFtQixFQUFFVixJQUFJLEVBQUV3RixTQUFTLENBQUM7RUFDNUR2RSxPQUFPLENBQUEwRSxLQUFBLFVBQUN6RSxRQUFRLEVBQUEwRSxNQUFBLENBQUFySSxrQkFBQSxDQUFLa0ksWUFBWSxHQUFDO0VBRWxDLE9BQU9ELFNBQVM7QUFDakI7QUFFQSxTQUFTSyxVQUFVQSxDQUFTQyxPQUE0QyxFQUFFaEYsS0FBYSxFQUFFd0MsUUFBK0IsRUFBUTtFQUMvSCxJQUFNeUMsUUFBUSxHQUFHLElBQUFqRSxhQUFNLEVBQUNoQixLQUFLLENBQUM7RUFFOUIsSUFBQWtGLHNCQUFlLEVBQUMsWUFBTTtJQUNyQkQsUUFBUSxDQUFDM0QsT0FBTyxHQUFHdEIsS0FBSztFQUN6QixDQUFDLENBQUM7RUFFRixJQUFBaUIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2YsSUFBSStELE9BQU8sRUFBRTtNQUNaLE9BQU8sWUFBTTtRQUNaQSxPQUFPLENBQUNDLFFBQVEsQ0FBQzNELE9BQU8sQ0FBQztNQUMxQixDQUFDO0lBQ0Y7SUFDQTtFQUNELENBQUMsRUFBRWtCLFFBQVEsYUFBUkEsUUFBUSxjQUFSQSxRQUFRLEdBQUksRUFBRSxDQUFDO0FBQ25CIiwiaWdub3JlTGlzdCI6W119
@@ -108,6 +108,8 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
108
108
  modified = true;
109
109
  }
110
110
  _Common.execCmd.apply(void 0, [_this.dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
111
+
112
+ // eslint-disable-next-line unicorn/no-array-front-mutation -- We need to remove messages from the start.
111
113
  nextMsg = _this.buffer.shift();
112
114
  } while (nextMsg);
113
115
  _this.running = false;
@@ -178,7 +180,7 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
178
180
  * @type {Readonly<TModel>}
179
181
  * @memberof ElmComponent
180
182
  */
181
- // eslint-disable-next-line react/no-unused-class-component-methods -- We need it internally.
183
+ // eslint-disable-next-line react/no-unused-class-component-members -- We need it internally.
182
184
  }, {
183
185
  key: "model",
184
186
  get: function get() {
@@ -186,4 +188,4 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
186
188
  }
187
189
  }]);
188
190
  }(_react["default"].Component);
189
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXIzIiwiX2Zha2VPcHRpb25zIiwiX0luaXQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwidmFsdWUiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiZGlzcG9zZUhhbmRsZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl90aGlzIiwibXNnIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsImN1cnJlbnRNZXNzYWdlIiwibG9nTWVzc2FnZSIsImNvbXBvbmVudE5hbWUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsImN1cnJlbnRNb2RlbCIsIl90aGlzJHVwZGF0ZSIsInVwZGF0ZSIsIl90aGlzJHVwZGF0ZTIiLCJtb2RlbCIsImNvbW1hbmRzIiwiX2dldERlZmVycmVkIiwiX2dldERlZmVycmVkMiIsImRlZmVycmVkTW9kZWwiLCJkZWZlcnJlZENvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIl9yZWYyIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIl90aGlzJGRpc3Bvc2VIYW5kbGVyIiwiZ2V0IiwiUmVhY3QiLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi9zcmMvRWxtQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHsgZ2V0RmFrZU9wdGlvbnNPbmNlIH0gZnJvbSBcIi4vZmFrZU9wdGlvbnNcIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3Bvc2VGdW5jdGlvbiwgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb24gfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZVJlYWN0RnVuY3Rpb25Db21wb25lbnRzOiBUaGlzIGlzIG9ubHkgZm9yIGRvd253YXJkIGNvbXBhdGliaWxpdHkuXG5hYnN0cmFjdCBjbGFzcyBFbG1Db21wb25lbnQ8VE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRQcm9wcz4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8VFByb3BzPiB7XG5cdHByaXZhdGUgaW5pdENvbW1hbmRzOiBOdWxsYWJsZTwoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXT4gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHRwcml2YXRlIHJlYWRvbmx5IGJ1ZmZlcjogVE1lc3NhZ2VbXSA9IFtdO1xuXHRwcml2YXRlIHJ1bm5pbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBtb3VudGVkID0gZmFsc2U7XG5cdHByaXZhdGUgY3VycmVudE1vZGVsOiBUTW9kZWw7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRWxtQ29tcG9uZW50LlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIGZvciB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdCBUaGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogVFByb3BzLCBpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiwgbmFtZTogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IGRpc3Bvc2VIYW5kbGVyPzogRGlzcG9zZUZ1bmN0aW9uPFRNb2RlbD4pIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXG5cdFx0aWYgKGZha2VPcHRpb25zPy5kaXNwYXRjaCkge1xuXHRcdFx0dGhpcy5kaXNwYXRjaCA9IGZha2VPcHRpb25zLmRpc3BhdGNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHRoaXMucHJvcHMpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIG1vZGVsKTtcblxuXHRcdHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBtb2RlbDtcblx0XHR0aGlzLmluaXRDb21tYW5kcyA9IGNvbW1hbmRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IHRydWU7XG5cblx0XHRpZiAodGhpcy5pbml0Q29tbWFuZHMpIHtcblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4udGhpcy5pbml0Q29tbWFuZHMpO1xuXHRcdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMuZGlzcG9zZUhhbmRsZXI/Lih0aGlzLmN1cnJlbnRNb2RlbCk7XG5cdFx0dGhpcy5tb3VudGVkID0gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBtb2RlbC5cblx0ICogQHJlYWRvbmx5XG5cdCAqIEB0eXBlIHtSZWFkb25seTxUTW9kZWw+fVxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW51c2VkLWNsYXNzLWNvbXBvbmVudC1tZXRob2RzIC0tIFdlIG5lZWQgaXQgaW50ZXJuYWxseS5cblx0cHVibGljIGdldCBtb2RlbCgpOiBSZWFkb25seTxUTW9kZWw+IHtcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5ydW5uaW5nKSB7XG5cdFx0XHR0aGlzLmJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0ZG8ge1xuXHRcdFx0Y29uc3QgY3VycmVudE1lc3NhZ2UgPSBuZXh0TXNnO1xuXG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgY3VycmVudE1lc3NhZ2UpO1xuXG5cdFx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKGN1cnJlbnRNZXNzYWdlLCB0aGlzLmN1cnJlbnRNb2RlbCwgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgY3VycmVudE1lc3NhZ2UsIHRoaXMucHJvcHMsIHsgZGVmZXIsIGNhbGxCYXNlIH0pO1xuXG5cdFx0XHRjb25zdCBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0XHRpZiAobW9kZWxIYXNDaGFuZ2VkKHRoaXMuY3VycmVudE1vZGVsLCB7IC4uLmRlZmVycmVkTW9kZWwsIC4uLm1vZGVsIH0pKSB7XG5cdFx0XHRcdHRoaXMuY3VycmVudE1vZGVsID0geyAuLi50aGlzLmN1cnJlbnRNb2RlbCwgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubW9kZWwgfTtcblx0XHRcdFx0bW9kaWZpZWQgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRleGVjQ21kKHRoaXMuZGlzcGF0Y2gsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzKTtcblxuXHRcdFx0bmV4dE1zZyA9IHRoaXMuYnVmZmVyLnNoaWZ0KCk7XG5cdFx0fSB3aGlsZSAobmV4dE1zZyk7XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdGlmICh0aGlzLm1vdW50ZWQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5jdXJyZW50TW9kZWwpO1xuXHRcdFx0dGhpcy5mb3JjZVVwZGF0ZSgpO1xuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1vZGVsfSBtb2RlbCBUaGUgY3VycmVudCBtb2RlbC5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSB1cGRhdGUgZnVuY3Rpb24uXG5cdCAqIEByZXR1cm5zIFRoZSBuZXcgbW9kZWwgKGNhbiBhbHNvIGJlIGFuIGVtcHR5IG9iamVjdCB7fSkgYW5kIGFuIG9wdGlvbmFsIG5ldyBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAYWJzdHJhY3Rcblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGFic3RyYWN0IHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuZXhwb3J0IHsgRWxtQ29tcG9uZW50IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQUFrQyxTQUFBRCx1QkFBQU8sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxD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
191
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfY3JlYXRlQ2FsbEJhc2UiLCJfY3JlYXRlRGVmZXIzIiwiX2Zha2VPcHRpb25zIiwiX0luaXQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwidmFsdWUiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiZGlzcG9zZUhhbmRsZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl90aGlzIiwibXNnIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJtb2RpZmllZCIsImN1cnJlbnRNZXNzYWdlIiwibG9nTWVzc2FnZSIsImNvbXBvbmVudE5hbWUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsImN1cnJlbnRNb2RlbCIsIl90aGlzJHVwZGF0ZSIsInVwZGF0ZSIsIl90aGlzJHVwZGF0ZTIiLCJtb2RlbCIsImNvbW1hbmRzIiwiX2dldERlZmVycmVkIiwiX2dldERlZmVycmVkMiIsImRlZmVycmVkTW9kZWwiLCJkZWZlcnJlZENvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIl9yZWYyIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIl90aGlzJGRpc3Bvc2VIYW5kbGVyIiwiZ2V0IiwiUmVhY3QiLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi9zcmMvRWxtQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHsgZ2V0RmFrZU9wdGlvbnNPbmNlIH0gZnJvbSBcIi4vZmFrZU9wdGlvbnNcIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3Bvc2VGdW5jdGlvbiwgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb24gfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZVJlYWN0RnVuY3Rpb25Db21wb25lbnRzOiBUaGlzIGlzIG9ubHkgZm9yIGRvd253YXJkIGNvbXBhdGliaWxpdHkuXG5hYnN0cmFjdCBjbGFzcyBFbG1Db21wb25lbnQ8VE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRQcm9wcz4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8VFByb3BzPiB7XG5cdHByaXZhdGUgaW5pdENvbW1hbmRzOiBOdWxsYWJsZTwoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXT4gfCB1bmRlZmluZWQ7XG5cdHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuXHRwcml2YXRlIHJlYWRvbmx5IGJ1ZmZlcjogVE1lc3NhZ2VbXSA9IFtdO1xuXHRwcml2YXRlIHJ1bm5pbmcgPSBmYWxzZTtcblx0cHJpdmF0ZSBtb3VudGVkID0gZmFsc2U7XG5cdHByaXZhdGUgY3VycmVudE1vZGVsOiBUTW9kZWw7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRWxtQ29tcG9uZW50LlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIGZvciB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0geygpID0+IFRNb2RlbH0gaW5pdCBUaGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRwcm9wczogVFByb3BzLFxuXHRcdGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRcdG5hbWU6IHN0cmluZyxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGRpc3Bvc2VIYW5kbGVyPzogRGlzcG9zZUZ1bmN0aW9uPFRNb2RlbD4sXG5cdCkge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cblx0XHRpZiAoZmFrZU9wdGlvbnM/LmRpc3BhdGNoKSB7XG5cdFx0XHR0aGlzLmRpc3BhdGNoID0gZmFrZU9wdGlvbnMuZGlzcGF0Y2g7XG5cdFx0fVxuXG5cdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQodGhpcy5wcm9wcyk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgbW9kZWwpO1xuXG5cdFx0dGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcblx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdHRoaXMuaW5pdENvbW1hbmRzID0gY29tbWFuZHM7XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuXHRcdGlmICh0aGlzLmluaXRDb21tYW5kcykge1xuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi50aGlzLmluaXRDb21tYW5kcyk7XG5cdFx0XHR0aGlzLmluaXRDb21tYW5kcyA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCBiZWZvcmUgdW5sb2FkaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5kaXNwb3NlSGFuZGxlcj8uKHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHR0aGlzLm1vdW50ZWQgPSBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IG1vZGVsLlxuXHQgKiBAcmVhZG9ubHlcblx0ICogQHR5cGUge1JlYWRvbmx5PFRNb2RlbD59XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bnVzZWQtY2xhc3MtY29tcG9uZW50LW1lbWJlcnMgLS0gV2UgbmVlZCBpdCBpbnRlcm5hbGx5LlxuXHRwdWJsaWMgZ2V0IG1vZGVsKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRNb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwYXRjaGVzIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzcGF0Y2ggPSAobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdGlmICh0aGlzLnJ1bm5pbmcpIHtcblx0XHRcdHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucnVubmluZyA9IHRydWU7XG5cblx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRkbyB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZSA9IG5leHRNc2c7XG5cblx0XHRcdGxvZ01lc3NhZ2UodGhpcy5jb21wb25lbnROYW1lLCBjdXJyZW50TWVzc2FnZSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1vZGVsLCBUTWVzc2FnZT4oKTtcblx0XHRcdGNvbnN0IGNhbGxCYXNlID0gY3JlYXRlQ2FsbEJhc2UoY3VycmVudE1lc3NhZ2UsIHRoaXMuY3VycmVudE1vZGVsLCB0aGlzLnByb3BzLCB7IGRlZmVyIH0pO1xuXG5cdFx0XHRjb25zdCBbbW9kZWwsIC4uLmNvbW1hbmRzXSA9IHRoaXMudXBkYXRlKHRoaXMuY3VycmVudE1vZGVsLCBjdXJyZW50TWVzc2FnZSwgdGhpcy5wcm9wcywgeyBkZWZlciwgY2FsbEJhc2UgfSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlcnJlZE1vZGVsLCBkZWZlcnJlZENvbW1hbmRzXSA9IGdldERlZmVycmVkKCk7XG5cblx0XHRcdGlmIChtb2RlbEhhc0NoYW5nZWQodGhpcy5jdXJyZW50TW9kZWwsIHsgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubW9kZWwgfSkpIHtcblx0XHRcdFx0dGhpcy5jdXJyZW50TW9kZWwgPSB7IC4uLnRoaXMuY3VycmVudE1vZGVsLCAuLi5kZWZlcnJlZE1vZGVsLCAuLi5tb2RlbCB9O1xuXHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHR9XG5cblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1mcm9udC1tdXRhdGlvbiAtLSBXZSBuZWVkIHRvIHJlbW92ZSBtZXNzYWdlcyBmcm9tIHRoZSBzdGFydC5cblx0XHRcdG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuXHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0dGhpcy5ydW5uaW5nID0gZmFsc2U7XG5cblx0XHRpZiAodGhpcy5tb3VudGVkICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNb2RlbH0gbW9kZWwgVGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBwcm9jZXNzLlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgdXBkYXRlIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3IG1vZGVsIChjYW4gYWxzbyBiZSBhbiBlbXB0eSBvYmplY3Qge30pIGFuZCBhbiBvcHRpb25hbCBuZXcgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQGFic3RyYWN0XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFBa0MsU0FBQUQsdUJBQUFPLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssbUJBQUFDLENBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUosbUJBQUFELENBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLENBQUEsVUFBQVEsaUJBQUEsQ0FBQVIsQ0FBQTtBQUFBLFNBQUFTLFFBQUFsQixDQUFBLEVBQUFTLENBQUEsUUFBQVUsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQXJCLENBQUEsT0FBQW9CLE1BQUEsQ0FBQUUscUJBQUEsUUFBQW5CLENBQUEsR0FBQWlCLE1BQUEsQ0FBQUUscUJBQUEsQ0FBQXRCLENBQUEsR0FBQVMsQ0FBQSxLQUFBTixDQUFBLEdBQUFBLENBQUEsQ0FBQW9CLE1BQUEsV0FBQWQsQ0FBQSxXQUFBVyxNQUFBLENBQUFJLHdCQUFBLENBQUF4QixDQUFBLEVBQUFTLENBQUEsRUFBQWdCLFVBQUEsT0FBQU4sQ0FBQSxDQUFBTyxJQUFBLENBQUFDLEtBQUEsQ0FBQVIsQ0FBQSxFQUFBaEIsQ0FBQSxZQUFBZ0IsQ0FBQTtBQUFBLFNBQUFTLGNBQUE1QixDQUFBLGFBQUFTLENBQUEsTUFBQUEsQ0FBQSxHQUFBb0IsU0FBQSxDQUFBQyxNQUFBLEVBQUFyQixDQUFBLFVBQUFVLENBQUEsV0FBQVUsU0FBQSxDQUFBcEIsQ0FBQSxJQUFBb0IsU0FBQSxDQUFBcEIsQ0FBQSxRQUFBQSxDQUFBLE9BQUFTLE9BQUEsQ0FBQUUsTUFBQSxDQUFBRCxDQUFBLE9BQUFZLE9BQUEsV0FBQXRCLENBQUEsSUFBQXVCLGVBQUEsQ0FBQWhDLENBQUEsRUFBQVMsQ0FBQSxFQUFBVSxDQUFBLENBQUFWLENBQUEsU0FBQVcsTUFBQSxDQUFBYSx5QkFBQSxHQUFBYixNQUFBLENBQUFjLGdCQUFBLENBQUFsQyxDQUFBLEVBQUFvQixNQUFBLENBQUFhLHlCQUFBLENBQUFkLENBQUEsS0FBQUQsT0FBQSxDQUFBRSxNQUFBLENBQUFELENBQUEsR0FBQVksT0FBQSxXQUFBdEIsQ0FBQSxJQUFBVyxNQUFBLENBQUFlLGNBQUEsQ0FBQW5DLENBQUEsRUFBQVMsQ0FBQSxFQUFBVyxNQUFBLENBQUFJLHdCQUFBLENBQUFMLENBQUEsRUFBQVYsQ0FBQSxpQkFBQVQsQ0FBQTtBQUFBLFNBQUFvQyxTQUFBM0IsQ0FBQSxXQUFBNEIsZUFBQSxDQUFBNUIsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQTZCLGdCQUFBO0FBQUEsU0FBQTNCLGlCQUFBRixDQUFBLDhCQUFBTCxNQUFBLFlBQUFLLENBQUEsQ0FBQUwsTUFBQSxDQUFBQyxRQUFBLGFBQUFJLENBQUEsdUJBQUFNLEtBQUEsQ0FBQXdCLElBQUEsQ0FBQTlCLENBQUE7QUFBQSxTQUFBK0IsZUFBQS9CLENBQUEsRUFBQVQsQ0FBQSxXQUFBcUMsZUFBQSxDQUFBNUIsQ0FBQSxLQUFBZ0MscUJBQUEsQ0FBQWhDLENBQUEsRUFBQVQsQ0FBQSxLQUFBWSwyQkFBQSxDQUFBSCxDQUFBLEVBQUFULENBQUEsS0FBQXNDLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQXhCLFNBQUE7QUFBQSxTQUFBRiw0QkFBQUgsQ0FBQSxFQUFBaUMsQ0FBQSxRQUFBakMsQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBUSxpQkFBQSxDQUFBUixDQUFBLEVBQUFpQyxDQUFBLE9BQUF2QixDQUFBLE1BQUF3QixRQUFBLENBQUFDLElBQUEsQ0FBQW5DLENBQUEsRUFBQW9DLEtBQUEsNkJBQUExQixDQUFBLElBQUFWLENBQUEsQ0FBQUgsV0FBQSxLQUFBYSxDQUFBLEdBQUFWLENBQUEsQ0FBQUgsV0FBQSxDQUFBd0MsSUFBQSxhQUFBM0IsQ0FBQSxjQUFBQSxDQUFBLEdBQUFKLEtBQUEsQ0FBQXdCLElBQUEsQ0FBQTlCLENBQUEsb0JBQUFVLENBQUEsK0NBQUE0QixJQUFBLENBQUE1QixDQUFBLElBQUFGLGlCQUFBLENBQUFSLENBQUEsRUFBQWlDLENBQUE7QUFBQSxTQUFBekIsa0JBQUFSLENBQUEsRUFBQWlDLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUFqQyxDQUFBLENBQUFxQixNQUFBLE1BQUFZLENBQUEsR0FBQWpDLENBQUEsQ0FBQXFCLE1BQUEsWUFBQTlCLENBQUEsTUFBQWdELENBQUEsR0FBQWpDLEtBQUEsQ0FBQTJCLENBQUEsR0FBQTFDLENBQUEsR0FBQTBDLENBQUEsRUFBQTFDLENBQUEsSUFBQWdELENBQUEsQ0FBQWhELENBQUEsSUFBQVMsQ0FBQSxDQUFBVCxDQUFBLFVBQUFnRCxDQUFBO0FBQUEsU0FBQVAsc0JBQUFoQyxDQUFBLEVBQUF3QyxDQUFBLFFBQUE5QixDQUFBLFdBQUFWLENBQUEsZ0NBQUFMLE1BQUEsSUFBQUssQ0FBQSxDQUFBTCxNQUFBLENBQUFDLFFBQUEsS0FBQUksQ0FBQSw0QkFBQVUsQ0FBQSxRQUFBbkIsQ0FBQSxFQUFBZ0QsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQVQsQ0FBQSxPQUFBVSxDQUFBLE9BQUFqRCxDQUFBLGlCQUFBK0MsQ0FBQSxJQUFBL0IsQ0FBQSxHQUFBQSxDQUFBLENBQUF5QixJQUFBLENBQUFuQyxDQUFBLEdBQUE0QyxJQUFBLFFBQUFKLENBQUEsUUFBQTdCLE1BQUEsQ0FBQUQsQ0FBQSxNQUFBQSxDQUFBLFVBQUFpQyxDQUFBLHVCQUFBQSxDQUFBLElBQUFwRCxDQUFBLEdBQUFrRCxDQUFBLENBQUFOLElBQUEsQ0FBQXpCLENBQUEsR0FBQW1DLElBQUEsTUFBQVosQ0FBQSxDQUFBaEIsSUFBQSxDQUFBMUIsQ0FBQSxDQUFBdUQsS0FBQSxHQUFBYixDQUFBLENBQUFaLE1BQUEsS0FBQW1CLENBQUEsR0FBQUcsQ0FBQSxpQkFBQTNDLENBQUEsSUFBQU4sQ0FBQSxPQUFBNkMsQ0FBQSxHQUFBdkMsQ0FBQSx5QkFBQTJDLENBQUEsWUFBQWpDLENBQUEsZUFBQWdDLENBQUEsR0FBQWhDLENBQUEsY0FBQUMsTUFBQSxDQUFBK0IsQ0FBQSxNQUFBQSxDQUFBLDJCQUFBaEQsQ0FBQSxRQUFBNkMsQ0FBQSxhQUFBTixDQUFBO0FBQUEsU0FBQUwsZ0JBQUE1QixDQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxDQUFBLFVBQUFBLENBQUE7QUFBQSxTQUFBK0MsZ0JBQUFkLENBQUEsRUFBQU0sQ0FBQSxVQUFBTixDQUFBLFlBQUFNLENBQUEsYUFBQWxDLFNBQUE7QUFBQSxTQUFBMkMsa0JBQUF6RCxDQUFBLEVBQUFTLENBQUEsYUFBQVUsQ0FBQSxNQUFBQSxDQUFBLEdBQUFWLENBQUEsQ0FBQXFCLE1BQUEsRUFBQVgsQ0FBQSxVQUFBaEIsQ0FBQSxHQUFBTSxDQUFBLENBQUFVLENBQUEsR0FBQWhCLENBQUEsQ0FBQXNCLFVBQUEsR0FBQXRCLENBQUEsQ0FBQXNCLFVBQUEsUUFBQXRCLENBQUEsQ0FBQXVELFlBQUEsa0JBQUF2RCxDQUFBLEtBQUFBLENBQUEsQ0FBQXdELFFBQUEsUUFBQXZDLE1BQUEsQ0FBQWUsY0FBQSxDQUFBbkMsQ0FBQSxFQUFBNEQsY0FBQSxDQUFBekQsQ0FBQSxDQUFBMEQsR0FBQSxHQUFBMUQsQ0FBQTtBQUFBLFNBQUEyRCxhQUFBOUQsQ0FBQSxFQUFBUyxDQUFBLEVBQUFVLENBQUEsV0FBQVYsQ0FBQSxJQUFBZ0QsaUJBQUEsQ0FBQXpELENBQUEsQ0FBQU8sU0FBQSxFQUFBRSxDQUFBLEdBQUFVLENBQUEsSUFBQXNDLGlCQUFBLENBQUF6RCxDQUFBLEVBQUFtQixDQUFBLEdBQUFDLE1BQUEsQ0FBQWUsY0FBQSxDQUFBbkMsQ0FBQSxpQkFBQTJELFFBQUEsU0FBQTNELENBQUE7QUFBQSxTQUFBK0QsV0FBQTVDLENBQUEsRUFBQWhCLENBQUEsRUFBQUgsQ0FBQSxXQUFBRyxDQUFBLEdBQUE2RCxlQUFBLENBQUE3RCxDQUFBLEdBQUE4RCwwQkFBQSxDQUFBOUMsQ0FBQSxFQUFBK0MseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFqRSxDQUFBLEVBQUFILENBQUEsUUFBQWdFLGVBQUEsQ0FBQTdDLENBQUEsRUFBQWIsV0FBQSxJQUFBSCxDQUFBLENBQUF3QixLQUFBLENBQUFSLENBQUEsRUFBQW5CLENBQUE7QUFBQSxTQUFBaUUsMkJBQUE5QyxDQUFBLEVBQUFuQixDQUFBLFFBQUFBLENBQUEsaUJBQUFFLE9BQUEsQ0FBQUYsQ0FBQSwwQkFBQUEsQ0FBQSxVQUFBQSxDQUFBLGlCQUFBQSxDQUFBLFlBQUFjLFNBQUEscUVBQUF1RCxzQkFBQSxDQUFBbEQsQ0FBQTtBQUFBLFNBQUFrRCx1QkFBQXJFLENBQUEsbUJBQUFBLENBQUEsWUFBQXNFLGNBQUEsc0VBQUF0RSxDQUFBO0FBQUEsU0FBQWtFLDBCQUFBLGNBQUEvQyxDQUFBLElBQUFvRCxPQUFBLENBQUFoRSxTQUFBLENBQUFpRSxPQUFBLENBQUE1QixJQUFBLENBQUF1QixPQUFBLENBQUFDLFNBQUEsQ0FBQUcsT0FBQSxpQ0FBQXBELENBQUEsYUFBQStDLHlCQUFBLFlBQUFBLDBCQUFBLGFBQUEvQyxDQUFBO0FBQUEsU0FBQTZDLGdCQUFBN0MsQ0FBQSxXQUFBNkMsZUFBQSxHQUFBNUMsTUFBQSxDQUFBcUQsY0FBQSxHQUFBckQsTUFBQSxDQUFBc0QsY0FBQSxDQUFBQyxJQUFBLGVBQUF4RCxDQUFBLFdBQUFBLENBQUEsQ0FBQXlELFNBQUEsSUFBQXhELE1BQUEsQ0FBQXNELGNBQUEsQ0FBQXZELENBQUEsTUFBQTZDLGVBQUEsQ0FBQTdDLENBQUE7QUFBQSxTQUFBMEQsVUFBQTFELENBQUEsRUFBQW5CLENBQUEsNkJBQUFBLENBQUEsYUFBQUEsQ0FBQSxZQUFBYyxTQUFBLHdEQUFBSyxDQUFBLENBQUFaLFNBQUEsR0FBQWEsTUFBQSxDQUFBMEQsTUFBQSxDQUFBOUUsQ0FBQSxJQUFBQSxDQUFBLENBQUFPLFNBQUEsSUFBQUQsV0FBQSxJQUFBaUQsS0FBQSxFQUFBcEMsQ0FBQSxFQUFBd0MsUUFBQSxNQUFBRCxZQUFBLFdBQUF0QyxNQUFBLENBQUFlLGNBQUEsQ0FBQWhCLENBQUEsaUJBQUF3QyxRQUFBLFNBQUEzRCxDQUFBLElBQUErRSxlQUFBLENBQUE1RCxDQUFBLEVBQUFuQixDQUFBO0FBQUEsU0FBQStFLGdCQUFBNUQsQ0FBQSxFQUFBbkIsQ0FBQSxXQUFBK0UsZUFBQSxHQUFBM0QsTUFBQSxDQUFBcUQsY0FBQSxHQUFBckQsTUFBQSxDQUFBcUQsY0FBQSxDQUFBRSxJQUFBLGVBQUF4RCxDQUFBLEVBQUFuQixDQUFBLFdBQUFtQixDQUFBLENBQUF5RCxTQUFBLEdBQUE1RSxDQUFBLEVBQUFtQixDQUFBLEtBQUE0RCxlQUFBLENBQUE1RCxDQUFBLEVBQUFuQixDQUFBO0FBQUEsU0FBQWdDLGdCQUFBaEMsQ0FBQSxFQUFBUyxDQUFBLEVBQUFVLENBQUEsWUFBQVYsQ0FBQSxHQUFBbUQsY0FBQSxDQUFBbkQsQ0FBQSxNQUFBVCxDQUFBLEdBQUFvQixNQUFBLENBQUFlLGNBQUEsQ0FBQW5DLENBQUEsRUFBQVMsQ0FBQSxJQUFBOEMsS0FBQSxFQUFBcEMsQ0FBQSxFQUFBTSxVQUFBLE1BQUFpQyxZQUFBLE1BQUFDLFFBQUEsVUFBQTNELENBQUEsQ0FBQVMsQ0FBQSxJQUFBVSxDQUFBLEVBQUFuQixDQUFBO0FBQUEsU0FBQTRELGVBQUF6QyxDQUFBLFFBQUErQixDQUFBLEdBQUE4QixZQUFBLENBQUE3RCxDQUFBLGdDQUFBakIsT0FBQSxDQUFBZ0QsQ0FBQSxJQUFBQSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBOEIsYUFBQTdELENBQUEsRUFBQVYsQ0FBQSxvQkFBQVAsT0FBQSxDQUFBaUIsQ0FBQSxNQUFBQSxDQUFBLFNBQUFBLENBQUEsTUFBQW5CLENBQUEsR0FBQW1CLENBQUEsQ0FBQWYsTUFBQSxDQUFBNkUsV0FBQSxrQkFBQWpGLENBQUEsUUFBQWtELENBQUEsR0FBQWxELENBQUEsQ0FBQTRDLElBQUEsQ0FBQXpCLENBQUEsRUFBQVYsQ0FBQSxnQ0FBQVAsT0FBQSxDQUFBZ0QsQ0FBQSxVQUFBQSxDQUFBLFlBQUFwQyxTQUFBLHlFQUFBTCxDQUFBLEdBQUF5RSxNQUFBLEdBQUFDLE1BQUEsRUFBQWhFLENBQUE7QUFHbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBQ2VpRSxZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFBQSwwQkFBQUUsZ0JBQUE7RUFRMUI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQyxTQUFBRixhQUNDRyxLQUFhLEVBQ2JDLElBQTRDLEVBQzVDMUMsSUFBWSxFQUNLMkMsY0FBd0MsRUFDeEQ7SUFBQSxJQUFBQyxpQkFBQTtJQUFBLElBQUFDLEtBQUE7SUFBQW5DLGVBQUEsT0FBQTRCLFlBQUE7SUFDRE8sS0FBQSxHQUFBNUIsVUFBQSxPQUFBcUIsWUFBQSxHQUFNRyxLQUFLO0lBQUVJLEtBQUEsQ0FGSUYsY0FBd0MsR0FBeENBLGNBQXdDO0lBQUF6RCxlQUFBLENBQUEyRCxLQUFBO0lBQUEzRCxlQUFBLENBQUEyRCxLQUFBO0lBQUEzRCxlQUFBLENBQUEyRCxLQUFBLFlBaEJwQixFQUFFO0lBQUEzRCxlQUFBLENBQUEyRCxLQUFBLGFBQ3RCLEtBQUs7SUFBQTNELGVBQUEsQ0FBQTJELEtBQUEsYUFDTCxLQUFLO0lBQUEzRCxlQUFBLENBQUEyRCxLQUFBO0lBb0V2QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0lBSkMzRCxlQUFBLENBQUEyRCxLQUFBLGNBSzJCLFVBQUNDLEdBQWEsRUFBVztNQUNuRCxJQUFJRCxLQUFBLENBQUtFLE9BQU8sRUFBRTtRQUNqQkYsS0FBQSxDQUFLRyxNQUFNLENBQUNwRSxJQUFJLENBQUNrRSxHQUFHLENBQUM7UUFFckI7TUFDRDtNQUVBRCxLQUFBLENBQUtFLE9BQU8sR0FBRyxJQUFJO01BRW5CLElBQUlFLE9BQTZCLEdBQUdILEdBQUc7TUFDdkMsSUFBSUksUUFBUSxHQUFHLEtBQUs7TUFFcEIsR0FBRztRQUNGLElBQU1DLGNBQWMsR0FBR0YsT0FBTztRQUU5QixJQUFBRyxrQkFBVSxFQUFDUCxLQUFBLENBQUtRLGFBQWEsRUFBRUYsY0FBYyxDQUFDO1FBRTlDLElBQUFHLFlBQUEsR0FBNkIsSUFBQUMseUJBQVcsRUFBbUIsQ0FBQztVQUFBQyxhQUFBLEdBQUE5RCxjQUFBLENBQUE0RCxZQUFBO1VBQXJERyxLQUFLLEdBQUFELGFBQUE7VUFBRUUsV0FBVyxHQUFBRixhQUFBO1FBQ3pCLElBQU1HLFFBQVEsR0FBRyxJQUFBQyw4QkFBYyxFQUFDVCxjQUFjLEVBQUVOLEtBQUEsQ0FBS2dCLFlBQVksRUFBRWhCLEtBQUEsQ0FBS0osS0FBSyxFQUFFO1VBQUVnQixLQUFLLEVBQUxBO1FBQU0sQ0FBQyxDQUFDO1FBRXpGLElBQUFLLFlBQUEsR0FBNkJqQixLQUFBLENBQUtrQixNQUFNLENBQUNsQixLQUFBLENBQUtnQixZQUFZLEVBQUVWLGNBQWMsRUFBRU4sS0FBQSxDQUFLSixLQUFLLEVBQUU7WUFBRWdCLEtBQUssRUFBTEEsS0FBSztZQUFFRSxRQUFRLEVBQVJBO1VBQVMsQ0FBQyxDQUFDO1VBQUFLLGFBQUEsR0FBQTFFLFFBQUEsQ0FBQXdFLFlBQUE7VUFBckdHLEtBQUssR0FBQUQsYUFBQTtVQUFLRSxRQUFRLEdBQUEvRixpQkFBQSxDQUFBNkYsYUFBQSxFQUFBakUsS0FBQTtRQUV6QixJQUFBb0UsWUFBQSxHQUEwQ1QsV0FBVyxDQUFDLENBQUM7VUFBQVUsYUFBQSxHQUFBMUUsY0FBQSxDQUFBeUUsWUFBQTtVQUFoREUsYUFBYSxHQUFBRCxhQUFBO1VBQUVFLGdCQUFnQixHQUFBRixhQUFBO1FBRXRDLElBQUksSUFBQUcsdUJBQWUsRUFBQzFCLEtBQUEsQ0FBS2dCLFlBQVksRUFBQS9FLGFBQUEsQ0FBQUEsYUFBQSxLQUFPdUYsYUFBYSxHQUFLSixLQUFLLENBQUUsQ0FBQyxFQUFFO1VBQ3ZFcEIsS0FBQSxDQUFLZ0IsWUFBWSxHQUFBL0UsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsS0FBUStELEtBQUEsQ0FBS2dCLFlBQVksR0FBS1EsYUFBYSxHQUFLSixLQUFLLENBQUU7VUFDeEVmLFFBQVEsR0FBRyxJQUFJO1FBQ2hCO1FBRUFzQixlQUFPLENBQUEzRixLQUFBLFVBQUNnRSxLQUFBLENBQUs0QixRQUFRLEVBQUFDLE1BQUEsQ0FBQWhILGtCQUFBLENBQUt3RyxRQUFRLEdBQUF4RyxrQkFBQSxDQUFLNEcsZ0JBQWdCLEdBQUM7O1FBRXhEO1FBQ0FyQixPQUFPLEdBQUdKLEtBQUEsQ0FBS0csTUFBTSxDQUFDMkIsS0FBSyxDQUFDLENBQUM7TUFDOUIsQ0FBQyxRQUFRMUIsT0FBTztNQUVoQkosS0FBQSxDQUFLRSxPQUFPLEdBQUcsS0FBSztNQUVwQixJQUFJRixLQUFBLENBQUsrQixPQUFPLElBQUkxQixRQUFRLEVBQUU7UUFBQSxJQUFBMkIsZ0JBQUE7UUFDN0IsQ0FBQUEsZ0JBQUEsR0FBQUMsY0FBUSxDQUFDQyxNQUFNLGNBQUFGLGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCRyxLQUFLLENBQUMsa0JBQWtCLEVBQUVuQyxLQUFBLENBQUtRLGFBQWEsRUFBRVIsS0FBQSxDQUFLZ0IsWUFBWSxDQUFDO1FBQ2pGaEIsS0FBQSxDQUFLb0MsV0FBVyxDQUFDLENBQUM7TUFDbkI7SUFDRCxDQUFDO0lBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFUQy9GLGVBQUEsQ0FBQTJELEtBQUE7SUFsR0MsSUFBTXFDLFdBQVcsR0FBRyxJQUFBQywrQkFBa0IsRUFBbUIsQ0FBQztJQUUxRCxJQUFJRCxXQUFXLGFBQVhBLFdBQVcsZUFBWEEsV0FBVyxDQUFFVCxRQUFRLEVBQUU7TUFDMUI1QixLQUFBLENBQUs0QixRQUFRLEdBQUdTLFdBQVcsQ0FBQ1QsUUFBUTtJQUNyQztJQUVBLElBQUFXLElBQUEsR0FBNkJGLFdBQVcsYUFBWEEsV0FBVyxlQUFYQSxXQUFXLENBQUVqQixLQUFLLEdBQUcsQ0FBQ2lCLFdBQVcsQ0FBQ2pCLEtBQUssQ0FBVyxHQUFHdkIsSUFBSSxDQUFDRyxLQUFBLENBQUtKLEtBQUssQ0FBQztNQUFBNEMsS0FBQSxHQUFBL0YsUUFBQSxDQUFBOEYsSUFBQTtNQUEzRm5CLE1BQUssR0FBQW9CLEtBQUE7TUFBS25CLFNBQVEsR0FBQS9GLGlCQUFBLENBQUFrSCxLQUFBLEVBQUF0RixLQUFBO0lBRXpCLENBQUE2QyxpQkFBQSxHQUFBa0MsY0FBUSxDQUFDQyxNQUFNLGNBQUFuQyxpQkFBQSxlQUFmQSxpQkFBQSxDQUFpQm9DLEtBQUssQ0FBQyxtQkFBbUIsRUFBRWhGLElBQUksRUFBRWlFLE1BQUssQ0FBQztJQUV4RHBCLEtBQUEsQ0FBS1EsYUFBYSxHQUFHckQsSUFBSTtJQUN6QjZDLEtBQUEsQ0FBS2dCLFlBQVksR0FBR0ksTUFBSztJQUN6QnBCLEtBQUEsQ0FBS3lDLFlBQVksR0FBR3BCLFNBQVE7SUFBQyxPQUFBckIsS0FBQTtFQUM5Qjs7RUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0VBSkNkLFNBQUEsQ0FBQU8sWUFBQSxFQUFBRSxnQkFBQTtFQUFBLE9BQUF4QixZQUFBLENBQUFzQixZQUFBO0lBQUF2QixHQUFBO0lBQUFOLEtBQUEsRUFLQSxTQUFPOEUsaUJBQWlCQSxDQUFBLEVBQVM7TUFDaEMsSUFBSSxDQUFDWCxPQUFPLEdBQUcsSUFBSTtNQUVuQixJQUFJLElBQUksQ0FBQ1UsWUFBWSxFQUFFO1FBQ3RCZCxlQUFPLENBQUEzRixLQUFBLFVBQUMsSUFBSSxDQUFDNEYsUUFBUSxFQUFBQyxNQUFBLENBQUFoSCxrQkFBQSxDQUFLLElBQUksQ0FBQzRILFlBQVksR0FBQztRQUM1QyxJQUFJLENBQUNBLFlBQVksR0FBRyxJQUFJO01BQ3pCO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtFQUpDO0lBQUF2RSxHQUFBO0lBQUFOLEtBQUEsRUFLQSxTQUFPK0Usb0JBQW9CQSxDQUFBLEVBQVM7TUFBQSxJQUFBQyxvQkFBQTtNQUNuQyxDQUFBQSxvQkFBQSxPQUFJLENBQUM5QyxjQUFjLGNBQUE4QyxvQkFBQSxlQUFuQkEsb0JBQUEsQ0FBQTNGLElBQUEsS0FBSSxFQUFrQixJQUFJLENBQUMrRCxZQUFZLENBQUM7TUFDeEMsSUFBSSxDQUFDZSxPQUFPLEdBQUcsS0FBSztJQUNyQjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQztFQUFBO0lBQUE3RCxHQUFBO0lBQUEyRSxHQUFBLEVBQ0EsU0FBQUEsSUFBQSxFQUFxQztNQUNwQyxPQUFPLElBQUksQ0FBQzdCLFlBQVk7SUFDekI7RUFBQztBQUFBLEVBdkU0RThCLGlCQUFLLENBQUNDLFNBQVMiLCJpZ25vcmVMaXN0IjpbXX0=
package/dist/cmd.js CHANGED
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.cmd = void 0;
7
7
  var _noop = require("./noop");
8
+ /* eslint-disable unicorn/prefer-await -- We can't use async functions here. */
9
+
8
10
  var cmd = exports.cmd = {
9
11
  /**
10
12
  * Creates a command out of a specific message.
@@ -160,4 +162,4 @@ var cmd = exports.cmd = {
160
162
  function defaultFallbackHandler() {
161
163
  // blank
162
164
  }
163
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9vcCIsInJlcXVpcmUiLCJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJpc05vb3AiLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiY3VycmVudCIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCIsIm9mTm9uZSIsIl9sZW41IiwiX2tleTUiLCJfZGlzcGF0Y2giLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNOb29wLCB0eXBlIE5vb3BNZXNzYWdlIH0gZnJvbSBcIi4vbm9vcFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSB8IE5vb3BNZXNzYWdlKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0aWYgKGlzTm9vcChtc2cpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXG5cdFx0cmV0dXJuIFsoZGlzcGF0Y2gpID0+IGRpc3BhdGNoKG1zZyldO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBBZ2dyZWdhdGVzIG11bHRpcGxlIGNvbW1hbmRzLlxuXHQgKiBAcGFyYW0ge0NtZDxUTWVzc2FnZT4gW119IGNvbW1hbmRzIEFycmF5IG9mIGNvbW1hbmRzLlxuXHQgKi9cblx0YmF0Y2g8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiguLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQgfCBudWxsKVtdKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0cmV0dXJuIGNvbW1hbmRzLmZpbHRlcigoY3VycmVudCkgPT4gY3VycmVudCAhPSBudWxsKS5mbGF0KCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENvbW1hbmQgdG8gY2FsbCB0aGUgc3Vic2NyaWJlci5cblx0ICogQHBhcmFtIHtTdWI8VE1lc3NhZ2U+fSBzdWIgVGhlIHN1YnNjcmliZXIgZnVuY3Rpb24uXG5cdCAqL1xuXHRvZlN1YjxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHN1YjogU3ViPFRNZXNzYWdlPik6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbc3ViXTtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiB0aHJvd3MgYW4gZXJyb3Igb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZFaXRoZXI8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEVycm9yTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmV0dXJuPihcblx0XHR0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sXG5cdFx0b2ZTdWNjZXNzOiAocmVzdWx0OiBBd2FpdGVkPFRSZXR1cm4+KSA9PiBUU3VjY2Vzc01lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlIHwgTm9vcE1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZlN1Y2Nlc3M8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybixcblx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IEF3YWl0ZWQ8VFJldHVybj4pID0+IFRTdWNjZXNzTWVzc2FnZSB8IE5vb3BNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2U+LCBmYWxsYmFjazogRmFsbGJhY2tIYW5kbGVyID0gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaygpKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRmYWxsYmFjaygpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZkVycm9yPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHQuLi5hcmdzOiBUQXJnc1xuXHQpOiBDbWQ8VEVycm9yTWVzc2FnZT4ge1xuXHRcdGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyBib3RoLCB0aGUgc3VjY2VzcyBjYXNlIGFuZCB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZOb25lPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChfZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaz8uKCkpO1xuXHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdGZhbGxiYWNrPy4oKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cmV0dXJuIFtiaW5kXTtcblx0fSxcbn07XG5cbmZ1bmN0aW9uIGRlZmF1bHRGYWxsYmFja0hhbmRsZXIoKTogdm9pZCB7XG5cdC8vIGJsYW5rXG59XG5cbmV4cG9ydCB7IGNtZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFNQyxHQUFHLEdBQUFDLE9BQUEsQ0FBQUQsR0FBQSxHQUFHO0VBQ1g7QUFDRDtBQUNBO0FBQ0E7RUFDQ0UsS0FBSyxXQUFMQSxLQUFLQSxDQUEyQkMsR0FBMkIsRUFBaUI7SUFDM0UsSUFBSSxJQUFBQyxZQUFNLEVBQUNELEdBQUcsQ0FBQyxFQUFFO01BQ2hCLE9BQU8sRUFBRTtJQUNWO0lBRUEsT0FBTyxDQUFDLFVBQUNFLFFBQVE7TUFBQSxPQUFLQSxRQUFRLENBQUNGLEdBQUcsQ0FBQztJQUFBLEVBQUM7RUFDckMsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0VBQ0NHLEtBQUssV0FBTEEsS0FBS0EsQ0FBQSxFQUE2RjtJQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQS9EQyxRQUFRLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO01BQVJGLFFBQVEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7SUFBQTtJQUMxQyxPQUFPRixRQUFRLENBQUNHLE1BQU0sQ0FBQyxVQUFDQyxPQUFPO01BQUEsT0FBS0EsT0FBTyxJQUFJLElBQUk7SUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQzVELENBQUM7RUFF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
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9vcCIsInJlcXVpcmUiLCJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJpc05vb3AiLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiY3VycmVudCIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCIsIm9mTm9uZSIsIl9sZW41IiwiX2tleTUiLCJfZGlzcGF0Y2giLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgdW5pY29ybi9wcmVmZXItYXdhaXQgLS0gV2UgY2FuJ3QgdXNlIGFzeW5jIGZ1bmN0aW9ucyBoZXJlLiAqL1xuaW1wb3J0IHsgaXNOb29wLCB0eXBlIE5vb3BNZXNzYWdlIH0gZnJvbSBcIi4vbm9vcFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSB8IE5vb3BNZXNzYWdlKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0aWYgKGlzTm9vcChtc2cpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXG5cdFx0cmV0dXJuIFsoZGlzcGF0Y2gpID0+IGRpc3BhdGNoKG1zZyldO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBBZ2dyZWdhdGVzIG11bHRpcGxlIGNvbW1hbmRzLlxuXHQgKiBAcGFyYW0ge0NtZDxUTWVzc2FnZT4gW119IGNvbW1hbmRzIEFycmF5IG9mIGNvbW1hbmRzLlxuXHQgKi9cblx0YmF0Y2g8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiguLi5jb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQgfCBudWxsKVtdKTogQ21kPFRNZXNzYWdlPiB7XG5cdFx0cmV0dXJuIGNvbW1hbmRzLmZpbHRlcigoY3VycmVudCkgPT4gY3VycmVudCAhPSBudWxsKS5mbGF0KCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENvbW1hbmQgdG8gY2FsbCB0aGUgc3Vic2NyaWJlci5cblx0ICogQHBhcmFtIHtTdWI8VE1lc3NhZ2U+fSBzdWIgVGhlIHN1YnNjcmliZXIgZnVuY3Rpb24uXG5cdCAqL1xuXHRvZlN1YjxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHN1YjogU3ViPFRNZXNzYWdlPik6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbc3ViXTtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgZnVuY3Rpb24gYW5kIG1hcHMgdGhlIHJlc3VsdC4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiB0aHJvd3MgYW4gZXJyb3Igb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZFaXRoZXI8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEVycm9yTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmV0dXJuPihcblx0XHR0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sXG5cdFx0b2ZTdWNjZXNzOiAocmVzdWx0OiBBd2FpdGVkPFRSZXR1cm4+KSA9PiBUU3VjY2Vzc01lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlIHwgTm9vcE1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZlN1Y2Nlc3M8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybixcblx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IEF3YWl0ZWQ8VFJldHVybj4pID0+IFRTdWNjZXNzTWVzc2FnZSB8IE5vb3BNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2U+LCBmYWxsYmFjazogRmFsbGJhY2tIYW5kbGVyID0gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZTdWNjZXNzKHJlc3VsdCk7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaygpKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRmYWxsYmFjaygpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZkVycm9yPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UgfCBOb29wTWVzc2FnZSxcblx0XHQuLi5hcmdzOiBUQXJnc1xuXHQpOiBDbWQ8VEVycm9yTWVzc2FnZT4ge1xuXHRcdGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdFx0Y29uc3QgbXNnID0gb2ZFcnJvcihleCBhcyBFcnJvcik7XG5cblx0XHRcdFx0XHRcdGlmICghaXNOb29wKG1zZykpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRjb25zdCBtc2cgPSBvZkVycm9yKGV4IGFzIEVycm9yKTtcblxuXHRcdFx0XHRpZiAoIWlzTm9vcChtc2cpKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gobXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyBib3RoLCB0aGUgc3VjY2VzcyBjYXNlIGFuZCB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZOb25lPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXT4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiB1bmtub3duLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChfZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKCkgPT4gZmFsbGJhY2s/LigpKVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaz8uKCkpO1xuXHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdGZhbGxiYWNrPy4oKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cmV0dXJuIFtiaW5kXTtcblx0fSxcbn07XG5cbmZ1bmN0aW9uIGRlZmF1bHRGYWxsYmFja0hhbmRsZXIoKTogdm9pZCB7XG5cdC8vIGJsYW5rXG59XG5cbmV4cG9ydCB7IGNtZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFEQTs7QUFJQSxJQUFNQyxHQUFHLEdBQUFDLE9BQUEsQ0FBQUQsR0FBQSxHQUFHO0VBQ1g7QUFDRDtBQUNBO0FBQ0E7RUFDQ0UsS0FBSyxXQUFMQSxLQUFLQSxDQUEyQkMsR0FBMkIsRUFBaUI7SUFDM0UsSUFBSSxJQUFBQyxZQUFNLEVBQUNELEdBQUcsQ0FBQyxFQUFFO01BQ2hCLE9BQU8sRUFBRTtJQUNWO0lBRUEsT0FBTyxDQUFDLFVBQUNFLFFBQVE7TUFBQSxPQUFLQSxRQUFRLENBQUNGLEdBQUcsQ0FBQztJQUFBLEVBQUM7RUFDckMsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0VBQ0NHLEtBQUssV0FBTEEsS0FBS0EsQ0FBQSxFQUE2RjtJQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQS9EQyxRQUFRLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO01BQVJGLFFBQVEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7SUFBQTtJQUMxQyxPQUFPRixRQUFRLENBQUNHLE1BQU0s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
@@ -19,16 +19,18 @@ exports.setFakeOptions = setFakeOptions;
19
19
  * @template TMessage The type of the messages discriminated union.
20
20
  */
21
21
 
22
- var currentFakeOptions;
22
+ var State = {
23
+ currentFakeOptions: null
24
+ };
23
25
  function setFakeOptions(options) {
24
26
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We must cast the type here.
25
- currentFakeOptions = options;
27
+ State.currentFakeOptions = options;
26
28
  }
27
29
  function getFakeOptionsOnce() {
28
- var temp = currentFakeOptions;
29
- currentFakeOptions = null;
30
+ var temp = State.currentFakeOptions;
31
+ State.currentFakeOptions = null;
30
32
 
31
33
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We must cast the type here.
32
34
  return temp;
33
35
  }
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW50RmFrZU9wdGlvbnMiLCJzZXRGYWtlT3B0aW9ucyIsIm9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJ0ZW1wIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Zha2VPcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2gsIE1lc3NhZ2UsIE51bGxhYmxlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHJlbmRlcldpdGhNb2RlbGAgZnVuY3Rpb24uXG4gKiBAaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgUmVuZGVyV2l0aE1vZGVsT3B0aW9uczxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+IHtcblx0LyoqXG5cdCAqIEEgZmFrZSBkaXNwYXRjaCBmdW5jdGlvbiB0byB1c2Ugd2hlbiBwcm9jZXNzaW5nIG1lc3NhZ2VzLlxuXHQgKiBAdHlwZSB7RGlzcGF0Y2g8VE1lc3NhZ2U+fVxuXHQgKi9cblx0ZGlzcGF0Y2g/OiBEaXNwYXRjaDxUTWVzc2FnZT47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGByZW5kZXJXaXRoTW9kZWxgIGZ1bmN0aW9uLlxuICogQGludGVyZmFjZSBSZW5kZXJXaXRoTW9kZWxPcHRpb25zXG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gZXh0ZW5kcyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zPFRNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbW9kZWwgdG8gdXNlIHdoZW4gcmVuZGVyaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIEB0eXBlIHtUTW9kZWx9XG5cdCAqL1xuXHRtb2RlbDogVE1vZGVsO1xufVxuXG5sZXQgY3VycmVudEZha2VPcHRpb25zOiBOdWxsYWJsZTxSZW5kZXJXaXRoTW9kZWxDb25maWc8dW5rbm93biwgTWVzc2FnZT4+O1xuXG5mdW5jdGlvbiBzZXRGYWtlT3B0aW9uczxUTW9kZWwgZXh0ZW5kcyBvYmplY3QsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG9wdGlvbnM6IE51bGxhYmxlPFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlPj4sXG4pOiB2b2lkIHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gV2UgbXVzdCBjYXN0IHRoZSB0eXBlIGhlcmUuXG5cdGN1cnJlbnRGYWtlT3B0aW9ucyA9IG9wdGlvbnMgYXMgUmVuZGVyV2l0aE1vZGVsQ29uZmlnPHVua25vd24sIE1lc3NhZ2U+O1xufVxuXG5mdW5jdGlvbiBnZXRGYWtlT3B0aW9uc09uY2U8VE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KCk6IE51bGxhYmxlPFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlPj4ge1xuXHRjb25zdCB0ZW1wID0gY3VycmVudEZha2VPcHRpb25zO1xuXG5cdGN1cnJlbnRGYWtlT3B0aW9ucyA9IG51bGw7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gV2UgbXVzdCBjYXN0IHRoZSB0eXBlIGhlcmUuXG5cdHJldHVybiB0ZW1wIGFzIFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH07XG5cbmV4cG9ydCB7IGdldEZha2VPcHRpb25zT25jZSwgc2V0RmFrZU9wdGlvbnMgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBU0EsSUFBSUEsa0JBQXFFO0FBRXpFLFNBQVNDLGNBQWNBLENBQ3RCQyxPQUEwRCxFQUNuRDtFQUNQO0VBQ0FGLGtCQUFrQixHQUFHRSxPQUFrRDtBQUN4RTtBQUVBLFNBQVNDLGtCQUFrQkEsQ0FBQSxFQUF3RjtFQUNsSCxJQUFNQyxJQUFJLEdBQUdKLGtCQUFrQjtFQUUvQkEsa0JBQWtCLEdBQUcsSUFBSTs7RUFFekI7RUFDQSxPQUFPSSxJQUFJO0FBQ1oiLCJpZ25vcmVMaXN0IjpbXX0=
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGF0ZSIsImN1cnJlbnRGYWtlT3B0aW9ucyIsInNldEZha2VPcHRpb25zIiwib3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsInRlbXAiXSwic291cmNlcyI6WyIuLi9zcmMvZmFrZU9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNwYXRjaCwgTWVzc2FnZSwgTnVsbGFibGUgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgcmVuZGVyV2l0aE1vZGVsYCBmdW5jdGlvbi5cbiAqIEBpbnRlcmZhY2UgUmVuZGVyV2l0aE1vZGVsT3B0aW9uc1xuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbmludGVyZmFjZSBSZW5kZXJXaXRoTW9kZWxPcHRpb25zPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4ge1xuXHQvKipcblx0ICogQSBmYWtlIGRpc3BhdGNoIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHByb2Nlc3NpbmcgbWVzc2FnZXMuXG5cdCAqIEB0eXBlIHtEaXNwYXRjaDxUTWVzc2FnZT59XG5cdCAqL1xuXHRkaXNwYXRjaD86IERpc3BhdGNoPFRNZXNzYWdlPjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHJlbmRlcldpdGhNb2RlbGAgZnVuY3Rpb24uXG4gKiBAaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgUmVuZGVyV2l0aE1vZGVsQ29uZmlnPFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiBleHRlbmRzIFJlbmRlcldpdGhNb2RlbE9wdGlvbnM8VE1lc3NhZ2U+IHtcblx0LyoqXG5cdCAqIFRoZSBtb2RlbCB0byB1c2Ugd2hlbiByZW5kZXJpbmcgdGhlIGNvbXBvbmVudC5cblx0ICogQHR5cGUge1RNb2RlbH1cblx0ICovXG5cdG1vZGVsOiBUTW9kZWw7XG59XG5cbmludGVyZmFjZSBGYWtlU3RhdGUge1xuXHRjdXJyZW50RmFrZU9wdGlvbnM6IE51bGxhYmxlPFJlbmRlcldpdGhNb2RlbENvbmZpZzx1bmtub3duLCBNZXNzYWdlPj47XG59XG5cbmNvbnN0IFN0YXRlOiBGYWtlU3RhdGUgPSB7XG5cdGN1cnJlbnRGYWtlT3B0aW9uczogbnVsbCxcbn07XG5cbmZ1bmN0aW9uIHNldEZha2VPcHRpb25zPFRNb2RlbCBleHRlbmRzIG9iamVjdCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0b3B0aW9uczogTnVsbGFibGU8UmVuZGVyV2l0aE1vZGVsQ29uZmlnPFRNb2RlbCwgVE1lc3NhZ2U+Pixcbik6IHZvaWQge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS10eXBlLWFzc2VydGlvbiAtLSBXZSBtdXN0IGNhc3QgdGhlIHR5cGUgaGVyZS5cblx0U3RhdGUuY3VycmVudEZha2VPcHRpb25zID0gb3B0aW9ucyBhcyBSZW5kZXJXaXRoTW9kZWxDb25maWc8dW5rbm93biwgTWVzc2FnZT47XG59XG5cbmZ1bmN0aW9uIGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oKTogTnVsbGFibGU8UmVuZGVyV2l0aE1vZGVsQ29uZmlnPFRNb2RlbCwgVE1lc3NhZ2U+PiB7XG5cdGNvbnN0IHRlbXAgPSBTdGF0ZS5jdXJyZW50RmFrZU9wdGlvbnM7XG5cblx0U3RhdGUuY3VycmVudEZha2VPcHRpb25zID0gbnVsbDtcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS10eXBlLWFzc2VydGlvbiAtLSBXZSBtdXN0IGNhc3QgdGhlIHR5cGUgaGVyZS5cblx0cmV0dXJuIHRlbXAgYXMgUmVuZGVyV2l0aE1vZGVsQ29uZmlnPFRNb2RlbCwgVE1lc3NhZ2U+O1xufVxuXG5leHBvcnQgdHlwZSB7IFJlbmRlcldpdGhNb2RlbE9wdGlvbnMgfTtcblxuZXhwb3J0IHsgZ2V0RmFrZU9wdGlvbnNPbmNlLCBzZXRGYWtlT3B0aW9ucyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFhQSxJQUFNQSxLQUFnQixHQUFHO0VBQ3hCQyxrQkFBa0IsRUFBRTtBQUNyQixDQUFDO0FBRUQsU0FBU0MsY0FBY0EsQ0FDdEJDLE9BQTBELEVBQ25EO0VBQ1A7RUFDQUgsS0FBSyxDQUFDQyxrQkFBa0IsR0FBR0UsT0FBa0Q7QUFDOUU7QUFFQSxTQUFTQyxrQkFBa0JBLENBQUEsRUFBd0Y7RUFDbEgsSUFBTUMsSUFBSSxHQUFHTCxLQUFLLENBQUNDLGtCQUFrQjtFQUVyQ0QsS0FBSyxDQUFDQyxrQkFBa0IsR0FBRyxJQUFJOztFQUUvQjtFQUNBLE9BQU9JLElBQUk7QUFDWiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -99,6 +99,8 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
99
99
  });
100
100
  var deferredCommands = getDeferred();
101
101
  _Common.execCmd.apply(void 0, [_this.dispatch].concat(commands, _toConsumableArray(deferredCommands)));
102
+
103
+ // eslint-disable-next-line unicorn/no-array-front-mutation -- We need to remove messages from the start.
102
104
  nextMsg = _this.buffer.shift();
103
105
  };
104
106
  do {
@@ -172,7 +174,7 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
172
174
  * @type {Readonly<TModel>}
173
175
  * @memberof ElmComponent
174
176
  */
175
- // eslint-disable-next-line react/no-unused-class-component-methods -- We need it internally.
177
+ // eslint-disable-next-line react/no-unused-class-component-members -- We need it internally.
176
178
  }, {
177
179
  key: "model",
178
180
  get: function get() {
@@ -180,4 +182,4 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
180
182
  }
181
183
  }]);
182
184
  }(_react["default"].Component);
183
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Db21tb24iLCJfZmFrZU9wdGlvbnMiLCJfSW5pdCIsIl9jcmVhdGVDYWxsQmFzZSIsIl9jcmVhdGVEZWZlcjMiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0FycmF5IiwiciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJhIiwidCIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJsZW5ndGgiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJPYmplY3QiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJhcHBseSIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfZGVmaW5lUHJvcGVydHkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiZGlzcG9zZUhhbmRsZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl90aGlzIiwibXNnIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJfbG9vcCIsImN1cnJlbnRNZXNzYWdlIiwibG9nTWVzc2FnZSIsImNvbXBvbmVudE5hbWUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsImN1cnJlbnRNb2RlbCIsImNvbW1hbmRzIiwicHJvZHVjZSIsImRyYWZ0IiwidXBkYXRlIiwiZGVmZXJyZWRDb21tYW5kcyIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsImNvbmNhdCIsInNoaWZ0IiwibW91bnRlZCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImRlYnVnIiwiZm9yY2VVcGRhdGUiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsIl9yZWYiLCJtb2RlbCIsIl9yZWYyIiwiY2FzdEltbXV0YWJsZSIsImZyZWV6ZSIsImluaXRDb21tYW5kcyIsImNvbXBvbmVudERpZE1vdW50IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJfdGhpcyRkaXNwb3NlSGFuZGxlciIsImdldCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9FbG1Db21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FzdEltbXV0YWJsZSwgdHlwZSBEcmFmdCwgZnJlZXplLCB0eXBlIEltbXV0YWJsZSwgcHJvZHVjZSB9IGZyb20gXCJpbW1lclwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSB9IGZyb20gXCIuLi9Db21tb25cIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuLi9mYWtlT3B0aW9uc1wiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3Bvc2VGdW5jdGlvbiwgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlLCBOdWxsYWJsZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHR5cGUgeyBVcGRhdGVGdW5jdGlvbiwgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgZm9yIGEgcmVhY3QgY2xhc3MgY29tcG9uZW50IHVzaW5nIHRoZSBFbG1pc2ggcGF0dGVybi5cbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIEVsbUNvbXBvbmVudFxuICogQGV4dGVuZHMge0NvbXBvbmVudDxUUHJvcHMsIFRNb2RlbD59XG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlUmVhY3RGdW5jdGlvbkNvbXBvbmVudHM6IFRoaXMgaXMgb25seSBmb3IgZG93bndhcmQgY29tcGF0aWJpbGl0eS5cbmFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcblx0cHJpdmF0ZSBpbml0Q29tbWFuZHM6IE51bGxhYmxlPChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdHByaXZhdGUgcnVubmluZyA9IGZhbHNlO1xuXHRwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBjdXJyZW50TW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+O1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEVsbUNvbXBvbmVudC5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXQgVGhlIGluaXRpYWxpemVyIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IFRQcm9wcywgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sIG5hbWU6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBkaXNwb3NlSGFuZGxlcj86IERpc3Bvc2VGdW5jdGlvbjxJbW11dGFibGU8VE1vZGVsPj4pIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXG5cdFx0aWYgKGZha2VPcHRpb25zPy5kaXNwYXRjaCkge1xuXHRcdFx0dGhpcy5kaXNwYXRjaCA9IGZha2VPcHRpb25zLmRpc3BhdGNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHRoaXMucHJvcHMpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIG1vZGVsKTtcblxuXHRcdHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBjYXN0SW1tdXRhYmxlKGZyZWV6ZShtb2RlbCwgdHJ1ZSkpO1xuXHRcdHRoaXMuaW5pdENvbW1hbmRzID0gY29tbWFuZHM7XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuXHRcdGlmICh0aGlzLmluaXRDb21tYW5kcykge1xuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi50aGlzLmluaXRDb21tYW5kcyk7XG5cdFx0XHR0aGlzLmluaXRDb21tYW5kcyA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCBiZWZvcmUgdW5sb2FkaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5kaXNwb3NlSGFuZGxlcj8uKHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHR0aGlzLm1vdW50ZWQgPSBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IG1vZGVsLlxuXHQgKiBAcmVhZG9ubHlcblx0ICogQHR5cGUge1JlYWRvbmx5PFRNb2RlbD59XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bnVzZWQtY2xhc3MtY29tcG9uZW50LW1ldGhvZHMgLS0gV2UgbmVlZCBpdCBpbnRlcm5hbGx5LlxuXHRwdWJsaWMgZ2V0IG1vZGVsKCk6IEltbXV0YWJsZTxUTW9kZWw+IHtcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5ydW5uaW5nKSB7XG5cdFx0XHR0aGlzLmJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXG5cdFx0ZG8ge1xuXHRcdFx0Y29uc3QgY3VycmVudE1lc3NhZ2UgPSBuZXh0TXNnO1xuXG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgY3VycmVudE1lc3NhZ2UpO1xuXG5cdFx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNZXNzYWdlPigpO1xuXHRcdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShjdXJyZW50TWVzc2FnZSwgdGhpcy5jdXJyZW50TW9kZWwsIHRoaXMucHJvcHMsIHsgZGVmZXIgfSk7XG5cblx0XHRcdGNvbnN0IGNvbW1hbmRzOiBVcGRhdGVSZXR1cm5UeXBlPFRNZXNzYWdlPiA9IFtdO1xuXG5cdFx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IHByb2R1Y2UodGhpcy5jdXJyZW50TW9kZWwsIChkcmFmdDogRHJhZnQ8VE1vZGVsPikgPT4ge1xuXHRcdFx0XHRjb21tYW5kcy5wdXNoKC4uLnRoaXMudXBkYXRlKGRyYWZ0LCBjdXJyZW50TWVzc2FnZSwgdGhpcy5wcm9wcywgeyBkZWZlciwgY2FsbEJhc2UgfSkpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGNvbnN0IGRlZmVycmVkQ29tbWFuZHMgPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0XHRleGVjQ21kKHRoaXMuZGlzcGF0Y2gsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzKTtcblxuXHRcdFx0bmV4dE1zZyA9IHRoaXMuYnVmZmVyLnNoaWZ0KCk7XG5cdFx0fSB3aGlsZSAobmV4dE1zZyk7XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdGlmICh0aGlzLm1vdW50ZWQpIHtcblx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5jdXJyZW50TW9kZWwpO1xuXHRcdFx0dGhpcy5mb3JjZVVwZGF0ZSgpO1xuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1vZGVsfSBtb2RlbCBUaGUgY3VycmVudCBtb2RlbC5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSB1cGRhdGUgZnVuY3Rpb24uXG5cdCAqIEByZXR1cm5zIFRoZSBuZXcgbW9kZWwgKGNhbiBhbHNvIGJlIGFuIGVtcHR5IG9iamVjdCB7fSkgYW5kIGFuIG9wdGlvbmFsIG5ldyBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAYWJzdHJhY3Rcblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGFic3RyYWN0IHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuZXhwb3J0IHsgRWxtQ29tcG9uZW50IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUE0QyxTQUFBRSx1QkFBQU0sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FB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
185
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW1tZXIiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Db21tb24iLCJfZmFrZU9wdGlvbnMiLCJfSW5pdCIsIl9jcmVhdGVDYWxsQmFzZSIsIl9jcmVhdGVEZWZlcjMiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0FycmF5IiwiciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJhIiwidCIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJsZW5ndGgiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJPYmplY3QiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJhcHBseSIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfZGVmaW5lUHJvcGVydHkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiZGlzcG9zZUhhbmRsZXIiLCJfU2VydmljZXMkbG9nZ2VyMiIsIl90aGlzIiwibXNnIiwicnVubmluZyIsImJ1ZmZlciIsIm5leHRNc2ciLCJfbG9vcCIsImN1cnJlbnRNZXNzYWdlIiwibG9nTWVzc2FnZSIsImNvbXBvbmVudE5hbWUiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiY2FsbEJhc2UiLCJjcmVhdGVDYWxsQmFzZSIsImN1cnJlbnRNb2RlbCIsImNvbW1hbmRzIiwicHJvZHVjZSIsImRyYWZ0IiwidXBkYXRlIiwiZGVmZXJyZWRDb21tYW5kcyIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsImNvbmNhdCIsInNoaWZ0IiwibW91bnRlZCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImRlYnVnIiwiZm9yY2VVcGRhdGUiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsIl9yZWYiLCJtb2RlbCIsIl9yZWYyIiwiY2FzdEltbXV0YWJsZSIsImZyZWV6ZSIsImluaXRDb21tYW5kcyIsImNvbXBvbmVudERpZE1vdW50IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJfdGhpcyRkaXNwb3NlSGFuZGxlciIsImdldCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltbXV0YWJsZS9FbG1Db21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FzdEltbXV0YWJsZSwgdHlwZSBEcmFmdCwgZnJlZXplLCB0eXBlIEltbXV0YWJsZSwgcHJvZHVjZSB9IGZyb20gXCJpbW1lclwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSB9IGZyb20gXCIuLi9Db21tb25cIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuLi9mYWtlT3B0aW9uc1wiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERpc3Bvc2VGdW5jdGlvbiwgSW5pdEZ1bmN0aW9uLCBNZXNzYWdlLCBOdWxsYWJsZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ2FsbEJhc2UgfSBmcm9tIFwiLi9jcmVhdGVDYWxsQmFzZVwiO1xuaW1wb3J0IHsgY3JlYXRlRGVmZXIgfSBmcm9tIFwiLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHR5cGUgeyBVcGRhdGVGdW5jdGlvbiwgVXBkYXRlUmV0dXJuVHlwZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgZm9yIGEgcmVhY3QgY2xhc3MgY29tcG9uZW50IHVzaW5nIHRoZSBFbG1pc2ggcGF0dGVybi5cbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIEVsbUNvbXBvbmVudFxuICogQGV4dGVuZHMge0NvbXBvbmVudDxUUHJvcHMsIFRNb2RlbD59XG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlUmVhY3RGdW5jdGlvbkNvbXBvbmVudHM6IFRoaXMgaXMgb25seSBmb3IgZG93bndhcmQgY29tcGF0aWJpbGl0eS5cbmFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcblx0cHJpdmF0ZSBpbml0Q29tbWFuZHM6IE51bGxhYmxlPChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdHByaXZhdGUgcnVubmluZyA9IGZhbHNlO1xuXHRwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBjdXJyZW50TW9kZWw6IEltbXV0YWJsZTxUTW9kZWw+O1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEVsbUNvbXBvbmVudC5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXQgVGhlIGluaXRpYWxpemVyIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29uc3RydWN0b3IoXG5cdFx0cHJvcHM6IFRQcm9wcyxcblx0XHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0XHRuYW1lOiBzdHJpbmcsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBkaXNwb3NlSGFuZGxlcj86IERpc3Bvc2VGdW5jdGlvbjxJbW11dGFibGU8VE1vZGVsPj4sXG5cdCkge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cblx0XHRpZiAoZmFrZU9wdGlvbnM/LmRpc3BhdGNoKSB7XG5cdFx0XHR0aGlzLmRpc3BhdGNoID0gZmFrZU9wdGlvbnMuZGlzcGF0Y2g7XG5cdFx0fVxuXG5cdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQodGhpcy5wcm9wcyk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgbW9kZWwpO1xuXG5cdFx0dGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcblx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IGNhc3RJbW11dGFibGUoZnJlZXplKG1vZGVsLCB0cnVlKSk7XG5cdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBjb21tYW5kcztcblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cblx0ICogV2hlbiBpbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QsIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGhhcyB0byBiZSBjYWxsZWQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb21wb25lbnREaWRNb3VudCgpOiB2b2lkIHtcblx0XHR0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG5cdFx0aWYgKHRoaXMuaW5pdENvbW1hbmRzKSB7XG5cdFx0XHRleGVjQ21kKHRoaXMuZGlzcGF0Y2gsIC4uLnRoaXMuaW5pdENvbW1hbmRzKTtcblx0XHRcdHRoaXMuaW5pdENvbW1hbmRzID0gbnVsbDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIGJlZm9yZSB1bmxvYWRpbmcgdGhlIGNvbXBvbmVudC5cblx0ICogV2hlbiBpbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QsIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGhhcyB0byBiZSBjYWxsZWQuXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBjb21wb25lbnRXaWxsVW5tb3VudCgpOiB2b2lkIHtcblx0XHR0aGlzLmRpc3Bvc2VIYW5kbGVyPy4odGhpcy5jdXJyZW50TW9kZWwpO1xuXHRcdHRoaXMubW91bnRlZCA9IGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEByZWFkb25seVxuXHQgKiBAdHlwZSB7UmVhZG9ubHk8VE1vZGVsPn1cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLXVudXNlZC1jbGFzcy1jb21wb25lbnQtbWVtYmVycyAtLSBXZSBuZWVkIGl0IGludGVybmFsbHkuXG5cdHB1YmxpYyBnZXQgbW9kZWwoKTogSW1tdXRhYmxlPFRNb2RlbD4ge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRNb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwYXRjaGVzIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzcGF0Y2ggPSAobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdGlmICh0aGlzLnJ1bm5pbmcpIHtcblx0XHRcdHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucnVubmluZyA9IHRydWU7XG5cblx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cblx0XHRkbyB7XG5cdFx0XHRjb25zdCBjdXJyZW50TWVzc2FnZSA9IG5leHRNc2c7XG5cblx0XHRcdGxvZ01lc3NhZ2UodGhpcy5jb21wb25lbnROYW1lLCBjdXJyZW50TWVzc2FnZSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1lc3NhZ2U+KCk7XG5cdFx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKGN1cnJlbnRNZXNzYWdlLCB0aGlzLmN1cnJlbnRNb2RlbCwgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0Y29uc3QgY29tbWFuZHM6IFVwZGF0ZVJldHVyblR5cGU8VE1lc3NhZ2U+ID0gW107XG5cblx0XHRcdHRoaXMuY3VycmVudE1vZGVsID0gcHJvZHVjZSh0aGlzLmN1cnJlbnRNb2RlbCwgKGRyYWZ0OiBEcmFmdDxUTW9kZWw+KSA9PiB7XG5cdFx0XHRcdGNvbW1hbmRzLnB1c2goLi4udGhpcy51cGRhdGUoZHJhZnQsIGN1cnJlbnRNZXNzYWdlLCB0aGlzLnByb3BzLCB7IGRlZmVyLCBjYWxsQmFzZSB9KSk7XG5cdFx0XHR9KTtcblxuXHRcdFx0Y29uc3QgZGVmZXJyZWRDb21tYW5kcyA9IGdldERlZmVycmVkKCk7XG5cblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1mcm9udC1tdXRhdGlvbiAtLSBXZSBuZWVkIHRvIHJlbW92ZSBtZXNzYWdlcyBmcm9tIHRoZSBzdGFydC5cblx0XHRcdG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuXHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0dGhpcy5ydW5uaW5nID0gZmFsc2U7XG5cblx0XHRpZiAodGhpcy5tb3VudGVkKSB7XG5cdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNb2RlbH0gbW9kZWwgVGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBwcm9jZXNzLlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgdXBkYXRlIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3IG1vZGVsIChjYW4gYWxzbyBiZSBhbiBlbXB0eSBvYmplY3Qge30pIGFuZCBhbiBvcHRpb25hbCBuZXcgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQGFic3RyYWN0XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFFQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFQLE9BQUE7QUFBNEMsU0FBQUUsdUJBQUFNLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssU0FBQUMsQ0FBQSxXQUFBQyxlQUFBLENBQUFELENBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSCxDQUFBLEtBQUFJLGdCQUFBO0FBQUEsU0FBQUMsbUJBQUFMLENBQUEsV0FBQU0sa0JBQUEsQ0FBQU4sQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQU8sa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQU4saUJBQUFGLENBQUEsOEJBQUFMLE1BQUEsWUFBQUssQ0FBQSxDQUFBTCxNQUFBLENBQUFDLFFBQUEsYUFBQUksQ0FBQSx1QkFBQVMsS0FBQSxDQUFBQyxJQUFBLENBQUFWLENBQUE7QUFBQSxTQUFBTSxtQkFBQU4sQ0FBQSxRQUFBUyxLQUFBLENBQUFFLE9BQUEsQ0FBQVgsQ0FBQSxVQUFBWSxpQkFBQSxDQUFBWixDQUFBO0FBQUEsU0FBQWEsZUFBQWIsQ0FBQSxFQUFBVCxDQUFBLFdBQUFVLGVBQUEsQ0FBQUQsQ0FBQSxLQUFBYyxxQkFBQSxDQUFBZCxDQUFBLEVBQUFULENBQUEsS0FBQVksMkJBQUEsQ0FBQUgsQ0FBQSxFQUFBVCxDQUFBLEtBQUFhLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQUksU0FBQTtBQUFBLFNBQUFMLDRCQUFBSCxDQUFBLEVBQUFlLENBQUEsUUFBQWYsQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBWSxpQkFBQSxDQUFBWixDQUFBLEVBQUFlLENBQUEsT0FBQUMsQ0FBQSxNQUFBQyxRQUFBLENBQUFDLElBQUEsQ0FBQWxCLENBQUEsRUFBQW1CLEtBQUEsNkJBQUFILENBQUEsSUFBQWhCLENBQUEsQ0FBQUgsV0FBQSxLQUFBbUIsQ0FBQSxHQUFBaEIsQ0FBQSxDQUFBSCxXQUFBLENBQUF1QixJQUFBLGFBQUFKLENBQUEsY0FBQUEsQ0FBQSxHQUFBUCxLQUFBLENBQUFDLElBQUEsQ0FBQVYsQ0FBQSxvQkFBQWdCLENBQUEsK0NBQUFLLElBQUEsQ0FBQUwsQ0FBQSxJQUFBSixpQkFBQSxDQUFBWixDQUFBLEVBQUFlLENBQUE7QUFBQSxTQUFBSCxrQkFBQVosQ0FBQSxFQUFBZSxDQUFBLGFBQUFBLENBQUEsSUFBQUEsQ0FBQSxHQUFBZixDQUFBLENBQUFzQixNQUFBLE1BQUFQLENBQUEsR0FBQWYsQ0FBQSxDQUFBc0IsTUFBQSxZQUFBL0IsQ0FBQSxNQUFBZ0MsQ0FBQSxHQUFBZCxLQUFBLENBQUFNLENBQUEsR0FBQXhCLENBQUEsR0FBQXdCLENBQUEsRUFBQXhCLENBQUEsSUFBQWdDLENBQUEsQ0FBQWhDLENBQUEsSUFBQVMsQ0FBQSxDQUFBVCxDQUFBLFVBQUFnQyxDQUFBO0FBQUEsU0FBQVQsc0JBQUFkLENBQUEsRUFBQXdCLENBQUEsUUFBQVIsQ0FBQSxXQUFBaEIsQ0FBQSxnQ0FBQUwsTUFBQSxJQUFBSyxDQUFBLENBQUFMLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSSxDQUFBLDRCQUFBZ0IsQ0FBQSxRQUFBekIsQ0FBQSxFQUFBZ0MsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQVgsQ0FBQSxPQUFBWSxDQUFBLE9BQUFqQyxDQUFBLGlCQUFBK0IsQ0FBQSxJQUFBVCxDQUFBLEdBQUFBLENBQUEsQ0FBQUUsSUFBQSxDQUFBbEIsQ0FBQSxHQUFBNEIsSUFBQSxRQUFBSixDQUFBLFFBQUFLLE1BQUEsQ0FBQWIsQ0FBQSxNQUFBQSxDQUFBLFVBQUFXLENBQUEsdUJBQUFBLENBQUEsSUFBQXBDLENBQUEsR0FBQWtDLENBQUEsQ0FBQVAsSUFBQSxDQUFBRixDQUFBLEdBQUFjLElBQUEsTUFBQWYsQ0FBQSxDQUFBZ0IsSUFBQSxDQUFBeEMsQ0FBQSxDQUFBeUMsS0FBQSxHQUFBakIsQ0FBQSxDQUFBTyxNQUFBLEtBQUFFLENBQUEsR0FBQUcsQ0FBQSxpQkFBQTNCLENBQUEsSUFBQU4sQ0FBQSxPQUFBNkIsQ0FBQSxHQUFBdkIsQ0FBQSx5QkFBQTJCLENBQUEsWUFBQVgsQ0FBQSxlQUFBVSxDQUFBLEdBQUFWLENBQUEsY0FBQWEsTUFBQSxDQUFBSCxDQUFBLE1BQUFBLENBQUEsMkJBQUFoQyxDQUFBLFFBQUE2QixDQUFBLGFBQUFSLENBQUE7QUFBQSxTQUFBZCxnQkFBQUQsQ0FBQSxRQUFBUyxLQUFBLENBQUFFLE9BQUEsQ0FBQVgsQ0FBQSxVQUFBQSxDQUFBO0FBQUEsU0FBQWlDLGdCQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLFVBQUFSLENBQUEsWUFBQVEsQ0FBQSxhQUFBZixTQUFBO0FBQUEsU0FBQTBCLGtCQUFBM0MsQ0FBQSxFQUFBUyxDQUFBLGFBQUFnQixDQUFBLE1BQUFBLENBQUEsR0FBQWhCLENBQUEsQ0FBQXNCLE1BQUEsRUFBQU4sQ0FBQSxVQUFBdEIsQ0FBQSxHQUFBTSxDQUFBLENBQUFnQixDQUFBLEdBQUF0QixDQUFBLENBQUF5QyxVQUFBLEdBQUF6QyxDQUFBLENBQUF5QyxVQUFBLFFBQUF6QyxDQUFBLENBQUEwQyxZQUFBLGtCQUFBMUMsQ0FBQSxLQUFBQSxDQUFBLENBQUEyQyxRQUFBLFFBQUFSLE1BQUEsQ0FBQVMsY0FBQSxDQUFBL0MsQ0FBQSxFQUFBZ0QsY0FBQSxDQUFBN0MsQ0FBQSxDQUFBOEMsR0FBQSxHQUFBOUMsQ0FBQTtBQUFBLFNBQUErQyxhQUFBbEQsQ0FBQSxFQUFBUyxDQUFBLEVBQUFnQixDQUFBLFdBQUFoQixDQUFBLElBQUFrQyxpQkFBQSxDQUFBM0MsQ0FBQSxDQUFBTyxTQUFBLEVBQUFFLENBQUEsR0FBQWdCLENBQUEsSUFBQWtCLGlCQUFBLENBQUEzQyxDQUFBLEVBQUF5QixDQUFBLEdBQUFhLE1BQUEsQ0FBQVMsY0FBQSxDQUFBL0MsQ0FBQSxpQkFBQThDLFFBQUEsU0FBQTlDLENBQUE7QUFBQSxTQUFBbUQsV0FBQTFCLENBQUEsRUFBQXRCLENBQUEsRUFBQUgsQ0FBQSxXQUFBRyxDQUFBLEdBQUFpRCxlQUFBLENBQUFqRCxDQUFBLEdBQUFrRCwwQkFBQSxDQUFBNUIsQ0FBQSxFQUFBNkIseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFyRCxDQUFBLEVBQUFILENBQUEsUUFBQW9ELGVBQUEsQ0FBQTNCLENBQUEsRUFBQW5CLFdBQUEsSUFBQUgsQ0FBQSxDQUFBc0QsS0FBQSxDQUFBaEMsQ0FBQSxFQUFBekIsQ0FBQTtBQUFBLFNBQUFxRCwyQkFBQTVCLENBQUEsRUFBQXpCLENBQUEsUUFBQUEsQ0FBQSxpQkFBQUUsT0FBQSxDQUFBRixDQUFBLDBCQUFBQSxDQUFBLFVBQUFBLENBQUEsaUJBQUFBLENBQUEsWUFBQWlCLFNBQUEscUVBQUF5QyxzQkFBQSxDQUFBakMsQ0FBQTtBQUFBLFNBQUFpQyx1QkFBQTFELENBQUEsbUJBQUFBLENBQUEsWUFBQTJELGNBQUEsc0VBQUEzRCxDQUFBO0FBQUEsU0FBQXNELDBCQUFBLGNBQUE3QixDQUFBLElBQUFtQyxPQUFBLENBQUFyRCxTQUFBLENBQUFzRCxPQUFBLENBQUFsQyxJQUFBLENBQUE0QixPQUFBLENBQUFDLFNBQUEsQ0FBQUksT0FBQSxpQ0FBQW5DLENBQUEsYUFBQTZCLHlCQUFBLFlBQUFBLDBCQUFBLGFBQUE3QixDQUFBO0FBQUEsU0FBQTJCLGdCQUFBM0IsQ0FBQSxXQUFBMkIsZUFBQSxHQUFBZCxNQUFBLENBQUF3QixjQUFBLEdBQUF4QixNQUFBLENBQUF5QixjQUFBLENBQUFDLElBQUEsZUFBQXZDLENBQUEsV0FBQUEsQ0FBQSxDQUFBd0MsU0FBQSxJQUFBM0IsTUFBQSxDQUFBeUIsY0FBQSxDQUFBdEMsQ0FBQSxNQUFBMkIsZUFBQSxDQUFBM0IsQ0FBQTtBQUFBLFNBQUF5QyxVQUFBekMsQ0FBQSxFQUFBekIsQ0FBQSw2QkFBQUEsQ0FBQSxhQUFBQSxDQUFBLFlBQUFpQixTQUFBLHdEQUFBUSxDQUFBLENBQUFsQixTQUFBLEdBQUErQixNQUFBLENBQUE2QixNQUFBLENBQUFuRSxDQUFBLElBQUFBLENBQUEsQ0FBQU8sU0FBQSxJQUFBRCxXQUFBLElBQUFtQyxLQUFBLEVBQUFoQixDQUFBLEVBQUFxQixRQUFBLE1BQUFELFlBQUEsV0FBQVAsTUFBQSxDQUFBUyxjQUFBLENBQUF0QixDQUFBLGlCQUFBcUIsUUFBQSxTQUFBOUMsQ0FBQSxJQUFBb0UsZUFBQSxDQUFBM0MsQ0FBQSxFQUFBekIsQ0FBQTtBQUFBLFNBQUFvRSxnQkFBQTNDLENBQUEsRUFBQXpCLENBQUEsV0FBQW9FLGVBQUEsR0FBQTlCLE1BQUEsQ0FBQXdCLGNBQUEsR0FBQXhCLE1BQUEsQ0FBQXdCLGNBQUEsQ0FBQUUsSUFBQSxlQUFBdkMsQ0FBQSxFQUFBekIsQ0FBQSxXQUFBeUIsQ0FBQSxDQUFBd0MsU0FBQSxHQUFBakUsQ0FBQSxFQUFBeUIsQ0FBQSxLQUFBMkMsZUFBQSxDQUFBM0MsQ0FBQSxFQUFBekIsQ0FBQTtBQUFBLFNBQUFxRSxnQkFBQXJFLENBQUEsRUFBQVMsQ0FBQSxFQUFBZ0IsQ0FBQSxZQUFBaEIsQ0FBQSxHQUFBdUMsY0FBQSxDQUFBdkMsQ0FBQSxNQUFBVCxDQUFBLEdBQUFzQyxNQUFBLENBQUFTLGNBQUEsQ0FBQS9DLENBQUEsRUFBQVMsQ0FBQSxJQUFBZ0MsS0FBQSxFQUFBaEIsQ0FBQSxFQUFBbUIsVUFBQSxNQUFBQyxZQUFBLE1BQUFDLFFBQUEsVUFBQTlDLENBQUEsQ0FBQVMsQ0FBQSxJQUFBZ0IsQ0FBQSxFQUFBekIsQ0FBQTtBQUFBLFNBQUFnRCxlQUFBdkIsQ0FBQSxRQUFBUyxDQUFBLEdBQUFvQyxZQUFBLENBQUE3QyxDQUFBLGdDQUFBdkIsT0FBQSxDQUFBZ0MsQ0FBQSxJQUFBQSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBb0MsYUFBQTdDLENBQUEsRUFBQWhCLENBQUEsb0JBQUFQLE9BQUEsQ0FBQXVCLENBQUEsTUFBQUEsQ0FBQSxTQUFBQSxDQUFBLE1BQUF6QixDQUFBLEdBQUF5QixDQUFBLENBQUFyQixNQUFBLENBQUFtRSxXQUFBLGtCQUFBdkUsQ0FBQSxRQUFBa0MsQ0FBQSxHQUFBbEMsQ0FBQSxDQUFBMkIsSUFBQSxDQUFBRixDQUFBLEVBQUFoQixDQUFBLGdDQUFBUCxPQUFBLENBQUFnQyxDQUFBLFVBQUFBLENBQUEsWUFBQWpCLFNBQUEseUVBQUFSLENBQUEsR0FBQStELE1BQUEsR0FBQUMsTUFBQSxFQUFBaEQsQ0FBQTtBQUc1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsSUFDZWlELFlBQVksR0FBQUMsT0FBQSxDQUFBRCxZQUFBLDBCQUFBRSxnQkFBQTtFQVExQjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNDLFNBQUFGLGFBQ0NHLEtBQWEsRUFDYkMsSUFBNEMsRUFDNUNqRCxJQUFZLEVBQ0trRCxjQUFtRCxFQUNuRTtJQUFBLElBQUFDLGlCQUFBO0lBQUEsSUFBQUMsS0FBQTtJQUFBdkMsZUFBQSxPQUFBZ0MsWUFBQTtJQUNETyxLQUFBLEdBQUE5QixVQUFBLE9BQUF1QixZQUFBLEdBQU1HLEtBQUs7SUFBRUksS0FBQSxDQUZJRixjQUFtRCxHQUFuREEsY0FBbUQ7SUFBQVYsZUFBQSxDQUFBWSxLQUFBO0lBQUFaLGVBQUEsQ0FBQVksS0FBQTtJQUFBWixlQUFBLENBQUFZLEtBQUEsWUFoQi9CLEVBQUU7SUFBQVosZUFBQSxDQUFBWSxLQUFBLGFBQ3RCLEtBQUs7SUFBQVosZUFBQSxDQUFBWSxLQUFBLGFBQ0wsS0FBSztJQUFBWixlQUFBLENBQUFZLEtBQUE7SUFvRXZCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7SUFKQ1osZUFBQSxDQUFBWSxLQUFBLGNBSzJCLFVBQUNDLEdBQWEsRUFBVztNQUNuRCxJQUFJRCxLQUFBLENBQUtFLE9BQU8sRUFBRTtRQUNqQkYsS0FBQSxDQUFLRyxNQUFNLENBQUM1QyxJQUFJLENBQUMwQyxHQUFHLENBQUM7UUFFckI7TUFDRDtNQUVBRCxLQUFBLENBQUtFLE9BQU8sR0FBRyxJQUFJO01BRW5CLElBQUlFLE9BQTZCLEdBQUdILEdBQUc7TUFBQyxJQUFBSSxLQUFBLFlBQUFBLE1BQUEsRUFFckM7UUFDRixJQUFNQyxjQUFjLEdBQUdGLE9BQU87UUFFOUIsSUFBQUcsa0JBQVUsRUFBQ1AsS0FBQSxDQUFLUSxhQUFhLEVBQUVGLGNBQWMsQ0FBQztRQUU5QyxJQUFBRyxZQUFBLEdBQTZCLElBQUFDLHlCQUFXLEVBQVcsQ0FBQztVQUFBQyxhQUFBLEdBQUF0RSxjQUFBLENBQUFvRSxZQUFBO1VBQTdDRyxLQUFLLEdBQUFELGFBQUE7VUFBRUUsV0FBVyxHQUFBRixhQUFBO1FBQ3pCLElBQU1HLFFBQVEsR0FBRyxJQUFBQyw4QkFBYyxFQUFDVCxjQUFjLEVBQUVOLEtBQUEsQ0FBS2dCLFlBQVksRUFBRWhCLEtBQUEsQ0FBS0osS0FBSyxFQUFFO1VBQUVnQixLQUFLLEVBQUxBO1FBQU0sQ0FBQyxDQUFDO1FBRXpGLElBQU1LLFFBQW9DLEdBQUcsRUFBRTtRQUUvQ2pCLEtBQUEsQ0FBS2dCLFlBQVksR0FBRyxJQUFBRSxjQUFPLEVBQUNsQixLQUFBLENBQUtnQixZQUFZLEVBQUUsVUFBQ0csS0FBb0IsRUFBSztVQUN4RUYsUUFBUSxDQUFDMUQsSUFBSSxDQUFBaUIsS0FBQSxDQUFieUMsUUFBUSxFQUFBcEYsa0JBQUEsQ0FBU21FLEtBQUEsQ0FBS29CLE1BQU0sQ0FBQ0QsS0FBSyxFQUFFYixjQUFjLEVBQUVOLEtBQUEsQ0FBS0osS0FBSyxFQUFFO1lBQUVnQixLQUFLLEVBQUxBLEtBQUs7WUFBRUUsUUFBUSxFQUFSQTtVQUFTLENBQUMsQ0FBQyxFQUFDO1FBQ3RGLENBQUMsQ0FBQztRQUVGLElBQU1PLGdCQUFnQixHQUFHUixXQUFXLENBQUMsQ0FBQztRQUV0Q1MsZUFBTyxDQUFBOUMsS0FBQSxVQUFDd0IsS0FBQSxDQUFLdUIsUUFBUSxFQUFBQyxNQUFBLENBQUtQLFFBQVEsRUFBQXBGLGtCQUFBLENBQUt3RixnQkFBZ0IsR0FBQzs7UUFFeEQ7UUFDQWpCLE9BQU8sR0FBR0osS0FBQSxDQUFLRyxNQUFNLENBQUNzQixLQUFLLENBQUMsQ0FBQztNQUM5QixDQUFDO01BcEJEO1FBQUFwQixLQUFBO01BQUEsU0FvQlNELE9BQU87TUFFaEJKLEtBQUEsQ0FBS0UsT0FBTyxHQUFHLEtBQUs7TUFFcEIsSUFBSUYsS0FBQSxDQUFLMEIsT0FBTyxFQUFFO1FBQUEsSUFBQUMsZ0JBQUE7UUFDakIsQ0FBQUEsZ0JBQUEsR0FBQUMsY0FBUSxDQUFDQyxNQUFNLGNBQUFGLGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCRyxLQUFLLENBQUMsa0JBQWtCLEVBQUU5QixLQUFBLENBQUtRLGFBQWEsRUFBRVIsS0FBQSxDQUFLZ0IsWUFBWSxDQUFDO1FBQ2pGaEIsS0FBQSxDQUFLK0IsV0FBVyxDQUFDLENBQUM7TUFDbkI7SUFDRCxDQUFDO0lBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFUQzNDLGVBQUEsQ0FBQVksS0FBQTtJQWhHQyxJQUFNZ0MsV0FBVyxHQUFHLElBQUFDLCtCQUFrQixFQUFtQixDQUFDO0lBRTFELElBQUlELFdBQVcsYUFBWEEsV0FBVyxlQUFYQSxXQUFXLENBQUVULFFBQVEsRUFBRTtNQUMxQnZCLEtBQUEsQ0FBS3VCLFFBQVEsR0FBR1MsV0FBVyxDQUFDVCxRQUFRO0lBQ3JDO0lBRUEsSUFBQVcsSUFBQSxHQUE2QkYsV0FBVyxhQUFYQSxXQUFXLGVBQVhBLFdBQVcsQ0FBRUcsS0FBSyxHQUFHLENBQUNILFdBQVcsQ0FBQ0csS0FBSyxDQUFXLEdBQUd0QyxJQUFJLENBQUNHLEtBQUEsQ0FBS0osS0FBSyxDQUFDO01BQUF3QyxLQUFBLEdBQUE3RyxRQUFBLENBQUEyRyxJQUFBO01BQTNGQyxLQUFLLEdBQUFDLEtBQUE7TUFBS25CLFNBQVEsR0FBQTdFLGlCQUFBLENBQUFnRyxLQUFBLEVBQUF6RixLQUFBO0lBRXpCLENBQUFvRCxpQkFBQSxHQUFBNkIsY0FBUSxDQUFDQyxNQUFNLGNBQUE5QixpQkFBQSxlQUFmQSxpQkFBQSxDQUFpQitCLEtBQUssQ0FBQyxtQkFBbUIsRUFBRWxGLElBQUksRUFBRXVGLEtBQUssQ0FBQztJQUV4RG5DLEtBQUEsQ0FBS1EsYUFBYSxHQUFHNUQsSUFBSTtJQUN6Qm9ELEtBQUEsQ0FBS2dCLFlBQVksR0FBRyxJQUFBcUIsb0JBQWEsRUFBQyxJQUFBQyxhQUFNLEVBQUNILEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RG5DLEtBQUEsQ0FBS3VDLFlBQVksR0FBR3RCLFNBQVE7SUFBQyxPQUFBakIsS0FBQTtFQUM5Qjs7RUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0VBSkNmLFNBQUEsQ0FBQVEsWUFBQSxFQUFBRSxnQkFBQTtFQUFBLE9BQUExQixZQUFBLENBQUF3QixZQUFBO0lBQUF6QixHQUFBO0lBQUFSLEtBQUEsRUFLQSxTQUFPZ0YsaUJBQWlCQSxDQUFBLEVBQVM7TUFDaEMsSUFBSSxDQUFDZCxPQUFPLEdBQUcsSUFBSTtNQUVuQixJQUFJLElBQUksQ0FBQ2EsWUFBWSxFQUFFO1FBQ3RCakIsZUFBTyxDQUFBOUMsS0FBQSxVQUFDLElBQUksQ0FBQytDLFFBQVEsRUFBQUMsTUFBQSxDQUFBM0Ysa0JBQUEsQ0FBSyxJQUFJLENBQUMwRyxZQUFZLEdBQUM7UUFDNUMsSUFBSSxDQUFDQSxZQUFZLEdBQUcsSUFBSTtNQUN6QjtJQUNEOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7RUFKQztJQUFBdkUsR0FBQTtJQUFBUixLQUFBLEVBS0EsU0FBT2lGLG9CQUFvQkEsQ0FBQSxFQUFTO01BQUEsSUFBQUMsb0JBQUE7TUFDbkMsQ0FBQUEsb0JBQUEsT0FBSSxDQUFDNUMsY0FBYyxjQUFBNEMsb0JBQUEsZUFBbkJBLG9CQUFBLENBQUFoRyxJQUFBLEtBQUksRUFBa0IsSUFBSSxDQUFDc0UsWUFBWSxDQUFDO01BQ3hDLElBQUksQ0FBQ1UsT0FBTyxHQUFHLEtBQUs7SUFDckI7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0M7RUFBQTtJQUFBMUQsR0FBQTtJQUFBMkUsR0FBQSxFQUNBLFNBQUFBLElBQUEsRUFBc0M7TUFDckMsT0FBTyxJQUFJLENBQUMzQixZQUFZO0lBQ3pCO0VBQUM7QUFBQSxFQXZFNEU0QixpQkFBSyxDQUFDQyxTQUFTIiwiaWdub3JlTGlzdCI6W119