@asgardeo/auth-spa 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/asgardeo-spa.production.esm.js +13 -13
  2. package/dist/asgardeo-spa.production.esm.js.map +1 -1
  3. package/dist/asgardeo-spa.production.js +13 -13
  4. package/dist/asgardeo-spa.production.js.map +1 -1
  5. package/dist/asgardeo-spa.production.min.js +1 -1
  6. package/dist/asgardeo-spa.production.min.js.map +1 -1
  7. package/dist/polyfilled/asgardeo-spa.production.esm.js +42 -40
  8. package/dist/polyfilled/asgardeo-spa.production.esm.js.map +1 -1
  9. package/dist/polyfilled/asgardeo-spa.production.js +42 -40
  10. package/dist/polyfilled/asgardeo-spa.production.js.map +1 -1
  11. package/dist/polyfilled/asgardeo-spa.production.min.js +1 -1
  12. package/dist/polyfilled/asgardeo-spa.production.min.js.map +1 -1
  13. package/dist/src/client.d.ts +21 -16
  14. package/dist/src/client.d.ts.map +1 -1
  15. package/dist/src/client.js +29 -3
  16. package/dist/src/client.js.map +1 -1
  17. package/dist/src/clients/main-thread-client.d.ts +3 -2
  18. package/dist/src/clients/main-thread-client.d.ts.map +1 -1
  19. package/dist/src/clients/main-thread-client.js +83 -385
  20. package/dist/src/clients/main-thread-client.js.map +1 -1
  21. package/dist/src/clients/web-worker-client.d.ts +3 -2
  22. package/dist/src/clients/web-worker-client.d.ts.map +1 -1
  23. package/dist/src/clients/web-worker-client.js +98 -138
  24. package/dist/src/clients/web-worker-client.js.map +1 -1
  25. package/dist/src/helpers/authentication-helper.d.ts +50 -0
  26. package/dist/src/helpers/authentication-helper.d.ts.map +1 -0
  27. package/dist/src/helpers/authentication-helper.js +482 -0
  28. package/dist/src/helpers/authentication-helper.js.map +1 -0
  29. package/dist/src/helpers/index.d.ts +1 -0
  30. package/dist/src/helpers/index.d.ts.map +1 -1
  31. package/dist/src/helpers/index.js +1 -0
  32. package/dist/src/helpers/index.js.map +1 -1
  33. package/dist/src/public-api.d.ts +3 -0
  34. package/dist/src/public-api.d.ts.map +1 -1
  35. package/dist/src/public-api.js +5 -0
  36. package/dist/src/public-api.js.map +1 -1
  37. package/dist/src/worker/index.d.ts +1 -1
  38. package/dist/src/worker/index.d.ts.map +1 -1
  39. package/dist/src/worker/index.js +1 -1
  40. package/dist/src/worker/index.js.map +1 -1
  41. package/dist/src/worker/worker-core.d.ts +3 -2
  42. package/dist/src/worker/worker-core.d.ts.map +1 -1
  43. package/dist/src/worker/worker-core.js +23 -202
  44. package/dist/src/worker/worker-core.js.map +1 -1
  45. package/dist/src/worker/worker-receiver.d.ts +22 -0
  46. package/dist/src/worker/worker-receiver.d.ts.map +1 -0
  47. package/dist/src/worker/worker-receiver.js +233 -0
  48. package/dist/src/worker/worker-receiver.js.map +1 -0
  49. package/dist/src/{worker/client.worker.d.ts → worker.d.ts} +2 -2
  50. package/dist/src/worker.d.ts.map +1 -0
  51. package/dist/src/worker.js +24 -0
  52. package/dist/src/worker.js.map +1 -0
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +1 -1
  55. package/src/client.ts +65 -19
  56. package/src/clients/main-thread-client.ts +137 -486
  57. package/src/clients/web-worker-client.ts +128 -169
  58. package/src/helpers/authentication-helper.ts +661 -0
  59. package/src/helpers/index.ts +1 -0
  60. package/src/public-api.ts +7 -0
  61. package/src/worker/index.ts +1 -1
  62. package/src/worker/worker-core.ts +48 -261
  63. package/src/worker/worker-receiver.ts +297 -0
  64. package/src/worker.ts +30 -0
  65. package/dist/src/worker/client.worker.d.ts.map +0 -1
  66. package/dist/src/worker/client.worker.js +0 -232
  67. package/dist/src/worker/client.worker.js.map +0 -1
  68. package/src/worker/client.worker.ts +0 -286
@@ -24,8 +24,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  step((generator = generator.apply(thisArg, _arguments || [])).next());
25
25
  });
26
26
  };
27
- import { AUTHORIZATION_CODE, AsgardeoAuthClient, AsgardeoAuthException, AuthenticationUtils, ResponseMode, SESSION_STATE, STATE } from "@asgardeo/auth-js";
28
- import { ACCESS_TOKEN_INVALID, CHECK_SESSION_SIGNED_IN, CHECK_SESSION_SIGNED_OUT, CUSTOM_GRANT_CONFIG, ERROR, ERROR_DESCRIPTION, PROMPT_NONE_IFRAME, RP_IFRAME, SILENT_SIGN_IN_STATE, Storage } from "../constants";
27
+ import { AUTHORIZATION_CODE, AsgardeoAuthClient, AuthenticationUtils, ResponseMode, SESSION_STATE, STATE } from "@asgardeo/auth-js";
28
+ import { SILENT_SIGN_IN_STATE, Storage } from "../constants";
29
29
  import { SPAHelper, SessionManagementHelper } from "../helpers";
30
30
  import { HttpClient } from "../http-client";
31
31
  import { LocalStore, MemoryStore, SessionStore } from "../stores";
@@ -43,7 +43,7 @@ const initiateStore = (store) => {
43
43
  return new SessionStore();
44
44
  }
45
45
  };
