@secrecy/lib 1.0.0-dev.62 → 1.0.0-dev.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,10 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  /**
8
5
  * TS Rewrite of https://github.com/enhancv/popup-tools
9
6
  */
7
+
10
8
  const defaultOptions = {
11
9
  width: 700,
12
10
  height: 520,
@@ -17,29 +15,29 @@ const defaultOptions = {
17
15
  centered: true
18
16
  };
19
17
  let popupCount = 1;
18
+
20
19
  /**
21
20
  * Return options converted to a string
22
21
  *
23
22
  * @param {Object} options
24
23
  * @return {String}
25
24
  */
26
-
27
25
  function optionsToString(options) {
28
26
  return Object.entries(options).map(_ref => {
29
27
  let [k, v] = _ref;
30
28
  return `${k}=${v}`;
31
29
  }).join(",");
32
30
  }
31
+
33
32
  /**
34
33
  * Get a unique name on each call
35
34
  * @return {String}
36
35
  */
37
-
38
-
39
36
  function defaultPopupName() {
40
37
  popupCount += 1;
41
38
  return `Popup ${popupCount}`;
42
39
  }
40
+
43
41
  /**
44
42
  * Convert "centered: true" key into concrete left and top arguments
45
43
  * Both can be overwritten
@@ -47,26 +45,21 @@ function defaultPopupName() {
47
45
  * @param {Object} options
48
46
  * @return {Object}
49
47
  */
50
-
51
-
52
48
  function optionsResolveCentered(options) {
53
49
  if (!options.width || !options.height) {
54
50
  throw new Error("Should have width and height");
55
51
  }
56
-
57
52
  const result = _objectSpread({}, options);
58
-
59
53
  const width = window.outerWidth - options.width;
60
54
  const height = window.outerHeight - options.height;
61
-
62
55
  if (options.centered) {
63
56
  result.left = options.left || Math.round(window.screenX + width / 2);
64
57
  result.top = options.top || Math.round(window.screenY + height / 2.5);
65
58
  delete result.centered;
66
59
  }
67
-
68
60
  return result;
69
61
  }
62
+
70
63
  /**
71
64
  * Create a form element, add hidden inputs for all the post data
72
65
  * and post it into a newly opened popup
@@ -77,11 +70,8 @@ function optionsResolveCentered(options) {
77
70
  * @param {Object} options
78
71
  * @return {Object}
79
72
  */
80
-
81
-
82
73
  function openPopupWithPost(url, postData, name, options) {
83
74
  var _win;
84
-
85
75
  const form = document.createElement("form");
86
76
  let win = null;
87
77
  form.setAttribute("method", "post");
@@ -101,6 +91,7 @@ function openPopupWithPost(url, postData, name, options) {
101
91
  document.body.removeChild(form);
102
92
  return win;
103
93
  }
94
+
104
95
  /**
105
96
  * Open a popup using the first argument. Wait for it to close.
106
97
  * Returns the window object
@@ -112,39 +103,31 @@ function openPopupWithPost(url, postData, name, options) {
112
103
  * @param {Function}
113
104
  * @return {Object}
114
105
  */
115
-
116
-
117
106
  function popupExecute(execute, url, name, options, callback) {
118
107
  const popupName = name || defaultPopupName();
119
108
  const popupOptions = optionsResolveCentered(Object.assign({}, defaultOptions, options));
120
-
121
- const popupCallback = callback || function noop() {//
109
+ const popupCallback = callback || function noop() {
110
+ //
122
111
  };
123
-
124
112
  const optionsString = optionsToString(popupOptions);
125
113
  const win = execute(url, popupName, optionsString);
126
114
  let isMessageSent = false;
127
115
  let interval;
128
-
129
116
  function popupCallbackOnce(err, data) {
130
117
  if (!isMessageSent) {
131
118
  isMessageSent = true;
132
119
  popupCallback(err, data);
133
120
  }
134
121
  }
135
-
136
122
  function onMessage(message) {
137
123
  const data = message ? message.data : undefined;
138
-
139
124
  if (data && data.id === popupName) {
140
125
  popupCallbackOnce(undefined, data.data);
141
126
  window.removeEventListener("message", onMessage);
142
127
  clearInterval(interval);
143
128
  }
144
129
  }
145
-
146
130
  window.addEventListener("message", onMessage, false);
147
-
148
131
  if (win) {
149
132
  interval = window.setInterval(function closePopupCallback() {
150
133
  if (win === null || win.closed) {
@@ -157,9 +140,9 @@ function popupExecute(execute, url, name, options, callback) {
157
140
  } else {
158
141
  popupCallbackOnce(new Error("Popup blocked"));
159
142
  }
160
-
161
143
  return win;
162
144
  }
145
+
163
146
  /**
164
147
  * Open a popup using the first argument.
165
148
  * Wait for it to close and call the callback.
@@ -172,11 +155,10 @@ function popupExecute(execute, url, name, options, callback) {
172
155
  * @param {Function} callback
173
156
  * @return {Object}
174
157
  */
175
-
176
-
177
158
  export function popup(url, name, options, callback) {
178
159
  return popupExecute(window.open, url, name, options, callback);
179
160
  }
161
+
180
162
  /**
181
163
  * Open a popup using the first argument.
182
164
  * Post the data into the open popup.
@@ -191,21 +173,19 @@ export function popup(url, name, options, callback) {
191
173
  * @param {Function} callback
192
174
  * @return {Object}
193
175
  */
194
-
195
176
  export function popupWithPost(url, postData, name, options, callback) {
196
177
  function openWithPostData(popupUrl, popupName, optionsString) {
197
178
  return openPopupWithPost(popupUrl, postData, popupName, optionsString);
198
179
  }
199
-
200
180
  return popupExecute(openWithPostData, url, name, options, callback);
201
181
  }
182
+
202
183
  /**
203
184
  * Return html that when executed, will trigger the popup to callback with a response
204
185
  *
205
186
  * @param {Object}
206
187
  * @return {String}
207
188
  */
208
-
209
189
  export function popupResponse(id, data) {
210
190
  const jsonData = JSON.stringify({
211
191
  id,
@@ -213,4 +193,4 @@ export function popupResponse(id, data) {
213
193
  });
214
194
  return `<script>window.opener.postMessage(${jsonData}, "*");setTimeout(function() { window.close(); }, 50);</script>`;
215
195
  }
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImlkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFySW50ZXJ2YWwiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVFMgUmV3cml0ZSBvZiBodHRwczovL2dpdGh1Yi5jb20vZW5oYW5jdi9wb3B1cC10b29sc1xuICovXG5cbnR5cGUgWWVzTm8gPSBcInllc1wiIHwgXCJub1wiO1xudHlwZSBPcHRpb25zID0ge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtZW51YmFyOiBZZXNObztcbiAgcmVzaXphYmxlOiBZZXNObztcbiAgbG9jYXRpb246IFllc05vO1xuICBzY3JvbGxiYXJzOiBZZXNObztcbiAgY2VudGVyZWQ/OiBib29sZWFuO1xuICBsZWZ0PzogbnVtYmVyO1xuICB0b3A/OiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogT3B0aW9ucyA9IHtcbiAgd2lkdGg6IDcwMCxcbiAgaGVpZ2h0OiA1MjAsXG4gIG1lbnViYXI6IFwibm9cIixcbiAgcmVzaXphYmxlOiBcInllc1wiLFxuICBsb2NhdGlvbjogXCJ5ZXNcIixcbiAgc2Nyb2xsYmFyczogXCJub1wiLFxuICBjZW50ZXJlZDogdHJ1ZVxufTtcblxudHlwZSBDYWxsYmFjayA9IChlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pID0+IHZvaWQ7XG5cbnR5cGUgV2luZG93T3BlbiA9IChcbiAgcG9wdXBVcmw6IHN0cmluZyxcbiAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuKSA9PiBXaW5kb3cgfCBudWxsO1xuXG5sZXQgcG9wdXBDb3VudCA9IDE7XG5cbi8qKlxuICogUmV0dXJuIG9wdGlvbnMgY29udmVydGVkIHRvIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG9wdGlvbnNUb1N0cmluZzxUIGV4dGVuZHMgT3B0aW9ucz4ob3B0aW9uczogVCk6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKVxuICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a309JHt2fWApXG4gICAgLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIEdldCBhIHVuaXF1ZSBuYW1lIG9uIGVhY2ggY2FsbFxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBkZWZhdWx0UG9wdXBOYW1lKCk6IHN0cmluZyB7XG4gIHBvcHVwQ291bnQgKz0gMTtcbiAgcmV0dXJuIGBQb3B1cCAke3BvcHVwQ291bnR9YDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IFwiY2VudGVyZWQ6IHRydWVcIiBrZXkgaW50byBjb25jcmV0ZSBsZWZ0IGFuZCB0b3AgYXJndW1lbnRzXG4gKiBCb3RoIGNhbiBiZSBvdmVyd3JpdHRlblxuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5mdW5jdGlvbiBvcHRpb25zUmVzb2x2ZUNlbnRlcmVkKG9wdGlvbnM6IE9wdGlvbnMpOiBPcHRpb25zIHtcbiAgaWYgKCFvcHRpb25zLndpZHRoIHx8ICFvcHRpb25zLmhlaWdodCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBoYXZlIHdpZHRoIGFuZCBoZWlnaHRcIik7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0geyAuLi5vcHRpb25zIH07XG4gIGNvbnN0IHdpZHRoID0gd2luZG93Lm91dGVyV2lkdGggLSBvcHRpb25zLndpZHRoO1xuICBjb25zdCBoZWlnaHQgPSB3aW5kb3cub3V0ZXJIZWlnaHQgLSBvcHRpb25zLmhlaWdodDtcblxuICBpZiAob3B0aW9ucy5jZW50ZXJlZCkge1xuICAgIHJlc3VsdC5sZWZ0ID0gb3B0aW9ucy5sZWZ0IHx8IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aWR0aCAvIDIpO1xuICAgIHJlc3VsdC50b3AgPSBvcHRpb25zLnRvcCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5ZICsgaGVpZ2h0IC8gMi41KTtcbiAgICBkZWxldGUgcmVzdWx0LmNlbnRlcmVkO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZm9ybSBlbGVtZW50LCBhZGQgaGlkZGVuIGlucHV0cyBmb3IgYWxsIHRoZSBwb3N0IGRhdGFcbiAqIGFuZCBwb3N0IGl0IGludG8gYSBuZXdseSBvcGVuZWQgcG9wdXBcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7T2JqZWN0fSBwb3N0RGF0YVxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3BlblBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBzdHJpbmdcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImZvcm1cIik7XG4gIGxldCB3aW46IFdpbmRvdyB8IG51bGwgPSBudWxsO1xuXG4gIGZvcm0uc2V0QXR0cmlidXRlKFwibWV0aG9kXCIsIFwicG9zdFwiKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJhY3Rpb25cIiwgdXJsKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgbmFtZSk7XG5cbiAgT2JqZWN0LmtleXMocG9zdERhdGEpLmZvckVhY2goZnVuY3Rpb24gYWRkRm9ybUl0ZW0oa2V5KSB7XG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgaW5wdXQubmFtZSA9IGtleTtcbiAgICBpbnB1dC52YWx1ZSA9IHBvc3REYXRhW2tleV07XG4gICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7XG4gIH0pO1xuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7XG5cbiAgd2luID0gd2luZG93Lm9wZW4oXCIvXCIsIG5hbWUsIG9wdGlvbnMpO1xuICB3aW4/LmRvY3VtZW50LndyaXRlKFwiTG9hZGluZy4uLlwiKTtcblxuICBmb3JtLnN1Ym1pdCgpO1xuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pO1xuXG4gIHJldHVybiB3aW47XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC4gV2FpdCBmb3IgaXQgdG8gY2xvc2UuXG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcGFyYW0gIHtGdW5jdGlvbn1cbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gcG9wdXBFeGVjdXRlKFxuICBleGVjdXRlOiBXaW5kb3dPcGVuLFxuICB1cmw6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBwb3B1cE5hbWUgPSBuYW1lIHx8IGRlZmF1bHRQb3B1cE5hbWUoKTtcbiAgY29uc3QgcG9wdXBPcHRpb25zID0gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChcbiAgICBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgb3B0aW9ucylcbiAgKTtcbiAgY29uc3QgcG9wdXBDYWxsYmFjayA9XG4gICAgY2FsbGJhY2sgfHxcbiAgICBmdW5jdGlvbiBub29wKCk6IHZvaWQge1xuICAgICAgLy9cbiAgICB9O1xuICBjb25zdCBvcHRpb25zU3RyaW5nID0gb3B0aW9uc1RvU3RyaW5nKHBvcHVwT3B0aW9ucyk7XG4gIGNvbnN0IHdpbiA9IGV4ZWN1dGUodXJsLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICBsZXQgaXNNZXNzYWdlU2VudCA9IGZhbHNlO1xuICBsZXQgaW50ZXJ2YWw6IG51bWJlcjtcblxuICBmdW5jdGlvbiBwb3B1cENhbGxiYWNrT25jZShlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoIWlzTWVzc2FnZVNlbnQpIHtcbiAgICAgIGlzTWVzc2FnZVNlbnQgPSB0cnVlO1xuICAgICAgcG9wdXBDYWxsYmFjayhlcnIsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG9uTWVzc2FnZShtZXNzYWdlPzogTWVzc2FnZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IG1lc3NhZ2UgPyBtZXNzYWdlLmRhdGEgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZGF0YSAmJiBkYXRhLmlkID09PSBwb3B1cE5hbWUpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YS5kYXRhKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBvbk1lc3NhZ2UpO1xuICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgfVxuICB9XG5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uTWVzc2FnZSwgZmFsc2UpO1xuXG4gIGlmICh3aW4pIHtcbiAgICBpbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbiBjbG9zZVBvcHVwQ2FsbGJhY2soKSB7XG4gICAgICBpZiAod2luID09PSBudWxsIHx8IHdpbi5jbG9zZWQpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBkZWxheVdpbmRvd0Nsb3NpbmcoKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgY2xvc2VkXCIpKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9IGVsc2Uge1xuICAgIHBvcHVwQ2FsbGJhY2tPbmNlKG5ldyBFcnJvcihcIlBvcHVwIGJsb2NrZWRcIikpO1xuICB9XG5cbiAgcmV0dXJuIHdpbjtcbn1cblxuLyoqXG4gKiBPcGVuIGEgcG9wdXAgdXNpbmcgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICogV2FpdCBmb3IgaXQgdG8gY2xvc2UgYW5kIGNhbGwgdGhlIGNhbGxiYWNrLlxuICogU2V0IHRoZSBvcHRpb25zIHN0cmluZyB1c2luZyB0aGUgb3B0aW9ucyBvYmplY3RcbiAqIFJldHVybnMgdGhlIHdpbmRvdyBvYmplY3RcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXAoXG4gIHVybDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4sXG4gIGNhbGxiYWNrOiBDYWxsYmFja1xuKTogV2luZG93IHwgbnVsbCB7XG4gIHJldHVybiBwb3B1cEV4ZWN1dGUod2luZG93Lm9wZW4sIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBQb3N0IHRoZSBkYXRhIGludG8gdGhlIG9wZW4gcG9wdXAuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtPYmplY3R9IHBvc3REYXRhXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgZnVuY3Rpb24gb3BlbldpdGhQb3N0RGF0YShcbiAgICBwb3B1cFVybDogc3RyaW5nLFxuICAgIHBvcHVwTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuICApOiBXaW5kb3cgfCBudWxsIHtcbiAgICByZXR1cm4gb3BlblBvcHVwV2l0aFBvc3QocG9wdXBVcmwsIHBvc3REYXRhLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICB9XG5cbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZShvcGVuV2l0aFBvc3REYXRhLCB1cmwsIG5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gaHRtbCB0aGF0IHdoZW4gZXhlY3V0ZWQsIHdpbGwgdHJpZ2dlciB0aGUgcG9wdXAgdG8gY2FsbGJhY2sgd2l0aCBhIHJlc3BvbnNlXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXBSZXNwb25zZTxUPihpZDogc3RyaW5nLCBkYXRhOiBUKTogc3RyaW5nIHtcbiAgY29uc3QganNvbkRhdGEgPSBKU09OLnN0cmluZ2lmeSh7IGlkLCBkYXRhIH0pO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFlQSxNQUFNQSxjQUF1QixHQUFHO0VBQzlCQyxLQUFLLEVBQUUsR0FEdUI7RUFFOUJDLE1BQU0sRUFBRSxHQUZzQjtFQUc5QkMsT0FBTyxFQUFFLElBSHFCO0VBSTlCQyxTQUFTLEVBQUUsS0FKbUI7RUFLOUJDLFFBQVEsRUFBRSxLQUxvQjtFQU05QkMsVUFBVSxFQUFFLElBTmtCO0VBTzlCQyxRQUFRLEVBQUU7QUFQb0IsQ0FBaEM7QUFrQkEsSUFBSUMsVUFBVSxHQUFHLENBQWpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLFNBQVNDLGVBQVQsQ0FBNENDLE9BQTVDLEVBQWdFO0VBQzlELE9BQU9DLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlRixPQUFmLEVBQ0pHLEdBREksQ0FDQTtJQUFBLElBQUMsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLENBQUQ7SUFBQSxPQUFhLEdBQUVELENBQUUsSUFBR0MsQ0FBRSxFQUF0QjtFQUFBLENBREEsRUFFSkMsSUFGSSxDQUVDLEdBRkQsQ0FBUDtBQUdEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNDLGdCQUFULEdBQW9DO0VBQ2xDVCxVQUFVLElBQUksQ0FBZDtFQUNBLE9BQVEsU0FBUUEsVUFBVyxFQUEzQjtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNVLHNCQUFULENBQWdDUixPQUFoQyxFQUEyRDtFQUN6RCxJQUFJLENBQUNBLE9BQU8sQ0FBQ1Qs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
196
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImlkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFySW50ZXJ2YWwiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVFMgUmV3cml0ZSBvZiBodHRwczovL2dpdGh1Yi5jb20vZW5oYW5jdi9wb3B1cC10b29sc1xuICovXG5cbnR5cGUgWWVzTm8gPSBcInllc1wiIHwgXCJub1wiO1xudHlwZSBPcHRpb25zID0ge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtZW51YmFyOiBZZXNObztcbiAgcmVzaXphYmxlOiBZZXNObztcbiAgbG9jYXRpb246IFllc05vO1xuICBzY3JvbGxiYXJzOiBZZXNObztcbiAgY2VudGVyZWQ/OiBib29sZWFuO1xuICBsZWZ0PzogbnVtYmVyO1xuICB0b3A/OiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogT3B0aW9ucyA9IHtcbiAgd2lkdGg6IDcwMCxcbiAgaGVpZ2h0OiA1MjAsXG4gIG1lbnViYXI6IFwibm9cIixcbiAgcmVzaXphYmxlOiBcInllc1wiLFxuICBsb2NhdGlvbjogXCJ5ZXNcIixcbiAgc2Nyb2xsYmFyczogXCJub1wiLFxuICBjZW50ZXJlZDogdHJ1ZVxufTtcblxudHlwZSBDYWxsYmFjayA9IChlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pID0+IHZvaWQ7XG5cbnR5cGUgV2luZG93T3BlbiA9IChcbiAgcG9wdXBVcmw6IHN0cmluZyxcbiAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuKSA9PiBXaW5kb3cgfCBudWxsO1xuXG5sZXQgcG9wdXBDb3VudCA9IDE7XG5cbi8qKlxuICogUmV0dXJuIG9wdGlvbnMgY29udmVydGVkIHRvIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG9wdGlvbnNUb1N0cmluZzxUIGV4dGVuZHMgT3B0aW9ucz4ob3B0aW9uczogVCk6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKVxuICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a309JHt2fWApXG4gICAgLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIEdldCBhIHVuaXF1ZSBuYW1lIG9uIGVhY2ggY2FsbFxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBkZWZhdWx0UG9wdXBOYW1lKCk6IHN0cmluZyB7XG4gIHBvcHVwQ291bnQgKz0gMTtcbiAgcmV0dXJuIGBQb3B1cCAke3BvcHVwQ291bnR9YDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IFwiY2VudGVyZWQ6IHRydWVcIiBrZXkgaW50byBjb25jcmV0ZSBsZWZ0IGFuZCB0b3AgYXJndW1lbnRzXG4gKiBCb3RoIGNhbiBiZSBvdmVyd3JpdHRlblxuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5mdW5jdGlvbiBvcHRpb25zUmVzb2x2ZUNlbnRlcmVkKG9wdGlvbnM6IE9wdGlvbnMpOiBPcHRpb25zIHtcbiAgaWYgKCFvcHRpb25zLndpZHRoIHx8ICFvcHRpb25zLmhlaWdodCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBoYXZlIHdpZHRoIGFuZCBoZWlnaHRcIik7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0geyAuLi5vcHRpb25zIH07XG4gIGNvbnN0IHdpZHRoID0gd2luZG93Lm91dGVyV2lkdGggLSBvcHRpb25zLndpZHRoO1xuICBjb25zdCBoZWlnaHQgPSB3aW5kb3cub3V0ZXJIZWlnaHQgLSBvcHRpb25zLmhlaWdodDtcblxuICBpZiAob3B0aW9ucy5jZW50ZXJlZCkge1xuICAgIHJlc3VsdC5sZWZ0ID0gb3B0aW9ucy5sZWZ0IHx8IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aWR0aCAvIDIpO1xuICAgIHJlc3VsdC50b3AgPSBvcHRpb25zLnRvcCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5ZICsgaGVpZ2h0IC8gMi41KTtcbiAgICBkZWxldGUgcmVzdWx0LmNlbnRlcmVkO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZm9ybSBlbGVtZW50LCBhZGQgaGlkZGVuIGlucHV0cyBmb3IgYWxsIHRoZSBwb3N0IGRhdGFcbiAqIGFuZCBwb3N0IGl0IGludG8gYSBuZXdseSBvcGVuZWQgcG9wdXBcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7T2JqZWN0fSBwb3N0RGF0YVxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3BlblBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBzdHJpbmdcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImZvcm1cIik7XG4gIGxldCB3aW46IFdpbmRvdyB8IG51bGwgPSBudWxsO1xuXG4gIGZvcm0uc2V0QXR0cmlidXRlKFwibWV0aG9kXCIsIFwicG9zdFwiKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJhY3Rpb25cIiwgdXJsKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgbmFtZSk7XG5cbiAgT2JqZWN0LmtleXMocG9zdERhdGEpLmZvckVhY2goZnVuY3Rpb24gYWRkRm9ybUl0ZW0oa2V5KSB7XG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgaW5wdXQubmFtZSA9IGtleTtcbiAgICBpbnB1dC52YWx1ZSA9IHBvc3REYXRhW2tleV07XG4gICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7XG4gIH0pO1xuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7XG5cbiAgd2luID0gd2luZG93Lm9wZW4oXCIvXCIsIG5hbWUsIG9wdGlvbnMpO1xuICB3aW4/LmRvY3VtZW50LndyaXRlKFwiTG9hZGluZy4uLlwiKTtcblxuICBmb3JtLnN1Ym1pdCgpO1xuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pO1xuXG4gIHJldHVybiB3aW47XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC4gV2FpdCBmb3IgaXQgdG8gY2xvc2UuXG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcGFyYW0gIHtGdW5jdGlvbn1cbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gcG9wdXBFeGVjdXRlKFxuICBleGVjdXRlOiBXaW5kb3dPcGVuLFxuICB1cmw6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBwb3B1cE5hbWUgPSBuYW1lIHx8IGRlZmF1bHRQb3B1cE5hbWUoKTtcbiAgY29uc3QgcG9wdXBPcHRpb25zID0gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChcbiAgICBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgb3B0aW9ucylcbiAgKTtcbiAgY29uc3QgcG9wdXBDYWxsYmFjayA9XG4gICAgY2FsbGJhY2sgfHxcbiAgICBmdW5jdGlvbiBub29wKCk6IHZvaWQge1xuICAgICAgLy9cbiAgICB9O1xuICBjb25zdCBvcHRpb25zU3RyaW5nID0gb3B0aW9uc1RvU3RyaW5nKHBvcHVwT3B0aW9ucyk7XG4gIGNvbnN0IHdpbiA9IGV4ZWN1dGUodXJsLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICBsZXQgaXNNZXNzYWdlU2VudCA9IGZhbHNlO1xuICBsZXQgaW50ZXJ2YWw6IG51bWJlcjtcblxuICBmdW5jdGlvbiBwb3B1cENhbGxiYWNrT25jZShlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoIWlzTWVzc2FnZVNlbnQpIHtcbiAgICAgIGlzTWVzc2FnZVNlbnQgPSB0cnVlO1xuICAgICAgcG9wdXBDYWxsYmFjayhlcnIsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG9uTWVzc2FnZShtZXNzYWdlPzogTWVzc2FnZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IG1lc3NhZ2UgPyBtZXNzYWdlLmRhdGEgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZGF0YSAmJiBkYXRhLmlkID09PSBwb3B1cE5hbWUpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YS5kYXRhKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBvbk1lc3NhZ2UpO1xuICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgfVxuICB9XG5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uTWVzc2FnZSwgZmFsc2UpO1xuXG4gIGlmICh3aW4pIHtcbiAgICBpbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbiBjbG9zZVBvcHVwQ2FsbGJhY2soKSB7XG4gICAgICBpZiAod2luID09PSBudWxsIHx8IHdpbi5jbG9zZWQpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBkZWxheVdpbmRvd0Nsb3NpbmcoKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgY2xvc2VkXCIpKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9IGVsc2Uge1xuICAgIHBvcHVwQ2FsbGJhY2tPbmNlKG5ldyBFcnJvcihcIlBvcHVwIGJsb2NrZWRcIikpO1xuICB9XG5cbiAgcmV0dXJuIHdpbjtcbn1cblxuLyoqXG4gKiBPcGVuIGEgcG9wdXAgdXNpbmcgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICogV2FpdCBmb3IgaXQgdG8gY2xvc2UgYW5kIGNhbGwgdGhlIGNhbGxiYWNrLlxuICogU2V0IHRoZSBvcHRpb25zIHN0cmluZyB1c2luZyB0aGUgb3B0aW9ucyBvYmplY3RcbiAqIFJldHVybnMgdGhlIHdpbmRvdyBvYmplY3RcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXAoXG4gIHVybDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4sXG4gIGNhbGxiYWNrOiBDYWxsYmFja1xuKTogV2luZG93IHwgbnVsbCB7XG4gIHJldHVybiBwb3B1cEV4ZWN1dGUod2luZG93Lm9wZW4sIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBQb3N0IHRoZSBkYXRhIGludG8gdGhlIG9wZW4gcG9wdXAuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtPYmplY3R9IHBvc3REYXRhXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgZnVuY3Rpb24gb3BlbldpdGhQb3N0RGF0YShcbiAgICBwb3B1cFVybDogc3RyaW5nLFxuICAgIHBvcHVwTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuICApOiBXaW5kb3cgfCBudWxsIHtcbiAgICByZXR1cm4gb3BlblBvcHVwV2l0aFBvc3QocG9wdXBVcmwsIHBvc3REYXRhLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICB9XG5cbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZShvcGVuV2l0aFBvc3REYXRhLCB1cmwsIG5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gaHRtbCB0aGF0IHdoZW4gZXhlY3V0ZWQsIHdpbGwgdHJpZ2dlciB0aGUgcG9wdXAgdG8gY2FsbGJhY2sgd2l0aCBhIHJlc3BvbnNlXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXBSZXNwb25zZTxUPihpZDogc3RyaW5nLCBkYXRhOiBUKTogc3RyaW5nIHtcbiAgY29uc3QganNvbkRhdGEgPSBKU09OLnN0cmluZ2lmeSh7IGlkLCBkYXRhIH0pO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBO0FBQ0E7O0FBZUEsTUFBTUEsY0FBdUIsR0FBRztFQUM5QkMsS0FBSyxFQUFFLEdBQUc7RUFDVkMsTUFBTSxFQUFFLEdBQUc7RUFDWEMsT0FBTyxFQUFFLElBQUk7RUFDYkMsU0FBUyxFQUFFLEtBQUs7RUFDaEJDLFFBQVEsRUFBRSxLQUFLO0VBQ2ZDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCQyxRQUFRLEVBQUU7QUFDWixDQUFDO0FBVUQsSUFBSUMsVUFBVSxHQUFHLENBQUM7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGVBQWUsQ0FBb0JDLE9BQVUsRUFBVTtFQUM5RCxPQUFPQyxNQUFNLENBQUNDLE9BQU8sQ0FBQ0YsT0FBTyxDQUFDLENBQzNCRyxHQUFHLENBQUM7SUFBQSxJQUFDLENBQUNDLENBQUMsRUFBRUMsQ0FBQyxDQUFDO0lBQUEsT0FBTSxHQUFFRCxDQUFFLElBQUdDLENBQUUsRUFBQztFQUFBLEVBQUMsQ0FDNUJDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGdCQUFnQixHQUFXO0VBQ2xDVCxVQUFVLElBQUksQ0FBQztFQUNmLE9BQVEsU0FBUUEsVUFBVyxFQUFDO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU1Usc0JBQXNCLENBQUNSLE9BQWdCLEVBQVc7RUFDekQsSUFBSSxDQUFDQSxPQUFPLENBQUNULEtBQUssSUFBSSxDQUFD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
@@ -1,11 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  import { GraphQLError, Thunder } from "./zeus/index.js";
8
-
9
5
  const handleFetchResponse = response => {
10
6
  if (!response.ok) {
11
7
  return new Promise((_, reject) => {
@@ -18,39 +14,31 @@ const handleFetchResponse = response => {
18
14
  }).catch(reject);
19
15
  });
20
16
  }
21
-
22
17
  return response.json();
23
18
  };
24
-
25
19
  const apiFetch = (options, session) => async function (query, variables) {
26
20
  if (variables === void 0) {
27
21
  variables = {};
28
22
  }
29
-
30
23
  const fetchFunction = fetch;
31
24
  let queryString = query;
32
25
  const fetchOptions = options[1] || {};
33
-
34
26
  if (fetchOptions.method && fetchOptions.method === "GET") {
35
27
  queryString = encodeURIComponent(query);
36
28
  return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions).then(handleFetchResponse).then(response => {
37
29
  if (response.errors) {
38
30
  throw new GraphQLError(response);
39
31
  }
40
-
41
32
  return response.data;
42
33
  });
43
34
  }
44
-
45
35
  const headers = {
46
36
  "content-type": "application/json",
47
37
  "accept-language": navigator.language
48
38
  };
49
-
50
39
  if (session) {
51
40
  headers["secrecy-session"] = session;
52
41
  }
53
-
54
42
  const controller = new AbortController();
55
43
  const id = setTimeout(() => controller.abort(), 20000);
56
44
  const res = await fetchFunction(`${options[0]}`, _objectSpread({
@@ -65,15 +53,13 @@ const apiFetch = (options, session) => async function (query, variables) {
65
53
  if (response.errors) {
66
54
  throw new GraphQLError(response);
67
55
  }
68
-
69
56
  return response.data;
70
57
  });
71
58
  clearTimeout(id);
72
59
  return res;
73
60
  };
74
-
75
61
  export const createThunder = (url, session) => Thunder(apiFetch([url, {
76
62
  mode: "cors",
77
63
  credentials: "same-origin"
78
64
  }], session));
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsU0FBU0EsWUFBVCxFQUF1QkMsT0FBdkIsUUFBc0MsaUJBQXRDOztBQUVBLE1BQU1DLG1CQUFtQixHQUN2QkMsUUFEMEIsSUFLRztFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBZCxFQUFrQjtJQUNoQixPQUFPLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxDQUFELEVBQUlDLE1BQUosS0FBZTtNQUNoQ0osUUFBUSxDQUNMSyxJQURILEdBRUdDLElBRkgsQ0FFUUQsSUFBSSxJQUFJO1FBQ1osSUFBSTtVQUNGRCxNQUFNLENBQUNHLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxJQUFYLENBQUQsQ0FBTjtRQUNELENBRkQsQ0FFRSxPQUFPSSxHQUFQLEVBQVk7VUFDWkwsTUFBTSxDQUFDQyxJQUFELENBQU47UUFDRDtNQUNGLENBUkgsRUFTR0ssS0FUSCxDQVNTTixNQVRUO0lBVUQsQ0FYTSxDQUFQO0VBWUQ7O0VBQ0QsT0FBT0osUUFBUSxDQUFDVyxJQUFULEVBQVA7QUFDRCxDQXJCRDs7QUF1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
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsU0FBU0EsWUFBWSxFQUFFQyxPQUFPLFFBQVEsaUJBQWlCO0FBRXZELE1BQU1DLG1CQUFtQixHQUN2QkMsUUFHSSxJQUN5QjtFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBRSxFQUFFO0lBQ2hCLE9BQU8sSUFBSUMsT0FBTyxDQUFDLENBQUNDLENBQUMsRUFBRUMsTUFBTSxLQUFLO01BQ2hDSixRQUFRLENBQ0xLLElBQUksRUFBRSxDQUNOQyxJQUFJLENBQUNELElBQUksSUFBSTtRQUNaLElBQUk7VUFDRkQsTUFBTSxDQUFDRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLE9BQU9JLEdBQUcsRUFBRTtVQUNaTCxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNkO01BQ0YsQ0FBQyxDQUFDLENBQ0RLLEtBQUssQ0FBQ04sTUFBTSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztFQUNKO0VBQ0EsT0FBT0osUUFBUSxDQUFDVyxJQUFJLEVBQUU7QUFDeEIs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
package/dist/cache.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export const filesCache = new Map();
2
2
  export const nodesCache = new Map();
3
3
  export const usersCache = new Map();
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFKLEVBQW5CO0FBRVAsT0FBTyxNQUFNQyxVQUFVLEdBQUcsSUFBSUQsR0FBSixFQUFuQjtBQUVQLE9BQU8sTUFBTUUsVUFBVSxHQUFHLElBQUlGLEdBQUosRUFBbkIifQ==
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFHLEVBQXdCO0FBRXpELE9BQU8sTUFBTUMsVUFBVSxHQUFHLElBQUlELEdBQUcsRUFBMkM7QUFFNUUsT0FBTyxNQUFNRSxVQUFVLEdBQUcsSUFBSUYsR0FBRyxFQUc5QiJ9
@@ -1,36 +1,35 @@
1
1
  import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
2
2
  import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
3
-
4
3
  /* eslint-disable @typescript-eslint/naming-convention */
4
+
5
5
  import { decode } from "jsonwebtoken";
6
6
  import { getStorage } from "./storage.js";
7
-
8
7
  var _thunder = /*#__PURE__*/_classPrivateFieldLooseKey("thunder");
9
-
10
8
  export class SecrecyAppClient {
11
9
  // #client: SecrecyClient;
10
+
12
11
  // #keys: KeyPair;
12
+
13
13
  constructor(uaJwt, _client, _keys, thunder) {
14
14
  Object.defineProperty(this, _thunder, {
15
15
  writable: true,
16
16
  value: void 0
17
17
  });
18
18
  this.jwt = uaJwt;
19
- this.jwtDecoded = decode(uaJwt); // this.#client = client;
19
+ this.jwtDecoded = decode(uaJwt);
20
+ // this.#client = client;
20
21
  // this.#keys = keys;
21
-
22
22
  _classPrivateFieldLooseBase(this, _thunder)[_thunder] = thunder;
23
23
  }
24
-
25
24
  get userId() {
26
25
  return this.jwtDecoded.sub ?? "";
27
26
  }
28
-
29
27
  async getJwt() {
30
28
  // TODO useful?
31
29
  // if (this.jwtDecoded.exp && this.jwtDecoded.exp * 1000 < Date.now()) {
32
30
  // return this.jwt;
33
31
  // }
32
+
34
33
  const {
35
34
  getJwt
36
35
  } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("query")({
@@ -47,33 +46,26 @@ export class SecrecyAppClient {
47
46
  }
48
47
  }]
49
48
  });
50
-
51
49
  if (!getJwt) {
52
50
  return this.jwt;
53
51
  }
54
-
55
52
  if (getJwt.__typename === "ErrorAccessDenied") {
56
53
  throw new Error(getJwt.message);
57
54
  }
58
-
59
55
  this.jwt = getJwt.jwt;
60
56
  this.jwtDecoded = decode(getJwt.jwt);
61
57
  const sessionStorage = getStorage(true);
62
58
  const localStorage = getStorage(false);
63
59
  const sessionJwt = sessionStorage.jwt.load();
64
60
  const localJwt = localStorage.jwt.load();
65
-
66
61
  if (sessionJwt) {
67
62
  sessionStorage.jwt.save(getJwt.jwt);
68
63
  }
69
-
70
64
  if (localJwt) {
71
65
  localStorage.jwt.save(getJwt.jwt);
72
66
  }
73
-
74
67
  return getJwt.jwt;
75
68
  }
76
-
77
69
  async updateNotifications(notifications) {
78
70
  const {
79
71
  updateAppNotifications
@@ -101,25 +93,20 @@ export class SecrecyAppClient {
101
93
  }
102
94
  }]
103
95
  });
104
-
105
96
  if (!updateAppNotifications) {
106
97
  return null;
107
98
  }
108
-
109
99
  if (updateAppNotifications.__typename === "ErrorAccessDenied") {
110
100
  return updateAppNotifications;
111
101
  }
112
-
113
102
  if (!updateAppNotifications.updateAppNotifications) {
114
103
  return null;
115
104
  }
116
-
117
105
  return {
118
106
  __typename: "SuccessResponse",
119
107
  data: updateAppNotifications.updateAppNotifications
120
108
  };
121
109
  }
122
-
123
110
  async notifications() {
124
111
  const {
125
112
  appNotifications
@@ -149,28 +136,22 @@ export class SecrecyAppClient {
149
136
  }
150
137
  }
151
138
  });
152
-
153
139
  if (!appNotifications) {
154
140
  return null;
155
141
  }
156
-
157
142
  if (appNotifications.__typename === "ErrorAccessDenied") {
158
143
  return appNotifications;
159
144
  }
160
-
161
145
  if (appNotifications.__typename === "ErrorNotFound") {
162
146
  return appNotifications;
163
147
  }
164
-
165
148
  return {
166
149
  __typename: "SuccessResponse",
167
150
  data: appNotifications
168
151
  };
169
152
  }
170
-
171
153
  async settings() {
172
154
  var _user$user;
173
-
174
155
  const {
175
156
  user
176
157
  } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("query")({
@@ -191,25 +172,20 @@ export class SecrecyAppClient {
191
172
  }
192
173
  }]
193
174
  });
194
-
195
175
  if (!user) {
196
176
  return null;
197
177
  }
198
-
199
178
  if (user.__typename === "ErrorNotFound") {
200
179
  return user;
201
180
  }
202
-
203
181
  if (!((_user$user = user.user) != null && _user$user.appSettings)) {
204
182
  return null;
205
183
  }
206
-
207
184
  return {
208
185
  __typename: "SuccessResponse",
209
186
  data: user.user.appSettings
210
187
  };
211
188
  }
