@nlabs/metropolisjs 0.3.5 → 0.3.7

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.
@@ -4,11 +4,16 @@ import { createActions, createAllActions } from '../utils/actionFactory.js';
4
4
  import { MetropolisContext } from './MetropolisProvider.js';
5
5
  /**
6
6
  * Builds action options from adapters in a type-safe way.
7
- */ const buildActionOptions = (adapters)=>{
7
+ */ const buildActionOptions = (adapters, config)=>{
8
8
  if (!adapters) {
9
- return {};
9
+ return config?.app?.rum ? {
10
+ awsRum: config.app.rum
11
+ } : {};
10
12
  }
11
13
  const options = {};
14
+ if (config?.app?.rum) {
15
+ options.awsRum = config.app.rum;
16
+ }
12
17
  if (adapters.Content) {
13
18
  options.content = {
14
19
  contentAdapter: adapters.Content
@@ -80,6 +85,9 @@ import { MetropolisContext } from './MetropolisProvider.js';
80
85
  * Maps action type keys to their action names for return object.
81
86
  */ const mapActionsToReturnKeys = (actions)=>{
82
87
  const mapped = {};
88
+ if (actions.awsRum) {
89
+ mapped.awsRum = actions.awsRum;
90
+ }
83
91
  if (actions.content) {
84
92
  mapped.contentActions = actions.content;
85
93
  }
@@ -157,9 +165,10 @@ import { MetropolisContext } from './MetropolisProvider.js';
157
165
  const contextFlux = context?.flux;
158
166
  const hookFlux = useFlux();
159
167
  const flux = contextFlux || hookFlux;
160
- const { adapters } = context;
161
- const actionOptions = useMemo(()=>buildActionOptions(adapters), [
162
- adapters
168
+ const { adapters, config } = context;
169
+ const actionOptions = useMemo(()=>buildActionOptions(adapters, config), [
170
+ adapters,
171
+ config
163
172
  ]);
164
173
  return useMemo(()=>{
165
174
  let actions;
@@ -223,6 +232,12 @@ import { MetropolisContext } from './MetropolisProvider.js';
223
232
  ]);
224
233
  return contentActions;
225
234
  };
235
+ export const useAwsRum = ()=>{
236
+ const { awsRum } = useMetropolis([
237
+ 'awsRum'
238
+ ]);
239
+ return awsRum;
240
+ };
226
241
  export const useCrmActions = ()=>{
227
242
  const { crmActions } = useMetropolis([
228
243
  'crm'
@@ -326,4 +341,4 @@ export const useWebsocketActions = ()=>{
326
341
  return websocketActions;
327
342
  };
328
343
 
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdXRpbHMvdXNlTWV0cm9wb2xpcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUZsdXh9IGZyb20gJ0BubGFicy9hcmtoYW1qcy11dGlscy1yZWFjdCc7XG5pbXBvcnQge3VzZUNvbnRleHQsIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUge0ZsdXhGcmFtZXdvcmt9IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbn0gZnJvbSAnLi4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7Y3JlYXRlQWN0aW9ucywgY3JlYXRlQWxsQWN0aW9uc30gZnJvbSAnLi4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQgdHlwZSB7QWN0aW9uT3B0aW9ucywgQWN0aW9uVHlwZX0gZnJvbSAnLi4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbi8qKlxuICogQnVpbGRzIGFjdGlvbiBvcHRpb25zIGZyb20gYWRhcHRlcnMgaW4gYSB0eXBlLXNhZmUgd2F5LlxuICovXG5jb25zdCBidWlsZEFjdGlvbk9wdGlvbnMgPSAoXG4gIGFkYXB0ZXJzPzogTWV0cm9wb2xpc0FkYXB0ZXJzXG4pOiBQYXJ0aWFsPFJlY29yZDxBY3Rpb25UeXBlLCBBY3Rpb25PcHRpb25zPj4gPT4ge1xuICBpZiAoIWFkYXB0ZXJzKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3Qgb3B0aW9uczogUGFydGlhbDxSZWNvcmQ8QWN0aW9uVHlwZSwgQWN0aW9uT3B0aW9ucz4+ID0ge307XG5cbiAgaWYgKGFkYXB0ZXJzLkNvbnRlbnQpIHtcbiAgICBvcHRpb25zLmNvbnRlbnQgPSB7Y29udGVudEFkYXB0ZXI6IGFkYXB0ZXJzLkNvbnRlbnR9O1xuICB9XG4gIGlmIChhZGFwdGVycy5FdmVudCkge1xuICAgIG9wdGlvbnMuZXZlbnQgPSB7ZXZlbnRBZGFwdGVyOiBhZGFwdGVycy5FdmVudH07XG4gIH1cbiAgaWYgKGFkYXB0ZXJzLkltYWdlKSB7XG4gICAgb3B0aW9ucy5pbWFnZSA9IHtpbWFnZUFkYXB0ZXI6IGFkYXB0ZXJzLkltYWdlfTtcbiAgfVxuICBpZiAoYWRhcHRlcnMuTG9jYXRpb24pIHtcbiAgICBvcHRpb25zLmxvY2F0aW9uID0ge2xvY2F0aW9uQWRhcHRlcjogYWRhcHRlcnMuTG9jYXRpb259O1xuICB9XG4gIGlmIChhZGFwdGVycy5NZXNzYWdlKSB7XG4gICAgb3B0aW9ucy5tZXNzYWdlID0ge21lc3NhZ2VBZGFwdGVyOiBhZGFwdGVycy5NZXNzYWdlfTtcbiAgfVxuICBpZiAoYWRhcHRlcnMuUGVybWlzc2lvbikge1xuICAgIG9wdGlvbnMucGVybWlzc2lvbiA9IHtwZXJtaXNzaW9uQWRhcHRlcjogYWRhcHRlcnMuUGVybWlzc2lvbn07XG4gIH1cbiAgaWYgKGFkYXB0ZXJzLlBvc3QpIHtcbiAgICBvcHRpb25zLnBvc3QgPSB7cG9zdEFkYXB0ZXI6IGFkYXB0ZXJzLlBvc3R9O1xuICB9XG4gIGlmIChhZGFwdGVycy5QZXJzb25hKSB7XG4gICAgb3B0aW9ucy5wZXJzb25hID0ge3BlcnNvbmFBZGFwdGVyOiBhZGFwdGVycy5QZXJzb25hfTtcbiAgfVxuICBpZiAoYWRhcHRlcnMuUmVhY3Rpb24pIHtcbiAgICBvcHRpb25zLnJlYWN0aW9uID0ge3JlYWN0aW9uQWRhcHRlcjogYWRhcHRlcnMuUmVhY3Rpb259O1xuICB9XG4gIGlmIChhZGFwdGVycy5UYWcpIHtcbiAgICBvcHRpb25zLnRhZyA9IHt0YWdBZGFwdGVyOiBhZGFwdGVycy5UYWd9O1xuICB9XG4gIGlmIChhZGFwdGVycy5UcmFuc2xhdGlvbikge1xuICAgIG9wdGlvbnMudHJhbnNsYXRpb24gPSB7dHJhbnNsYXRpb25BZGFwdGVyOiBhZGFwdGVycy5UcmFuc2xhdGlvbn07XG4gIH1cbiAgaWYgKGFkYXB0ZXJzLlVzZXIpIHtcbiAgICBvcHRpb25zLnVzZXIgPSB7dXNlckFkYXB0ZXI6IGFkYXB0ZXJzLlVzZXJ9O1xuICB9XG4gIGlmIChhZGFwdGVycy5WaWRlbykge1xuICAgIG9wdGlvbnMudmlkZW8gPSB7dmlkZW9BZGFwdGVyOiBhZGFwdGVycy5WaWRlb307XG4gIH1cblxuICByZXR1cm4gb3B0aW9ucztcbn07XG5cbi8qKlxuICogTWFwcyBhY3Rpb24gdHlwZSBrZXlzIHRvIHRoZWlyIGFjdGlvbiBuYW1lcyBmb3IgcmV0dXJuIG9iamVjdC5cbiAqL1xuY29uc3QgbWFwQWN0aW9uc1RvUmV0dXJuS2V5cyA9IChhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PiA9PiB7XG4gIGNvbnN0IG1hcHBlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIGlmIChhY3Rpb25zLmNvbnRlbnQpIHtcbiAgICBtYXBwZWQuY29udGVudEFjdGlvbnMgPSBhY3Rpb25zLmNvbnRlbnQ7XG4gIH1cbiAgaWYgKGFjdGlvbnMuY3JtKSB7XG4gICAgbWFwcGVkLmNybUFjdGlvbnMgPSBhY3Rpb25zLmNybTtcbiAgfVxuICBpZiAoYWN0aW9ucy5ldmVudCkge1xuICAgIG1hcHBlZC5ldmVudEFjdGlvbnMgPSBhY3Rpb25zLmV2ZW50O1xuICB9XG4gIGlmIChhY3Rpb25zLmdyb3VwKSB7XG4gICAgbWFwcGVkLmdyb3VwQWN0aW9ucyA9IGFjdGlvbnMuZ3JvdXA7XG4gIH1cbiAgaWYgKGFjdGlvbnMuaW1hZ2UpIHtcbiAgICBtYXBwZWQuaW1hZ2VBY3Rpb25zID0gYWN0aW9ucy5pbWFnZTtcbiAgfVxuICBpZiAoYWN0aW9ucy5sb2NhdGlvbikge1xuICAgIG1hcHBlZC5sb2NhdGlvbkFjdGlvbnMgPSBhY3Rpb25zLmxvY2F0aW9uO1xuICB9XG4gIGlmIChhY3Rpb25zLm1lc3NhZ2UpIHtcbiAgICBtYXBwZWQubWVzc2FnZUFjdGlvbnMgPSBhY3Rpb25zLm1lc3NhZ2U7XG4gIH1cbiAgaWYgKGFjdGlvbnMucGVybWlzc2lvbikge1xuICAgIG1hcHBlZC5wZXJtaXNzaW9uQWN0aW9ucyA9IGFjdGlvbnMucGVybWlzc2lvbjtcbiAgfVxuICBpZiAoYWN0aW9ucy5wb3N0KSB7XG4gICAgbWFwcGVkLnBvc3RBY3Rpb25zID0gYWN0aW9ucy5wb3N0O1xuICB9XG4gIGlmIChhY3Rpb25zLnBlcnNvbmEpIHtcbiAgICBtYXBwZWQucGVyc29uYUFjdGlvbnMgPSBhY3Rpb25zLnBlcnNvbmE7XG4gIH1cbiAgaWYgKGFjdGlvbnMucmVhY3Rpb24pIHtcbiAgICBtYXBwZWQucmVhY3Rpb25BY3Rpb25zID0gYWN0aW9ucy5yZWFjdGlvbjtcbiAgfVxuICBpZiAoYWN0aW9ucy5yZXN0KSB7XG4gICAgbWFwcGVkLnJlc3RBY3Rpb25zID0gYWN0aW9ucy5yZXN0O1xuICB9XG4gIGlmIChhY3Rpb25zLnN1YnNjcmlwdGlvbikge1xuICAgIG1hcHBlZC5zdWJzY3JpcHRpb25BY3Rpb25zID0gYWN0aW9ucy5zdWJzY3JpcHRpb247XG4gIH1cbiAgaWYgKGFjdGlvbnMudGFnKSB7XG4gICAgbWFwcGVkLnRhZ0FjdGlvbnMgPSBhY3Rpb25zLnRhZztcbiAgfVxuICBpZiAoYWN0aW9ucy50cmFuc2xhdGlvbikge1xuICAgIG1hcHBlZC50cmFuc2xhdGlvbkFjdGlvbnMgPSBhY3Rpb25zLnRyYW5zbGF0aW9uO1xuICB9XG4gIGlmIChhY3Rpb25zLnVzZXIpIHtcbiAgICBtYXBwZWQudXNlckFjdGlvbnMgPSBhY3Rpb25zLnVzZXI7XG4gIH1cbiAgaWYgKGFjdGlvbnMudmlkZW8pIHtcbiAgICBtYXBwZWQudmlkZW9BY3Rpb25zID0gYWN0aW9ucy52aWRlbztcbiAgfVxuICBpZiAoYWN0aW9ucy53ZWJzb2NrZXQpIHtcbiAgICBtYXBwZWQud2Vic29ja2V0QWN0aW9ucyA9IGFjdGlvbnMud2Vic29ja2V0O1xuICB9XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbi8qKlxuICogTWFpbiBob29rIHRvIGFjY2VzcyBNZXRyb3BvbGlzIGFjdGlvbnMuXG4gKlxuICogQHBhcmFtIGFjdGlvblR5cGVzIC0gT3B0aW9uYWwgYXJyYXkgb2YgYWN0aW9uIHR5cGVzIHRvIGNyZWF0ZS4gSWYgbm90IHByb3ZpZGVkLCBjcmVhdGVzIGFsbCBhY3Rpb25zLlxuICogQHJldHVybnMgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVlc3RlZCBhY3Rpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gR2V0IGFsbCBhY3Rpb25zIChkZWZhdWx0IGJlaGF2aW9yKVxuICogY29uc3Qge3VzZXJBY3Rpb25zLCBwb3N0QWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKCk7XG4gKlxuICogLy8gR2V0IG9ubHkgc3BlY2lmaWMgYWN0aW9ucyAobW9yZSBwZXJmb3JtYW50KVxuICogY29uc3Qge3VzZXJBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWyd1c2VyJ10pO1xuICogY29uc3Qge3VzZXJBY3Rpb25zLCBwb3N0QWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsndXNlcicsICdwb3N0J10pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VNZXRyb3BvbGlzID0gPFQgZXh0ZW5kcyBBY3Rpb25UeXBlW10gPSBBY3Rpb25UeXBlW10+KFxuICBhY3Rpb25UeXBlcz86IFRcbikgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChNZXRyb3BvbGlzQ29udGV4dCk7XG4gIC8vIFVzZSBmbHV4IGZyb20gY29udGV4dCBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gdXNlRmx1eCgpIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gIGNvbnN0IGNvbnRleHRGbHV4ID0gY29udGV4dD8uZmx1eDtcbiAgY29uc3QgaG9va0ZsdXggPSB1c2VGbHV4KCk7XG4gIGNvbnN0IGZsdXggPSBjb250ZXh0Rmx1eCB8fCBob29rRmx1eDtcblxuICBjb25zdCB7YWRhcHRlcnN9ID0gY29udGV4dDtcbiAgY29uc3QgYWN0aW9uT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gYnVpbGRBY3Rpb25PcHRpb25zKGFkYXB0ZXJzKSwgW2FkYXB0ZXJzXSk7XG5cbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gICAgaWYgKGFjdGlvblR5cGVzICYmIGFjdGlvblR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIENyZWF0ZSBvbmx5IHJlcXVlc3RlZCBhY3Rpb25zXG4gICAgICBhY3Rpb25zID0gY3JlYXRlQWN0aW9ucyhhY3Rpb25UeXBlcywgZmx1eCwgYWN0aW9uT3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENyZWF0ZSBhbGwgYWN0aW9ucyAoZGVmYXVsdCBiZWhhdmlvciBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSlcbiAgICAgIGNvbnN0IGFsbEFjdGlvbnMgPSBjcmVhdGVBbGxBY3Rpb25zKGZsdXgsIGFjdGlvbk9wdGlvbnMpO1xuICAgICAgYWN0aW9ucyA9IGFsbEFjdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gTWFwIHRvIHJldHVybiBrZXlzIChjb250ZW50QWN0aW9ucywgdXNlckFjdGlvbnMsIGV0Yy4pXG4gICAgcmV0dXJuIG1hcEFjdGlvbnNUb1JldHVybktleXMoYWN0aW9ucyk7XG4gIH0sIFtmbHV4LCBhY3Rpb25PcHRpb25zLCBhY3Rpb25UeXBlcz8uam9pbignLCcpXSk7XG59O1xuXG4vKipcbiAqIEhvb2sgdG8gYWNjZXNzIHRoZSBNZXRyb3BvbGlzIGNvbmZpZ3VyYXRpb24gZnJvbSBjb250ZXh0LlxuICpcbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBlbnZpcm9ubWVudC1zcGVjaWZpYyBjb25maWd1cmF0aW9uXG4gKiBAdGhyb3dzIEVycm9yIGlmIHVzZWQgb3V0c2lkZSBvZiBNZXRyb3BvbGlzIGNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IGNvbmZpZyA9IHVzZU1ldHJvcG9saXNDb25maWcoKTtcbiAqIGNvbnN0IGFwaVVybCA9IGNvbmZpZy5hcHA/LmFwaT8udXJsO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VNZXRyb3BvbGlzQ29uZmlnID0gKCk6IE1ldHJvcG9saXNFbnZpcm9ubWVudENvbmZpZ3VyYXRpb24gPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChNZXRyb3BvbGlzQ29udGV4dCk7XG5cbiAgaWYgKCFjb250ZXh0Py5jb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAndXNlTWV0cm9wb2xpc0NvbmZpZyBtdXN0IGJlIHVzZWQgd2l0aGluIGEgTWV0cm9wb2xpcyBjb21wb25lbnQuICcgK1xuICAgICAgJ01ha2Ugc3VyZSB5b3VyIGNvbXBvbmVudCBpcyB3cmFwcGVkIHdpdGggPE1ldHJvcG9saXM+IHByb3ZpZGVyLidcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQuY29uZmlnO1xufTtcblxuLyoqXG4gKiBIb29rIHRvIGFjY2VzcyB0aGUgRmx1eCBmcmFtZXdvcmsgaW5zdGFuY2UgZnJvbSBjb250ZXh0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBGbHV4IGZyYW1ld29yayBpbnN0YW5jZVxuICogQHRocm93cyBFcnJvciBpZiB1c2VkIG91dHNpZGUgb2YgTWV0cm9wb2xpcyBjb21wb25lbnQgYW5kIG5vIEZsdXggYXZhaWxhYmxlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgZmx1eCA9IHVzZU1ldHJvcG9saXNGbHV4KCk7XG4gKiBjb25zdCBzdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VNZXRyb3BvbGlzRmx1eCA9ICgpOiBGbHV4RnJhbWV3b3JrID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTWV0cm9wb2xpc0NvbnRleHQpO1xuICBjb25zdCBob29rRmx1eCA9IHVzZUZsdXgoKTtcblxuICAvLyBVc2UgZmx1eCBmcm9tIGNvbnRleHQgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvIHVzZUZsdXgoKSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICByZXR1cm4gY29udGV4dD8uZmx1eCB8fCBob29rRmx1eDtcbn07XG5cbi8qKlxuICogU3BlY2lhbGl6ZWQgaG9va3MgZm9yIGluZGl2aWR1YWwgYWN0aW9uIHR5cGVzLlxuICogVGhlc2UgaG9va3Mgb25seSBjcmVhdGUgdGhlIHNwZWNpZmljIGFjdGlvbiB0eXBlLCBpbXByb3ZpbmcgcGVyZm9ybWFuY2UuXG4gKi9cblxuZXhwb3J0IGNvbnN0IHVzZUNvbnRlbnRBY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7Y29udGVudEFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ2NvbnRlbnQnXSk7XG4gIHJldHVybiBjb250ZW50QWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VDcm1BY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7Y3JtQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsnY3JtJ10pO1xuICByZXR1cm4gY3JtQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VFdmVudEFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtldmVudEFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ2V2ZW50J10pO1xuICByZXR1cm4gZXZlbnRBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUdyb3VwQWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge2dyb3VwQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsnZ3JvdXAnXSk7XG4gIHJldHVybiBncm91cEFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlSW1hZ2VBY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7aW1hZ2VBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWydpbWFnZSddKTtcbiAgcmV0dXJuIGltYWdlQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VMb2NhdGlvbkFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtsb2NhdGlvbkFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ2xvY2F0aW9uJ10pO1xuICByZXR1cm4gbG9jYXRpb25BY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZU1lc3NhZ2VBY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7bWVzc2FnZUFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ21lc3NhZ2UnXSk7XG4gIHJldHVybiBtZXNzYWdlQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VTdWJzY3JpcHRpb25BY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7c3Vic2NyaXB0aW9uQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsnc3Vic2NyaXB0aW9uJ10pO1xuICByZXR1cm4gc3Vic2NyaXB0aW9uQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VQZXJtaXNzaW9uQWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge3Blcm1pc3Npb25BY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWydwZXJtaXNzaW9uJ10pO1xuICByZXR1cm4gcGVybWlzc2lvbkFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUG9zdEFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtwb3N0QWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsncG9zdCddKTtcbiAgcmV0dXJuIHBvc3RBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVBlcnNvbmFBY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7cGVyc29uYUFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ3BlcnNvbmEnXSk7XG4gIHJldHVybiBwZXJzb25hQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VSZWFjdGlvbkFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtyZWFjdGlvbkFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ3JlYWN0aW9uJ10pO1xuICByZXR1cm4gcmVhY3Rpb25BY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVJlc3RBY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7cmVzdEFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ3Jlc3QnXSk7XG4gIHJldHVybiByZXN0QWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VUYWdBY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7dGFnQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsndGFnJ10pO1xuICByZXR1cm4gdGFnQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VWaWRlb0FjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHt2aWRlb0FjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ3ZpZGVvJ10pO1xuICByZXR1cm4gdmlkZW9BY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVRyYW5zbGF0aW9uQWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge3RyYW5zbGF0aW9uQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsndHJhbnNsYXRpb24nXSk7XG4gIHJldHVybiB0cmFuc2xhdGlvbkFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlVXNlckFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHt1c2VyQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsndXNlciddKTtcbiAgcmV0dXJuIHVzZXJBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVdlYnNvY2tldEFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHt3ZWJzb2NrZXRBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWyd3ZWJzb2NrZXQnXSk7XG4gIHJldHVybiB3ZWJzb2NrZXRBY3Rpb25zO1xufTtcbiJdLCJuYW1lcyI6WyJ1c2VGbHV4IiwidXNlQ29udGV4dCIsInVzZU1lbW8iLCJjcmVhdGVBY3Rpb25zIiwiY3JlYXRlQWxsQWN0aW9ucyIsIk1ldHJvcG9saXNDb250ZXh0IiwiYnVpbGRBY3Rpb25PcHRpb25zIiwiYWRhcHRlcnMiLCJvcHRpb25zIiwiQ29udGVudCIsImNvbnRlbnQiLCJjb250ZW50QWRhcHRlciIsIkV2ZW50IiwiZXZlbnQiLCJldmVudEFkYXB0ZXIiLCJJbWFnZSIsImltYWdlIiwiaW1hZ2VBZGFwdGVyIiwiTG9jYXRpb24iLCJsb2NhdGlvbiIsImxvY2F0aW9uQWRhcHRlciIsIk1lc3NhZ2UiLCJtZXNzYWdlIiwibWVzc2FnZUFkYXB0ZXIiLCJQZXJtaXNzaW9uIiwicGVybWlzc2lvbiIsInBlcm1pc3Npb25BZGFwdGVyIiwiUG9zdCIsInBvc3QiLCJwb3N0QWRhcHRlciIsIlBlcnNvbmEiLCJwZXJzb25hIiwicGVyc29uYUFkYXB0ZXIiLCJSZWFjdGlvbiIsInJlYWN0aW9uIiwicmVhY3Rpb25BZGFwdGVyIiwiVGFnIiwidGFnIiwidGFnQWRhcHRlciIsIlRyYW5zbGF0aW9uIiwidHJhbnNsYXRpb24iLCJ0cmFuc2xhdGlvbkFkYXB0ZXIiLCJVc2VyIiwidXNlciIsInVzZXJBZGFwdGVyIiwiVmlkZW8iLCJ2aWRlbyIsInZpZGVvQWRhcHRlciIsIm1hcEFjdGlvbnNUb1JldHVybktleXMiLCJhY3Rpb25zIiwibWFwcGVkIiwiY29udGVudEFjdGlvbnMiLCJjcm0iLCJjcm1BY3Rpb25zIiwiZXZlbnRBY3Rpb25zIiwiZ3JvdXAiLCJncm91cEFjdGlvbnMiLCJpbWFnZUFjdGlvbnMiLCJsb2NhdGlvbkFjdGlvbnMiLCJtZXNzYWdlQWN0aW9ucyIsInBlcm1pc3Npb25BY3Rpb25zIiwicG9zdEFjdGlvbnMiLCJwZXJzb25hQWN0aW9ucyIsInJlYWN0aW9uQWN0aW9ucyIsInJlc3QiLCJyZXN0QWN0aW9ucyIsInN1YnNjcmlwdGlvbiIsInN1YnNjcmlwdGlvbkFjdGlvbnMiLCJ0YWdBY3Rpb25zIiwidHJhbnNsYXRpb25BY3Rpb25zIiwidXNlckFjdGlvbnMiLCJ2aWRlb0FjdGlvbnMiLCJ3ZWJzb2NrZXQiLCJ3ZWJzb2NrZXRBY3Rpb25zIiwidXNlTWV0cm9wb2xpcyIsImFjdGlvblR5cGVzIiwiY29udGV4dCIsImNvbnRleHRGbHV4IiwiZmx1eCIsImhvb2tGbHV4IiwiYWN0aW9uT3B0aW9ucyIsImxlbmd0aCIsImFsbEFjdGlvbnMiLCJqb2luIiwidXNlTWV0cm9wb2xpc0NvbmZpZyIsImNvbmZpZyIsIkVycm9yIiwidXNlTWV0cm9wb2xpc0ZsdXgiLCJ1c2VDb250ZW50QWN0aW9ucyIsInVzZUNybUFjdGlvbnMiLCJ1c2VFdmVudEFjdGlvbnMiLCJ1c2VHcm91cEFjdGlvbnMiLCJ1c2VJbWFnZUFjdGlvbnMiLCJ1c2VMb2NhdGlvbkFjdGlvbnMiLCJ1c2VNZXNzYWdlQWN0aW9ucyIsInVzZVN1YnNjcmlwdGlvbkFjdGlvbnMiLCJ1c2VQZXJtaXNzaW9uQWN0aW9ucyIsInVzZVBvc3RBY3Rpb25zIiwidXNlUGVyc29uYUFjdGlvbnMiLCJ1c2VSZWFjdGlvbkFjdGlvbnMiLCJ1c2VSZXN0QWN0aW9ucyIsInVzZVRhZ0FjdGlvbnMiLCJ1c2VWaWRlb0FjdGlvbnMiLCJ1c2VUcmFuc2xhdGlvbkFjdGlvbnMiLCJ1c2VVc2VyQWN0aW9ucyIsInVzZVdlYnNvY2tldEFjdGlvbnMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLE9BQU8sUUFBTyw4QkFBOEI7QUFDcEQsU0FBUUMsVUFBVSxFQUFFQyxPQUFPLFFBQU8sUUFBUTtBQUkxQyxTQUFRQyxhQUFhLEVBQUVDLGdCQUFnQixRQUFPLDRCQUE0QjtBQUUxRSxTQUFRQyxpQkFBaUIsUUFBTywwQkFBMEI7QUFHMUQ7O0NBRUMsR0FDRCxNQUFNQyxxQkFBcUIsQ0FDekJDO0lBRUEsSUFBSSxDQUFDQSxVQUFVO1FBQ2IsT0FBTyxDQUFDO0lBQ1Y7SUFFQSxNQUFNQyxVQUFzRCxDQUFDO0lBRTdELElB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
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdXRpbHMvdXNlTWV0cm9wb2xpcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUZsdXh9IGZyb20gJ0BubGFicy9hcmtoYW1qcy11dGlscy1yZWFjdCc7XG5pbXBvcnQge3VzZUNvbnRleHQsIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUge0ZsdXhGcmFtZXdvcmt9IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbn0gZnJvbSAnLi4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7Y3JlYXRlQWN0aW9ucywgY3JlYXRlQWxsQWN0aW9uc30gZnJvbSAnLi4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQgdHlwZSB7QWN0aW9uT3B0aW9ucywgQWN0aW9uVHlwZX0gZnJvbSAnLi4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbi8qKlxuICogQnVpbGRzIGFjdGlvbiBvcHRpb25zIGZyb20gYWRhcHRlcnMgaW4gYSB0eXBlLXNhZmUgd2F5LlxuICovXG5jb25zdCBidWlsZEFjdGlvbk9wdGlvbnMgPSAoXG4gIGFkYXB0ZXJzPzogTWV0cm9wb2xpc0FkYXB0ZXJzLFxuICBjb25maWc/OiBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9uXG4pOiBQYXJ0aWFsPFJlY29yZDxBY3Rpb25UeXBlLCBBY3Rpb25PcHRpb25zPj4gPT4ge1xuICBpZiAoIWFkYXB0ZXJzKSB7XG4gICAgcmV0dXJuIGNvbmZpZz8uYXBwPy5ydW0gPyB7YXdzUnVtOiBjb25maWcuYXBwLnJ1bX0gOiB7fTtcbiAgfVxuXG4gIGNvbnN0IG9wdGlvbnM6IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvbk9wdGlvbnM+PiA9IHt9O1xuXG4gIGlmKGNvbmZpZz8uYXBwPy5ydW0pIHtcbiAgICBvcHRpb25zLmF3c1J1bSA9IGNvbmZpZy5hcHAucnVtO1xuICB9XG5cbiAgaWYgKGFkYXB0ZXJzLkNvbnRlbnQpIHtcbiAgICBvcHRpb25zLmNvbnRlbnQgPSB7Y29udGVudEFkYXB0ZXI6IGFkYXB0ZXJzLkNvbnRlbnR9O1xuICB9XG4gIGlmIChhZGFwdGVycy5FdmVudCkge1xuICAgIG9wdGlvbnMuZXZlbnQgPSB7ZXZlbnRBZGFwdGVyOiBhZGFwdGVycy5FdmVudH07XG4gIH1cbiAgaWYgKGFkYXB0ZXJzLkltYWdlKSB7XG4gICAgb3B0aW9ucy5pbWFnZSA9IHtpbWFnZUFkYXB0ZXI6IGFkYXB0ZXJzLkltYWdlfTtcbiAgfVxuICBpZiAoYWRhcHRlcnMuTG9jYXRpb24pIHtcbiAgICBvcHRpb25zLmxvY2F0aW9uID0ge2xvY2F0aW9uQWRhcHRlcjogYWRhcHRlcnMuTG9jYXRpb259O1xuICB9XG4gIGlmIChhZGFwdGVycy5NZXNzYWdlKSB7XG4gICAgb3B0aW9ucy5tZXNzYWdlID0ge21lc3NhZ2VBZGFwdGVyOiBhZGFwdGVycy5NZXNzYWdlfTtcbiAgfVxuICBpZiAoYWRhcHRlcnMuUGVybWlzc2lvbikge1xuICAgIG9wdGlvbnMucGVybWlzc2lvbiA9IHtwZXJtaXNzaW9uQWRhcHRlcjogYWRhcHRlcnMuUGVybWlzc2lvbn07XG4gIH1cbiAgaWYgKGFkYXB0ZXJzLlBvc3QpIHtcbiAgICBvcHRpb25zLnBvc3QgPSB7cG9zdEFkYXB0ZXI6IGFkYXB0ZXJzLlBvc3R9O1xuICB9XG4gIGlmIChhZGFwdGVycy5QZXJzb25hKSB7XG4gICAgb3B0aW9ucy5wZXJzb25hID0ge3BlcnNvbmFBZGFwdGVyOiBhZGFwdGVycy5QZXJzb25hfTtcbiAgfVxuICBpZiAoYWRhcHRlcnMuUmVhY3Rpb24pIHtcbiAgICBvcHRpb25zLnJlYWN0aW9uID0ge3JlYWN0aW9uQWRhcHRlcjogYWRhcHRlcnMuUmVhY3Rpb259O1xuICB9XG4gIGlmIChhZGFwdGVycy5UYWcpIHtcbiAgICBvcHRpb25zLnRhZyA9IHt0YWdBZGFwdGVyOiBhZGFwdGVycy5UYWd9O1xuICB9XG4gIGlmIChhZGFwdGVycy5UcmFuc2xhdGlvbikge1xuICAgIG9wdGlvbnMudHJhbnNsYXRpb24gPSB7dHJhbnNsYXRpb25BZGFwdGVyOiBhZGFwdGVycy5UcmFuc2xhdGlvbn07XG4gIH1cbiAgaWYgKGFkYXB0ZXJzLlVzZXIpIHtcbiAgICBvcHRpb25zLnVzZXIgPSB7dXNlckFkYXB0ZXI6IGFkYXB0ZXJzLlVzZXJ9O1xuICB9XG4gIGlmIChhZGFwdGVycy5WaWRlbykge1xuICAgIG9wdGlvbnMudmlkZW8gPSB7dmlkZW9BZGFwdGVyOiBhZGFwdGVycy5WaWRlb307XG4gIH1cblxuICByZXR1cm4gb3B0aW9ucztcbn07XG5cbi8qKlxuICogTWFwcyBhY3Rpb24gdHlwZSBrZXlzIHRvIHRoZWlyIGFjdGlvbiBuYW1lcyBmb3IgcmV0dXJuIG9iamVjdC5cbiAqL1xuY29uc3QgbWFwQWN0aW9uc1RvUmV0dXJuS2V5cyA9IChhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PiA9PiB7XG4gIGNvbnN0IG1hcHBlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIGlmKGFjdGlvbnMuYXdzUnVtKSB7XG4gICAgbWFwcGVkLmF3c1J1bSA9IGFjdGlvbnMuYXdzUnVtO1xuICB9XG5cbiAgaWYgKGFjdGlvbnMuY29udGVudCkge1xuICAgIG1hcHBlZC5jb250ZW50QWN0aW9ucyA9IGFjdGlvbnMuY29udGVudDtcbiAgfVxuICBpZiAoYWN0aW9ucy5jcm0pIHtcbiAgICBtYXBwZWQuY3JtQWN0aW9ucyA9IGFjdGlvbnMuY3JtO1xuICB9XG4gIGlmIChhY3Rpb25zLmV2ZW50KSB7XG4gICAgbWFwcGVkLmV2ZW50QWN0aW9ucyA9IGFjdGlvbnMuZXZlbnQ7XG4gIH1cbiAgaWYgKGFjdGlvbnMuZ3JvdXApIHtcbiAgICBtYXBwZWQuZ3JvdXBBY3Rpb25zID0gYWN0aW9ucy5ncm91cDtcbiAgfVxuICBpZiAoYWN0aW9ucy5pbWFnZSkge1xuICAgIG1hcHBlZC5pbWFnZUFjdGlvbnMgPSBhY3Rpb25zLmltYWdlO1xuICB9XG4gIGlmIChhY3Rpb25zLmxvY2F0aW9uKSB7XG4gICAgbWFwcGVkLmxvY2F0aW9uQWN0aW9ucyA9IGFjdGlvbnMubG9jYXRpb247XG4gIH1cbiAgaWYgKGFjdGlvbnMubWVzc2FnZSkge1xuICAgIG1hcHBlZC5tZXNzYWdlQWN0aW9ucyA9IGFjdGlvbnMubWVzc2FnZTtcbiAgfVxuICBpZiAoYWN0aW9ucy5wZXJtaXNzaW9uKSB7XG4gICAgbWFwcGVkLnBlcm1pc3Npb25BY3Rpb25zID0gYWN0aW9ucy5wZXJtaXNzaW9uO1xuICB9XG4gIGlmIChhY3Rpb25zLnBvc3QpIHtcbiAgICBtYXBwZWQucG9zdEFjdGlvbnMgPSBhY3Rpb25zLnBvc3Q7XG4gIH1cbiAgaWYgKGFjdGlvbnMucGVyc29uYSkge1xuICAgIG1hcHBlZC5wZXJzb25hQWN0aW9ucyA9IGFjdGlvbnMucGVyc29uYTtcbiAgfVxuICBpZiAoYWN0aW9ucy5yZWFjdGlvbikge1xuICAgIG1hcHBlZC5yZWFjdGlvbkFjdGlvbnMgPSBhY3Rpb25zLnJlYWN0aW9uO1xuICB9XG4gIGlmIChhY3Rpb25zLnJlc3QpIHtcbiAgICBtYXBwZWQucmVzdEFjdGlvbnMgPSBhY3Rpb25zLnJlc3Q7XG4gIH1cbiAgaWYgKGFjdGlvbnMuc3Vic2NyaXB0aW9uKSB7XG4gICAgbWFwcGVkLnN1YnNjcmlwdGlvbkFjdGlvbnMgPSBhY3Rpb25zLnN1YnNjcmlwdGlvbjtcbiAgfVxuICBpZiAoYWN0aW9ucy50YWcpIHtcbiAgICBtYXBwZWQudGFnQWN0aW9ucyA9IGFjdGlvbnMudGFnO1xuICB9XG4gIGlmIChhY3Rpb25zLnRyYW5zbGF0aW9uKSB7XG4gICAgbWFwcGVkLnRyYW5zbGF0aW9uQWN0aW9ucyA9IGFjdGlvbnMudHJhbnNsYXRpb247XG4gIH1cbiAgaWYgKGFjdGlvbnMudXNlcikge1xuICAgIG1hcHBlZC51c2VyQWN0aW9ucyA9IGFjdGlvbnMudXNlcjtcbiAgfVxuICBpZiAoYWN0aW9ucy52aWRlbykge1xuICAgIG1hcHBlZC52aWRlb0FjdGlvbnMgPSBhY3Rpb25zLnZpZGVvO1xuICB9XG4gIGlmIChhY3Rpb25zLndlYnNvY2tldCkge1xuICAgIG1hcHBlZC53ZWJzb2NrZXRBY3Rpb25zID0gYWN0aW9ucy53ZWJzb2NrZXQ7XG4gIH1cblxuICByZXR1cm4gbWFwcGVkO1xufTtcblxuLyoqXG4gKiBNYWluIGhvb2sgdG8gYWNjZXNzIE1ldHJvcG9saXMgYWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0gYWN0aW9uVHlwZXMgLSBPcHRpb25hbCBhcnJheSBvZiBhY3Rpb24gdHlwZXMgdG8gY3JlYXRlLiBJZiBub3QgcHJvdmlkZWQsIGNyZWF0ZXMgYWxsIGFjdGlvbnMuXG4gKiBAcmV0dXJucyBPYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWVzdGVkIGFjdGlvbnNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBHZXQgYWxsIGFjdGlvbnMgKGRlZmF1bHQgYmVoYXZpb3IpXG4gKiBjb25zdCB7dXNlckFjdGlvbnMsIHBvc3RBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoKTtcbiAqXG4gKiAvLyBHZXQgb25seSBzcGVjaWZpYyBhY3Rpb25zIChtb3JlIHBlcmZvcm1hbnQpXG4gKiBjb25zdCB7dXNlckFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ3VzZXInXSk7XG4gKiBjb25zdCB7dXNlckFjdGlvbnMsIHBvc3RBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWyd1c2VyJywgJ3Bvc3QnXSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZU1ldHJvcG9saXMgPSA8VCBleHRlbmRzIEFjdGlvblR5cGVbXSA9IEFjdGlvblR5cGVbXT4oXG4gIGFjdGlvblR5cGVzPzogVFxuKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KE1ldHJvcG9saXNDb250ZXh0KTtcbiAgLy8gVXNlIGZsdXggZnJvbSBjb250ZXh0IGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGZhbGwgYmFjayB0byB1c2VGbHV4KCkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgY29uc3QgY29udGV4dEZsdXggPSBjb250ZXh0Py5mbHV4O1xuICBjb25zdCBob29rRmx1eCA9IHVzZUZsdXgoKTtcbiAgY29uc3QgZmx1eCA9IGNvbnRleHRGbHV4IHx8IGhvb2tGbHV4O1xuXG4gIGNvbnN0IHthZGFwdGVycywgY29uZmlnfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGFjdGlvbk9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGJ1aWxkQWN0aW9uT3B0aW9ucyhhZGFwdGVycywgY29uZmlnKSwgW2FkYXB0ZXJzLCBjb25maWddKTtcblxuICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGFjdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgICBpZiAoYWN0aW9uVHlwZXMgJiYgYWN0aW9uVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gQ3JlYXRlIG9ubHkgcmVxdWVzdGVkIGFjdGlvbnNcbiAgICAgIGFjdGlvbnMgPSBjcmVhdGVBY3Rpb25zKGFjdGlvblR5cGVzLCBmbHV4LCBhY3Rpb25PcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ3JlYXRlIGFsbCBhY3Rpb25zIChkZWZhdWx0IGJlaGF2aW9yIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KVxuICAgICAgY29uc3QgYWxsQWN0aW9ucyA9IGNyZWF0ZUFsbEFjdGlvbnMoZmx1eCwgYWN0aW9uT3B0aW9ucyk7XG4gICAgICBhY3Rpb25zID0gYWxsQWN0aW9ucztcbiAgICB9XG5cbiAgICAvLyBNYXAgdG8gcmV0dXJuIGtleXMgKGNvbnRlbnRBY3Rpb25zLCB1c2VyQWN0aW9ucywgZXRjLilcbiAgICByZXR1cm4gbWFwQWN0aW9uc1RvUmV0dXJuS2V5cyhhY3Rpb25zKTtcbiAgfSwgW2ZsdXgsIGFjdGlvbk9wdGlvbnMsIGFjdGlvblR5cGVzPy5qb2luKCcsJyldKTtcbn07XG5cbi8qKlxuICogSG9vayB0byBhY2Nlc3MgdGhlIE1ldHJvcG9saXMgY29uZmlndXJhdGlvbiBmcm9tIGNvbnRleHQuXG4gKlxuICogQHJldHVybnMgVGhlIHJlc29sdmVkIGVudmlyb25tZW50LXNwZWNpZmljIGNvbmZpZ3VyYXRpb25cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdXNlZCBvdXRzaWRlIG9mIE1ldHJvcG9saXMgY29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgY29uZmlnID0gdXNlTWV0cm9wb2xpc0NvbmZpZygpO1xuICogY29uc3QgYXBpVXJsID0gY29uZmlnLmFwcD8uYXBpPy51cmw7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZU1ldHJvcG9saXNDb25maWcgPSAoKTogTWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbiA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KE1ldHJvcG9saXNDb250ZXh0KTtcblxuICBpZiAoIWNvbnRleHQ/LmNvbmZpZykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICd1c2VNZXRyb3BvbGlzQ29uZmlnIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBNZXRyb3BvbGlzIGNvbXBvbmVudC4gJyArXG4gICAgICAnTWFrZSBzdXJlIHlvdXIgY29tcG9uZW50IGlzIHdyYXBwZWQgd2l0aCA8TWV0cm9wb2xpcz4gcHJvdmlkZXIuJ1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gY29udGV4dC5jb25maWc7XG59O1xuXG4vKipcbiAqIEhvb2sgdG8gYWNjZXNzIHRoZSBGbHV4IGZyYW1ld29yayBpbnN0YW5jZSBmcm9tIGNvbnRleHQuXG4gKlxuICogQHJldHVybnMgVGhlIEZsdXggZnJhbWV3b3JrIGluc3RhbmNlXG4gKiBAdGhyb3dzIEVycm9yIGlmIHVzZWQgb3V0c2lkZSBvZiBNZXRyb3BvbGlzIGNvbXBvbmVudCBhbmQgbm8gRmx1eCBhdmFpbGFibGVcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBmbHV4ID0gdXNlTWV0cm9wb2xpc0ZsdXgoKTtcbiAqIGNvbnN0IHN0YXRlID0gZmx1eC5nZXRTdGF0ZSgndXNlci5zZXNzaW9uJyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZU1ldHJvcG9saXNGbHV4ID0gKCk6IEZsdXhGcmFtZXdvcmsgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChNZXRyb3BvbGlzQ29udGV4dCk7XG4gIGNvbnN0IGhvb2tGbHV4ID0gdXNlRmx1eCgpO1xuXG4gIC8vIFVzZSBmbHV4IGZyb20gY29udGV4dCBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gdXNlRmx1eCgpIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gIHJldHVybiBjb250ZXh0Py5mbHV4IHx8IGhvb2tGbHV4O1xufTtcblxuLyoqXG4gKiBTcGVjaWFsaXplZCBob29rcyBmb3IgaW5kaXZpZHVhbCBhY3Rpb24gdHlwZXMuXG4gKiBUaGVzZSBob29rcyBvbmx5IGNyZWF0ZSB0aGUgc3BlY2lmaWMgYWN0aW9uIHR5cGUsIGltcHJvdmluZyBwZXJmb3JtYW5jZS5cbiAqL1xuXG5leHBvcnQgY29uc3QgdXNlQ29udGVudEFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtjb250ZW50QWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsnY29udGVudCddKTtcbiAgcmV0dXJuIGNvbnRlbnRBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUF3c1J1bSA9ICgpID0+IHtcbiAgY29uc3Qge2F3c1J1bX0gPSB1c2VNZXRyb3BvbGlzKFsnYXdzUnVtJ10pO1xuICByZXR1cm4gYXdzUnVtO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUNybUFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtjcm1BY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWydjcm0nXSk7XG4gIHJldHVybiBjcm1BY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUV2ZW50QWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge2V2ZW50QWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsnZXZlbnQnXSk7XG4gIHJldHVybiBldmVudEFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlR3JvdXBBY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7Z3JvdXBBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWydncm91cCddKTtcbiAgcmV0dXJuIGdyb3VwQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VJbWFnZUFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtpbWFnZUFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ2ltYWdlJ10pO1xuICByZXR1cm4gaW1hZ2VBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUxvY2F0aW9uQWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge2xvY2F0aW9uQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsnbG9jYXRpb24nXSk7XG4gIHJldHVybiBsb2NhdGlvbkFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlTWVzc2FnZUFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHttZXNzYWdlQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsnbWVzc2FnZSddKTtcbiAgcmV0dXJuIG1lc3NhZ2VBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVN1YnNjcmlwdGlvbkFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtzdWJzY3JpcHRpb25BY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWydzdWJzY3JpcHRpb24nXSk7XG4gIHJldHVybiBzdWJzY3JpcHRpb25BY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVBlcm1pc3Npb25BY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7cGVybWlzc2lvbkFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ3Blcm1pc3Npb24nXSk7XG4gIHJldHVybiBwZXJtaXNzaW9uQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VQb3N0QWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge3Bvc3RBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWydwb3N0J10pO1xuICByZXR1cm4gcG9zdEFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGVyc29uYUFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtwZXJzb25hQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsncGVyc29uYSddKTtcbiAgcmV0dXJuIHBlcnNvbmFBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVJlYWN0aW9uQWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge3JlYWN0aW9uQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsncmVhY3Rpb24nXSk7XG4gIHJldHVybiByZWFjdGlvbkFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUmVzdEFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHtyZXN0QWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsncmVzdCddKTtcbiAgcmV0dXJuIHJlc3RBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVRhZ0FjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHt0YWdBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWyd0YWcnXSk7XG4gIHJldHVybiB0YWdBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVZpZGVvQWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge3ZpZGVvQWN0aW9uc30gPSB1c2VNZXRyb3BvbGlzKFsndmlkZW8nXSk7XG4gIHJldHVybiB2aWRlb0FjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlVHJhbnNsYXRpb25BY3Rpb25zID0gKCkgPT4ge1xuICBjb25zdCB7dHJhbnNsYXRpb25BY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWyd0cmFuc2xhdGlvbiddKTtcbiAgcmV0dXJuIHRyYW5zbGF0aW9uQWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VVc2VyQWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge3VzZXJBY3Rpb25zfSA9IHVzZU1ldHJvcG9saXMoWyd1c2VyJ10pO1xuICByZXR1cm4gdXNlckFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlV2Vic29ja2V0QWN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3Qge3dlYnNvY2tldEFjdGlvbnN9ID0gdXNlTWV0cm9wb2xpcyhbJ3dlYnNvY2tldCddKTtcbiAgcmV0dXJuIHdlYnNvY2tldEFjdGlvbnM7XG59O1xuIl0sIm5hbWVzIjpbInVzZUZsdXgiLCJ1c2VDb250ZXh0IiwidXNlTWVtbyIsImNyZWF0ZUFjdGlvbnMiLCJjcmVhdGVBbGxBY3Rpb25zIiwiTWV0cm9wb2xpc0NvbnRleHQiLCJidWlsZEFjdGlvbk9wdGlvbnMiLCJhZGFwdGVycyIsImNvbmZpZyIsImFwcCIsInJ1bSIsImF3c1J1bSIsIm9wdGlvbnMiLCJDb250ZW50IiwiY29udGVudCIsImNvbnRlbnRBZGFwdGVyIiwiRXZlbnQiLCJldmVudCIsImV2ZW50QWRhcHRlciIsIkltYWdlIiwiaW1hZ2UiLCJpbWFnZUFkYXB0ZXIiLCJMb2NhdGlvbiIsImxvY2F0aW9uIiwibG9jYXRpb25BZGFwdGVyIiwiTWVzc2FnZSIsIm1lc3NhZ2UiLCJtZXNzYWdlQWRhcHRlciIsIlBlcm1pc3Npb24iLCJwZXJtaXNzaW9uIiwicGVybWlzc2lvbkFkYXB0ZXIiLCJQb3N0IiwicG9zdCIsInBvc3RBZGFwdGVyIiwiUGVyc29uYSIsInBlcnNvbmEiLCJwZXJzb25hQWRhcHRlciIsIlJlYWN0aW9uIiwicmVhY3Rpb24iLCJyZWFjdGlvbkFkYXB0ZXIiLCJUYWciLCJ0YWciLCJ0YWdBZGFwdGVyIiwiVHJhbnNsYXRpb24iLCJ0cmFuc2xhdGlvbiIsInRyYW5zbGF0aW9uQWRhcHRlciIsIlVzZXIiLCJ1c2VyIiwidXNlckFkYXB0ZXIiLCJWaWRlbyIsInZpZGVvIiwidmlkZW9BZGFwdGVyIiwibWFwQWN0aW9uc1RvUmV0dXJuS2V5cyIsImFjdGlvbnMiLCJtYXBwZWQiLCJjb250ZW50QWN0aW9ucyIsImNybSIsImNybUFjdGlvbnMiLCJldmVudEFjdGlvbnMiLCJncm91cCIsImdyb3VwQWN0aW9ucyIsImltYWdlQWN0aW9ucyIsImxvY2F0aW9uQWN0aW9ucyIsIm1lc3NhZ2VBY3Rpb25zIiwicGVybWlzc2lvbkFjdGlvbnMiLCJwb3N0QWN0aW9ucyIsInBlcnNvbmFBY3Rpb25zIiwicmVhY3Rpb25BY3Rpb25zIiwicmVzdCIsInJlc3RBY3Rpb25zIiwic3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9uQWN0aW9ucyIsInRhZ0FjdGlvbnMiLCJ0cmFuc2xhdGlvbkFjdGlvbnMiLCJ1c2VyQWN0aW9ucyIsInZpZGVvQWN0aW9ucyIsIndlYnNvY2tldCIsIndlYnNvY2tldEFjdGlvbnMiLCJ1c2VNZXRyb3BvbGlzIiwiYWN0aW9uVHlwZXMiLCJjb250ZXh0IiwiY29udGV4dEZsdXgiLCJmbHV4IiwiaG9va0ZsdXgiLCJhY3Rpb25PcHRpb25zIiwibGVuZ3RoIiwiYWxsQWN0aW9ucyIsImpvaW4iLCJ1c2VNZXRyb3BvbGlzQ29uZmlnIiwiRXJyb3IiLCJ1c2VNZXRyb3BvbGlzRmx1eCIsInVzZUNvbnRlbnRBY3Rpb25zIiwidXNlQXdzUnVtIiwidXNlQ3JtQWN0aW9ucyIsInVzZUV2ZW50QWN0aW9ucyIsInVzZUdyb3VwQWN0aW9ucyIsInVzZUltYWdlQWN0aW9ucyIsInVzZUxvY2F0aW9uQWN0aW9ucyIsInVzZU1lc3NhZ2VBY3Rpb25zIiwidXNlU3Vic2NyaXB0aW9uQWN0aW9ucyIsInVzZVBlcm1pc3Npb25BY3Rpb25zIiwidXNlUG9zdEFjdGlvbnMiLCJ1c2VQZXJzb25hQWN0aW9ucyIsInVzZVJlYWN0aW9uQWN0aW9ucyIsInVzZVJlc3RBY3Rpb25zIiwidXNlVGFnQWN0aW9ucyIsInVzZVZpZGVvQWN0aW9ucyIsInVzZVRyYW5zbGF0aW9uQWN0aW9ucyIsInVzZVVzZXJBY3Rpb25zIiwidXNlV2Vic29ja2V0QWN0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsT0FBTyxRQUFPLDhCQUE4QjtBQUNwRCxTQUFRQyxVQUFVLEVBQUVDLE9BQU8sUUFBTyxRQUFRO0FBSTFDLFNBQVFDLGFBQWEsRUFBRUMsZ0JBQWdCLFFBQU8sNEJBQTRCO0FBRTFFLFNBQVFDLGlCQUFpQixRQUFPLDBCQUEwQjtBQUcxRDs7Q0FFQyxHQUNELE1BQU1DLHFCQUFxQixDQUN6QkMsVUFDQUM7SUFFQSxJQUFJLENBQUNELFVBQVU7UUFDYixPQUFPQyxRQUFRQyxLQUFLQyxNQUFNO1lBQUNDLFFBQVFILE9BQU9DLEdBQUcsQ0FBQ0MsR0FBRztRQUFBLElBQUksQ0FBQztJQUN4RDtJQUVBLE1BQU1FLFVBQXNELENBQUM7SUFFN0QsSUFBR0osUUFBUUMsS0FBS0MsS0FBSztRQUNuQkUsUUFBUUQsTUFBTSxHQUFHSCxPQUFPQyxHQUFHLENBQUNDLEdBQUc7SUFDakM7SUFFQSxJQUFJSCxTQUFTTSxPQUFPLEVBQUU7UUFDcEJELFFBQVFFLE9BQU8sR0FBRztZQUFDQyxnQkFBZ0JSLFNBQVNNLE9BQU87UUFBQTtJQUNyRDtJQUNBLElBQUlOLFNBQVNTLEtBQUssRUFBRTtRQUNsQkosUUFBUUssS0FBSyxHQUFHO1lBQUNDLGNBQWNYLFNBQVNTLEtBQUs7UUFBQTtJQUMvQztJQUNBLElBQUlULFNBQVNZLEtBQUssRUFBRTtRQUNsQlAsUUFBUVEsS0FBSyxHQUFHO1lBQUNDLGNBQWNkLFNBQVNZLEtBQUs7UUFBQTtJQUMvQztJQUNBLElBQUlaLFNBQVNlLFFBQVEsRUFBRTtRQUNyQlYsUUFBUVcsUUFBUSxHQUFHO1lBQUNDLGlCQUFpQmpCLFNBQVNlLFFBQVE7UUFBQTtJQUN4RDtJQUNBLElBQUlmLFNBQVNrQixPQUFP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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nlabs/metropolisjs",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "description": "MetropolisJS is a library to connect users to Reaktor",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -74,12 +74,12 @@
74
74
  },
75
75
  "license": "MIT",
76
76
  "dependencies": {
77
- "@nlabs/rip-hunter": "3.1.0",
78
- "@nlabs/utils": "^2.10.4",
79
- "i18next": "^26.3.4",
77
+ "@nlabs/rip-hunter": "3.1.1",
78
+ "@nlabs/utils": "^2.10.5",
79
+ "i18next": "^26.3.6",
80
80
  "luxon": "^3.7.2",
81
81
  "p-debounce": "^5.1.0",
82
- "react-i18next": "^17.0.8",
82
+ "react-i18next": "^17.0.11",
83
83
  "sockette": "^2.0.6",
84
84
  "zod": "^4.4.3"
85
85
  },
@@ -87,12 +87,12 @@
87
87
  "@nlabs/arkhamjs": "3.31.9",
88
88
  "@nlabs/arkhamjs-storage-browser": "^3.30.6",
89
89
  "@nlabs/arkhamjs-utils-react": "^3.32.7",
90
- "@nlabs/lex": "^1.59.3",
91
- "@types/node": "^26.1.0",
92
- "@types/react": "^19.2.17",
90
+ "@nlabs/lex": "^1.59.5",
91
+ "@types/node": "^26.2.0",
92
+ "@types/react": "^19.2.18",
93
93
  "@vitest/coverage-v8": "^4.1.10",
94
- "react": "^19.2.7",
95
- "typescript": "^6.0.3",
94
+ "react": "^19.2.8",
95
+ "typescript": "^7.0.2",
96
96
  "vitest": "^4.1.10"
97
97
  },
98
98
  "peerDependencies": {
@@ -106,16 +106,11 @@
106
106
  "got": "^14.6.5",
107
107
  "http-cache-semantics": "^4.2.0",
108
108
  "http-proxy-middleware": "^3.0.5",
109
- "is-svg": {
110
- "fast-xml-parser": "^5.8.0"
111
- },
112
- "lodash.pick": "npm:lodash@^4.17.21",
113
109
  "nth-check": "^2.1.1",
114
110
  "postcss": "^8.5.6",
115
111
  "postcss-url": {
116
112
  "minimatch": "^3.1.5"
117
113
  },
118
- "semver-regex": "^4.0.5",
119
- "tmp": "^0.2.5"
114
+ "semver-regex": "^4.0.5"
120
115
  }
121
116
  }