46
- export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, function* () {
46
+ export const MainThreadClient = (config, getAuthHelper) => __awaiter(void 0, void 0, void 0, function* () {
47
47
  var _a;
48
48
  const _store = initiateStore(config.storage);
49
49
  const _cryptoUtils = new SPACryptoUtils();
@@ -54,279 +54,98 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
54
54
  const _sessionManagementHelper = yield SessionManagementHelper(() => __awaiter(void 0, void 0, void 0, function* () {
55
55
  return _authenticationClient.signOut();
56
56
  }), (_a = config.storage) !== null && _a !== void 0 ? _a : Storage.SessionStorage, (sessionState) => _dataLayer.setSessionDataParameter(SESSION_STATE, sessionState !== null && sessionState !== void 0 ? sessionState : ""));
57
+ const _authenticationHelper = getAuthHelper(_authenticationClient, _spaHelper);
57
58
  let _getSignOutURLFromSessionStorage = false;
58
59
  const _httpClient = HttpClient.getInstance();
59
60
  let _isHttpHandlerEnabled = true;
60
61
  let _httpErrorCallback;
61
62
  let _httpFinishCallback;
62
- const attachToken = (request) => __awaiter(void 0, void 0, void 0, function* () {
63
- const requestConfig = Object.assign({ attachToken: true }, request);
64
- if (requestConfig.attachToken) {
65
- request.headers = Object.assign(Object.assign({}, request.headers), { Authorization: `Bearer ${yield _authenticationClient.getAccessToken()}` });
66
- }
67
- });
68
- (_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.init) && (yield _httpClient.init(true, attachToken));
63
+ (_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.init) && (yield _httpClient.init(true, _authenticationHelper.attachToken));
69
64
  const setHttpRequestStartCallback = (callback) => {
70
- (_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.setHttpRequestStartCallback) && _httpClient.setHttpRequestStartCallback(callback);
65
+ _authenticationHelper.setHttpRequestStartCallback(_httpClient, callback);
71
66
  };
72
67
  const setHttpRequestSuccessCallback = (callback) => {
73
- (_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.setHttpRequestSuccessCallback) && _httpClient.setHttpRequestSuccessCallback(callback);
68
+ _authenticationHelper.setHttpRequestSuccessCallback(_httpClient, callback);
74
69
  };
75
70
  const setHttpRequestFinishCallback = (callback) => {
76
- (_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.setHttpRequestFinishCallback) && _httpClient.setHttpRequestFinishCallback(callback);
71
+ _authenticationHelper.setHttpRequestFinishCallback(_httpClient, callback);
77
72
  _httpFinishCallback = callback;
78
73
  };
79
74
  const setHttpRequestErrorCallback = (callback) => {
80
75
  _httpErrorCallback = callback;
81
76
  };
82
77
  const httpRequest = (requestConfig) => __awaiter(void 0, void 0, void 0, function* () {
83
- var _b, _c;
84
- let matches = false;
85
- const config = yield _dataLayer.getConfigData();
86
- for (const baseUrl of [...((_b = (yield (config === null || config === void 0 ? void 0 : config.resourceServerURLs))) !== null && _b !== void 0 ? _b : []), config.baseUrl]) {
87
- if (baseUrl && ((_c = requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.url) === null || _c === void 0 ? void 0 : _c.startsWith(baseUrl))) {
88
- matches = true;
89
- break;
90
- }
91
- }
92
- if (matches) {
93
- return _httpClient
94
- .request(requestConfig)
95
- .then((response) => {
96
- return Promise.resolve(response);
97
- })
98
- .catch((error) => __awaiter(void 0, void 0, void 0, function* () {
99
- var _d, _e, _f;
100
- if (((_d = error === null || error === void 0 ? void 0 : error.response) === null || _d === void 0 ? void 0 : _d.status) === 401 || !(error === null || error === void 0 ? void 0 : error.response)) {
101
- // Try to refresh the token
102
- let refreshTokenResponse;
103
- try {
104
- refreshTokenResponse = yield refreshAccessToken();
105
- }
106
- catch (refreshError) {
107
- if (_isHttpHandlerEnabled) {
108
- if (typeof _httpErrorCallback === "function") {
109
- yield _httpErrorCallback(Object.assign(Object.assign({}, error), { code: ACCESS_TOKEN_INVALID }));
110
- }
111
- if (typeof _httpFinishCallback === "function") {
112
- _httpFinishCallback();
113
- }
114
- }
115
- throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HR-SE01", (_e = refreshError === null || refreshError === void 0 ? void 0 : refreshError.name) !== null && _e !== void 0 ? _e : "Refresh token request failed.", (_f = refreshError === null || refreshError === void 0 ? void 0 : refreshError.message) !== null && _f !== void 0 ? _f : "An error occurred while trying to refresh the " +
116
- "access token following a 401 response from the server.");
117
- }
118
- // Retry the request after refreshing the token
119
- if (refreshTokenResponse) {
120
- try {
121
- const httpResponse = yield _httpClient.request(requestConfig);
122
- return Promise.resolve(httpResponse);
123
- }
124
- catch (error) {
125
- if (_isHttpHandlerEnabled) {
126
- if (typeof _httpErrorCallback === "function") {
127
- yield _httpErrorCallback(error);
128
- }
129
- if (typeof _httpFinishCallback === "function") {
130
- _httpFinishCallback();
131
- }
132
- }
133
- return Promise.reject(error);
134
- }
135
- }
136
- }
137
- if (_isHttpHandlerEnabled) {
138
- if (typeof _httpErrorCallback === "function") {
139
- yield _httpErrorCallback(error);
140
- }
141
- if (typeof _httpFinishCallback === "function") {
142
- _httpFinishCallback();
143
- }
144
- }
145
- return Promise.reject(error);
146
- }));
147
- }
148
- else {
149
- throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HR-IV02", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
150
- " attribute while initializing the SDK. The specified endpoint in this request " +
151
- "cannot be found among the `resourceServerURLs`");
152
- }
78
+ return yield _authenticationHelper.httpRequest(_httpClient, requestConfig, _isHttpHandlerEnabled, _httpErrorCallback, _httpFinishCallback);
153
79
  });
154
80
  const httpRequestAll = (requestConfigs) => __awaiter(void 0, void 0, void 0, function* () {
155
- var _g, _h, _j;
156
- let matches = true;
157
- const config = yield _dataLayer.getConfigData();
158
- for (const requestConfig of requestConfigs) {
159
- let urlMatches = false;
160
- for (const baseUrl of [
161
- ...((_h = (_g = (yield config)) === null || _g === void 0 ? void 0 : _g.resourceServerURLs) !== null && _h !== void 0 ? _h : []),
162
- config.baseUrl
163
- ]) {
164
- if (baseUrl && ((_j = requestConfig.url) === null || _j === void 0 ? void 0 : _j.startsWith(baseUrl))) {
165
- urlMatches = true;
166
- break;
167
- }
168
- }
169
- if (!urlMatches) {
170
- matches = false;
171
- break;
172
- }
173
- }
174
- const requests = [];
175
- if (matches) {
176
- requestConfigs.forEach((request) => {
177
- requests.push(_httpClient.request(request));
178
- });
179
- return ((_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.all) &&
180
- _httpClient
181
- .all(requests)
182
- .then((responses) => {
183
- return Promise.resolve(responses);
184
- })
185
- .catch((error) => __awaiter(void 0, void 0, void 0, function* () {
186
- var _k, _l, _m;
187
- if (((_k = error === null || error === void 0 ? void 0 : error.response) === null || _k === void 0 ? void 0 : _k.status) === 401 || !(error === null || error === void 0 ? void 0 : error.response)) {
188
- let refreshTokenResponse;
189
- try {
190
- refreshTokenResponse = yield _authenticationClient.refreshAccessToken();
191
- }
192
- catch (refreshError) {
193
- if (_isHttpHandlerEnabled) {
194
- if (typeof _httpErrorCallback === "function") {
195
- yield _httpErrorCallback(Object.assign(Object.assign({}, error), { code: ACCESS_TOKEN_INVALID }));
196
- }
197
- if (typeof _httpFinishCallback === "function") {
198
- _httpFinishCallback();
199
- }
200
- }
201
- throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HRA-SE01", (_l = refreshError === null || refreshError === void 0 ? void 0 : refreshError.name) !== null && _l !== void 0 ? _l : "Refresh token request failed.", (_m = refreshError === null || refreshError === void 0 ? void 0 : refreshError.message) !== null && _m !== void 0 ? _m : "An error occurred while trying to refresh the " +
202
- "access token following a 401 response from the server.");
203
- }
204
- if (refreshTokenResponse) {
205
- return (_httpClient.all &&
206
- _httpClient
207
- .all(requests)
208
- .then((response) => {
209
- return Promise.resolve(response);
210
- })
211
- .catch((error) => __awaiter(void 0, void 0, void 0, function* () {
212
- if (_isHttpHandlerEnabled) {
213
- if (typeof _httpErrorCallback === "function") {
214
- yield _httpErrorCallback(error);
215
- }
216
- if (typeof _httpFinishCallback === "function") {
217
- _httpFinishCallback();
218
- }
219
- }
220
- return Promise.reject(error);
221
- })));
222
- }
223
- }
224
- if (_isHttpHandlerEnabled) {
225
- if (typeof _httpErrorCallback === "function") {
226
- yield _httpErrorCallback(error);
227
- }
228
- if (typeof _httpFinishCallback === "function") {
229
- _httpFinishCallback();
230
- }
231
- }
232
- return Promise.reject(error);
233
- })));
234
- }
235
- else {
236
- throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HRA-IV02", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
237
- " attribute while initializing the SDK. The specified endpoint in this request " +
238
- "cannot be found among the `resourceServerURLs`");
239
- }
81
+ return yield _authenticationHelper.httpRequestAll(requestConfigs, _httpClient, _isHttpHandlerEnabled, _httpErrorCallback, _httpFinishCallback);
240
82
  });