212
-
213
189
  async updateSettings(settings) {
214
190
  const {
215
191
  updateAppSettings
@@ -233,24 +209,19 @@ export class SecrecyAppClient {
233
209
  }
234
210
  }]
235
211
  });
236
-
237
212
  if (!updateAppSettings) {
238
213
  return null;
239
214
  }
240
-
241
215
  if (updateAppSettings.__typename === "ErrorAccessDenied") {
242
216
  return updateAppSettings;
243
217
  }
244
-
245
218
  if (updateAppSettings.__typename === "ErrorBasic") {
246
219
  return updateAppSettings;
247
220
  }
248
-
249
221
  return {
250
222
  __typename: "SuccessResponse",
251
223
  data: updateAppSettings.updateAppSettings
252
224
  };
253
225
  }
254
-
255
226
  }
256
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWNvZGUiLCJnZXRTdG9yYWdlIiwiU2VjcmVjeUFwcENsaWVudCIsImNvbnN0cnVjdG9yIiwidWFKd3QiLCJfY2xpZW50IiwiX2tleXMiLCJ0aHVuZGVyIiwiand0Iiwiand0RGVjb2RlZCIsInVzZXJJZCIsInN1YiIsImdldEp3dCIsImluY2x1ZGVFbWFpbCIsImVtYWlsIiwiX190eXBlbmFtZSIsIm1lc3NhZ2UiLCJFcnJvciIsInNlc3Npb25TdG9yYWdlIiwibG9jYWxTdG9yYWdlIiwic2Vzc2lvbkp3dCIsImxvYWQiLCJsb2NhbEp3dCIsInNhdmUiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwibm90aWZpY2F0aW9ucyIsInVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMiLCJzY2FsYXJzIiwiRGF0ZVRpbWUiLCJlIiwiRGF0ZSIsImVuY29kZSIsInRvSVNPU3RyaW5nIiwiZW5hYmxlQWxsIiwibWFpbCIsImNsb3VkIiwiZGlzYWJsZUFsbFVudGlsIiwiZGF0YSIsImFwcE5vdGlmaWNhdGlvbnMiLCJzZXR0aW5ncyIsInVzZXIiLCJhcHBTZXR0aW5ncyIsImNsb3VkTm9kZURheXNGb3JEZWxldGUiLCJoaXN0b3J5RmlsZURheXNGb3JEZWxldGUiLCJoaXN0b3J5TWF4RmlsZUNvdW50IiwidXBkYXRlU2V0dGluZ3MiLCJ1cGRhdGVBcHBTZXR0aW5ncyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvU2VjcmVjeUFwcENsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB0eXBlIHtcbiAgU2VjcmVjeUNsaWVudCxcbiAgU3VjY2Vzc1Jlc3BvbnNlLFxuICBVc2VyQXBwTm90aWZpY2F0aW9ucyxcbiAgVXNlckFwcFNldHRpbmdzXG59IGZyb20gXCIuLi9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBFcnJvckFjY2Vzc0RlbmllZCwgRXJyb3JCYXNpYywgRXJyb3JOb3RGb3VuZCB9IGZyb20gXCIuLi9lcnJvci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUaHVuZGVyIH0gZnJvbSBcIi4uL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgSnd0UGF5bG9hZCB9IGZyb20gXCJqc29ud2VidG9rZW5cIjtcbmltcG9ydCB7IGRlY29kZSB9IGZyb20gXCJqc29ud2VidG9rZW5cIjtcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiLi9zdG9yYWdlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWNyZWN5QXBwQ2xpZW50IHtcbiAgand0OiBzdHJpbmc7XG5cbiAgand0RGVjb2RlZDogSnd0UGF5bG9hZDtcblxuICAvLyAjY2xpZW50OiBTZWNyZWN5Q2xpZW50O1xuXG4gIC8vICNrZXlzOiBLZXlQYWlyO1xuXG4gICN0aHVuZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB1YUp3dDogc3RyaW5nLFxuICAgIF9jbGllbnQ6IFNlY3JlY3lDbGllbnQsXG4gICAgX2tleXM6IEtleVBhaXIsXG4gICAgdGh1bmRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj5cbiAgKSB7XG4gICAgdGhpcy5qd3QgPSB1YUp3dDtcbiAgICB0aGlzLmp3dERlY29kZWQgPSBkZWNvZGUodWFKd3QpIGFzIEp3dFBheWxvYWQ7XG4gICAgLy8gdGhpcy4jY2xpZW50ID0gY2xpZW50O1xuICAgIC8vIHRoaXMuI2tleXMgPSBrZXlzO1xuICAgIHRoaXMuI3RodW5kZXIgPSB0aHVuZGVyO1xuICB9XG5cbiAgZ2V0IHVzZXJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmp3dERlY29kZWQuc3ViID8/IFwiXCI7XG4gIH1cblxuICBhc3luYyBnZXRKd3QoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBUT0RPIHVzZWZ1bD9cbiAgICAvLyBpZiAodGhpcy5qd3REZWNvZGVkLmV4cCAmJiB0aGlzLmp3dERlY29kZWQuZXhwICogMTAwMCA8IERhdGUubm93KCkpIHtcbiAgICAvLyAgIHJldHVybiB0aGlzLmp3dDtcbiAgICAvLyB9XG5cbiAgICBjb25zdCB7IGdldEp3dCB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIpKHtcbiAgICAgIGdldEp3dDogW1xuICAgICAgICB7XG4gICAgICAgICAgaW5jbHVkZUVtYWlsOiAhIXRoaXMuand0RGVjb2RlZC5lbWFpbFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBKd3RSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgand0OiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIWdldEp3dCkge1xuICAgICAgcmV0dXJuIHRoaXMuand0O1xuICAgIH1cblxuICAgIGlmIChnZXRKd3QuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZ2V0Snd0Lm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMuand0ID0gZ2V0Snd0Lmp3dDtcbiAgICB0aGlzLmp3dERlY29kZWQgPSBkZWNvZGUoZ2V0Snd0Lmp3dCkgYXMgSnd0UGF5bG9hZDtcblxuICAgIGNvbnN0IHNlc3Npb25TdG9yYWdlID0gZ2V0U3RvcmFnZSh0cnVlKTtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBnZXRTdG9yYWdlKGZhbHNlKTtcblxuICAgIGNvbnN0IHNlc3Npb25Kd3QgPSBzZXNzaW9uU3RvcmFnZS5qd3QubG9hZCgpO1xuICAgIGNvbnN0IGxvY2FsSnd0ID0gbG9jYWxTdG9yYWdlLmp3dC5sb2FkKCk7XG5cbiAgICBpZiAoc2Vzc2lvbkp3dCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuand0LnNhdmUoZ2V0Snd0Lmp3dCk7XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsSnd0KSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuand0LnNhdmUoZ2V0Snd0Lmp3dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldEp3dC5qd3Q7XG4gIH1cblxuICBhc3luYyB1cGRhdGVOb3RpZmljYXRpb25zKFxuICAgIG5vdGlmaWNhdGlvbnM6IFBhcnRpYWw8VXNlckFwcE5vdGlmaWNhdGlvbnM+XG4gICk6IFByb21pc2U8U3VjY2Vzc1Jlc3BvbnNlPFVzZXJBcHBOb3RpZmljYXRpb25zPiB8IEVycm9yQWNjZXNzRGVuaWVkIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgdXBkYXRlQXBwTm90aWZpY2F0aW9ucyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcIm11dGF0aW9uXCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgdXBkYXRlQXBwTm90aWZpY2F0aW9uczogW1xuICAgICAgICBub3RpZmljYXRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBVcGRhdGVBcHBOb3RpZmljYXRpb25zUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW5hYmxlQWxsOiB0cnVlLFxuICAgICAgICAgICAgICBtYWlsOiB0cnVlLFxuICAgICAgICAgICAgICBjbG91ZDogdHJ1ZSxcbiAgICAgICAgICAgICAgZGlzYWJsZUFsbFVudGlsOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVBcHBOb3RpZmljYXRpb25zLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKCF1cGRhdGVBcHBOb3RpZmljYXRpb25zLnVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXBkYXRlQXBwTm90aWZpY2F0aW9ucy51cGRhdGVBcHBOb3RpZmljYXRpb25zXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIG5vdGlmaWNhdGlvbnMoKTogUHJvbWlzZTxcbiAgICB8IFN1Y2Nlc3NSZXNwb25zZTxVc2VyQXBwTm90aWZpY2F0aW9ucz5cbiAgICB8IEVycm9yQWNjZXNzRGVuaWVkXG4gICAgfCBFcnJvck5vdEZvdW5kXG4gICAgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgYXBwTm90aWZpY2F0aW9ucyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgYXBwTm90aWZpY2F0aW9uczoge1xuICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCIuLi5vbiBVc2VyQXBwTm90aWZpY2F0aW9uc1wiOiB7XG4gICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVBbGw6IHRydWUsXG4gICAgICAgICAgbWFpbDogdHJ1ZSxcbiAgICAgICAgICBjbG91ZDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlQWxsVW50aWw6IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhcHBOb3RpZmljYXRpb25zKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYXBwTm90aWZpY2F0aW9ucy5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBhcHBOb3RpZmljYXRpb25zO1xuICAgIH1cblxuICAgIGlmIChhcHBOb3RpZmljYXRpb25zLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gYXBwTm90aWZpY2F0aW9ucztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGFwcE5vdGlmaWNhdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc2V0dGluZ3MoKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8VXNlckFwcFNldHRpbmdzPiB8IEVycm9yTm90Rm91bmQgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgdXNlciB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIpKHtcbiAgICAgIHVzZXI6IFtcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yTm90Rm91bmRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gVXNlclJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgIGFwcFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgY2xvdWROb2RlRGF5c0ZvckRlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoaXN0b3J5RmlsZURheXNGb3JEZWxldGU6IHRydWUsXG4gICAgICAgICAgICAgICAgaGlzdG9yeU1heEZpbGVDb3VudDogdHJ1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1c2VyLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gdXNlcjtcbiAgICB9XG5cbiAgICBpZiAoIXVzZXIudXNlcj8uYXBwU2V0dGluZ3MpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXNlci51c2VyLmFwcFNldHRpbmdzXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNldHRpbmdzKFxuICAgIHNldHRpbmdzOiBQYXJ0aWFsPFVzZXJBcHBTZXR0aW5ncz5cbiAgKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8VXNlckFwcFNldHRpbmdzPiB8IEVycm9yQWNjZXNzRGVuaWVkIHwgRXJyb3JCYXNpYyB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyB1cGRhdGVBcHBTZXR0aW5ncyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcIm11dGF0aW9uXCIpKHtcbiAgICAgIHVwZGF0ZUFwcFNldHRpbmdzOiBbXG4gICAgICAgIHNldHRpbmdzLFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvckJhc2ljXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIFVwZGF0ZUFwcFNldHRpbmdzUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIHVwZGF0ZUFwcFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIGNsb3VkTm9kZURheXNGb3JEZWxldGU6IHRydWUsXG4gICAgICAgICAgICAgIGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgaGlzdG9yeU1heEZpbGVDb3VudDogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCF1cGRhdGVBcHBTZXR0aW5ncykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZUFwcFNldHRpbmdzLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcFNldHRpbmdzO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVBcHBTZXR0aW5ncy5fX3R5cGVuYW1lID09PSBcIkVycm9yQmFzaWNcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcFNldHRpbmdzO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXBkYXRlQXBwU2V0dGluZ3MudXBkYXRlQXBwU2V0dGluZ3NcbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBV0EsU0FBU0EsTUFBVCxRQUF1QixjQUF2QjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIsY0FBM0I7Ozs7QUFFQSxPQUFPLE1BQU1DLGdCQUFOLENBQXVCO0VBSzVCO0VBRUE7RUFJQUMsV0FBVyxDQUNUQyxLQURTLEVBRVRDLE9BRlMsRUFHVEMsS0FIUyxFQUlUQyxPQUpTLEVBS1Q7SUFBQTtNQUFBO01BQUE7SUFBQTtJQUNBLEtBQUtDLEdBQUwsR0FBV0osS0FBWDtJQUNBLEtBQUtLLFVBQUwsR0FBa0JULE1BQU0sQ0FBQ0ksS0FBRCxDQUF4QixDQUZBLENBR0E7SUFDQTs7SUFDQSx3REFBZ0JHLE9BQWhCO0VBQ0Q7O0VBRVMsSUFBTkcsTUFBTSxHQUFXO0lBQ25CLE9BQU8sS0FBS0QsVUFBTCxDQUFnQkUsR0FBaEIsSUFBdUIsRUFBOUI7RUFDRDs7RUFFVyxNQUFOQyxNQUFNLEdBQW9CO0lBQzlCO0lBQ0E7SUFDQTtJQUNBO0lBRUEsTUFBTTtNQUFFQTtJQUFGLElBQWEsTUFBTSxzREFBYyxPQUFkLEVBQXVC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
227
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWNvZGUiLCJnZXRTdG9yYWdlIiwiU2VjcmVjeUFwcENsaWVudCIsImNvbnN0cnVjdG9yIiwidWFKd3QiLCJfY2xpZW50IiwiX2tleXMiLCJ0aHVuZGVyIiwiand0Iiwiand0RGVjb2RlZCIsInVzZXJJZCIsInN1YiIsImdldEp3dCIsImluY2x1ZGVFbWFpbCIsImVtYWlsIiwiX190eXBlbmFtZSIsIm1lc3NhZ2UiLCJFcnJvciIsInNlc3Npb25TdG9yYWdlIiwibG9jYWxTdG9yYWdlIiwic2Vzc2lvbkp3dCIsImxvYWQiLCJsb2NhbEp3dCIsInNhdmUiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwibm90aWZpY2F0aW9ucyIsInVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMiLCJzY2FsYXJzIiwiRGF0ZVRpbWUiLCJlIiwiRGF0ZSIsImVuY29kZSIsInRvSVNPU3RyaW5nIiwiZW5hYmxlQWxsIiwibWFpbCIsImNsb3VkIiwiZGlzYWJsZUFsbFVudGlsIiwiZGF0YSIsImFwcE5vdGlmaWNhdGlvbnMiLCJzZXR0aW5ncyIsInVzZXIiLCJhcHBTZXR0aW5ncyIsImNsb3VkTm9kZURheXNGb3JEZWxldGUiLCJoaXN0b3J5RmlsZURheXNGb3JEZWxldGUiLCJoaXN0b3J5TWF4RmlsZUNvdW50IiwidXBkYXRlU2V0dGluZ3MiLCJ1cGRhdGVBcHBTZXR0aW5ncyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvU2VjcmVjeUFwcENsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB0eXBlIHtcbiAgU2VjcmVjeUNsaWVudCxcbiAgU3VjY2Vzc1Jlc3BvbnNlLFxuICBVc2VyQXBwTm90aWZpY2F0aW9ucyxcbiAgVXNlckFwcFNldHRpbmdzXG59IGZyb20gXCIuLi9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBFcnJvckFjY2Vzc0RlbmllZCwgRXJyb3JCYXNpYywgRXJyb3JOb3RGb3VuZCB9IGZyb20gXCIuLi9lcnJvci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUaHVuZGVyIH0gZnJvbSBcIi4uL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgSnd0UGF5bG9hZCB9IGZyb20gXCJqc29ud2VidG9rZW5cIjtcbmltcG9ydCB7IGRlY29kZSB9IGZyb20gXCJqc29ud2VidG9rZW5cIjtcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiLi9zdG9yYWdlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWNyZWN5QXBwQ2xpZW50IHtcbiAgand0OiBzdHJpbmc7XG5cbiAgand0RGVjb2RlZDogSnd0UGF5bG9hZDtcblxuICAvLyAjY2xpZW50OiBTZWNyZWN5Q2xpZW50O1xuXG4gIC8vICNrZXlzOiBLZXlQYWlyO1xuXG4gICN0aHVuZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB1YUp3dDogc3RyaW5nLFxuICAgIF9jbGllbnQ6IFNlY3JlY3lDbGllbnQsXG4gICAgX2tleXM6IEtleVBhaXIsXG4gICAgdGh1bmRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj5cbiAgKSB7XG4gICAgdGhpcy5qd3QgPSB1YUp3dDtcbiAgICB0aGlzLmp3dERlY29kZWQgPSBkZWNvZGUodWFKd3QpIGFzIEp3dFBheWxvYWQ7XG4gICAgLy8gdGhpcy4jY2xpZW50ID0gY2xpZW50O1xuICAgIC8vIHRoaXMuI2tleXMgPSBrZXlzO1xuICAgIHRoaXMuI3RodW5kZXIgPSB0aHVuZGVyO1xuICB9XG5cbiAgZ2V0IHVzZXJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmp3dERlY29kZWQuc3ViID8/IFwiXCI7XG4gIH1cblxuICBhc3luYyBnZXRKd3QoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBUT0RPIHVzZWZ1bD9cbiAgICAvLyBpZiAodGhpcy5qd3REZWNvZGVkLmV4cCAmJiB0aGlzLmp3dERlY29kZWQuZXhwICogMTAwMCA8IERhdGUubm93KCkpIHtcbiAgICAvLyAgIHJldHVybiB0aGlzLmp3dDtcbiAgICAvLyB9XG5cbiAgICBjb25zdCB7IGdldEp3dCB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIpKHtcbiAgICAgIGdldEp3dDogW1xuICAgICAgICB7XG4gICAgICAgICAgaW5jbHVkZUVtYWlsOiAhIXRoaXMuand0RGVjb2RlZC5lbWFpbFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBKd3RSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgand0OiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIWdldEp3dCkge1xuICAgICAgcmV0dXJuIHRoaXMuand0O1xuICAgIH1cblxuICAgIGlmIChnZXRKd3QuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZ2V0Snd0Lm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMuand0ID0gZ2V0Snd0Lmp3dDtcbiAgICB0aGlzLmp3dERlY29kZWQgPSBkZWNvZGUoZ2V0Snd0Lmp3dCkgYXMgSnd0UGF5bG9hZDtcblxuICAgIGNvbnN0IHNlc3Npb25TdG9yYWdlID0gZ2V0U3RvcmFnZSh0cnVlKTtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBnZXRTdG9yYWdlKGZhbHNlKTtcblxuICAgIGNvbnN0IHNlc3Npb25Kd3QgPSBzZXNzaW9uU3RvcmFnZS5qd3QubG9hZCgpO1xuICAgIGNvbnN0IGxvY2FsSnd0ID0gbG9jYWxTdG9yYWdlLmp3dC5sb2FkKCk7XG5cbiAgICBpZiAoc2Vzc2lvbkp3dCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuand0LnNhdmUoZ2V0Snd0Lmp3dCk7XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsSnd0KSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuand0LnNhdmUoZ2V0Snd0Lmp3dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldEp3dC5qd3Q7XG4gIH1cblxuICBhc3luYyB1cGRhdGVOb3RpZmljYXRpb25zKFxuICAgIG5vdGlmaWNhdGlvbnM6IFBhcnRpYWw8VXNlckFwcE5vdGlmaWNhdGlvbnM+XG4gICk6IFByb21pc2U8U3VjY2Vzc1Jlc3BvbnNlPFVzZXJBcHBOb3RpZmljYXRpb25zPiB8IEVycm9yQWNjZXNzRGVuaWVkIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgdXBkYXRlQXBwTm90aWZpY2F0aW9ucyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcIm11dGF0aW9uXCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgdXBkYXRlQXBwTm90aWZpY2F0aW9uczogW1xuICAgICAgICBub3RpZmljYXRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBVcGRhdGVBcHBOb3RpZmljYXRpb25zUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW5hYmxlQWxsOiB0cnVlLFxuICAgICAgICAgICAgICBtYWlsOiB0cnVlLFxuICAgICAgICAgICAgICBjbG91ZDogdHJ1ZSxcbiAgICAgICAgICAgICAgZGlzYWJsZUFsbFVudGlsOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVBcHBOb3RpZmljYXRpb25zLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKCF1cGRhdGVBcHBOb3RpZmljYXRpb25zLnVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXBkYXRlQXBwTm90aWZpY2F0aW9ucy51cGRhdGVBcHBOb3RpZmljYXRpb25zXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIG5vdGlmaWNhdGlvbnMoKTogUHJvbWlzZTxcbiAgICB8IFN1Y2Nlc3NSZXNwb25zZTxVc2VyQXBwTm90aWZpY2F0aW9ucz5cbiAgICB8IEVycm9yQWNjZXNzRGVuaWVkXG4gICAgfCBFcnJvck5vdEZvdW5kXG4gICAgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgYXBwTm90aWZpY2F0aW9ucyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgYXBwTm90aWZpY2F0aW9uczoge1xuICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCIuLi5vbiBVc2VyQXBwTm90aWZpY2F0aW9uc1wiOiB7XG4gICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVBbGw6IHRydWUsXG4gICAgICAgICAgbWFpbDogdHJ1ZSxcbiAgICAgICAgICBjbG91ZDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlQWxsVW50aWw6IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhcHBOb3RpZmljYXRpb25zKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYXBwTm90aWZpY2F0aW9ucy5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBhcHBOb3RpZmljYXRpb25zO1xuICAgIH1cblxuICAgIGlmIChhcHBOb3RpZmljYXRpb25zLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gYXBwTm90aWZpY2F0aW9ucztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGFwcE5vdGlmaWNhdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc2V0dGluZ3MoKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8VXNlckFwcFNldHRpbmdzPiB8IEVycm9yTm90Rm91bmQgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgdXNlciB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIpKHtcbiAgICAgIHVzZXI6IFtcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yTm90Rm91bmRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gVXNlclJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgIGFwcFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgY2xvdWROb2RlRGF5c0ZvckRlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoaXN0b3J5RmlsZURheXNGb3JEZWxldGU6IHRydWUsXG4gICAgICAgICAgICAgICAgaGlzdG9yeU1heEZpbGVDb3VudDogdHJ1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1c2VyLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gdXNlcjtcbiAgICB9XG5cbiAgICBpZiAoIXVzZXIudXNlcj8uYXBwU2V0dGluZ3MpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXNlci51c2VyLmFwcFNldHRpbmdzXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNldHRpbmdzKFxuICAgIHNldHRpbmdzOiBQYXJ0aWFsPFVzZXJBcHBTZXR0aW5ncz5cbiAgKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8VXNlckFwcFNldHRpbmdzPiB8IEVycm9yQWNjZXNzRGVuaWVkIHwgRXJyb3JCYXNpYyB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyB1cGRhdGVBcHBTZXR0aW5ncyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcIm11dGF0aW9uXCIpKHtcbiAgICAgIHVwZGF0ZUFwcFNldHRpbmdzOiBbXG4gICAgICAgIHNldHRpbmdzLFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvckJhc2ljXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIFVwZGF0ZUFwcFNldHRpbmdzUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIHVwZGF0ZUFwcFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIGNsb3VkTm9kZURheXNGb3JEZWxldGU6IHRydWUsXG4gICAgICAgICAgICAgIGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgaGlzdG9yeU1heEZpbGVDb3VudDogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCF1cGRhdGVBcHBTZXR0aW5ncykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZUFwcFNldHRpbmdzLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcFNldHRpbmdzO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVBcHBTZXR0aW5ncy5fX3R5cGVuYW1lID09PSBcIkVycm9yQmFzaWNcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcFNldHRpbmdzO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXBkYXRlQXBwU2V0dGluZ3MudXBkYXRlQXBwU2V0dGluZ3NcbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBV0EsU0FBU0EsTUFBTSxRQUFRLGNBQWM7QUFDckMsU0FBU0MsVUFBVSxRQUFRLGNBQWM7QUFBQztBQUUxQyxPQUFPLE1BQU1DLGdCQUFnQixDQUFDO0VBSzVCOztFQUVBOztFQUlBQyxXQUFXLENBQ1RDLEtBQWEsRUFDYkMsT0FBc0IsRUFDdEJDLEtBQWMsRUFDZEMsT0FBbUMsRUFDbkM7SUFBQTtNQUFBO01BQUE7SUFBQTtJQUNBLElBQUksQ0FBQ0MsR0FBRyxHQUFHSixLQUFLO0lBQ2hCLElBQUksQ0FBQ0ssVUFBVSxHQUFHVCxNQUFNLENBQUNJLEtBQUssQ0FBZTtJQUM3QztJQUNBO0lBQ0EsZ0NBQUksd0JBQVlHLE9BQU87RUFDekI7RUFFQSxJQUFJRyxNQUFNLEdBQVc7SUFDbkIsT0FBTyxJQUFJLENBQUNELFVBQVUsQ0FBQ0UsR0FBRyxJQUFJLEVBQUU7RUFDbEM7RUFFQSxNQUFNQyxNQUFNLEdBQW9CO0lBQzlCO0lBQ0E7SUFDQTtJQUNBOztJQUVBLE1BQU07TUFBRUE7SUFBTyxDQUFDLEdBQUcsTUFBTSxnQ0FBSSxzQkFBVSxPQUFPLEVBQUU7TUFDOUNBLE1BQU0sRUFBRSxDQUNOO1FBQ0VDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDSixVQUFVLENBQUNLO01BQ2xDLENBQUMsRUFDRDtRQUNFLHlCQUF5QixFQUFFO1VBQ3pCQyxVQUFVLEVBQUUsSUFBSTtVQUNoQkMsT0FBTyxFQUFFO1FBQ1gsQ0FBQztRQUNELG1CQUFtQixFQUFFO1VBQ25CRCxVQUFVLEVBQUUsSUFBSTtVQUNoQlAsR0FBRyxFQUFFO1FBQ1A7TUFDRixDQUFDO0lBRUwsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDSSxNQUFNLEVBQUU7TUFDWCxPQUFPLElBQUksQ0FBQ0osR0FBRztJQUNqQjtJQUVBLElBQUlJLE1BQU0sQ0FBQ0csVUFBVSxLQUFLLG1CQUFtQixFQUFFO01BQzdDLE1BQU0sSUFBSUUsS0FBSyxDQUFDTCxNQUFNLENBQUNJLE9BQU8sQ0FBQztJQUNqQztJQUVBLElBQUksQ0FBQ1IsR0FBRyxHQUFHSSxNQUFNLENBQUNKLEdBQUc7SUFDckIsSUFBSSxDQUFDQyxVQUFVLEdBQUdULE1BQU0sQ0FBQ1ksTUFBTSxDQUFDSixHQUFHLENBQWU7SUFFbEQsTUFBTVUsY0FBYyxHQUFHakIsVUFBVSxDQUFDLElBQUksQ0FBQztJQUN2QyxNQUFNa0IsWUFBWSxHQUFHbEIsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUV0QyxNQUFNbUIsVUFBVSxHQUFHRixjQUFjLENBQUNWLEdBQUcsQ0FBQ2EsSUFBSSxFQUFFO0lBQzVDLE1BQU1DLFFBQVEsR0FBR0gsWUFBWSxDQUFDWCxHQUFHLENBQUNhLElBQUksRUFBRTtJQUV4QyxJQUFJRCxVQUFVLEVBQUU7TUFDZEYsY0FBYyxDQUFDVixHQUFHLENBQUNlLElBQUksQ0FBQ1gsTUFBTSxDQUFDSixHQUFHLENBQUM7SUFDckM7SUFFQSxJQUFJYyxRQUFRLEVBQUU7TUFDWkgsWUFBWSxDQUFDWCxHQUFHLENBQUNlLElBQUksQ0FBQ1gsTUFBTSxDQUFDSixHQUFHLENBQUM7SUFDbkM7SUFFQSxPQUFPSSxNQUFNLENBQUNKLEdBQUc7RUFDbkI7RUFFQSxNQUFNZ0IsbUJBQW1CLENBQ3ZCQyxhQUE0QyxFQUMrQjtJQUMzRSxNQUFNO01BQUVDO0lBQXVCLENBQUMsR0FBRyxNQUFNLGdDQUFJLHNCQUFVLFVBQVUsRUFBRTtNQUNqRUMsT0FBTyxFQUFFO1FBQ1BDLFFBQVEsRUFBRTtVQUNSNUIsTUFBTSxFQUFHNkIsQ0FBVSxJQUFLLElBQUlDLElBQUksQ0FBQ0QsQ0FBQyxDQUFXO1VBQzdDRSxNQUFNLEVBQUdGLENBQVUsSUFBTUEsQ0FBQyxDQUFVRyxXQUFXO1FBQ2pEO01BQ0Y7SUFDRixDQUFDLEVBQUU7TUFDRE4sc0JBQXNCLEVBQUUsQ0FDdEJELGFBQWEsRUFDYjtRQUNFLHlCQUF5QixFQUFFO1VBQ3pCVixVQUFVLEVBQUUsSUFBSTtVQUNoQkMsT0FBTyxFQUFFO1FBQ1gsQ0FBQztRQUNELHNDQUFzQyxFQUFFO1VBQ3RDRCxVQUFVLEVBQUUsSUFBSTtVQUNoQlcsc0JBQXNCLEVBQUU7WUFDdEJPLFNBQVMsRUFBRSxJQUFJO1lBQ2ZDLElBQUksRUFBRSxJQUFJO1lBQ1ZDLEtBQUssRUFBRSxJQUFJO1lBQ1hDLGVBQWUsRUFBRTtVQUNuQjtRQUNGO01BQ0YsQ0FBQztJQUVMLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ1Ysc0JBQXNCLEVBQUU7TUFDM0IsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJQSxzQkFBc0IsQ0FBQ1gsVUFBVSxLQUFLLG1CQUFtQixFQUFFO01BQzdELE9BQU9XLHNCQUFzQjtJQUMvQjtJQUVBLElBQUksQ0FBQ0Esc0JBQXNCLENBQUNBLHNCQUFzQixFQUFFO01BQ2xELE9BQU8sSUFBSTtJQUNiO0lBRUEsT0FBTztNQUNMWCxVQUFVLEVBQUUsaUJBQWlCO01BQzdCc0IsSUFBSSxFQUFFWCxzQkFBc0IsQ0FBQ0E7SUFDL0IsQ0FBQztFQUNIO0VBRUEsTUFBTUQsYUFBYSxHQUtqQjtJQUNBLE1BQU07TUFBRWE7SUFBaUIsQ0FBQyxHQUFHLE1BQU0sZ0NBQUksc0JBQVUsT0FBTyxFQUFFO01BQ3hEWCxPQUFPLEVBQUU7UUFDUEMsUUFBUSxFQUFFO1VBQ1I1QixNQUFNLEVBQUc2QixDQUFVLElBQUssSUFBSUMsSUFBSSxDQUFDRCxDQUFDLENBQVc7VUFDN0NFLE1BQU0sRUFBR0YsQ0FBVSxJQUFNQSxDQUFDLENBQVVHLFdBQVc7UUFDakQ7TUFDRjtJQUNGLENBQUMsRUFBRTtNQUNETSxnQkFBZ0IsRUFBRTtRQUNoQix5QkFBeUIsRUFBRTtVQUN6QnZCLFVBQVUsRUFBRSxJQUFJO1VBQ2hCQyxPQUFPLEVBQUU7UUFDWCxDQUFDO1FBQ0QscUJBQXFCLEVBQUU7VUFDckJELFVBQVUsRUFBRSxJQUFJO1VBQ2hCQyxPQUFPLEVBQUU7UUFDWCxDQUFDO1FBQ0QsNEJBQTRCLEVBQUU7VUFDNUJELFVBQVUsRUFBRSxJQUFJO1VBQ2hCa0IsU0FBUyxFQUFFLElBQUk7VUFDZkMsSUFBSSxFQUFFLElBQUk7VUFDVkMsS0FBSyxFQUFFLElBQUk7VUFDWEMsZUFBZSxFQUFFO1FBQ25CO01BQ0Y7SUFDRixDQUFDLENBQUM7SUFFRixJQUFJLENBQUNFLGdCQUFnQixFQUFFO01BQ3JCLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBSUEsZ0JBQWdCLENBQUN2QixVQUFVLEtBQUssbUJBQW1CLEVBQUU7TUFDdkQsT0FBT3VCLGdCQUFnQjtJQUN6QjtJQUVBLElBQUlBLGdCQUFnQixDQUFDdkIsVUFBVSxLQUFLLGVBQWUsRUFBRTtNQUNuRCxPQUFPdUIsZ0JBQWdCO0lBQ3pCO0lBRUEsT0FBTztNQUNMdkIsVUFBVSxFQUFFLGlCQUFpQjtNQUM3QnNCLElBQUksRUFBRUM7SUFDUixDQUFDO0VBQ0g7RUFFQSxNQUFNQyxRQUFRLEdBRVo7SUFBQTtJQUNBLE1BQU07TUFBRUM7SUFBSyxDQUFDLEdBQUcsTUFBTSxnQ0FBSSxzQkFBVSxPQUFPLEVBQUU7TUFDNUNBLElBQUksRUFBRSxDQUNKLENBQUMsQ0FBQyxFQUNGO1FBQ0UscUJBQXFCLEVBQUU7VUFDckJ6QixVQUFVLEVBQUUsSUFBSTtVQUNoQkMsT0FBTyxFQUFFO1FBQ1gsQ0FBQztRQUNELG9CQUFvQixFQUFFO1VBQ3BCRCxVQUFVLEVBQUUsSUFBSTtVQUNoQnlCLElBQUksRUFBRTtZQUNKQyxXQUFXLEVBQUU7Y0FDWEMsc0JBQXNCLEVBQUUsSUFBSTtjQUM1QkMsd0JBQXdCLEVBQUUsSUFBSTtjQUM5QkMsbUJBQW1CLEVBQUU7WUFDdkI7VUFDRjtRQUNGO01BQ0YsQ0FBQztJQUVMLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ0osSUFBSSxFQUFFO01BQ1QsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFJQSxJQUFJLENBQUN6QixVQUFVLEtBQUssZUFBZSxFQUFFO01BQ3ZDLE9BQU95QixJQUFJO0lBQ2I7SUFFQSxJQUFJLGdCQUFDQSxJQUFJLENBQUNBLElBQUksYUFBVCxXQUFXQyxXQUFXLEdBQUU7TUFDM0IsT0FBTyxJQUFJO0lBQ2I7SUFFQSxPQUFPO01BQ0wxQixVQUFVLEVBQUUsaUJBQWlCO01BQzdCc0IsSUFBSSxFQUFFRyxJQUFJLENBQUNBLElBQUksQ0FBQ0M7SUFDbEIsQ0FBQztFQUNIO0VBRUEsTUFBTUksY0FBYyxDQUNsQk4sUUFBa0MsRUFHbEM7SUFDQSxNQUFNO01BQUVPO0lBQWtCLENBQUMsR0FBRyxNQUFNLGdDQUFJLHNCQUFVLFVBQVUsRUFBRTtNQUM1REEsaUJBQWlCLEVBQUUsQ0FDakJQLFFBQVEsRUFDUjtRQUNFLHlCQUF5QixFQUFFO1VBQ3pCeEIsVUFBVSxFQUFFLElBQUk7VUFDaEJDLE9BQU8sRUFBRTtRQUNYLENBQUM7UUFDRCxrQkFBa0IsRUFBRTtVQUNsQkQsVUFBVSxFQUFFLElBQUk7VUFDaEJDLE9BQU8sRUFBRTtRQUNYLENBQUM7UUFDRCxpQ0FBaUMsRUFBRTtVQUNqQ0QsVUFBVSxFQUFFLElBQUk7VUFDaEIrQixpQkFBaUIsRUFBRTtZQUNqQkosc0JBQXNCLEVBQUUsSUFBSTtZQUM1QkMsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QkMsbUJBQW1CLEVBQUU7VUFDdkI7UUFDRjtNQUNGLENBQUM7SUFFTCxDQUFDLENBQUM7SUFFRixJQUFJLENBQUNFLGlCQUFpQixFQUFFO01BQ3RCLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBSUEsaUJBQWlCLENBQUMvQixVQUFVLEtBQUssbUJBQW1CLEVBQUU7TUFDeEQsT0FBTytCLGlCQUFpQjtJQUMxQjtJQUVBLElBQUlBLGlCQUFpQixDQUFDL0IsVUFBVSxLQUFLLFlBQVksRUFBRTtNQUNqRCxPQUFPK0IsaUJBQWlCO0lBQzFCO0lBRUEsT0FBTztNQUNML0IsVUFBVSxFQUFFLGlCQUFpQjtNQUM3QnNCLElBQUksRUFBRVMsaUJBQWlCLENBQUNBO0lBQzFCLENBQUM7RUFDSDtBQUNGIn0=