241
83
  const getHttpClient = () => {
242
84
  return _httpClient;
243
85
  };
244
86
  const enableHttpHandler = () => {
245
- (_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.enableHandler) && _httpClient.enableHandler();
87
+ _authenticationHelper.enableHttpHandler(_httpClient);
246
88
  _isHttpHandlerEnabled = true;
247
89
  return true;
248
90
  };
249
91
  const disableHttpHandler = () => {
250
- (_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.disableHandler) && _httpClient.disableHandler();
92
+ _authenticationHelper.disableHttpHandler(_httpClient);
251
93
  _isHttpHandlerEnabled = false;
252
94
  return true;
253
95
  };
254
96
  const checkSession = () => __awaiter(void 0, void 0, void 0, function* () {
255
- var _o, _p, _q;
256
97
  const oidcEndpoints = yield _authenticationClient.getOIDCServiceEndpoints();
257
98
  const config = yield _dataLayer.getConfigData();
258
- _sessionManagementHelper.initialize(config.clientID, (_o = oidcEndpoints.checkSessionIframe) !== null && _o !== void 0 ? _o : "", () => __awaiter(void 0, void 0, void 0, function* () { return (yield _authenticationClient.getBasicUserInfo()).sessionState; }), (_p = config.checkSessionInterval) !== null && _p !== void 0 ? _p : 3, (_q = config.sessionRefreshInterval) !== null && _q !== void 0 ? _q : 300, config.signInRedirectURL, (params) => __awaiter(void 0, void 0, void 0, function* () { return _authenticationClient.getAuthorizationURL(params); }));
99
+ _authenticationHelper.initializeSessionManger(config, oidcEndpoints, () => __awaiter(void 0, void 0, void 0, function* () { return (yield _authenticationClient.getBasicUserInfo()).sessionState; }), (params) => __awaiter(void 0, void 0, void 0, function* () { return _authenticationClient.getAuthorizationURL(params); }), _sessionManagementHelper);
259
100
  });
260
- const signIn = (signInConfig, authorizationCode, sessionState, state) => __awaiter(void 0, void 0, void 0, function* () {
261
- var _r, _s, _t;
262
- const config = yield _dataLayer.getConfigData();
263
- const shouldStopContinue = yield _sessionManagementHelper.receivePromptNoneResponse((sessionState) => __awaiter(void 0, void 0, void 0, function* () {
101
+ const shouldStopAuthn = () => __awaiter(void 0, void 0, void 0, function* () {
102
+ return yield _sessionManagementHelper.receivePromptNoneResponse((sessionState) => __awaiter(void 0, void 0, void 0, function* () {
264
103
  yield _dataLayer.setSessionDataParameter(SESSION_STATE, sessionState !== null && sessionState !== void 0 ? sessionState : "");
265
104
  return;
266
105
  }));
267
- if (shouldStopContinue) {
268
- return Promise.resolve({
269
- allowedScopes: "",
270
- displayName: "",
271
- email: "",
272
- sessionState: "",
273
- sub: "",
274
- tenantDomain: "",
275
- username: ""
276
- });
277
- }
278
- if (yield _authenticationClient.isAuthenticated()) {
279
- _spaHelper.clearRefreshTokenTimeout();
280
- _spaHelper.refreshAccessTokenAutomatically();
281
- // Enable OIDC Sessions Management only if it is set to true in the config.
282
- if (config.enableOIDCSessionManagement) {
283
- checkSession();
284
- }
285
- return Promise.resolve(yield _authenticationClient.getBasicUserInfo());
286
- }
287
- let resolvedAuthorizationCode;
288
- let resolvedSessionState;
289
- let resolvedState;
290
- if ((config === null || config === void 0 ? void 0 : config.responseMode) === ResponseMode.formPost && authorizationCode) {
291
- resolvedAuthorizationCode = authorizationCode;
292
- resolvedSessionState = sessionState !== null && sessionState !== void 0 ? sessionState : "";
293
- resolvedState = state !== null && state !== void 0 ? state : "";
106
+ });
107
+ const signIn = (signInConfig, authorizationCode, sessionState, state) => __awaiter(void 0, void 0, void 0, function* () {
108
+ var _b, _c, _d;
109
+ const basicUserInfo = yield _authenticationHelper.handleSignIn(shouldStopAuthn, checkSession);
110
+ if (basicUserInfo) {
111
+ return basicUserInfo;
294
112
  }
295
113
  else {
296
- resolvedAuthorizationCode = (_r = new URL(window.location.href).searchParams.get(AUTHORIZATION_CODE)) !== null && _r !== void 0 ? _r : "";
297
- resolvedSessionState = (_s = new URL(window.location.href).searchParams.get(SESSION_STATE)) !== null && _s !== void 0 ? _s : "";
298
- resolvedState = (_t = new URL(window.location.href).searchParams.get(STATE)) !== null && _t !== void 0 ? _t : "";
299
- SPAUtils.removeAuthorizationCode();
300
- }
301
- if (resolvedAuthorizationCode && resolvedState) {
302
- return requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, resolvedState);
303
- }
304
- const error = new URL(window.location.href).searchParams.get(ERROR);
305
- const errorDescription = new URL(window.location.href).searchParams.get(ERROR_DESCRIPTION);
306
- if (error) {
307
- const url = new URL(window.location.href);
308
- url.searchParams.delete(ERROR);
309
- url.searchParams.delete(ERROR_DESCRIPTION);
310
- history.pushState(null, document.title, url.toString());
311
- throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-SI-SE01", error, errorDescription !== null && errorDescription !== void 0 ? errorDescription : "");
312
- }
313
- return _authenticationClient.getAuthorizationURL(signInConfig).then((url) => __awaiter(void 0, void 0, void 0, function* () {
314
- if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
315
- const pkceKey = AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState);
316
- SPAUtils.setPKCE(pkceKey, (yield _authenticationClient.getPKCECode(resolvedState)));
114
+ let resolvedAuthorizationCode;
115
+ let resolvedSessionState;
116
+ let resolvedState;
117
+ if ((config === null || config === void 0 ? void 0 : config.responseMode) === ResponseMode.formPost && authorizationCode) {
118
+ resolvedAuthorizationCode = authorizationCode;
119
+ resolvedSessionState = sessionState !== null && sessionState !== void 0 ? sessionState : "";
120
+ resolvedState = state !== null && state !== void 0 ? state : "";
317
121
  }
318
- location.href = url;
319
- yield SPAUtils.waitTillPageRedirect();
320
- return Promise.resolve({
321
- allowedScopes: "",
322
- displayName: "",
323
- email: "",
324
- sessionState: "",
325
- sub: "",
326
- tenantDomain: "",
327
- username: ""
328
- });
329
- }));
122
+ else {
123
+ resolvedAuthorizationCode = (_b = new URL(window.location.href).searchParams.get(AUTHORIZATION_CODE)) !== null && _b !== void 0 ? _b : "";
124
+ resolvedSessionState = (_c = new URL(window.location.href).searchParams.get(SESSION_STATE)) !== null && _c !== void 0 ? _c : "";
125
+ resolvedState = (_d = new URL(window.location.href).searchParams.get(STATE)) !== null && _d !== void 0 ? _d : "";
126
+ SPAUtils.removeAuthorizationCode();
127
+ }
128
+ if (resolvedAuthorizationCode && resolvedState) {
129
+ return requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, resolvedState);
130
+ }
131
+ return _authenticationClient.getAuthorizationURL(signInConfig).then((url) => __awaiter(void 0, void 0, void 0, function* () {
132
+ if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
133
+ const pkceKey = AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState);
134
+ SPAUtils.setPKCE(pkceKey, (yield _authenticationClient.getPKCECode(resolvedState)));
135
+ }
136
+ location.href = url;
137
+ yield SPAUtils.waitTillPageRedirect();
138
+ return Promise.resolve({
139
+ allowedScopes: "",
140
+ displayName: "",
141
+ email: "",
142
+ sessionState: "",
143
+ sub: "",
144
+ tenantDomain: "",
145
+ username: ""
146
+ });
147
+ }));
148
+ }
330
149
  });
331
150
  const signOut = () => __awaiter(void 0, void 0, void 0, function* () {
332
151
  if ((yield _authenticationClient.isAuthenticated()) && !_getSignOutURLFromSessionStorage) {
@@ -342,60 +161,17 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
342
161
  yield SPAUtils.waitTillPageRedirect();
343
162
  return true;
344
163
  });
345
- const requestCustomGrant = (config) => __awaiter(void 0, void 0, void 0, function* () {
346
- var _u, _v, _w;
347
- let useDefaultEndpoint = true;
348
- let matches = false;
349
- // If the config does not contains a token endpoint, default token endpoint will be used.
350
- if (config === null || config === void 0 ? void 0 : config.tokenEndpoint) {
351
- useDefaultEndpoint = false;
352
- for (const baseUrl of [
353
- ...((_v = (_u = (yield _dataLayer.getConfigData())) === null || _u === void 0 ? void 0 : _u.resourceServerURLs) !== null && _v !== void 0 ? _v : []),
354
- config.baseUrl
355
- ]) {
356
- if (baseUrl && ((_w = config.tokenEndpoint) === null || _w === void 0 ? void 0 : _w.startsWith(baseUrl))) {
357
- matches = true;
358
- break;
359
- }
360
- }
361
- }
362
- if (config.shouldReplayAfterRefresh) {
363
- _dataLayer.setTemporaryDataParameter(CUSTOM_GRANT_CONFIG, JSON.stringify(config));
364
- }
365
- if (useDefaultEndpoint || matches) {
366
- return _authenticationClient
367
- .requestCustomGrant(config)
368
- .then((response) => __awaiter(void 0, void 0, void 0, function* () {
369
- if (config.preventSignOutURLUpdate) {
370
- _getSignOutURLFromSessionStorage = true;
371
- }
372
- if (config.returnsSession) {
373
- _spaHelper.refreshAccessTokenAutomatically();
374
- return _authenticationClient.getBasicUserInfo();
375
- }
376
- else {
377
- return response;
378
- }
379
- }))
380
- .catch((error) => {
381
- return Promise.reject(error);
382
- });
383
- }
384
- else {
385
- return Promise.reject(new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-RCG-IV01", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
386
- " attribute while initializing the SDK. The specified token endpoint in this request " +
387
- "cannot be found among the `resourceServerURLs`"));
164
+ const enableRetrievingSignOutURLFromSession = (config) => {
165
+ if (config.preventSignOutURLUpdate) {
166
+ _getSignOutURLFromSessionStorage = true;
388
167
  }
168
+ };
169
+ const requestCustomGrant = (config) => __awaiter(void 0, void 0, void 0, function* () {
170
+ return yield _authenticationHelper.requestCustomGrant(config, enableRetrievingSignOutURLFromSession);
389
171
  });
390
172
  const refreshAccessToken = () => __awaiter(void 0, void 0, void 0, function* () {
391
173
  try {
392
- yield _authenticationClient.refreshAccessToken();
393
- const customGrantConfig = yield getCustomGrantConfigData();
394
- if (customGrantConfig) {
395
- yield requestCustomGrant(customGrantConfig);
396
- }
397
- _spaHelper.refreshAccessTokenAutomatically();
398
- return _authenticationClient.getBasicUserInfo();
174
+ return yield _authenticationHelper.refreshAccessToken(enableRetrievingSignOutURLFromSession);
399
175
  }
400
176
  catch (error) {
401
177
  return Promise.reject(error);
@@ -412,30 +188,23 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
412
188
  .catch((error) => Promise.reject(error));
413
189
  };
414
190
  const requestAccessToken = (resolvedAuthorizationCode, resolvedSessionState, resolvedState) => __awaiter(void 0, void 0, void 0, function* () {
191
+ return yield _authenticationHelper.requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, checkSession, undefined, resolvedState);
192
+ });
193
+ const constructSilentSignInUrl = () => __awaiter(void 0, void 0, void 0, function* () {
415
194
  const config = yield _dataLayer.getConfigData();
195
+ const urlString = yield _authenticationClient.getAuthorizationURL({
196
+ prompt: "none",
197
+ state: SILENT_SIGN_IN_STATE
198
+ });
199
+ // Replace form_post with query
200
+ const urlObject = new URL(urlString);
201
+ urlObject.searchParams.set("response_mode", "query");
202
+ const url = urlObject.toString();
416
203
  if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
417
- const pkce = SPAUtils.getPKCE(AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState));
418
- yield _authenticationClient.setPKCECode(AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState), pkce);
204
+ const state = urlObject.searchParams.get(STATE);
205
+ SPAUtils.setPKCE(AuthenticationUtils.extractPKCEKeyFromStateParam(state !== null && state !== void 0 ? state : ""), (yield _authenticationClient.getPKCECode(state !== null && state !== void 0 ? state : "")));
419
206
  }
420
- return _authenticationClient
421
- .requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, resolvedState)
422
- .then(() => __awaiter(void 0, void 0, void 0, function* () {
423
- // Disable this temporarily
424
- /* if (config.storage === Storage.BrowserMemory) {
425
- SPAUtils.setSignOutURL(await _authenticationClient.getSignOutURL());
426
- } */
427
- SPAUtils.setSignOutURL(yield _authenticationClient.getSignOutURL());
428
- _spaHelper.clearRefreshTokenTimeout();
429
- _spaHelper.refreshAccessTokenAutomatically();
430
- // Enable OIDC Sessions Management only if it is set to true in the config.
431
- if (config.enableOIDCSessionManagement) {
432
- checkSession();
433
- }
434
- return _authenticationClient.getBasicUserInfo();
435
- }))
436
- .catch((error) => {
437
- return Promise.reject(error);
438
- });
207
+ return url;
439
208
  });
440
209
  /**
441
210
  * This method checks if there is an active user session in the server by sending a prompt none request.
@@ -445,87 +214,25 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
445
214
  * if the user is signed in or with `false` if there is no active user session in the server.
446
215
  */
447
216
  const trySignInSilently = () => __awaiter(void 0, void 0, void 0, function* () {
448
- var _x;
449
- const config = yield _dataLayer.getConfigData();
450
- if (SPAUtils.isInitializedSilentSignIn()) {
451
- yield _sessionManagementHelper.receivePromptNoneResponse();
452
- return Promise.resolve({
453
- allowedScopes: "",
454
- displayName: "",
455
- email: "",
456
- sessionState: "",
457
- sub: "",
458
- tenantDomain: "",
459
- username: ""
460
- });
461
- }
462
- const rpIFrame = document.getElementById(RP_IFRAME);
463
- const promptNoneIFrame = (_x = rpIFrame === null || rpIFrame === void 0 ? void 0 : rpIFrame.contentDocument) === null || _x === void 0 ? void 0 : _x.getElementById(PROMPT_NONE_IFRAME);
464
- try {
465
- const urlString = yield _authenticationClient.getAuthorizationURL({
466
- prompt: "none",
467
- state: SILENT_SIGN_IN_STATE
468
- });
469
- // Replace form_post with query
470
- const urlObject = new URL(urlString);
471
- urlObject.searchParams.set("response_mode", "query");
472
- const url = urlObject.toString();
473
- if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
474
- const state = urlObject.searchParams.get(STATE);
475
- SPAUtils.setPKCE(AuthenticationUtils.extractPKCEKeyFromStateParam(state !== null && state !== void 0 ? state : ""), (yield _authenticationClient.getPKCECode(state !== null && state !== void 0 ? state : "")));
476
- }
477
- promptNoneIFrame.src = url;
478
- }
479
- catch (error) {
480
- return Promise.reject(error);
481
- }
482
- return new Promise((resolve, reject) => {
483
- const timer = setTimeout(() => {
484
- resolve(false);
485
- }, 10000);
486
- const listenToPromptNoneIFrame = (e) => __awaiter(void 0, void 0, void 0, function* () {
487
- var _a, _b, _c;
488
- const data = e.data;
489
- if ((data === null || data === void 0 ? void 0 : data.type) == CHECK_SESSION_SIGNED_OUT) {
490
- window.removeEventListener("message", listenToPromptNoneIFrame);
491
- clearTimeout(timer);
492
- resolve(false);
493
- }
494
- if ((data === null || data === void 0 ? void 0 : data.type) == CHECK_SESSION_SIGNED_IN && ((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.code)) {
495
- requestAccessToken(data.data.code, (_b = data === null || data === void 0 ? void 0 : data.data) === null || _b === void 0 ? void 0 : _b.sessionState, (_c = data === null || data === void 0 ? void 0 : data.data) === null || _c === void 0 ? void 0 : _c.state)
496
- .then((response) => {
497
- window.removeEventListener("message", listenToPromptNoneIFrame);
498
- resolve(response);
499
- })
500
- .catch((error) => {
501
- window.removeEventListener("message", listenToPromptNoneIFrame);
502
- reject(error);
503
- })
504
- .finally(() => {
505
- clearTimeout(timer);
506
- });
507
- }
508
- });
509
- window.addEventListener("message", listenToPromptNoneIFrame);
510
- });
217
+ return yield _authenticationHelper.trySignInSilently(constructSilentSignInUrl, requestAccessToken, _sessionManagementHelper);
511
218
  });
512
219
  const getBasicUserInfo = () => __awaiter(void 0, void 0, void 0, function* () {
513
- return _authenticationClient.getBasicUserInfo();
220
+ return _authenticationHelper.getBasicUserInfo();
514
221
  });
515
222
  const getDecodedIDToken = () => __awaiter(void 0, void 0, void 0, function* () {
516
- return _authenticationClient.getDecodedIDToken();
223
+ return _authenticationHelper.getDecodedIDToken();
517
224
  });
518
225
  const getIDToken = () => __awaiter(void 0, void 0, void 0, function* () {
519
- return _authenticationClient.getIDToken();
226
+ return _authenticationHelper.getIDToken();
520
227
  });
521
228
  const getOIDCServiceEndpoints = () => __awaiter(void 0, void 0, void 0, function* () {
522
- return _authenticationClient.getOIDCServiceEndpoints();
229
+ return _authenticationHelper.getOIDCServiceEndpoints();
523
230
  });
524
231
  const getAccessToken = () => __awaiter(void 0, void 0, void 0, function* () {
525
- return _authenticationClient.getAccessToken();
232
+ return _authenticationHelper.getAccessToken();
526
233
  });
527
234
  const isAuthenticated = () => __awaiter(void 0, void 0, void 0, function* () {
528
- return _authenticationClient.isAuthenticated();
235
+ return _authenticationHelper.isAuthenticated();
529
236
  });
530
237
  const updateConfig = (newConfig) => __awaiter(void 0, void 0, void 0, function* () {
531
238
  const existingConfig = yield _dataLayer.getConfigData();
@@ -544,15 +251,6 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
544
251
  checkSession();
545
252
  }
546
253
  });
547
- const getCustomGrantConfigData = () => __awaiter(void 0, void 0, void 0, function* () {
548
- const configString = yield _dataLayer.getTemporaryDataParameter(CUSTOM_GRANT_CONFIG);
549
- if (configString) {
550
- return JSON.parse(configString);
551
- }
552
- else {
553
- return null;
554
- }
555
- });
556
254
  return {
557
255
  disableHttpHandler,
558
256
  enableHttpHandler,
@@ -1 +1 @@
1
- {"version":3,"file":"main-thread-client.js","sourceRoot":"","sources":["../../../src/clients/main-thread-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;AAEH,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EAErB,mBAAmB,EAOnB,YAAY,EACZ,aAAa,EACb,KAAK,EAGR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,OAAO,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAsB,MAAM,gBAAgB,CAAC;AAWhE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,aAAa,GAAG,CAAC,KAA0B,EAAS,EAAE;IACxD,QAAQ,KAAK,EAAE;QACX,KAAK,OAAO,CAAC,YAAY;YACrB,OAAO,IAAI,UAAU,EAAE,CAAC;QAC5B,KAAK,OAAO,CAAC,cAAc;YACvB,OAAO,IAAI,YAAY,EAAE,CAAC;QAC9B,KAAK,OAAO,CAAC,aAAa;YACtB,OAAO,IAAI,WAAW,EAAE,CAAC;QAC7B;YACI,OAAO,IAAI,YAAY,EAAE,CAAC;KACjC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,MAAgD,EACd,EAAE;;IACpC,MAAM,MAAM,GAAU,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,YAAY,GAAmB,IAAI,cAAc,EAAE,CAAC;IAC1D,MAAM,qBAAqB,GAAG,IAAI,kBAAkB,CAAyB,MAAM,EAAE,YAAY,CAAC,CAAC;IACnG,MAAM,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,IAAI,SAAS,CAAyB,qBAAqB,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC;IACxD,MAAM,wBAAwB,GAAG,MAAM,uBAAuB,CAC1D,GAAS,EAAE;QACP,OAAO,qBAAqB,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC,CAAA,EACD,MAAA,MAAM,CAAC,OAAO,mCAAI,OAAO,CAAC,cAAc,EACxC,CAAC,YAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAClG,CAAC;IAEF,IAAI,gCAAgC,GAAY,KAAK,CAAC;IAEtD,MAAM,WAAW,GAAuB,UAAU,CAAC,WAAW,EAAE,CAAC;IACjE,IAAI,qBAAqB,GAAY,IAAI,CAAC;IAC1C,IAAI,kBAA8D,CAAC;IACnE,IAAI,mBAA+B,CAAC;IAEpC,MAAM,WAAW,GAAG,CAAO,OAA0B,EAAiB,EAAE;QACpE,MAAM,aAAa,mBAAK,WAAW,EAAE,IAAI,IAAK,OAAO,CAAE,CAAC;QACxD,IAAI,aAAa,CAAC,WAAW,EAAE;YAC3B,OAAO,CAAC,OAAO,mCACR,OAAO,CAAC,OAAO,KAClB,aAAa,EAAE,UAAW,MAAM,qBAAqB,CAAC,cAAc,EAAG,EAAE,GAC5E,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,KAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjE,MAAM,2BAA2B,GAAG,CAAC,QAAoB,EAAQ,EAAE;QAC/D,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,2BAA2B,KAAI,WAAW,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC,CAAC;IAEF,MAAM,6BAA6B,GAAG,CAAC,QAA0C,EAAQ,EAAE;QACvF,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,6BAA6B,KAAI,WAAW,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACtG,CAAC,CAAC;IAEF,MAAM,4BAA4B,GAAG,CAAC,QAAoB,EAAQ,EAAE;QAChE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,4BAA4B,KAAI,WAAW,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAChG,mBAAmB,GAAG,QAAQ,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,CAAC,QAAoD,EAAQ,EAAE;QAC/F,kBAAkB,GAAG,QAAQ,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAO,aAAgC,EAAyB,EAAE;;QAClF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,KAAK,MAAM,OAAO,IAAI,CAAE,GAAG,CAAC,MAAA,CAAC,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAA,CAAC,mCAAI,EAAE,CAAC,EAAG,MAAc,CAAC,OAAO,CAAE,EAAE;YAC9F,IAAI,OAAO,KAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,0CAAE,UAAU,CAAC,OAAO,CAAC,CAAA,EAAE;gBACpD,OAAO,GAAG,IAAI,CAAC;gBAEf,MAAM;aACT;SACJ;QAED,IAAI,OAAO,EAAE;YACT,OAAO,WAAW;iBACb,OAAO,CAAC,aAAa,CAAC;iBACtB,IAAI,CAAC,CAAC,QAAsB,EAAE,EAAE;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAO,KAAgB,EAAE,EAAE;;gBAC9B,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAA,EAAE;oBACrD,2BAA2B;oBAC3B,IAAI,oBAAoB,CAAC;oBACzB,IAAI;wBACA,oBAAoB,GAAG,MAAM,kBAAkB,EAAE,CAAC;qBACrD;oBAAC,OAAO,YAAiB,EAAE;wBACxB,IAAI,qBAAqB,EAAE;4BACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;gCAC1C,MAAM,kBAAkB,iCAAM,KAAK,KAAE,IAAI,EAAE,oBAAoB,IAAG,CAAC;6BACtE;4BACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;gCAC3C,mBAAmB,EAAE,CAAC;6BACzB;yBACJ;wBAED,MAAM,IAAI,qBAAqB,CAC3B,gCAAgC,EAChC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,+BAA+B,EACrD,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,mCACrB,gDAAgD;4BAChD,wDAAwD,CAC3D,CAAC;qBACL;oBAED,+CAA+C;oBAC/C,IAAI,oBAAoB,EAAE;wBACtB,IAAI;4BACA,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;4BAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;yBACxC;wBAAC,OAAO,KAAU,EAAE;4BACjB,IAAI,qBAAqB,EAAE;gCACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;oCAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;iCACnC;gCACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;oCAC3C,mBAAmB,EAAE,CAAC;iCACzB;6BACJ;4BAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;yBAChC;qBACJ;iBACJ;gBAED,IAAI,qBAAqB,EAAE;oBACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;wBAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;qBACnC;oBACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;wBAC3C,mBAAmB,EAAE,CAAC;qBACzB;iBACJ;gBAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAA,CAAC,CAAC;SACV;aAAM;YACH,MAAM,IAAI,qBAAqB,CAC3B,gCAAgC,EAChC,iDAAiD,EACjD,qFAAqF;gBACrF,gFAAgF;gBAChF,gDAAgD,CACnD,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,cAAc,GAAG,CAAO,cAAmC,EAAuC,EAAE;;QACtG,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YACxC,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,KAAK,MAAM,OAAO,IAAI;gBAClB,GAAG,CAAC,MAAA,MAAA,CAAC,MAAM,MAAM,CAAC,0CAAE,kBAAkB,mCAAI,EAAE,CAAC;gBAC5C,MAAc,CAAC,OAAO;aAC1B,EAAE;gBACC,IAAI,OAAO,KAAI,MAAA,aAAa,CAAC,GAAG,0CAAE,UAAU,CAAC,OAAO,CAAC,CAAA,EAAE;oBACnD,UAAU,GAAG,IAAI,CAAC;oBAElB,MAAM;iBACT;aACJ;YAED,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO,GAAG,KAAK,CAAC;gBAEhB,MAAM;aACT;SACJ;QAED,MAAM,QAAQ,GAAiC,EAAE,CAAC;QAElD,IAAI,OAAO,EAAE;YACT,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,OAAO,CACH,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG;gBAChB,WAAW;qBACN,GAAG,CAAC,QAAQ,CAAC;qBACb,IAAI,CAAC,CAAC,SAAyB,EAAE,EAAE;oBAChC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC,CAAC;qBACD,KAAK,CAAC,CAAO,KAAgB,EAAE,EAAE;;oBAC9B,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAA,EAAE;wBACrD,IAAI,oBAAmC,CAAC;wBACxC,IAAI;4BACA,oBAAoB,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;yBAC3E;wBAAC,OAAO,YAAiB,EAAE;4BACxB,IAAI,qBAAqB,EAAE;gCACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;oCAC1C,MAAM,kBAAkB,iCAAM,KAAK,KAAE,IAAI,EAAE,oBAAoB,IAAG,CAAC;iCACtE;gCACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;oCAC3C,mBAAmB,EAAE,CAAC;iCACzB;6BACJ;4BAED,MAAM,IAAI,qBAAqB,CAC3B,iCAAiC,EACjC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,+BAA+B,EACrD,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,mCACrB,gDAAgD;gCAChD,wDAAwD,CAC3D,CAAC;yBACL;wBAED,IAAI,oBAAoB,EAAE;4BACtB,OAAO,CACH,WAAW,CAAC,GAAG;gCACf,WAAW;qCACN,GAAG,CAAC,QAAQ,CAAC;qCACb,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oCACf,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gCACrC,CAAC,CAAC;qCACD,KAAK,CAAC,CAAO,KAAK,EAAE,EAAE;oCACnB,IAAI,qBAAqB,EAAE;wCACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;4CAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;yCACnC;wCACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;4CAC3C,mBAAmB,EAAE,CAAC;yCACzB;qCACJ;oCAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gCACjC,CAAC,CAAA,CAAC,CACT,CAAC;yBACL;qBACJ;oBAED,IAAI,qBAAqB,EAAE;wBACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;4BAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;yBACnC;wBACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;4BAC3C,mBAAmB,EAAE,CAAC;yBACzB;qBACJ;oBAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAA,CAAC,CACT,CAAC;SACL;aAAM;YACH,MAAM,IAAI,qBAAqB,CAC3B,iCAAiC,EACjC,iDAAiD,EACjD,qFAAqF;gBACrF,gFAAgF;gBAChF,gDAAgD,CACnD,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,aAAa,GAAG,GAAuB,EAAE;QAC3C,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAY,EAAE;QACpC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,KAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAC1D,qBAAqB,GAAG,IAAI,CAAC;QAE7B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAY,EAAE;QACrC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,KAAI,WAAW,CAAC,cAAc,EAAE,CAAC;QAC5D,qBAAqB,GAAG,KAAK,CAAC;QAE9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAwB,EAAE;;QAC3C,MAAM,aAAa,GAAkB,MAAM,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;QAC3F,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,wBAAwB,CAAC,UAAU,CAC/B,MAAM,CAAC,QAAQ,EACf,MAAA,aAAa,CAAC,kBAAkB,mCAAI,EAAE,EACtC,GAAS,EAAE,kDAAC,OAAA,CAAC,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAA,GAAA,EACzE,MAAA,MAAM,CAAC,oBAAoB,mCAAI,CAAC,EAChC,MAAA,MAAM,CAAC,sBAAsB,mCAAI,GAAG,EACpC,MAAM,CAAC,iBAAiB,EACxB,CAAO,MAAyB,EAAmB,EAAE,kDAAC,OAAA,qBAAqB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA,GAAA,CAC1G,CAAC;IACN,CAAC,CAAA,CAAC;IAEF,MAAM,MAAM,GAAG,CACX,YAA+B,EAC/B,iBAA0B,EAC1B,YAAqB,EACrB,KAAc,EACQ,EAAE;;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,MAAM,kBAAkB,GAAY,MAAM,wBAAwB,CAAC,yBAAyB,CACxF,CAAO,YAA2B,EAAE,EAAE;YAClC,MAAM,UAAU,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC;YAC5E,OAAO;QACX,CAAC,CAAA,CACJ,CAAC;QAEF,IAAI,kBAAkB,EAAE;YACpB,OAAO,OAAO,CAAC,OAAO,CAAC;gBACnB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,EAAE;gBACP,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;aACf,CAAC,CAAC;SACN;QAED,IAAI,MAAM,qBAAqB,CAAC,eAAe,EAAE,EAAE;YAC/C,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACtC,UAAU,CAAC,+BAA+B,EAAE,CAAC;YAE7C,2EAA2E;YAC3E,IAAI,MAAM,CAAC,2BAA2B,EAAE;gBACpC,YAAY,EAAE,CAAC;aAClB;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC1E;QAED,IAAI,yBAAiC,CAAC;QACtC,IAAI,oBAA4B,CAAC;QACjC,IAAI,aAAqB,CAAC;QAE1B,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAK,YAAY,CAAC,QAAQ,IAAI,iBAAiB,EAAE;YACrE,yBAAyB,GAAG,iBAAiB,CAAC;YAC9C,oBAAoB,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC;YAC1C,aAAa,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;SAC/B;aAAM;YACH,yBAAyB,GAAG,MAAA,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAC;YACrG,oBAAoB,GAAG,MAAA,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC;YAC3F,aAAa,GAAG,MAAA,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;YAE5E,QAAQ,CAAC,uBAAuB,EAAE,CAAC;SACtC;QAED,IAAI,yBAAyB,IAAI,aAAa,EAAE;YAC5C,OAAO,kBAAkB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;SAC7F;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE3F,IAAI,KAAK,EAAE;YACP,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE3C,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAExD,MAAM,IAAI,qBAAqB,CAAC,gCAAgC,EAAE,KAAK,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,CAAC;SACpG;QAED,OAAO,qBAAqB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAO,GAAW,EAAE,EAAE;YACtF,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC/D,MAAM,OAAO,GAAW,mBAAmB,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;gBAExF,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAW,CAAC,CAAC;aACjG;YAED,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;YAEpB,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YAEtC,OAAO,OAAO,CAAC,OAAO,CAAC;gBACnB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,EAAE;gBACP,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;aACf,CAAC,CAAC;QACP,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,GAAG,GAA2B,EAAE;QACzC,IAAI,CAAC,MAAM,qBAAqB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,gCAAgC,EAAE;YACtF,QAAQ,CAAC,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC;SACzD;aAAM;YACH,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,0BAA0B,EAAE,CAAC;YAC9C,MAAM,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACvC,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAC;SACxC;QAED,UAAU,CAAC,wBAAwB,EAAE,CAAC;QAEtC,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAEtC,OAAO,IAAI,CAAC;IAChB,CAAC,CAAA,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAO,MAA4B,EAA0C,EAAE;;QACtG,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,yFAAyF;QACzF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE;YACvB,kBAAkB,GAAG,KAAK,CAAC;YAE3B,KAAK,MAAM,OAAO,IAAI;gBAClB,GAAG,CAAC,MAAA,MAAA,CAAC,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC,0CAAE,kBAAkB,mCAAI,EAAE,CAAC;gBAChE,MAAc,CAAC,OAAO;aAC1B,EAAE;gBACC,IAAI,OAAO,KAAI,MAAA,MAAM,CAAC,aAAa,0CAAE,UAAU,CAAC,OAAO,CAAC,CAAA,EAAE;oBACtD,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;iBACT;aACJ;SACJ;QACD,IAAI,MAAM,CAAC,wBAAwB,EAAE;YACjC,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SACrF;QACD,IAAI,kBAAkB,IAAI,OAAO,EAAE;YAC/B,OAAO,qBAAqB;iBACvB,kBAAkB,CAAC,MAAM,CAAC;iBAC1B,IAAI,CAAC,CAAO,QAAuC,EAAE,EAAE;gBACpD,IAAI,MAAM,CAAC,uBAAuB,EAAE;oBAChC,gCAAgC,GAAG,IAAI,CAAC;iBAC3C;gBAED,IAAI,MAAM,CAAC,cAAc,EAAE;oBACvB,UAAU,CAAC,+BAA+B,EAAE,CAAC;oBAE7C,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;iBACnD;qBAAM;oBACH,OAAO,QAAyB,CAAC;iBACpC;YACL,CAAC,CAAA,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;SACV;aAAM;YACH,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,qBAAqB,CACrB,iCAAiC,EACjC,iDAAiD,EACjD,qFAAqF;gBACrF,sFAAsF;gBACtF,gDAAgD,CACnD,CACJ,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAiC,EAAE;QAC1D,IAAI;YACA,MAAM,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,EAAE,CAAC;YAC3D,IAAI,iBAAiB,EAAE;gBACnB,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;aAC/C;YACD,UAAU,CAAC,+BAA+B,EAAE,CAAC;YAE7C,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;SACnD;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChC;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAqB,EAAE;QAC7C,OAAO,qBAAqB;aACvB,iBAAiB,EAAE;aACnB,IAAI,CAAC,GAAG,EAAE;YACP,wBAAwB,CAAC,KAAK,EAAE,CAAC;YACjC,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAEtC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CACvB,yBAAiC,EACjC,oBAA4B,EAC5B,aAAqB,EACC,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE;YAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;YAE/F,MAAM,qBAAqB,CAAC,WAAW,CACnC,mBAAmB,CAAC,4BAA4B,CAAC,aAAa,CAAC,EAC/D,IAAI,CACP,CAAC;SACL;QAED,OAAO,qBAAqB;aACvB,kBAAkB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,aAAa,CAAC;aAClF,IAAI,CAAC,GAAS,EAAE;YACb,2BAA2B;YAC3B;;gBAEI;YACJ,QAAQ,CAAC,aAAa,CAAC,MAAM,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC;YAEpE,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACtC,UAAU,CAAC,+BAA+B,EAAE,CAAC;YAE7C,2EAA2E;YAC3E,IAAI,MAAM,CAAC,2BAA2B,EAAE;gBACpC,YAAY,EAAE,CAAC;aAClB;YAED,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAA,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACX,CAAC,CAAA,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,iBAAiB,GAAG,GAA2C,EAAE;;QACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,IAAI,QAAQ,CAAC,yBAAyB,EAAE,EAAE;YACtC,MAAM,wBAAwB,CAAC,yBAAyB,EAAE,CAAC;YAE3D,OAAO,OAAO,CAAC,OAAO,CAAC;gBACnB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,EAAE;gBACP,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;aACf,CAAC,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAsB,CAAC;QAEzE,MAAM,gBAAgB,GAAsB,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAE,cAAc,CACjF,kBAAkB,CACA,CAAC;QAEvB,IAAI;YACA,MAAM,SAAS,GAAW,MAAM,qBAAqB,CAAC,mBAAmB,CAAC;gBACtE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,oBAAoB;aAC9B,CAAC,CAAC;YAEH,+BAA+B;YAC/B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,GAAG,GAAW,SAAS,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEhD,QAAQ,CAAC,OAAO,CACZ,mBAAmB,CAAC,4BAA4B,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAC7D,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAW,CACnE,CAAC;aACL;YAED,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAC;SAC9B;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,MAAM,wBAAwB,GAAG,CAAO,CAAe,EAAE,EAAE;;gBACvD,MAAM,IAAI,GAAsC,CAAC,CAAC,IAAI,CAAC;gBAEvD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,wBAAwB,EAAE;oBACxC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;oBAChE,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;iBAClB;gBAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,uBAAuB,KAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,IAAI,CAAA,EAAE;oBAC3D,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,YAAY,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,KAAK,CAAC;yBAC1E,IAAI,CAAC,CAAC,QAAuB,EAAE,EAAE;wBAC9B,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;wBAChE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;wBAChE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC,CAAC;yBACD,OAAO,CAAC,GAAG,EAAE;wBACV,YAAY,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACV;YACL,CAAC,CAAA,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAiC,EAAE;QACxD,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC,CAAA,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAyC,EAAE;QACjE,OAAO,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;IACrD,CAAC,CAAA,CAAC;IAEF,MAAM,UAAU,GAAG,GAA0B,EAAE;QAC3C,OAAO,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC,CAAA,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAiC,EAAE;QAC/D,OAAO,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;IAC3D,CAAC,CAAA,CAAC;IAEF,MAAM,cAAc,GAAG,GAA0B,EAAE;QAC/C,OAAO,qBAAqB,CAAC,cAAc,EAAE,CAAC;IAClD,CAAC,CAAA,CAAC;IAEF,MAAM,eAAe,GAAG,GAA2B,EAAE;QACjD,OAAO,qBAAqB,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAA,CAAC;IAEF,MAAM,YAAY,GAAG,CAAO,SAA4D,EAAiB,EAAE;QACvG,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QACxD,MAAM,6BAA6B,GAAY,CAAC,CAC5C,cAAc;YACd,cAAc,CAAC,SAAS;YACxB,cAAc,CAAC,SAAS,CAAC,kBAAkB;YAC3C,SAAS;YACT,SAAS,CAAC,SAAS;YACnB,SAAS,CAAC,SAAS,CAAC,kBAAkB;YACtC,cAAc,CAAC,SAAS,CAAC,kBAAkB,KAAK,SAAS,CAAC,SAAS,CAAC,kBAAkB,CACzF,CAAC;QACF,MAAM,MAAM,mCAAQ,cAAc,GAAK,SAAS,CAAE,CAAC;QACnD,MAAM,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEjD,uEAAuE;QACvE,IAAI,MAAM,CAAC,2BAA2B,IAAI,6BAA6B,EAAE;YACrE,wBAAwB,CAAC,KAAK,EAAE,CAAC;YAEjC,YAAY,EAAE,CAAC;SAClB;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAA8D,EAAE;QAC7F,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;QACrF,IAAI,YAAY,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAsB,CAAC,CAAC;SAC7C;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC,CAAA,CAAC;IAEF,OAAO;QACH,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,uBAAuB;QACvB,WAAW;QACX,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,2BAA2B;QAC3B,6BAA6B;QAC7B,MAAM;QACN,OAAO;QACP,iBAAiB;QACjB,YAAY;KACf,CAAC;AACN,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"main-thread-client.js","sourceRoot":"","sources":["../../../src/clients/main-thread-client.ts"],"names":[],"mappings":"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"}