@kaspernj/api-maker 1.0.2113 → 1.0.2114

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 (38) hide show
  1. package/build/collection-loader.js +6 -5
  2. package/build/collection.d.ts +8 -4
  3. package/build/collection.d.ts.map +1 -1
  4. package/build/collection.js +5 -3
  5. package/build/form.d.ts.map +1 -1
  6. package/build/form.js +5 -3
  7. package/build/router/route.d.ts.map +1 -1
  8. package/build/router/route.js +13 -4
  9. package/build/super-admin/edit-page/edit-attribute-checkbox.js +3 -3
  10. package/build/super-admin/edit-page/edit-attribute-content.js +3 -3
  11. package/build/super-admin/edit-page/edit-attribute-input.js +3 -3
  12. package/build/super-admin/edit-page.js +14 -14
  13. package/build/super-admin/index.js +47 -24
  14. package/build/table/table-settings.d.ts.map +1 -1
  15. package/build/table/table-settings.js +7 -1
  16. package/build/table/table.js +47 -21
  17. package/build/table/widths.d.ts +3 -0
  18. package/build/table/widths.d.ts.map +1 -1
  19. package/build/table/widths.js +33 -18
  20. package/build/use-can-can.d.ts.map +1 -1
  21. package/build/use-can-can.js +18 -2
  22. package/build/use-collection.d.ts +33 -30
  23. package/build/use-collection.d.ts.map +1 -1
  24. package/build/use-collection.js +45 -23
  25. package/build/use-current-user-context.d.ts.map +1 -1
  26. package/build/use-current-user-context.js +13 -4
  27. package/build/use-input.js +2 -2
  28. package/build/use-model-event.js +2 -2
  29. package/build/use-model.d.ts.map +1 -1
  30. package/build/use-model.js +24 -12
  31. package/build/use-resize-observer.js +2 -2
  32. package/build/use-router.js +2 -2
  33. package/build/use-shape.d.ts +2 -0
  34. package/build/use-shape.d.ts.map +1 -0
  35. package/build/use-shape.js +2 -0
  36. package/build/use-updated-event.js +2 -2
  37. package/build/use-validation-errors.js +2 -2
  38. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /* eslint-disable jest/require-hook, react/function-component-definition, sort-imports */
3
- import React, { useCallback, useMemo } from "react";
3
+ import React, { useCallback, useEffect, useRef } from "react";
4
4
  import Devise from "./devise.js";
5
5
  import { digg } from "diggerize";
6
6
  import { events } from "./use-current-user.js";
@@ -8,7 +8,7 @@ import * as inflection from "inflection";
8
8
  import Logger from "./logger.js";
9
9
  import Services from "./services.js";
10
10
  import useEventEmitter from "ya-use-event-emitter";
11
- import useShape from "set-state-compare/build/use-shape.js";
11
+ import useShape from "./use-shape.js";
12
12
  const logger = new Logger({ name: "ApiMaker / UseCurrentUserContext" });
13
13
  logger.setDebug(false);
14
14
  /**
@@ -26,15 +26,21 @@ const UseCurrentUserContext = (props) => {
26
26
  const scopeName = `current${inflection.camelize(scope)}`;
27
27
  const scopeInstance = Devise.getScope(scope);
28
28
  const ScopeContext = scopeInstance.getContext();
29
+ const loadCurrentUserRequestIdRef = useRef(0);
29
30
  s.meta.scope = scope;
30
31
  s.meta.scopeName = scopeName;
31
32
  const loadCurrentUserFromRequest = useCallback(async () => {
33
+ // Ignore late current-user responses from discarded mounts so the live provider controls the session state.
34
+ const requestId = loadCurrentUserRequestIdRef.current + 1;
35
+ loadCurrentUserRequestIdRef.current = requestId;
32
36
  const { scope } = s.m;
33
37
  const getArgsMethodName = `get${inflection.camelize(scope)}Args`;
34
38
  const args = Devise[getArgsMethodName]();
35
39
  logger.debug(() => `Loading ${scope} with request`);
36
40
  const result = await Services.current().sendRequest("Devise::Current", { query: args.query, scope });
37
41
  const current = digg(result, "current")[0];
42
+ if (requestId != loadCurrentUserRequestIdRef.current)
43
+ return;
38
44
  if (current)
39
45
  Devise.updateSession(current);
40
46
  s.set({
@@ -75,11 +81,14 @@ const UseCurrentUserContext = (props) => {
75
81
  }
76
82
  });
77
83
  }, []);
78
- useMemo(() => {
84
+ useEffect(() => {
79
85
  if (!Devise.current().hasGlobalCurrentScope(s.m.scope) && !Devise.current().hasCurrentScope(s.m.scope)) {
80
86
  logger.debug(() => `Devise hasn't got current scope ${s.m.scope} so loading from request`);
81
87
  loadCurrentUserFromRequest();
82
88
  }
89
+ return () => {
90
+ loadCurrentUserRequestIdRef.current += 1;
91
+ };
83
92
  }, []);
84
93
  const onDeviseSignIn = useCallback(() => {
85
94
  updateCurrentUser();
@@ -92,4 +101,4 @@ const UseCurrentUserContext = (props) => {
92
101
  return (_jsx(ScopeContext.Provider, { value: s.s.result, children: children }));
93
102
  };
94
103
  export default UseCurrentUserContext;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWN1cnJlbnQtdXNlci1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtY3VycmVudC11c2VyLWNvbnRleHQuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5RkFBeUY7QUFDekYsT0FBTyxLQUFLLEVBQUUsRUFBQyxXQUFXLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ2pELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQTtBQUM1QyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBQ3BDLE9BQU8sZUFBZSxNQUFNLHNCQUFzQixDQUFBO0FBQ2xELE9BQU8sUUFBUSxNQUFNLHNDQUFzQyxDQUFBO0FBRTNELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLGtDQUFrQyxFQUFDLENBQUMsQ0FBQTtBQUVyRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRXRCOzs7OztHQUtHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3RDLE1BQU0sRUFBQyxRQUFRLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxHQUFHLFNBQVMsRUFBQyxHQUFHLEtBQUssQ0FBQTtJQUV0RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFF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ZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUNsRSxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxDQUFBO0lBRXBFLE9BQU8sQ0FDTCxLQUFDLFlBQVksQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxZQUNyQyxRQUFRLEdBQ2EsQ0FDekIsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELGVBQWUscUJBQXFCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBqZXN0L3JlcXVpcmUtaG9vaywgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24sIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZS5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHtldmVudHN9IGZyb20gXCIuL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQgU2VydmljZXMgZnJvbSBcIi4vc2VydmljZXMuanNcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC91c2Utc2hhcGUuanNcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gVXNlQ3VycmVudFVzZXJDb250ZXh0XCJ9KVxuXG5sb2dnZXIuc2V0RGVidWcoZmFsc2UpXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHByb3BzXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcm9wcy5jaGlsZHJlblxuICogQHBhcmFtIHtzdHJpbmd9IFtwcm9wcy5zY29wZV1cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCJyZWFjdFwiKS5SZWFjdE5vZGV9XG4gKi9cbmNvbnN0IFVzZUN1cnJlbnRVc2VyQ29udGV4dCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7Y2hpbGRyZW4sIHNjb3BlID0gXCJ1c2VyXCIsIC4uLnJlc3RQcm9wc30gPSBwcm9wc1xuXG4gIGlmIChPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gVXNlQ3VycmVudFVzZXJDb250ZXh0OiAke09iamVjdC5rZXlzKHJlc3RQcm9wcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBjb25zdCBzID0gdXNlU2hhcGUocHJvcHMpXG4gIGNvbnN0IHNjb3BlTmFtZSA9IGBjdXJyZW50JHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlKX1gXG4gIGNvbnN0IHNjb3BlSW5zdGFuY2UgPSBEZXZpc2UuZ2V0U2NvcGUoc2NvcGUpXG4gIGNvbnN0IFNjb3BlQ29udGV4dCA9IHNjb3BlSW5zdGFuY2UuZ2V0Q29udGV4dCgpXG5cbiAgcy5tZXRhLnNjb3BlID0gc2NvcGVcbiAgcy5tZXRhLnNjb3BlTmFtZSA9IHNjb3BlTmFtZVxuXG4gIGNvbnN0IGxvYWRDdXJyZW50VXNlckZyb21SZXF1ZXN0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtzY29wZX0gPSBzLm1cbiAgICBjb25zdCBnZXRBcmdzTWV0aG9kTmFtZSA9IGBnZXQke2luZmxlY3Rpb24uY2FtZWxpemUoc2NvcGUpfUFyZ3NgXG4gICAgY29uc3QgYXJncyA9IERldmlzZVtnZXRBcmdzTWV0aG9kTmFtZV0oKVxuXG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBMb2FkaW5nICR7c2NvcGV9IHdpdGggcmVxdWVzdGApXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJEZXZpc2U6OkN1cnJlbnRcIiwge3F1ZXJ5OiBhcmdzLnF1ZXJ5LCBzY29wZX0pXG4gICAgY29uc3QgY3VycmVudCA9IGRpZ2cocmVzdWx0LCBcImN1cnJlbnRcIilbMF1cblxuICAgIGlmIChjdXJyZW50KSBEZXZpc2UudXBkYXRlU2Vzc2lvbihjdXJyZW50KVxuXG4gICAgcy5zZXQoe1xuICAgICAgcmVzdWx0OiB7XG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgbW9kZWw6IGN1cnJlbnRcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgZXZlbnRzLmVtaXQoXCJjdXJyZW50VXNlckxvYWRlZFwiLCB7Y3VycmVudH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGRlZmF1bHRDdXJyZW50VXNlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCB7c2NvcGUsIHNjb3BlTmFtZX0gPSBzLm1cbiAgICBsZXQgY3VycmVudFxuXG4gICAgaWYgKERldmlzZS5jdXJyZW50KCkuaGFzQ3VycmVudFNjb3BlKHMubS5zY29wZSkpIHtcbiAgICAgIGN1cnJlbnQgPSBEZXZpc2UuY3VycmVudCgpLmdldEN1cnJlbnRTY29wZShzY29wZSlcblxuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBTZXR0aW5nICR7c2NvcGV9IGZyb20gY3VycmVudCBzY29wZTogJHtjdXJyZW50Py5pZCgpfWApXG4gICAgfSBlbHNlIGlmIChEZXZpc2UuY3VycmVudCgpLmhhc0dsb2JhbEN1cnJlbnRTY29wZShzY29wZSkpIHtcbiAgICAgIGN1cnJlbnQgPSBEZXZpc2Vbc2NvcGVOYW1lXSgpXG5cbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgU2V0dGluZyAke3Njb3BlfSBmcm9tIGdsb2JhbCBjdXJyZW50IHNjb3BlOiAke2N1cnJlbnQ/LmlkKCl9YClcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudCkge1xuICAgICAgZXZlbnRzLmVtaXQoXCJjdXJyZW50VXNlckxvYWRlZFwiLCB7Y3VycmVudH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRcbiAgfSwgW10pXG5cbiAgcy51c2VTdGF0ZXMoe1xuICAgIHJlc3VsdDogKCkgPT4gKHtcbiAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICBtb2RlbDogZGVmYXVsdEN1cnJlbnRVc2VyKClcbiAgICB9KVxuICB9KVxuXG4gIGNvbnN0IHVwZGF0ZUN1cnJlbnRVc2VyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHMuc2V0KHtcbiAgICAgIHJlc3VsdDoge1xuICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgIG1vZGVsOiBEZXZpc2Vbcy5tLnNjb3BlTmFtZV0oKVxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghRGV2aXNlLmN1cnJlbnQoKS5oYXNHbG9iYWxDdXJyZW50U2NvcGUocy5tLnNjb3BlKSAmJiAhRGV2aXNlLmN1cnJlbnQoKS5oYXNDdXJyZW50U2NvcGUocy5tLnNjb3BlKSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBEZXZpc2UgaGFzbid0IGdvdCBjdXJyZW50IHNjb3BlICR7cy5tLnNjb3BlfSBzbyBsb2FkaW5nIGZyb20gcmVxdWVzdGApXG4gICAgICBsb2FkQ3VycmVudFVzZXJGcm9tUmVxdWVzdCgpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBvbkRldmlzZVNpZ25JbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1cGRhdGVDdXJyZW50VXNlcigpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uRGV2aXNlU2lnbk91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1cGRhdGVDdXJyZW50VXNlcigpXG4gIH0sIFtdKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihEZXZpc2UuZXZlbnRzKCksIFwib25EZXZpc2VTaWduSW5cIiwgb25EZXZpc2VTaWduSW4pXG4gIHVzZUV2ZW50RW1pdHRlcihEZXZpc2UuZXZlbnRzKCksIFwib25EZXZpc2VTaWduT3V0XCIsIG9uRGV2aXNlU2lnbk91dClcblxuICByZXR1cm4gKFxuICAgIDxTY29wZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3Mucy5yZXN1bHR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU2NvcGVDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFVzZUN1cnJlbnRVc2VyQ29udGV4dFxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWN1cnJlbnQtdXNlci1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtY3VycmVudC11c2VyLWNvbnRleHQuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5RkFBeUY7QUFDekYsT0FBTyxLQUFLLEVBQUUsRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMzRCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sdUJBQXVCLENBQUE7QUFDNUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUNwQyxPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNsRCxPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFDLElBQUksRUFBRSxrQ0FBa0MsRUFBQyxDQUFDLENBQUE7QUFFckUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV0Qjs7Ozs7R0FLRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUN0QyxNQUFNLEVBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxLQUFLLENBQUE7SUFFdEQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJ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QUFFO1lBQ1YsMkJBQTJCLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQTtRQUMxQyxDQUFDLENBQUE7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1FBQ3RDLGlCQUFpQixFQUFFLENBQUE7SUFDckIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRU4sTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtRQUN2QyxpQkFBaUIsRUFBRSxDQUFBO0lBQ3JCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDbEUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUVwRSxPQUFPLENBQ0wsS0FBQyxZQUFZLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sWUFDckMsUUFBUSxHQUNhLENBQ3pCLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxlQUFlLHFCQUFxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgamVzdC9yZXF1aXJlLWhvb2ssIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge2V2ZW50c30gZnJvbSBcIi4vdXNlLWN1cnJlbnQtdXNlci5qc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi9zZXJ2aWNlcy5qc1wiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCJ5YS11c2UtZXZlbnQtZW1pdHRlclwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcIi4vdXNlLXNoYXBlLmpzXCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFVzZUN1cnJlbnRVc2VyQ29udGV4dFwifSlcblxubG9nZ2VyLnNldERlYnVnKGZhbHNlKVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wc1xuICogQHBhcmFtIHtGdW5jdGlvbn0gcHJvcHMuY2hpbGRyZW5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcHMuc2NvcGVdXG4gKiBAcmV0dXJucyB7aW1wb3J0KFwicmVhY3RcIikuUmVhY3ROb2RlfVxuICovXG5jb25zdCBVc2VDdXJyZW50VXNlckNvbnRleHQgPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge2NoaWxkcmVuLCBzY29wZSA9IFwidXNlclwiLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcblxuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIFVzZUN1cnJlbnRVc2VyQ29udGV4dDogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuICBjb25zdCBzY29wZU5hbWUgPSBgY3VycmVudCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSl9YFxuICBjb25zdCBzY29wZUluc3RhbmNlID0gRGV2aXNlLmdldFNjb3BlKHNjb3BlKVxuICBjb25zdCBTY29wZUNvbnRleHQgPSBzY29wZUluc3RhbmNlLmdldENvbnRleHQoKVxuICBjb25zdCBsb2FkQ3VycmVudFVzZXJSZXF1ZXN0SWRSZWYgPSB1c2VSZWYoMClcblxuICBzLm1ldGEuc2NvcGUgPSBzY29wZVxuICBzLm1ldGEuc2NvcGVOYW1lID0gc2NvcGVOYW1lXG5cbiAgY29uc3QgbG9hZEN1cnJlbnRVc2VyRnJvbVJlcXVlc3QgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgLy8gSWdub3JlIGxhdGUgY3VycmVudC11c2VyIHJlc3BvbnNlcyBmcm9tIGRpc2NhcmRlZCBtb3VudHMgc28gdGhlIGxpdmUgcHJvdmlkZXIgY29udHJvbHMgdGhlIHNlc3Npb24gc3RhdGUuXG4gICAgY29uc3QgcmVxdWVzdElkID0gbG9hZEN1cnJlbnRVc2VyUmVxdWVzdElkUmVmLmN1cnJlbnQgKyAxXG5cbiAgICBsb2FkQ3VycmVudFVzZXJSZXF1ZXN0SWRSZWYuY3VycmVudCA9IHJlcXVlc3RJZFxuICAgIGNvbnN0IHtzY29wZX0gPSBzLm1cbiAgICBjb25zdCBnZXRBcmdzTWV0aG9kTmFtZSA9IGBnZXQke2luZmxlY3Rpb24uY2FtZWxpemUoc2NvcGUpfUFyZ3NgXG4gICAgY29uc3QgYXJncyA9IERldmlzZVtnZXRBcmdzTWV0aG9kTmFtZV0oKVxuXG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBMb2FkaW5nICR7c2NvcGV9IHdpdGggcmVxdWVzdGApXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJEZXZpc2U6OkN1cnJlbnRcIiwge3F1ZXJ5OiBhcmdzLnF1ZXJ5LCBzY29wZX0pXG4gICAgY29uc3QgY3VycmVudCA9IGRpZ2cocmVzdWx0LCBcImN1cnJlbnRcIilbMF1cblxuICAgIGlmIChyZXF1ZXN0SWQgIT0gbG9hZEN1cnJlbnRVc2VyUmVxdWVzdElkUmVmLmN1cnJlbnQpIHJldHVyblxuXG4gICAgaWYgKGN1cnJlbnQpIERldmlzZS51cGRhdGVTZXNzaW9uKGN1cnJlbnQpXG5cbiAgICBzLnNldCh7XG4gICAgICByZXN1bHQ6IHtcbiAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICBtb2RlbDogY3VycmVudFxuICAgICAgfVxuICAgIH0pXG5cbiAgICBldmVudHMuZW1pdChcImN1cnJlbnRVc2VyTG9hZGVkXCIsIHtjdXJyZW50fSlcbiAgfSwgW10pXG5cbiAgY29uc3QgZGVmYXVsdEN1cnJlbnRVc2VyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHtzY29wZSwgc2NvcGVOYW1lfSA9IHMubVxuICAgIGxldCBjdXJyZW50XG5cbiAgICBpZiAoRGV2aXNlLmN1cnJlbnQoKS5oYXNDdXJyZW50U2NvcGUocy5tLnNjb3BlKSkge1xuICAgICAgY3VycmVudCA9IERldmlzZS5jdXJyZW50KCkuZ2V0Q3VycmVudFNjb3BlKHNjb3BlKVxuXG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFNldHRpbmcgJHtzY29wZX0gZnJvbSBjdXJyZW50IHNjb3BlOiAke2N1cnJlbnQ/LmlkKCl9YClcbiAgICB9IGVsc2UgaWYgKERldmlzZS5jdXJyZW50KCkuaGFzR2xvYmFsQ3VycmVudFNjb3BlKHNjb3BlKSkge1xuICAgICAgY3VycmVudCA9IERldmlzZVtzY29wZU5hbWVdKClcblxuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBTZXR0aW5nICR7c2NvcGV9IGZyb20gZ2xvYmFsIGN1cnJlbnQgc2NvcGU6ICR7Y3VycmVudD8uaWQoKX1gKVxuICAgIH1cblxuICAgIGlmIChjdXJyZW50KSB7XG4gICAgICBldmVudHMuZW1pdChcImN1cnJlbnRVc2VyTG9hZGVkXCIsIHtjdXJyZW50fSlcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudFxuICB9LCBbXSlcblxuICBzLnVzZVN0YXRlcyh7XG4gICAgcmVzdWx0OiAoKSA9PiAoe1xuICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgIG1vZGVsOiBkZWZhdWx0Q3VycmVudFVzZXIoKVxuICAgIH0pXG4gIH0pXG5cbiAgY29uc3QgdXBkYXRlQ3VycmVudFVzZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcy5zZXQoe1xuICAgICAgcmVzdWx0OiB7XG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgbW9kZWw6IERldmlzZVtzLm0uc2NvcGVOYW1lXSgpXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIURldmlzZS5jdXJyZW50KCkuaGFzR2xvYmFsQ3VycmVudFNjb3BlKHMubS5zY29wZSkgJiYgIURldmlzZS5jdXJyZW50KCkuaGFzQ3VycmVudFNjb3BlKHMubS5zY29wZSkpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgRGV2aXNlIGhhc24ndCBnb3QgY3VycmVudCBzY29wZSAke3MubS5zY29wZX0gc28gbG9hZGluZyBmcm9tIHJlcXVlc3RgKVxuICAgICAgbG9hZEN1cnJlbnRVc2VyRnJvbVJlcXVlc3QoKVxuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbG9hZEN1cnJlbnRVc2VyUmVxdWVzdElkUmVmLmN1cnJlbnQgKz0gMVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgb25EZXZpc2VTaWduSW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXBkYXRlQ3VycmVudFVzZXIoKVxuICB9LCBbXSlcblxuICBjb25zdCBvbkRldmlzZVNpZ25PdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXBkYXRlQ3VycmVudFVzZXIoKVxuICB9LCBbXSlcblxuICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbkluXCIsIG9uRGV2aXNlU2lnbkluKVxuICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbk91dFwiLCBvbkRldmlzZVNpZ25PdXQpXG5cbiAgcmV0dXJuIChcbiAgICA8U2NvcGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtzLnMucmVzdWx0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1Njb3BlQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBVc2VDdXJyZW50VXNlckNvbnRleHRcbiJdfQ==
@@ -5,7 +5,7 @@ import idForComponent from "./inputs/id-for-component.js";
5
5
  import nameForComponent from "./inputs/name-for-component.js";
6
6
  import strftime from "strftime";
7
7
  import { useForm } from "./form";
8
- import useShape from "set-state-compare/build/use-shape.js";
8
+ import useShape from "./use-shape.js";
9
9
  import useValidationErrors from "./use-validation-errors.js";
10
10
  /**
11
11
  * @param {object} args
@@ -168,4 +168,4 @@ const useInput = ({ props, wrapperOptions, ...useInputRestProps }) => {
168
168
  };
169
169
  };
170
170
  export default useInput;
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWlucHV0LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtaW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUZBQXlGO0FBQ3pGLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ25DLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDN0QsT0FBTyxjQUFjLE1BQU0sOEJBQThCLENBQUE7QUFDekQsT0FBTyxnQkFBZ0IsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUM3RCxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUE7QUFDL0IsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFFBQVEsQ0FBQTtBQUM5QixPQUFPLFFBQVEsTUFBTSxzQ0FBc0MsQ0FBQTtBQUMzRCxPQUFPLG1CQUFtQixNQUFNLDRCQUE0QixDQUFBO0FBRTVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsRUFBQyxFQUFFLEVBQUU7SUFDakUsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFNUQsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFBO0lBRTFCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFFRixTQUFTLENB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QkFBa0IsQ0FBQyxDQUM1RyxDQUFBO0lBRUQsTUFBTSxXQUFXLEdBQUc7UUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2QsS0FBSyxFQUFFLEtBQUssRUFBRTtLQUNmLENBQUE7SUFFRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUE7SUFFckMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRTtRQUNuQixJQUFJLGVBQWUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNqQyxlQUFlLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7SUFDSCxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVoQyxPQUFPO1FBQ0wsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUMxQixXQUFXO1FBQ1gsU0FBUztLQUNWLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxlQUFlLFFBQVEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcGxpY2l0LWFycm93LWxpbmVicmVhaywgbm8tdXNlLWJlZm9yZS1kZWZpbmUsIHByZWZlci1vYmplY3Qtc3ByZWFkICovXG5pbXBvcnQge2RpZywgZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBpZEZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgbmFtZUZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvbmFtZS1mb3ItY29tcG9uZW50LmpzXCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi9mb3JtXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvdXNlLXNoYXBlLmpzXCJcbmltcG9ydCB1c2VWYWxpZGF0aW9uRXJyb3JzIGZyb20gXCIuL3VzZS12YWxpZGF0aW9uLWVycm9ycy5qc1wiXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzLnByb3BzXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncy5wcm9wcy5pbnB1dFJlZlxuICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucHJvcHMudHlwZVxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MucHJvcHMuaW5wdXRQcm9wc1xuICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucHJvcHMuaW5wdXRQcm9wcy5uYW1lXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncy5wcm9wcy5pbnB1dFByb3BzLndyYXBwZXJPcHRzXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncy53cmFwcGVyT3B0aW9uc1xuICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Mud3JhcHBlck9wdGlvbnMudHlwZVxuICogQHJldHVybnMge3tpbnB1dFByb3BzOiBvYmplY3QsIHdyYXBwZXJPcHRzOiBvYmplY3QsIHJlc3RQcm9wczogb2JqZWN0fX1cbiAqL1xuY29uc3QgdXNlSW5wdXQgPSAoe3Byb3BzLCB3cmFwcGVyT3B0aW9ucywgLi4udXNlSW5wdXRSZXN0UHJvcHN9KSA9PiB7XG4gIGNvbnN0IHVzZUlucHV0UmVzdFByb3BzS2V5cyA9IE9iamVjdC5rZXlzKHVzZUlucHV0UmVzdFByb3BzKVxuXG4gIGlmICh1c2VJbnB1dFJlc3RQcm9wc0tleXMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBwcm9wcyBnaXZlbiB0byB1c2VJbnB1dDogJHt1c2VJbnB1dFJlc3RQcm9wc0tleXMuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBjb25zdCBzID0gdXNlU2hhcGUocHJvcHMpXG4gIGNvbnN0IGJhY2t1cFJlZiA9IHVzZVJlZigpXG5cbiAgcy51c2VTdGF0ZXMoe1xuICAgIGZvcm06IHVuZGVmaW5lZFxuICB9KVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0Rm9ybSgpXG4gIH0sIFtzLnByb3BzLmlucHV0UmVmPy5jdXJyZW50XSlcblxuICBzLm1ldGEuZmFrZUNvbXBvbmVudCA9IHtwcm9wc31cbiAgcy5tZXRhLmlzQ2hlY2tib3ggPSBwcm9wcy50eXBlID09IFwiY2hlY2tib3hcIiB8fCB3cmFwcGVyT3B0aW9ucz8udHlwZSA9PSBcImNoZWNrYm94XCJcbiAgcy5tZXRhLmlzU2VsZWN0ID0gd3JhcHBlck9wdGlvbnM/LnR5cGUgPT0gXCJzZWxlY3RcIlxuXG4gIGNvbnN0IGZvcm1hdFZhbHVlID0gdXNlQ2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgY29uc3Qge2Zvcm1hdFZhbHVlfSA9IHMucHJvcHNcblxuICAgIGlmIChmb3JtYXRWYWx1ZSkge1xuICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHZhbHVlKVxuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTih2YWx1ZS5nZXRUaW1lKCkpKSB7XG4gICAgICAvLyBXZSBuZWVkIHRvIHVzZSBhIGNlcnRhaW4gZm9ybWF0IGZvciBkYXRldGltZS1sb2NhbFxuICAgICAgaWYgKGlucHV0VHlwZSgpID09IFwiZGF0ZXRpbWUtbG9jYWxcIikge1xuICAgICAgICByZXR1cm4gc3RyZnRpbWUoXCIlWS0lbS0lZFQlSDolTTolU1wiLCB2YWx1ZSlcbiAgICAgIH0gZWxzZSBpZiAoaW5wdXRUeXBlKCkgPT0gXCJkYXRlXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRcIiwgdmFsdWUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGlucHV0RGVmYXVsdENoZWNrZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKFwiZGVmYXVsdENoZWNrZWRcIiBpbiBzLnByb3BzKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy5kZWZhdWx0Q2hlY2tlZFxuICAgIH0gZWxzZSBpZiAocy5wcm9wcy5hdHRyaWJ1dGUgJiYgcy5wcm9wcy5tb2RlbCkge1xuICAgICAgaWYgKCFzLnByb3BzLm1vZGVsW3MucHJvcHMuYXR0cmlidXRlXSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGF0dHJpYnV0ZTogJHtzLnByb3BzLmF0dHJpYnV0ZX1gKVxuXG4gICAgICByZXR1cm4gcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0oKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaW5wdXREZWZhdWx0VmFsdWUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKFwiZGVmYXVsdFZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHMucHJvcHMuZGVmYXVsdFZhbHVlKVxuICAgIH0gZWxzZSBpZiAocy5wcm9wcy5tb2RlbCAmJiBzLnByb3BzLmF0dHJpYnV0ZSkge1xuICAgICAgaWYgKCFzLnByb3BzLm1vZGVsW3MucHJvcHMuYXR0cmlidXRlXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggYXR0cmlidXRlIGRlZmluZWQgb24gcmVzb3VyY2U6ICR7ZGlnZyhzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKX0jJHtzLnByb3BzLmF0dHJpYnV0ZX1gKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm9ybWF0VmFsdWUocy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0oKSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGlucHV0UmVmID0gdXNlQ2FsbGJhY2soKCkgPT4gcy5wcm9wcy5pbnB1dFJlZiB8fCBiYWNrdXBSZWYpXG5cbiAgY29uc3QgaW5wdXRUeXBlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcInR5cGVcIiBpbiBzLnByb3BzKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy50eXBlXG4gICAgfSBlbHNlIGlmIChzLm0uaXNDaGVja2JveCkge1xuICAgICAgcmV0dXJuIFwiY2hlY2tib3hcIlxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gXCJ0ZXh0XCJcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGxhYmVsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImxhYmVsXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMubGFiZWxcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMuYXR0cmlidXRlICYmIHMucHJvcHMubW9kZWwpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3MoKS5odW1hbkF0dHJpYnV0ZU5hbWUocy5wcm9wcy5hdHRyaWJ1dGUpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBzZXRGb3JtID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGlucHV0UmVmKCkuY3VycmVudFxuXG4gICAgbGV0IGZvcm1cblxuICAgIGlmIChpbnB1dEVsZW1lbnQpIGZvcm0gPSBkaWcoaW5wdXRFbGVtZW50LCBcImZvcm1cIilcbiAgICBpZiAoZm9ybSAmJiBmb3JtICE9IHMucy5mb3JtKSBzLnNldCh7Zm9ybX0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGdldElkID0gdXNlQ2FsbGJhY2soKCkgPT4gaWRGb3JDb21wb25lbnQocy5tLmZha2VDb21wb25lbnQpLCBbXSlcbiAgY29uc3QgZ2V0TmFtZSA9IHVzZUNhbGxiYWNrKCgpID0+IG5hbWVGb3JDb21wb25lbnQocy5tLmZha2VDb21wb25lbnQpLCBbXSlcbiAgY29uc3QgZm9ybUZyb21Db250ZXh0ID0gdXNlRm9ybSgpXG5cbiAgY29uc3QgZ2V0SW5wdXRQcm9wcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBnaXZlbklucHV0UHJvcHMgPSBzLnByb3BzLmlucHV0UHJvcHMgfHwge31cbiAgICBjb25zdCBpbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgaWQ6IGdldElkKCksXG4gICAgICAgIG5hbWU6IGdldE5hbWUoKSxcbiAgICAgICAgcmVmOiBpbnB1dFJlZigpXG4gICAgICB9LFxuICAgICAgZ2l2ZW5JbnB1dFByb3BzXG4gICAgKVxuXG4gICAgaWYgKCFzLm0uaXNDaGVja2JveCAmJiBcInZhbHVlXCIgaW4gcy5wcm9wcyAmJiBcImRlZmF1bHRWYWx1ZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIklucHV0IGNhbm5vdCByZWNlaXZlIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wc1wiKVxuICAgIH1cblxuICAgIGlmIChzLm0uaXNDaGVja2JveCkge1xuICAgICAgaWYgKFwiY2hlY2tlZFwiIGluIHMucHJvcHMpIHtcbiAgICAgICAgaW5wdXRQcm9wcy5jaGVja2VkID0gcy5wcm9wcy5jaGVja2VkXG4gICAgICB9XG5cbiAgICAgIGlmIChcImRlZmF1bHRDaGVja2VkXCIgaW4gcy5wcm9wcyB8fCAocy5wcm9wcy5hdHRyaWJ1dGUgJiYgcy5wcm9wcy5tb2RlbCkpIHtcbiAgICAgICAgaW5wdXRQcm9wcy5kZWZhdWx0Q2hlY2tlZCA9IGlucHV0RGVmYXVsdENoZWNrZWQoKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXCJ2YWx1ZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIGlucHV0UHJvcHMudmFsdWUgPSBzLnByb3BzLnZhbHVlXG4gICAgfSBlbHNlIGlmICghKFwidmFsdWVcIiBpbiBzLnByb3BzKSkge1xuICAgICAgaW5wdXRQcm9wcy5kZWZhdWx0VmFsdWUgPSBpbnB1dERlZmF1bHRWYWx1ZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0UHJvcHNcbiAgfSwgW10pXG5cbiAgY29uc3Qge2lucHV0UHJvcHM6IG9sZElucHV0UHJvcHMsIHdyYXBwZXJPcHRzOiBvbGRXcmFwcGVyT3B0cywgLi4ucmVzdFByb3BzfSA9IHByb3BzXG5cbiAgaWYgKFwidmFsdWVzXCIgaW4gcmVzdFByb3BzICYmIHR5cGVvZiByZXN0UHJvcHMudmFsdWVzID09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBkZWxldGUgcmVzdFByb3BzLnZhbHVlc1xuICB9XG5cbiAgaWYgKFxuICAgIHdyYXBwZXJPcHRpb25zPy50eXBlID09IFwic2VsZWN0XCIgJiZcbiAgICBBcnJheS5pc0FycmF5KHJlc3RQcm9wcy52YWx1ZXMpICYmXG4gICAgcmVzdFByb3BzLnZhbHVlcy5sZW5ndGggPT0gMCAmJlxuICAgIFwiZGVmYXVsdFZhbHVlXCIgaW4gcmVzdFByb3BzICYmXG4gICAgdHlwZW9mIHJlc3RQcm9wcy5kZWZhdWx0VmFsdWUgIT0gXCJ1bmRlZmluZWRcIlxuICApIHtcbiAgICBkZWxldGUgcmVzdFByb3BzLnZhbHVlc1xuICB9XG4gIGNvbnN0IHR5cGUgPSBpbnB1dFR5cGUoKVxuXG4gIHMubWV0YS5pbnB1dFByb3BzID0gZ2V0SW5wdXRQcm9wcygpXG4gIHMubWV0YS5pbnB1dE5hbWVXaXRob3V0SWQgPSB1c2VNZW1vKCgpID0+IHMubS5pbnB1dFByb3BzLm5hbWU/LnJlcGxhY2UoL1xcWyguKylfaWRcXF0kLywgXCJbJDFdXCIpLCBbcy5tLmlucHV0UHJvcHMubmFtZV0pXG5cbiAgaWYgKCFzLm0uaW5wdXRQcm9wcy5yZWYpIHRocm93IG5ldyBFcnJvcihcIk5vIGlucHV0IHJlZj9cIilcbiAgaWYgKCFzLm0uaXNTZWxlY3QpIHMubS5pbnB1dFByb3BzLnR5cGUgPSB0eXBlXG5cbiAgY29uc3Qge3ZhbGlkYXRpb25FcnJvcnN9ID0gdXNlVmFsaWRhdGlvbkVycm9ycygodmFsaWRhdGlvbkVycm9yKSA9PlxuICAgIHZhbGlkYXRpb25FcnJvci5pbnB1dE5hbWUgJiZcbiAgICAgIHMubS5pbnB1dFByb3BzLm5hbWUgJiZcbiAgICAgICh2YWxpZGF0aW9uRXJyb3IuaW5wdXROYW1lID09IHMubS5pbnB1dFByb3BzLm5hbWUgfHwgdmFsaWRhdGlvbkVycm9yLmlucHV0TmFtZSA9PSBzLm0uaW5wdXROYW1lV2l0aG91dElkKVxuICApXG5cbiAgY29uc3Qgd3JhcHBlck9wdHMgPSB7XG4gICAgZXJyb3JzOiB2YWxpZGF0aW9uRXJyb3JzLFxuICAgIGZvcm06IHMucy5mb3JtLFxuICAgIGxhYmVsOiBsYWJlbCgpXG4gIH1cblxuICBjb25zdCBpbnB1dE5hbWUgPSBzLm0uaW5wdXRQcm9wcy5uYW1lXG5cbiAgdXNlRWZmZWN0KCgpID0+ICgpID0+IHtcbiAgICBpZiAoZm9ybUZyb21Db250ZXh0ICYmIGlucHV0TmFtZSkge1xuICAgICAgZm9ybUZyb21Db250ZXh0LnVuc2V0VmFsdWUoaW5wdXROYW1lKVxuICAgIH1cbiAgfSwgW2Zvcm1Gcm9tQ29udGV4dCwgaW5wdXROYW1lXSlcblxuICByZXR1cm4ge1xuICAgIGlucHV0UHJvcHM6IHMubS5pbnB1dFByb3BzLFxuICAgIHdyYXBwZXJPcHRzLFxuICAgIHJlc3RQcm9wc1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUlucHV0XG4iXX0=
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWlucHV0LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtaW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUZBQXlGO0FBQ3pGLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ25DLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDN0QsT0FBTyxjQUFjLE1BQU0sOEJBQThCLENBQUE7QUFDekQsT0FBTyxnQkFBZ0IsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUM3RCxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUE7QUFDL0IsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFFBQVEsQ0FBQTtBQUM5QixPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyQyxPQUFPLG1CQUFtQixNQUFNLDRCQUE0QixDQUFBO0FBRTVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxFQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsRUFBQyxFQUFFLEVBQUU7SUFDakUsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFNUQsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFBO0lBRTFCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFFRixTQUFTLENB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QkFBa0IsQ0FBQyxDQUM1RyxDQUFBO0lBRUQsTUFBTSxXQUFXLEdBQUc7UUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2QsS0FBSyxFQUFFLEtBQUssRUFBRTtLQUNmLENBQUE7SUFFRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUE7SUFFckMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRTtRQUNuQixJQUFJLGVBQWUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNqQyxlQUFlLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7SUFDSCxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVoQyxPQUFPO1FBQ0wsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUMxQixXQUFXO1FBQ1gsU0FBUztLQUNWLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxlQUFlLFFBQVEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcGxpY2l0LWFycm93LWxpbmVicmVhaywgbm8tdXNlLWJlZm9yZS1kZWZpbmUsIHByZWZlci1vYmplY3Qtc3ByZWFkICovXG5pbXBvcnQge2RpZywgZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBpZEZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgbmFtZUZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvbmFtZS1mb3ItY29tcG9uZW50LmpzXCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi9mb3JtXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwiLi91c2Utc2hhcGUuanNcIlxuaW1wb3J0IHVzZVZhbGlkYXRpb25FcnJvcnMgZnJvbSBcIi4vdXNlLXZhbGlkYXRpb24tZXJyb3JzLmpzXCJcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MucHJvcHNcbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzLnByb3BzLmlucHV0UmVmXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wcm9wcy50eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncy5wcm9wcy5pbnB1dFByb3BzXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wcm9wcy5pbnB1dFByb3BzLm5hbWVcbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzLnByb3BzLmlucHV0UHJvcHMud3JhcHBlck9wdHNcbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzLndyYXBwZXJPcHRpb25zXG4gKiBAcGFyYW0ge3N0cmluZ30gYXJncy53cmFwcGVyT3B0aW9ucy50eXBlXG4gKiBAcmV0dXJucyB7e2lucHV0UHJvcHM6IG9iamVjdCwgd3JhcHBlck9wdHM6IG9iamVjdCwgcmVzdFByb3BzOiBvYmplY3R9fVxuICovXG5jb25zdCB1c2VJbnB1dCA9ICh7cHJvcHMsIHdyYXBwZXJPcHRpb25zLCAuLi51c2VJbnB1dFJlc3RQcm9wc30pID0+IHtcbiAgY29uc3QgdXNlSW5wdXRSZXN0UHJvcHNLZXlzID0gT2JqZWN0LmtleXModXNlSW5wdXRSZXN0UHJvcHMpXG5cbiAgaWYgKHVzZUlucHV0UmVzdFByb3BzS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIHVzZUlucHV0OiAke3VzZUlucHV0UmVzdFByb3BzS2V5cy5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGNvbnN0IHMgPSB1c2VTaGFwZShwcm9wcylcbiAgY29uc3QgYmFja3VwUmVmID0gdXNlUmVmKClcblxuICBzLnVzZVN0YXRlcyh7XG4gICAgZm9ybTogdW5kZWZpbmVkXG4gIH0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRGb3JtKClcbiAgfSwgW3MucHJvcHMuaW5wdXRSZWY/LmN1cnJlbnRdKVxuXG4gIHMubWV0YS5mYWtlQ29tcG9uZW50ID0ge3Byb3BzfVxuICBzLm1ldGEuaXNDaGVja2JveCA9IHByb3BzLnR5cGUgPT0gXCJjaGVja2JveFwiIHx8IHdyYXBwZXJPcHRpb25zPy50eXBlID09IFwiY2hlY2tib3hcIlxuICBzLm1ldGEuaXNTZWxlY3QgPSB3cmFwcGVyT3B0aW9ucz8udHlwZSA9PSBcInNlbGVjdFwiXG5cbiAgY29uc3QgZm9ybWF0VmFsdWUgPSB1c2VDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICBjb25zdCB7Zm9ybWF0VmFsdWV9ID0gcy5wcm9wc1xuXG4gICAgaWYgKGZvcm1hdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZm9ybWF0VmFsdWUodmFsdWUpXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLmdldFRpbWUoKSkpIHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdXNlIGEgY2VydGFpbiBmb3JtYXQgZm9yIGRhdGV0aW1lLWxvY2FsXG4gICAgICBpZiAoaW5wdXRUeXBlKCkgPT0gXCJkYXRldGltZS1sb2NhbFwiKSB7XG4gICAgICAgIHJldHVybiBzdHJmdGltZShcIiVZLSVtLSVkVCVIOiVNOiVTXCIsIHZhbHVlKVxuICAgICAgfSBlbHNlIGlmIChpbnB1dFR5cGUoKSA9PSBcImRhdGVcIikge1xuICAgICAgICByZXR1cm4gc3RyZnRpbWUoXCIlWS0lbS0lZFwiLCB2YWx1ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfSwgW10pXG5cbiAgY29uc3QgaW5wdXREZWZhdWx0Q2hlY2tlZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJkZWZhdWx0Q2hlY2tlZFwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLmRlZmF1bHRDaGVja2VkXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSB7XG4gICAgICBpZiAoIXMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggYXR0cmlidXRlOiAke3MucHJvcHMuYXR0cmlidXRlfWApXG5cbiAgICAgIHJldHVybiBzLnByb3BzLm1vZGVsW3MucHJvcHMuYXR0cmlidXRlXSgpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dERlZmF1bHRWYWx1ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJkZWZhdWx0VmFsdWVcIiBpbiBzLnByb3BzKSB7XG4gICAgICByZXR1cm4gZm9ybWF0VmFsdWUocy5wcm9wcy5kZWZhdWx0VmFsdWUpXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLm1vZGVsICYmIHMucHJvcHMuYXR0cmlidXRlKSB7XG4gICAgICBpZiAoIXMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBhdHRyaWJ1dGUgZGVmaW5lZCBvbiByZXNvdXJjZTogJHtkaWdnKHMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpfSMke3MucHJvcHMuYXR0cmlidXRlfWApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZShzLnByb3BzLm1vZGVsW3MucHJvcHMuYXR0cmlidXRlXSgpKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaW5wdXRSZWYgPSB1c2VDYWxsYmFjaygoKSA9PiBzLnByb3BzLmlucHV0UmVmIHx8IGJhY2t1cFJlZilcblxuICBjb25zdCBpbnB1dFR5cGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKFwidHlwZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLnR5cGVcbiAgICB9IGVsc2UgaWYgKHMubS5pc0NoZWNrYm94KSB7XG4gICAgICByZXR1cm4gXCJjaGVja2JveFwiXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBcInRleHRcIlxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgbGFiZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKFwibGFiZWxcIiBpbiBzLnByb3BzKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy5sYWJlbFxuICAgIH0gZWxzZSBpZiAocy5wcm9wcy5hdHRyaWJ1dGUgJiYgcy5wcm9wcy5tb2RlbCkge1xuICAgICAgcmV0dXJuIHMucHJvcHMubW9kZWwubW9kZWxDbGFzcygpLmh1bWFuQXR0cmlidXRlTmFtZShzLnByb3BzLmF0dHJpYnV0ZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNldEZvcm0gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXRSZWYoKS5jdXJyZW50XG5cbiAgICBsZXQgZm9ybVxuXG4gICAgaWYgKGlucHV0RWxlbWVudCkgZm9ybSA9IGRpZyhpbnB1dEVsZW1lbnQsIFwiZm9ybVwiKVxuICAgIGlmIChmb3JtICYmIGZvcm0gIT0gcy5zLmZvcm0pIHMuc2V0KHtmb3JtfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgZ2V0SWQgPSB1c2VDYWxsYmFjaygoKSA9PiBpZEZvckNvbXBvbmVudChzLm0uZmFrZUNvbXBvbmVudCksIFtdKVxuICBjb25zdCBnZXROYW1lID0gdXNlQ2FsbGJhY2soKCkgPT4gbmFtZUZvckNvbXBvbmVudChzLm0uZmFrZUNvbXBvbmVudCksIFtdKVxuICBjb25zdCBmb3JtRnJvbUNvbnRleHQgPSB1c2VGb3JtKClcblxuICBjb25zdCBnZXRJbnB1dFByb3BzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGdpdmVuSW5wdXRQcm9wcyA9IHMucHJvcHMuaW5wdXRQcm9wcyB8fCB7fVxuICAgIGNvbnN0IGlucHV0UHJvcHMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge1xuICAgICAgICBpZDogZ2V0SWQoKSxcbiAgICAgICAgbmFtZTogZ2V0TmFtZSgpLFxuICAgICAgICByZWY6IGlucHV0UmVmKClcbiAgICAgIH0sXG4gICAgICBnaXZlbklucHV0UHJvcHNcbiAgICApXG5cbiAgICBpZiAoIXMubS5pc0NoZWNrYm94ICYmIFwidmFsdWVcIiBpbiBzLnByb3BzICYmIFwiZGVmYXVsdFZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgY2Fubm90IHJlY2VpdmUgYm90aCB2YWx1ZSBhbmQgZGVmYXVsdFZhbHVlIHByb3BzXCIpXG4gICAgfVxuXG4gICAgaWYgKHMubS5pc0NoZWNrYm94KSB7XG4gICAgICBpZiAoXCJjaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgICBpbnB1dFByb3BzLmNoZWNrZWQgPSBzLnByb3BzLmNoZWNrZWRcbiAgICAgIH1cblxuICAgICAgaWYgKFwiZGVmYXVsdENoZWNrZWRcIiBpbiBzLnByb3BzIHx8IChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSkge1xuICAgICAgICBpbnB1dFByb3BzLmRlZmF1bHRDaGVja2VkID0gaW5wdXREZWZhdWx0Q2hlY2tlZCgpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcInZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgaW5wdXRQcm9wcy52YWx1ZSA9IHMucHJvcHMudmFsdWVcbiAgICB9IGVsc2UgaWYgKCEoXCJ2YWx1ZVwiIGluIHMucHJvcHMpKSB7XG4gICAgICBpbnB1dFByb3BzLmRlZmF1bHRWYWx1ZSA9IGlucHV0RGVmYXVsdFZhbHVlKClcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRQcm9wc1xuICB9LCBbXSlcblxuICBjb25zdCB7aW5wdXRQcm9wczogb2xkSW5wdXRQcm9wcywgd3JhcHBlck9wdHM6IG9sZFdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcblxuICBpZiAoXCJ2YWx1ZXNcIiBpbiByZXN0UHJvcHMgJiYgdHlwZW9mIHJlc3RQcm9wcy52YWx1ZXMgPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGRlbGV0ZSByZXN0UHJvcHMudmFsdWVzXG4gIH1cblxuICBpZiAoXG4gICAgd3JhcHBlck9wdGlvbnM/LnR5cGUgPT0gXCJzZWxlY3RcIiAmJlxuICAgIEFycmF5LmlzQXJyYXkocmVzdFByb3BzLnZhbHVlcykgJiZcbiAgICByZXN0UHJvcHMudmFsdWVzLmxlbmd0aCA9PSAwICYmXG4gICAgXCJkZWZhdWx0VmFsdWVcIiBpbiByZXN0UHJvcHMgJiZcbiAgICB0eXBlb2YgcmVzdFByb3BzLmRlZmF1bHRWYWx1ZSAhPSBcInVuZGVmaW5lZFwiXG4gICkge1xuICAgIGRlbGV0ZSByZXN0UHJvcHMudmFsdWVzXG4gIH1cbiAgY29uc3QgdHlwZSA9IGlucHV0VHlwZSgpXG5cbiAgcy5tZXRhLmlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKClcbiAgcy5tZXRhLmlucHV0TmFtZVdpdGhvdXRJZCA9IHVzZU1lbW8oKCkgPT4gcy5tLmlucHV0UHJvcHMubmFtZT8ucmVwbGFjZSgvXFxbKC4rKV9pZFxcXSQvLCBcIlskMV1cIiksIFtzLm0uaW5wdXRQcm9wcy5uYW1lXSlcblxuICBpZiAoIXMubS5pbnB1dFByb3BzLnJlZikgdGhyb3cgbmV3IEVycm9yKFwiTm8gaW5wdXQgcmVmP1wiKVxuICBpZiAoIXMubS5pc1NlbGVjdCkgcy5tLmlucHV0UHJvcHMudHlwZSA9IHR5cGVcblxuICBjb25zdCB7dmFsaWRhdGlvbkVycm9yc30gPSB1c2VWYWxpZGF0aW9uRXJyb3JzKCh2YWxpZGF0aW9uRXJyb3IpID0+XG4gICAgdmFsaWRhdGlvbkVycm9yLmlucHV0TmFtZSAmJlxuICAgICAgcy5tLmlucHV0UHJvcHMubmFtZSAmJlxuICAgICAgKHZhbGlkYXRpb25FcnJvci5pbnB1dE5hbWUgPT0gcy5tLmlucHV0UHJvcHMubmFtZSB8fCB2YWxpZGF0aW9uRXJyb3IuaW5wdXROYW1lID09IHMubS5pbnB1dE5hbWVXaXRob3V0SWQpXG4gIClcblxuICBjb25zdCB3cmFwcGVyT3B0cyA9IHtcbiAgICBlcnJvcnM6IHZhbGlkYXRpb25FcnJvcnMsXG4gICAgZm9ybTogcy5zLmZvcm0sXG4gICAgbGFiZWw6IGxhYmVsKClcbiAgfVxuXG4gIGNvbnN0IGlucHV0TmFtZSA9IHMubS5pbnB1dFByb3BzLm5hbWVcblxuICB1c2VFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgIGlmIChmb3JtRnJvbUNvbnRleHQgJiYgaW5wdXROYW1lKSB7XG4gICAgICBmb3JtRnJvbUNvbnRleHQudW5zZXRWYWx1ZShpbnB1dE5hbWUpXG4gICAgfVxuICB9LCBbZm9ybUZyb21Db250ZXh0LCBpbnB1dE5hbWVdKVxuXG4gIHJldHVybiB7XG4gICAgaW5wdXRQcm9wczogcy5tLmlucHV0UHJvcHMsXG4gICAgd3JhcHBlck9wdHMsXG4gICAgcmVzdFByb3BzXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlSW5wdXRcbiJdfQ==
@@ -2,7 +2,7 @@
2
2
  import { useCallback, useLayoutEffect, useMemo, useRef } from "react";
3
3
  import debounceFunction from "debounce";
4
4
  import ModelEvents from "./model-events.js";
5
- import useShape from "set-state-compare/build/use-shape.js";
5
+ import useShape from "./use-shape.js";
6
6
  /**
7
7
  * @param {object|object[]|undefined|null} modelOrModels
8
8
  * @returns {object[]}
@@ -107,4 +107,4 @@ const apiMakerUseModelEvent = (model, event, onCallback, props) => {
107
107
  }, []);
108
108
  };
109
109
  export default apiMakerUseModelEvent;
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwtZXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDbkUsT0FBTyxnQkFBZ0IsTUFBTSxVQUFVLENBQUE7QUFDdkMsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxRQUFRLE1BQU0sc0NBQXNDLENBQUE7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRTtJQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDeEMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDMUQsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRTtJQUM1QyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFFckIsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQy9DLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUE7SUFDaEMsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLFVBQVUsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCw2QkFBNkI7QUFDN0Isc0NBQXNDO0FBQ3RDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUNoRSxNQUFNLEVBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsU0FBUyxFQUFDLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQTtJQUN4RSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFakMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDdkcsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFFekQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ3BDLElBQUksT0FBTyxRQUFRLElBQUksUUFBUSxFQUFFLENBQUM7WUFDaEMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN6QyxDQUFDO0lBQ0gsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUVkLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBQyxnQkFBZ0IsRUFBQyxDQUFDLENBQUE7SUFFaEMsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ2pELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU07UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFBO1FBQ2pELE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWpELE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDaEIsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7Z0JBQzdFLENBQUM7Z0JBRUQsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7Z0JBQ3pDLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDcEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUNsQyxPQUFNO1lBQ1IsQ0FBQztZQUVELE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1lBQy9GLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLGVBQWUsQ0FBQTtZQUU3QyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDOUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUV2QyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFO1FBQ3pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ2hFLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLGVBQWUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNqRSxDQUFDO1lBRUQsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQy9CLENBQUMsQ0FBQyxDQUFBO1FBRUYsY0FBYyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDN0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ1IsQ0FBQyxDQUFBO0FBRUQsZUFBZSxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgZGVib3VuY2VGdW5jdGlvbiBmcm9tIFwiZGVib3VuY2VcIlxuaW1wb3J0IE1vZGVsRXZlbnRzIGZyb20gXCIuL21vZGVsLWV2ZW50cy5qc1wiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3VzZS1zaGFwZS5qc1wiXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R8b2JqZWN0W118dW5kZWZpbmVkfG51bGx9IG1vZGVsT3JNb2RlbHNcbiAqIEByZXR1cm5zIHtvYmplY3RbXX1cbiAqL1xuY29uc3QgbW9kZWxzRnJvbUlucHV0ID0gKG1vZGVsT3JNb2RlbHMpID0+IHtcbiAgaWYgKCFtb2RlbE9yTW9kZWxzKSB7XG4gICAgcmV0dXJuIFtdXG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShtb2RlbE9yTW9kZWxzKSkge1xuICAgIHJldHVybiBtb2RlbE9yTW9kZWxzLmZpbHRlcihCb29sZWFuKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBbbW9kZWxPck1vZGVsc11cbiAgfVxufVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fG9iamVjdFtdfHVuZGVmaW5lZHxudWxsfSBtb2RlbE9yTW9kZWxzXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5jb25zdCBtb2RlbHNEZXBlbmRlbmN5S2V5ID0gKG1vZGVsT3JNb2RlbHMpID0+IEpTT04uc3RyaW5naWZ5KFxuICBtb2RlbHNGcm9tSW5wdXQobW9kZWxPck1vZGVscykubWFwKChtb2RlbCkgPT4gbW9kZWwuaWQoKSlcbilcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdHxvYmplY3RbXXx1bmRlZmluZWR8bnVsbH0gbW9kZWxPck1vZGVsc1xuICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIG9iamVjdD59XG4gKi9cbmNvbnN0IG1vZGVsc0J5SWRGcm9tSW5wdXQgPSAobW9kZWxPck1vZGVscykgPT4ge1xuICBjb25zdCBtb2RlbHNCeUlkID0ge31cblxuICBtb2RlbHNGcm9tSW5wdXQobW9kZWxPck1vZGVscykuZm9yRWFjaCgobW9kZWwpID0+IHtcbiAgICBtb2RlbHNCeUlkW21vZGVsLmlkKCldID0gbW9kZWxcbiAgfSlcblxuICByZXR1cm4gbW9kZWxzQnlJZFxufVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR8aW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHRbXX0gbW9kZWxcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudFxuICogQHBhcmFtIHtGdW5jdGlvbn0gb25DYWxsYmFja1xuICogQHBhcmFtIHtvYmplY3R9IFtwcm9wc11cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3Byb3BzLmFjdGl2ZV1cbiAqIEBwYXJhbSB7bnVtYmVyfSBbcHJvcHMuZGVib3VuY2VdXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJvcHMub25Db25uZWN0ZWRdXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuLyoqIGFwaU1ha2VyVXNlTW9kZWxFdmVudC4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtcGFyYW1zXG5jb25zdCBhcGlNYWtlclVzZU1vZGVsRXZlbnQgPSAobW9kZWwsIGV2ZW50LCBvbkNhbGxiYWNrLCBwcm9wcykgPT4ge1xuICBjb25zdCB7YWN0aXZlID0gdHJ1ZSwgZGVib3VuY2UsIG9uQ29ubmVjdGVkLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHMgfHwge31cbiAgY29uc3QgY29ubmVjdGlvbnNSZWYgPSB1c2VSZWYoe30pXG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3RQcm9wcykubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBwcm9wcyBnaXZlbiB0byBhcGlNYWtlclVzZU1vZGVsRXZlbnQ6ICR7T2JqZWN0LmtleXMocmVzdFByb3BzKS5qb2luKFwiLCBcIil9YClcbiAgfVxuXG4gIGNvbnN0IHMgPSB1c2VTaGFwZSh7YWN0aXZlLCBkZWJvdW5jZSwgbW9kZWwsIG9uQ2FsbGJhY2t9KVxuXG4gIGNvbnN0IGRlYm91bmNlQ2FsbGJhY2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGRlYm91bmNlID09IFwibnVtYmVyXCIpIHtcbiAgICAgIHJldHVybiBkZWJvdW5jZUZ1bmN0aW9uKHMucC5vbkNhbGxiYWNrLCBkZWJvdW5jZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlYm91bmNlRnVuY3Rpb24ocy5wLm9uQ2FsbGJhY2spXG4gICAgfVxuICB9LCBbZGVib3VuY2VdKVxuXG4gIHMudXBkYXRlTWV0YSh7ZGVib3VuY2VDYWxsYmFja30pXG5cbiAgY29uc3Qgb25DYWxsYmFja0NhbGxiYWNrID0gdXNlQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICBpZiAoIXMucC5hY3RpdmUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChzLnAuZGVib3VuY2UpIHtcbiAgICAgIHMubS5kZWJvdW5jZUNhbGxiYWNrKC4uLmFyZ3MpXG4gICAgfSBlbHNlIHtcbiAgICAgIHMucC5vbkNhbGxiYWNrKC4uLmFyZ3MpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRDb25uZWN0aW9ucyA9IGNvbm5lY3Rpb25zUmVmLmN1cnJlbnRcbiAgICBjb25zdCBuZXh0TW9kZWxzQnlJZCA9IG1vZGVsc0J5SWRGcm9tSW5wdXQobW9kZWwpXG5cbiAgICBPYmplY3Qua2V5cyhjdXJyZW50Q29ubmVjdGlvbnMpLmZvckVhY2goKG1vZGVsSWQpID0+IHtcbiAgICAgIGlmICghKG1vZGVsSWQgaW4gbmV4dE1vZGVsc0J5SWQpKSB7XG4gICAgICAgIGlmIChvbkNvbm5lY3RlZCkge1xuICAgICAgICAgIGN1cnJlbnRDb25uZWN0aW9uc1ttb2RlbElkXS5ldmVudHMucmVtb3ZlTGlzdGVuZXIoXCJjb25uZWN0ZWRcIiwgb25Db25uZWN0ZWQpXG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50Q29ubmVjdGlvbnNbbW9kZWxJZF0udW5zdWJzY3JpYmUoKVxuICAgICAgICBkZWxldGUgY3VycmVudENvbm5lY3Rpb25zW21vZGVsSWRdXG4gICAgICB9XG4gICAgfSlcblxuICAgIE9iamVjdC5rZXlzKG5leHRNb2RlbHNCeUlkKS5mb3JFYWNoKChtb2RlbElkKSA9PiB7XG4gICAgICBpZiAobW9kZWxJZCBpbiBjdXJyZW50Q29ubmVjdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGV2ZW50Q29ubmVjdGlvbiA9IE1vZGVsRXZlbnRzLmNvbm5lY3QobmV4dE1vZGVsc0J5SWRbbW9kZWxJZF0sIGV2ZW50LCBvbkNhbGxiYWNrQ2FsbGJhY2spXG4gICAgICBjdXJyZW50Q29ubmVjdGlvbnNbbW9kZWxJZF0gPSBldmVudENvbm5lY3Rpb25cblxuICAgICAgaWYgKG9uQ29ubmVjdGVkKSB7XG4gICAgICAgIGV2ZW50Q29ubmVjdGlvbi5ldmVudHMuYWRkTGlzdGVuZXIoXCJjb25uZWN0ZWRcIiwgb25Db25uZWN0ZWQpXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW2V2ZW50LCBtb2RlbHNEZXBlbmRlbmN5S2V5KG1vZGVsKV0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+ICgpID0+IHtcbiAgICBPYmplY3QudmFsdWVzKGNvbm5lY3Rpb25zUmVmLmN1cnJlbnQpLmZvckVhY2goKGV2ZW50Q29ubmVjdGlvbikgPT4ge1xuICAgICAgaWYgKG9uQ29ubmVjdGVkKSB7XG4gICAgICAgIGV2ZW50Q29ubmVjdGlvbi5ldmVudHMucmVtb3ZlTGlzdGVuZXIoXCJjb25uZWN0ZWRcIiwgb25Db25uZWN0ZWQpXG4gICAgICB9XG5cbiAgICAgIGV2ZW50Q29ubmVjdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfSlcblxuICAgIGNvbm5lY3Rpb25zUmVmLmN1cnJlbnQgPSB7fVxuICB9LCBbXSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYXBpTWFrZXJVc2VNb2RlbEV2ZW50XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwtZXZlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDbkUsT0FBTyxnQkFBZ0IsTUFBTSxVQUFVLENBQUE7QUFDdkMsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUE7QUFFckM7OztHQUdHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRTtJQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDeEMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDMUQsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRTtJQUM1QyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFFckIsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUss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c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgZGVib3VuY2VGdW5jdGlvbiBmcm9tIFwiZGVib3VuY2VcIlxuaW1wb3J0IE1vZGVsRXZlbnRzIGZyb20gXCIuL21vZGVsLWV2ZW50cy5qc1wiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcIi4vdXNlLXNoYXBlLmpzXCJcblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdHxvYmplY3RbXXx1bmRlZmluZWR8bnVsbH0gbW9kZWxPck1vZGVsc1xuICogQHJldHVybnMge29iamVjdFtdfVxuICovXG5jb25zdCBtb2RlbHNGcm9tSW5wdXQgPSAobW9kZWxPck1vZGVscykgPT4ge1xuICBpZiAoIW1vZGVsT3JNb2RlbHMpIHtcbiAgICByZXR1cm4gW11cbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG1vZGVsT3JNb2RlbHMpKSB7XG4gICAgcmV0dXJuIG1vZGVsT3JNb2RlbHMuZmlsdGVyKEJvb2xlYW4pXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFttb2RlbE9yTW9kZWxzXVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R8b2JqZWN0W118dW5kZWZpbmVkfG51bGx9IG1vZGVsT3JNb2RlbHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmNvbnN0IG1vZGVsc0RlcGVuZGVuY3lLZXkgPSAobW9kZWxPck1vZGVscykgPT4gSlNPTi5zdHJpbmdpZnkoXG4gIG1vZGVsc0Zyb21JbnB1dChtb2RlbE9yTW9kZWxzKS5tYXAoKG1vZGVsKSA9PiBtb2RlbC5pZCgpKVxuKVxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fG9iamVjdFtdfHVuZGVmaW5lZHxudWxsfSBtb2RlbE9yTW9kZWxzXG4gKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgb2JqZWN0Pn1cbiAqL1xuY29uc3QgbW9kZWxzQnlJZEZyb21JbnB1dCA9IChtb2RlbE9yTW9kZWxzKSA9PiB7XG4gIGNvbnN0IG1vZGVsc0J5SWQgPSB7fVxuXG4gIG1vZGVsc0Zyb21JbnB1dChtb2RlbE9yTW9kZWxzKS5mb3JFYWNoKChtb2RlbCkgPT4ge1xuICAgIG1vZGVsc0J5SWRbbW9kZWwuaWQoKV0gPSBtb2RlbFxuICB9KVxuXG4gIHJldHVybiBtb2RlbHNCeUlkXG59XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdHxpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdFtdfSBtb2RlbFxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvbkNhbGxiYWNrXG4gKiBAcGFyYW0ge29iamVjdH0gW3Byb3BzXVxuICogQHBhcmFtIHtib29sZWFufSBbcHJvcHMuYWN0aXZlXVxuICogQHBhcmFtIHtudW1iZXJ9IFtwcm9wcy5kZWJvdW5jZV1cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcm9wcy5vbkNvbm5lY3RlZF1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG4vKiogYXBpTWFrZXJVc2VNb2RlbEV2ZW50LiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1wYXJhbXNcbmNvbnN0IGFwaU1ha2VyVXNlTW9kZWxFdmVudCA9IChtb2RlbCwgZXZlbnQsIG9uQ2FsbGJhY2ssIHByb3BzKSA9PiB7XG4gIGNvbnN0IHthY3RpdmUgPSB0cnVlLCBkZWJvdW5jZSwgb25Db25uZWN0ZWQsIC4uLnJlc3RQcm9wc30gPSBwcm9wcyB8fCB7fVxuICBjb25zdCBjb25uZWN0aW9uc1JlZiA9IHVzZVJlZih7fSlcblxuICBpZiAoT2JqZWN0LmtleXMocmVzdFByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHByb3BzIGdpdmVuIHRvIGFwaU1ha2VyVXNlTW9kZWxFdmVudDogJHtPYmplY3Qua2V5cyhyZXN0UHJvcHMpLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHthY3RpdmUsIGRlYm91bmNlLCBtb2RlbCwgb25DYWxsYmFja30pXG5cbiAgY29uc3QgZGVib3VuY2VDYWxsYmFjayA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgZGVib3VuY2UgPT0gXCJudW1iZXJcIikge1xuICAgICAgcmV0dXJuIGRlYm91bmNlRnVuY3Rpb24ocy5wLm9uQ2FsbGJhY2ssIGRlYm91bmNlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVib3VuY2VGdW5jdGlvbihzLnAub25DYWxsYmFjaylcbiAgICB9XG4gIH0sIFtkZWJvdW5jZV0pXG5cbiAgcy51cGRhdGVNZXRhKHtkZWJvdW5jZUNhbGxiYWNrfSlcblxuICBjb25zdCBvbkNhbGxiYWNrQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgIGlmICghcy5wLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHMucC5kZWJvdW5jZSkge1xuICAgICAgcy5tLmRlYm91bmNlQ2FsbGJhY2soLi4uYXJncylcbiAgICB9IGVsc2Uge1xuICAgICAgcy5wLm9uQ2FsbGJhY2soLi4uYXJncylcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudENvbm5lY3Rpb25zID0gY29ubmVjdGlvbnNSZWYuY3VycmVudFxuICAgIGNvbnN0IG5leHRNb2RlbHNCeUlkID0gbW9kZWxzQnlJZEZyb21JbnB1dChtb2RlbClcblxuICAgIE9iamVjdC5rZXlzKGN1cnJlbnRDb25uZWN0aW9ucykuZm9yRWFjaCgobW9kZWxJZCkgPT4ge1xuICAgICAgaWYgKCEobW9kZWxJZCBpbiBuZXh0TW9kZWxzQnlJZCkpIHtcbiAgICAgICAgaWYgKG9uQ29ubmVjdGVkKSB7XG4gICAgICAgICAgY3VycmVudENvbm5lY3Rpb25zW21vZGVsSWRdLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRDb25uZWN0aW9uc1ttb2RlbElkXS51bnN1YnNjcmliZSgpXG4gICAgICAgIGRlbGV0ZSBjdXJyZW50Q29ubmVjdGlvbnNbbW9kZWxJZF1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgT2JqZWN0LmtleXMobmV4dE1vZGVsc0J5SWQpLmZvckVhY2goKG1vZGVsSWQpID0+IHtcbiAgICAgIGlmIChtb2RlbElkIGluIGN1cnJlbnRDb25uZWN0aW9ucykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZXZlbnRDb25uZWN0aW9uID0gTW9kZWxFdmVudHMuY29ubmVjdChuZXh0TW9kZWxzQnlJZFttb2RlbElkXSwgZXZlbnQsIG9uQ2FsbGJhY2tDYWxsYmFjaylcbiAgICAgIGN1cnJlbnRDb25uZWN0aW9uc1ttb2RlbElkXSA9IGV2ZW50Q29ubmVjdGlvblxuXG4gICAgICBpZiAob25Db25uZWN0ZWQpIHtcbiAgICAgICAgZXZlbnRDb25uZWN0aW9uLmV2ZW50cy5hZGRMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbZXZlbnQsIG1vZGVsc0RlcGVuZGVuY3lLZXkobW9kZWwpXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgIE9iamVjdC52YWx1ZXMoY29ubmVjdGlvbnNSZWYuY3VycmVudCkuZm9yRWFjaCgoZXZlbnRDb25uZWN0aW9uKSA9PiB7XG4gICAgICBpZiAob25Db25uZWN0ZWQpIHtcbiAgICAgICAgZXZlbnRDb25uZWN0aW9uLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcImNvbm5lY3RlZFwiLCBvbkNvbm5lY3RlZClcbiAgICAgIH1cblxuICAgICAgZXZlbnRDb25uZWN0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9KVxuXG4gICAgY29ubmVjdGlvbnNSZWYuY3VycmVudCA9IHt9XG4gIH0sIFtdKVxufVxuXG5leHBvcnQgZGVmYXVsdCBhcGlNYWtlclVzZU1vZGVsRXZlbnRcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"use-model.d.ts","sourceRoot":"/src/","sources":["use-model.js"],"names":[],"mappings":";;eAUc,CAAC,GAAG,EAAE,MAAM,aAAa;WACzB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;uBACvB,MAAM,MAAM,GAAC,MAAM;gBACnB,GAAG,EAAE;YACL;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;kBAChB,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;;;AAPzE;;;;;;;;;GASG;AAEH;;;GAGG;AACH,gBAAgB;AAEhB;;;;EAwNC"}
1
+ {"version":3,"file":"use-model.d.ts","sourceRoot":"/src/","sources":["use-model.js"],"names":[],"mappings":";;eAUc,CAAC,GAAG,EAAE,MAAM,aAAa;WACzB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;uBACvB,MAAM,MAAM,GAAC,MAAM;gBACnB,GAAG,EAAE;YACL;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;kBAChB,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;;;AAPzE;;;;;;;;;GASG;AAEH;;;GAGG;AACH,gBAAgB;AAEhB;;;;EAsOC"}
@@ -1,10 +1,10 @@
1
1
  /* eslint-disable sort-imports */
2
- import { useCallback, useLayoutEffect } from "react";
2
+ import { useCallback, useEffect, useRef } from "react";
3
3
  import Devise from "./devise.js";
4
4
  import * as inflection from "inflection";
5
5
  import ModelEvents from "./model-events.js";
6
6
  import useQueryParams from "on-location-changed/build/use-query-params.js";
7
- import useShape from "set-state-compare/build/use-shape.js";
7
+ import useShape from "./use-shape.js";
8
8
  /**
9
9
  * @typedef {object} useModelArgs
10
10
  * @property {(arg: object) => Function} [callback]
@@ -23,6 +23,7 @@ import useShape from "set-state-compare/build/use-shape.js";
23
23
  // eslint-disable-next-line complexity
24
24
  const useModel = (modelClassArg, argsArg = {}) => {
25
25
  const queryParams = useQueryParams();
26
+ const loadModelGenerationRef = useRef(0);
26
27
  let args, modelClass;
27
28
  if (typeof argsArg == "function") {
28
29
  args = argsArg({ modelClass });
@@ -59,7 +60,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
59
60
  }
60
61
  const modelVariableName = inflection.camelize(modelClass.modelClassData().name, true);
61
62
  const cacheArgs = [modelId];
62
- const loadExistingModel = useCallback(async () => {
63
+ const loadExistingModel = useCallback(async (loadModelGeneration) => {
63
64
  let query;
64
65
  if (s.m.modelId) {
65
66
  query = modelClass.ransack({ id_eq: s.m.modelId });
@@ -77,9 +78,11 @@ const useModel = (modelClassArg, argsArg = {}) => {
77
78
  if (s.props.select)
78
79
  query.select(s.p.select);
79
80
  const model = await query.first();
81
+ if (loadModelGeneration != loadModelGenerationRef.current)
82
+ return;
80
83
  s.set({ model, notFound: !model });
81
84
  }, []);
82
- const loadNewModel = useCallback(async () => {
85
+ const loadNewModel = useCallback(async (loadModelGeneration) => {
83
86
  const ModelClass = modelClass;
84
87
  const paramKey = ModelClass.modelName().paramKey();
85
88
  const modelDataFromParams = s.m.queryParams[paramKey] || {};
@@ -97,17 +100,22 @@ const useModel = (modelClassArg, argsArg = {}) => {
97
100
  isNewRecord: true,
98
101
  data: { a: modelData }
99
102
  });
103
+ if (loadModelGeneration != loadModelGenerationRef.current)
104
+ return;
100
105
  s.set({ model });
101
106
  }, []);
102
107
  const loadModel = useCallback(async () => {
108
+ // Only the newest model request may update state after route or auth changes.
109
+ const loadModelGeneration = loadModelGenerationRef.current + 1;
110
+ loadModelGenerationRef.current = loadModelGeneration;
103
111
  if (!s.m.active) {
104
112
  // Not active - don't do anything
105
113
  }
106
114
  else if (s.props.newIfNoId && !s.m.modelId) {
107
- return await loadNewModel();
115
+ return await loadNewModel(loadModelGeneration);
108
116
  }
109
117
  else if (!s.props.optional || s.m.modelId || s.m.args.query) {
110
- return await loadExistingModel();
118
+ return await loadExistingModel(loadModelGeneration);
111
119
  }
112
120
  }, []);
113
121
  const onDestroyed = useCallback(({ model }) => {
@@ -154,8 +162,12 @@ const useModel = (modelClassArg, argsArg = {}) => {
154
162
  s.set({ model });
155
163
  }
156
164
  }
157
- useLayoutEffect(() => { loadModel(); }, cacheArgs);
158
- useLayoutEffect(() => {
165
+ // Start async model loading after mount so ShapeHook state updates do not race the mount lifecycle.
166
+ useEffect(() => { loadModel(); }, cacheArgs);
167
+ useEffect(() => () => {
168
+ loadModelGenerationRef.current += 1;
169
+ }, []);
170
+ useEffect(() => {
159
171
  let reloadModelCallback;
160
172
  if (args.events) {
161
173
  reloadModelCallback = args.events.addListener("reloadModel", loadModel);
@@ -166,7 +178,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
166
178
  }
167
179
  };
168
180
  }, [args.events]);
169
- useLayoutEffect(() => {
181
+ useEffect(() => {
170
182
  let connectUpdated;
171
183
  if (s.s.model && args.eventUpdated) {
172
184
  connectUpdated = ModelEvents.connectUpdated(s.s.model, loadModel);
@@ -175,7 +187,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
175
187
  connectUpdated?.unsubscribe();
176
188
  };
177
189
  }, [args.eventUpdated, s.s.model?.id()]);
178
- useLayoutEffect(() => {
190
+ useEffect(() => {
179
191
  Devise.events().addListener("onDeviseSignIn", onSignedIn);
180
192
  Devise.events().addListener("onDeviseSignOut", onSignedOut);
181
193
  return () => {
@@ -183,7 +195,7 @@ const useModel = (modelClassArg, argsArg = {}) => {
183
195
  Devise.events().removeListener("onDeviseSignOut", onSignedOut);
184
196
  };
185
197
  });
186
- useLayoutEffect(() => {
198
+ useEffect(() => {
187
199
  let connectDestroyed;
188
200
  if (s.s.model && args.onDestroyed) {
189
201
  connectDestroyed = ModelEvents.connectDestroyed(s.s.model, onDestroyed);
@@ -203,4 +215,4 @@ const useModel = (modelClassArg, argsArg = {}) => {
203
215
  return result;
204
216
  };
205
217
  export default useModel;
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLGNBQWMsTUFBTSwrQ0FBK0MsQ0FBQTtBQUMxRSxPQUFPLFFBQVEsTUFBTSxzQ0FBc0MsQ0FBQTtBQUUzRDs7Ozs7Ozs7O0dBU0c7QUFFSDs7O0dBR0c7QUFDSCxnQkFBZ0I7QUFDaEIsc0NBQXNDO0FBQ3RDLE1BQU0sUUFBUSxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUMvQyxNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQTtJQUNwQyxJQUFJLElBQUksRUFBRSxVQUFVLENBQUE7SUFFcEIsSUFBSSxPQUFPLE9BQU8sSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQTtJQUM5QixDQUFDO1NBQU0sQ0FBQztRQUNOLElBQUksR0FBRyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUV4QixDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ1YsS0FBSyxFQUFFLFNBQVM7UUFDaEIsUUFBUSxFQUFFLFNBQVM7S0FDcEIsQ0FBQyxDQUFBO0lBRUYsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLElBQUksQ0FB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QUFDLENBQUMsQ0FBQTtJQUVGLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsSUFBSSxnQkFBZ0IsQ0FBQTtRQUVwQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDekUsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFO1lBQ1YsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUE7UUFDakMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFdkMsTUFBTSxNQUFNLEdBQUc7UUFDYixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ2hCLE9BQU87UUFDUCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0tBQ3ZCLENBQUE7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUNyQyxNQUFNLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFBO0lBQzFDLE1BQU0sQ0FBQyxHQUFHLGlCQUFpQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtJQUVyRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUVELGVBQWUsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VMYXlvdXRFZmZlY3R9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZS5qc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHMuanNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXMuanNcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC91c2Utc2hhcGUuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IHVzZU1vZGVsQXJnc1xuICogQHByb3BlcnR5IHsoYXJnOiBvYmplY3QpID0+IEZ1bmN0aW9ufSBbY2FsbGJhY2tdXG4gKiBAcHJvcGVydHkgeyhhcmc6IG9iamVjdCkgPT4gb2JqZWN0fSBbYXJnc11cbiAqIEBwcm9wZXJ0eSB7KCkgPT4gbnVtYmVyfHN0cmluZ30gW2xvYWRCeVF1ZXJ5UGFyYW1dXG4gKiBAcHJvcGVydHkge2FueVtdfSBbY2FjaGVBcmdzXVxuICogQHByb3BlcnR5IHt7cGFyYW1zOiBvYmplY3R9fSBbbWF0Y2hdXG4gKiBAcHJvcGVydHkgeyhjdHg6IHsgbW9kZWw6IGltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0IH0pID0+IHZvaWR9IFtvbkRlc3Ryb3llZF1cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9jb2xsZWN0aW9uLmpzXCIpLmRlZmF1bHR9IFtxdWVyeV1cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7RnVuY3Rpb258b2JqZWN0fSBtb2RlbENsYXNzQXJnXG4gKiBAcGFyYW0ge29iamVjdCB8ICgoYXJnczoge21vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0pID0+IHVzZU1vZGVsQXJncyl9IFthcmdzQXJnXVxuICovXG4vKiogdXNlTW9kZWwuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuY29uc3QgdXNlTW9kZWwgPSAobW9kZWxDbGFzc0FyZywgYXJnc0FyZyA9IHt9KSA9PiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdXNlUXVlcnlQYXJhbXMoKVxuICBsZXQgYXJncywgbW9kZWxDbGFzc1xuXG4gIGlmICh0eXBlb2YgYXJnc0FyZyA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBhcmdzID0gYXJnc0FyZyh7bW9kZWxDbGFzc30pXG4gIH0gZWxzZSB7XG4gICAgYXJncyA9IGFyZ3NBcmdcbiAgfVxuXG4gIGNvbnN0IHMgPSB1c2VTaGFwZShhcmdzKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBtb2RlbDogdW5kZWZpbmVkLFxuICAgIG5vdEZvdW5kOiB1bmRlZmluZWRcbiAgfSlcblxuICBpZiAoXCJhY3RpdmVcIiBpbiBzLnByb3BzICYmICFzLnByb3BzLmFjdGl2ZSkge1xuICAgIHMubWV0YS5hY3RpdmUgPSBmYWxzZVxuICB9IGVsc2Uge1xuICAgIHMubWV0YS5hY3RpdmUgPSB0cnVlXG4gIH1cblxuICBpZiAodHlwZW9mIG1vZGVsQ2xhc3NBcmcgPT0gXCJvYmplY3RcIikge1xuICAgIG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzQXJnLmNhbGxiYWNrKHtxdWVyeVBhcmFtc30pXG4gIH0gZWxzZSB7XG4gICAgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NBcmdcbiAgfVxuXG4gIGNvbnN0IHBhcmFtc1ZhcmlhYmxlTmFtZSA9IGAke21vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKX1faWRgXG4gIGxldCBtb2RlbElkXG5cbiAgaWYgKGFyZ3MubG9hZEJ5UXVlcnlQYXJhbSkge1xuICAgIG1vZGVsSWQgPSBhcmdzLmxvYWRCeVF1ZXJ5UGFyYW0oe3F1ZXJ5UGFyYW1zfSlcbiAgfSBlbHNlIGlmICghYXJncy5xdWVyeSkge1xuICAgIGlmICghYXJncy5tYXRjaCkgdGhyb3cgbmV3IEVycm9yKFwiQm90aCAnbG9hZEJ5UXVlcnlQYXJhbScgYW5kICdtYXRjaCcgd2Fzbid0IGdpdmVuXCIpXG5cbiAgICBtb2RlbElkID0gYXJncy5tYXRjaC5wYXJhbXNbcGFyYW1zVmFyaWFibGVOYW1lXSB8fCBhcmdzLm1hdGNoLnBhcmFtcy5pZFxuICB9XG5cbiAgY29uc3QgbW9kZWxWYXJpYWJsZU5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKVxuICBjb25zdCBjYWNoZUFyZ3MgPSBbbW9kZWxJZF1cblxuICBjb25zdCBsb2FkRXhpc3RpbmdNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBsZXQgcXVlcnlcblxuICAgIGlmIChzLm0ubW9kZWxJZCkge1xuICAgICAgcXVlcnkgPSBtb2RlbENsYXNzLnJhbnNhY2soe2lkX2VxOiBzLm0ubW9kZWxJZH0pXG4gICAgfSBlbHNlIGlmIChzLm0uYXJncy5xdWVyeSkge1xuICAgICAgcXVlcnkgPSBzLm0uYXJncy5xdWVyeS5jbG9uZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbW9kZWwgSUQgd2FzIGdpdmVuOiAke3MubS5tb2RlbElkfSBieSAnJHtwYXJhbXNWYXJpYWJsZU5hbWV9JyBpbiBxdWVyeSBwYXJhbXM6ICR7T2JqZWN0LmtleXMocy5wcm9wcy5tYXRjaC5wYXJhbXMpLmpvaW4oXCIsIFwiKX1gKVxuICAgIH1cblxuICAgIGlmIChzLnByb3BzLmFiaWxpdGllcykgcXVlcnkuYWJpbGl0aWVzKHMucC5hYmlsaXRpZXMpXG4gICAgaWYgKHMucHJvcHMucHJlbG9hZCkgcXVlcnkucHJlbG9hZChzLnAucHJlbG9hZClcbiAgICBpZiAocy5wcm9wcy5zZWxlY3QpIHF1ZXJ5LnNlbGVjdChzLnAuc2VsZWN0KVxuXG4gICAgY29uc3QgbW9kZWwgPSBhd2FpdCBxdWVyeS5maXJzdCgpXG5cbiAgICBzLnNldCh7bW9kZWwsIG5vdEZvdW5kOiAhbW9kZWx9KVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkTmV3TW9kZWwgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgTW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcbiAgICBjb25zdCBwYXJhbUtleSA9IE1vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKVxuICAgIGNvbnN0IG1vZGVsRGF0YUZyb21QYXJhbXMgPSBzLm0ucXVlcnlQYXJhbXNbcGFyYW1LZXldIHx8IHt9XG5cbiAgICBsZXQgZGVmYXVsdHMgPSB7fVxuXG4gICAgaWYgKHMucHJvcHMubmV3SWZOb0lkPy5kZWZhdWx0cykge1xuICAgICAgbGV0IGRlZmF1bHRzUmVzdWx0ID0gcy5tLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0XG5cbiAgICAgIGlmIChkZWZhdWx0c1Jlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICBkZWZhdWx0c1Jlc3VsdCA9IHMucHJvcHMubmV3SWZOb0lkLmRlZmF1bHRzKClcbiAgICAgIH1cblxuICAgICAgcy5tZXRhLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0ID0gbnVsbFxuICAgICAgZGVmYXVsdHMgPSBhd2FpdCBkZWZhdWx0c1Jlc3VsdFxuICAgIH1cblxuICAgIGNvbnN0IG1vZGVsRGF0YSA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdHMsIHMucHJvcHMubmV3QXR0cmlidXRlcywgbW9kZWxEYXRhRnJvbVBhcmFtcylcbiAgICBjb25zdCBtb2RlbCA9IG5ldyBNb2RlbENsYXNzKHtcbiAgICAgIGlzTmV3UmVjb3JkOiB0cnVlLFxuICAgICAgZGF0YToge2E6IG1vZGVsRGF0YX1cbiAgICB9KVxuXG4gICAgcy5zZXQoe21vZGVsfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgbG9hZE1vZGVsID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGlmICghcy5tLmFjdGl2ZSkge1xuICAgICAgLy8gTm90IGFjdGl2ZSAtIGRvbid0IGRvIGFueXRoaW5nXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLm5ld0lmTm9JZCAmJiAhcy5tLm1vZGVsSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCBsb2FkTmV3TW9kZWwoKVxuICAgIH0gZWxzZSBpZiAoIXMucHJvcHMub3B0aW9uYWwgfHwgcy5tLm1vZGVsSWQgfHwgcy5tLmFyZ3MucXVlcnkpIHtcbiAgICAgIHJldHVybiBhd2FpdCBsb2FkRXhpc3RpbmdNb2RlbCgpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBvbkRlc3Ryb3llZCA9IHVzZUNhbGxiYWNrKCh7bW9kZWx9KSA9PiB7XG4gICAgY29uc3QgZm9yd2FyZEFyZ3MgPSB7bW9kZWx9XG5cbiAgICBmb3J3YXJkQXJnc1tzLm0ubW9kZWxWYXJpYWJsZU5hbWVdID0gbW9kZWxcblxuICAgIHMucC5vbkRlc3Ryb3llZChmb3J3YXJkQXJncylcbiAgfSwgW10pXG5cbiAgY29uc3Qgb25TaWduZWRJbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBsb2FkTW9kZWwoKVxuICB9LCBbXSlcblxuICBjb25zdCBvblNpZ25lZE91dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBsb2FkTW9kZWwoKVxuICB9LCBbXSlcblxuICBpZiAoYXJncy5jYWNoZUFyZ3MpIHtcbiAgICBjYWNoZUFyZ3MucHVzaCguLi5hcmdzLmNhY2hlQXJncylcbiAgfVxuXG4gIHMudXBkYXRlTWV0YSh7YXJncywgbW9kZWxJZCwgbW9kZWxWYXJpYWJsZU5hbWUsIHF1ZXJ5UGFyYW1zfSlcbiAgaWYgKHMubWV0YS5zeW5jTmV3TW9kZWwgPT0gdW5kZWZpbmVkKSBzLm1ldGEuc3luY05ld01vZGVsID0gZmFsc2VcbiAgaWYgKHMubWV0YS5uZXdJZk5vSWREZWZhdWx0c1Jlc3VsdCA9PSB1bmRlZmluZWQpIHMubWV0YS5uZXdJZk5vSWREZWZhdWx0c1Jlc3VsdCA9IG51bGxcblxuICBpZiAocy5tLmFjdGl2ZSAmJiBzLnByb3BzLm5ld0lmTm9JZCAmJiAhcy5tLm1vZGVsSWQgJiYgIXMucy5tb2RlbCAmJiAhcy5tLnN5bmNOZXdNb2RlbCkge1xuICAgIGlmIChzLnByb3BzLm5ld0lmTm9JZD8uZGVmYXVsdHMgJiYgcy5tLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0ID09PSBudWxsKSB7XG4gICAgICBjb25zdCBkZWZhdWx0c1Jlc3VsdCA9IHMucHJvcHMubmV3SWZOb0lkLmRlZmF1bHRzKClcblxuICAgICAgaWYgKGRlZmF1bHRzUmVzdWx0ICYmIHR5cGVvZiBkZWZhdWx0c1Jlc3VsdC50aGVuID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBzLm1ldGEubmV3SWZOb0lkRGVmYXVsdHNSZXN1bHQgPSBkZWZhdWx0c1Jlc3VsdC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcy5tZXRhLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0ID0gZGVmYXVsdHNSZXN1bHRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIShzLm0ubmV3SWZOb0lkRGVmYXVsdHNSZXN1bHQgJiYgdHlwZW9mIHMubS5uZXdJZk5vSWREZWZhdWx0c1Jlc3VsdC50aGVuID09IFwiZnVuY3Rpb25cIikpIHtcbiAgICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG4gICAgICBjb25zdCBwYXJhbUtleSA9IE1vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKVxuICAgICAgY29uc3QgbW9kZWxEYXRhRnJvbVBhcmFtcyA9IHMubS5xdWVyeVBhcmFtc1twYXJhbUtleV0gfHwge31cbiAgICAgIGNvbnN0IG1vZGVsRGF0YSA9IE9iamVjdC5hc3NpZ24ocy5tLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0IHx8IHt9LCBzLnByb3BzLm5ld0F0dHJpYnV0ZXMsIG1vZGVsRGF0YUZyb21QYXJhbXMpXG4gICAgICBjb25zdCBtb2RlbCA9IG5ldyBNb2RlbENsYXNzKHtcbiAgICAgICAgaXNOZXdSZWNvcmQ6IHRydWUsXG4gICAgICAgIGRhdGE6IHthOiBtb2RlbERhdGF9XG4gICAgICB9KVxuXG4gICAgICBzLm1ldGEuc3luY05ld01vZGVsID0gbW9kZWxcbiAgICAgIHMuc2V0KHttb2RlbH0pXG4gICAgfVxuICB9XG5cbiAgdXNlTGF5b3V0RWZmZWN0KFxuICAgICgpID0+IHsgbG9hZE1vZGVsKCkgfSxcbiAgICBjYWNoZUFyZ3NcbiAgKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlbG9hZE1vZGVsQ2FsbGJhY2tcblxuICAgIGlmIChhcmdzLmV2ZW50cykge1xuICAgICAgcmVsb2FkTW9kZWxDYWxsYmFjayA9IGFyZ3MuZXZlbnRzLmFkZExpc3RlbmVyKFwicmVsb2FkTW9kZWxcIiwgbG9hZE1vZGVsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVsb2FkTW9kZWxDYWxsYmFjaykge1xuICAgICAgICBhcmdzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcInJlbG9hZE1vZGVsXCIsIGxvYWRNb2RlbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthcmdzLmV2ZW50c10pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY29ubmVjdFVwZGF0ZWRcblxuICAgIGlmIChzLnMubW9kZWwgJiYgYXJncy5ldmVudFVwZGF0ZWQpIHtcbiAgICAgIGNvbm5lY3RVcGRhdGVkID0gTW9kZWxFdmVudHMuY29ubmVjdFVwZGF0ZWQocy5zLm1vZGVsLCBsb2FkTW9kZWwpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbm5lY3RVcGRhdGVkPy51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9LCBbYXJncy5ldmVudFVwZGF0ZWQsIHMucy5tb2RlbD8uaWQoKV0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBEZXZpc2UuZXZlbnRzKCkuYWRkTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25JblwiLCBvblNpZ25lZEluKVxuICAgIERldmlzZS5ldmVudHMoKS5hZGRMaXN0ZW5lcihcIm9uRGV2aXNlU2lnbk91dFwiLCBvblNpZ25lZE91dClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBEZXZpc2UuZXZlbnRzKCkucmVtb3ZlTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25JblwiLCBvblNpZ25lZEluKVxuICAgICAgRGV2aXNlLmV2ZW50cygpLnJlbW92ZUxpc3RlbmVyKFwib25EZXZpc2VTaWduT3V0XCIsIG9uU2lnbmVkT3V0KVxuICAgIH1cbiAgfSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjb25uZWN0RGVzdHJveWVkXG5cbiAgICBpZiAocy5zLm1vZGVsICYmIGFyZ3Mub25EZXN0cm95ZWQpIHtcbiAgICAgIGNvbm5lY3REZXN0cm95ZWQgPSBNb2RlbEV2ZW50cy5jb25uZWN0RGVzdHJveWVkKHMucy5tb2RlbCwgb25EZXN0cm95ZWQpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbm5lY3REZXN0cm95ZWQ/LnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH0sIFthcmdzLm9uRGVzdHJveWVkLCBzLnMubW9kZWw/LmlkKCldKVxuXG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBtb2RlbDogcy5zLm1vZGVsLFxuICAgIG1vZGVsSWQsXG4gICAgbm90Rm91bmQ6IHMucy5ub3RGb3VuZFxuICB9XG5cbiAgcmVzdWx0W21vZGVsVmFyaWFibGVOYW1lXSA9IHMucy5tb2RlbFxuICByZXN1bHRbYCR7bW9kZWxWYXJpYWJsZU5hbWV9SWRgXSA9IG1vZGVsSWRcbiAgcmVzdWx0W2Ake21vZGVsVmFyaWFibGVOYW1lfU5vdEZvdW5kYF0gPSBzLnMubm90Rm91bmRcblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZU1vZGVsXG4iXX0=
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2UtbW9kZWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwRCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFDMUUsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUE7QUFFckM7Ozs7Ozs7OztHQVNHO0FBRUg7OztHQUdHO0FBQ0gsZ0JBQWdCO0FBQ2hCLHNDQUFzQztBQUN0QyxNQUFNLFFBQVEsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDL0MsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUE7SUFDcEMsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDeEMsSUFBSSxJQUFJLEVBQUUsVUFBVSxDQUFBO0lBRXBCLElBQUksT0FBTyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7UUFDakMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFDOUIsQ0FBQztTQUFNLENBQUM7UUFDTixJQUFJLEdBQUcsT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFeEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNWLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFFBQVEsRUFBRSxTQUFTO0tBQ3BCLENBQUMsQ0FBQTtJQUVGLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxD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LEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0tBQ3ZCLENBQUE7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUNyQyxNQUFNLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFBO0lBQzFDLE1BQU0sQ0FBQyxHQUFHLGlCQUFpQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtJQUVyRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUVELGVBQWUsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IE1vZGVsRXZlbnRzIGZyb20gXCIuL21vZGVsLWV2ZW50cy5qc1wiXG5pbXBvcnQgdXNlUXVlcnlQYXJhbXMgZnJvbSBcIm9uLWxvY2F0aW9uLWNoYW5nZWQvYnVpbGQvdXNlLXF1ZXJ5LXBhcmFtcy5qc1wiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcIi4vdXNlLXNoYXBlLmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSB1c2VNb2RlbEFyZ3NcbiAqIEBwcm9wZXJ0eSB7KGFyZzogb2JqZWN0KSA9PiBGdW5jdGlvbn0gW2NhbGxiYWNrXVxuICogQHByb3BlcnR5IHsoYXJnOiBvYmplY3QpID0+IG9iamVjdH0gW2FyZ3NdXG4gKiBAcHJvcGVydHkgeygpID0+IG51bWJlcnxzdHJpbmd9IFtsb2FkQnlRdWVyeVBhcmFtXVxuICogQHByb3BlcnR5IHthbnlbXX0gW2NhY2hlQXJnc11cbiAqIEBwcm9wZXJ0eSB7e3BhcmFtczogb2JqZWN0fX0gW21hdGNoXVxuICogQHByb3BlcnR5IHsoY3R4OiB7IG1vZGVsOiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdCB9KSA9PiB2b2lkfSBbb25EZXN0cm95ZWRdXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vY29sbGVjdGlvbi5qc1wiKS5kZWZhdWx0fSBbcXVlcnldXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufG9iamVjdH0gbW9kZWxDbGFzc0FyZ1xuICogQHBhcmFtIHtvYmplY3QgfCAoKGFyZ3M6IHttb2RlbENsYXNzOiB0eXBlb2YgaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9KSA9PiB1c2VNb2RlbEFyZ3MpfSBbYXJnc0FyZ11cbiAqL1xuLyoqIHVzZU1vZGVsLiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbmNvbnN0IHVzZU1vZGVsID0gKG1vZGVsQ2xhc3NBcmcsIGFyZ3NBcmcgPSB7fSkgPT4ge1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IHVzZVF1ZXJ5UGFyYW1zKClcbiAgY29uc3QgbG9hZE1vZGVsR2VuZXJhdGlvblJlZiA9IHVzZVJlZigwKVxuICBsZXQgYXJncywgbW9kZWxDbGFzc1xuXG4gIGlmICh0eXBlb2YgYXJnc0FyZyA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBhcmdzID0gYXJnc0FyZyh7bW9kZWxDbGFzc30pXG4gIH0gZWxzZSB7XG4gICAgYXJncyA9IGFyZ3NBcmdcbiAgfVxuXG4gIGNvbnN0IHMgPSB1c2VTaGFwZShhcmdzKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBtb2RlbDogdW5kZWZpbmVkLFxuICAgIG5vdEZvdW5kOiB1bmRlZmluZWRcbiAgfSlcblxuICBpZiAoXCJhY3RpdmVcIiBpbiBzLnByb3BzICYmICFzLnByb3BzLmFjdGl2ZSkge1xuICAgIHMubWV0YS5hY3RpdmUgPSBmYWxzZVxuICB9IGVsc2Uge1xuICAgIHMubWV0YS5hY3RpdmUgPSB0cnVlXG4gIH1cblxuICBpZiAodHlwZW9mIG1vZGVsQ2xhc3NBcmcgPT0gXCJvYmplY3RcIikge1xuICAgIG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzQXJnLmNhbGxiYWNrKHtxdWVyeVBhcmFtc30pXG4gIH0gZWxzZSB7XG4gICAgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NBcmdcbiAgfVxuXG4gIGNvbnN0IHBhcmFtc1ZhcmlhYmxlTmFtZSA9IGAke21vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKX1faWRgXG4gIGxldCBtb2RlbElkXG5cbiAgaWYgKGFyZ3MubG9hZEJ5UXVlcnlQYXJhbSkge1xuICAgIG1vZGVsSWQgPSBhcmdzLmxvYWRCeVF1ZXJ5UGFyYW0oe3F1ZXJ5UGFyYW1zfSlcbiAgfSBlbHNlIGlmICghYXJncy5xdWVyeSkge1xuICAgIGlmICghYXJncy5tYXRjaCkgdGhyb3cgbmV3IEVycm9yKFwiQm90aCAnbG9hZEJ5UXVlcnlQYXJhbScgYW5kICdtYXRjaCcgd2Fzbid0IGdpdmVuXCIpXG5cbiAgICBtb2RlbElkID0gYXJncy5tYXRjaC5wYXJhbXNbcGFyYW1zVmFyaWFibGVOYW1lXSB8fCBhcmdzLm1hdGNoLnBhcmFtcy5pZFxuICB9XG5cbiAgY29uc3QgbW9kZWxWYXJpYWJsZU5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKVxuICBjb25zdCBjYWNoZUFyZ3MgPSBbbW9kZWxJZF1cblxuICBjb25zdCBsb2FkRXhpc3RpbmdNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jIChsb2FkTW9kZWxHZW5lcmF0aW9uKSA9PiB7XG4gICAgbGV0IHF1ZXJ5XG5cbiAgICBpZiAocy5tLm1vZGVsSWQpIHtcbiAgICAgIHF1ZXJ5ID0gbW9kZWxDbGFzcy5yYW5zYWNrKHtpZF9lcTogcy5tLm1vZGVsSWR9KVxuICAgIH0gZWxzZSBpZiAocy5tLmFyZ3MucXVlcnkpIHtcbiAgICAgIHF1ZXJ5ID0gcy5tLmFyZ3MucXVlcnkuY2xvbmUoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vZGVsIElEIHdhcyBnaXZlbjogJHtzLm0ubW9kZWxJZH0gYnkgJyR7cGFyYW1zVmFyaWFibGVOYW1lfScgaW4gcXVlcnkgcGFyYW1zOiAke09iamVjdC5rZXlzKHMucHJvcHMubWF0Y2gucGFyYW1zKS5qb2luKFwiLCBcIil9YClcbiAgICB9XG5cbiAgICBpZiAocy5wcm9wcy5hYmlsaXRpZXMpIHF1ZXJ5LmFiaWxpdGllcyhzLnAuYWJpbGl0aWVzKVxuICAgIGlmIChzLnByb3BzLnByZWxvYWQpIHF1ZXJ5LnByZWxvYWQocy5wLnByZWxvYWQpXG4gICAgaWYgKHMucHJvcHMuc2VsZWN0KSBxdWVyeS5zZWxlY3Qocy5wLnNlbGVjdClcblxuICAgIGNvbnN0IG1vZGVsID0gYXdhaXQgcXVlcnkuZmlyc3QoKVxuXG4gICAgaWYgKGxvYWRNb2RlbEdlbmVyYXRpb24gIT0gbG9hZE1vZGVsR2VuZXJhdGlvblJlZi5jdXJyZW50KSByZXR1cm5cblxuICAgIHMuc2V0KHttb2RlbCwgbm90Rm91bmQ6ICFtb2RlbH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGxvYWROZXdNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jIChsb2FkTW9kZWxHZW5lcmF0aW9uKSA9PiB7XG4gICAgY29uc3QgTW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcbiAgICBjb25zdCBwYXJhbUtleSA9IE1vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKVxuICAgIGNvbnN0IG1vZGVsRGF0YUZyb21QYXJhbXMgPSBzLm0ucXVlcnlQYXJhbXNbcGFyYW1LZXldIHx8IHt9XG5cbiAgICBsZXQgZGVmYXVsdHMgPSB7fVxuXG4gICAgaWYgKHMucHJvcHMubmV3SWZOb0lkPy5kZWZhdWx0cykge1xuICAgICAgbGV0IGRlZmF1bHRzUmVzdWx0ID0gcy5tLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0XG5cbiAgICAgIGlmIChkZWZhdWx0c1Jlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICBkZWZhdWx0c1Jlc3VsdCA9IHMucHJvcHMubmV3SWZOb0lkLmRlZmF1bHRzKClcbiAgICAgIH1cblxuICAgICAgcy5tZXRhLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0ID0gbnVsbFxuICAgICAgZGVmYXVsdHMgPSBhd2FpdCBkZWZhdWx0c1Jlc3VsdFxuICAgIH1cblxuICAgIGNvbnN0IG1vZGVsRGF0YSA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdHMsIHMucHJvcHMubmV3QXR0cmlidXRlcywgbW9kZWxEYXRhRnJvbVBhcmFtcylcbiAgICBjb25zdCBtb2RlbCA9IG5ldyBNb2RlbENsYXNzKHtcbiAgICAgIGlzTmV3UmVjb3JkOiB0cnVlLFxuICAgICAgZGF0YToge2E6IG1vZGVsRGF0YX1cbiAgICB9KVxuXG4gICAgaWYgKGxvYWRNb2RlbEdlbmVyYXRpb24gIT0gbG9hZE1vZGVsR2VuZXJhdGlvblJlZi5jdXJyZW50KSByZXR1cm5cblxuICAgIHMuc2V0KHttb2RlbH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGxvYWRNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICAvLyBPbmx5IHRoZSBuZXdlc3QgbW9kZWwgcmVxdWVzdCBtYXkgdXBkYXRlIHN0YXRlIGFmdGVyIHJvdXRlIG9yIGF1dGggY2hhbmdlcy5cbiAgICBjb25zdCBsb2FkTW9kZWxHZW5lcmF0aW9uID0gbG9hZE1vZGVsR2VuZXJhdGlvblJlZi5jdXJyZW50ICsgMVxuXG4gICAgbG9hZE1vZGVsR2VuZXJhdGlvblJlZi5jdXJyZW50ID0gbG9hZE1vZGVsR2VuZXJhdGlvblxuICAgIGlmICghcy5tLmFjdGl2ZSkge1xuICAgICAgLy8gTm90IGFjdGl2ZSAtIGRvbid0IGRvIGFueXRoaW5nXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLm5ld0lmTm9JZCAmJiAhcy5tLm1vZGVsSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCBsb2FkTmV3TW9kZWwobG9hZE1vZGVsR2VuZXJhdGlvbilcbiAgICB9IGVsc2UgaWYgKCFzLnByb3BzLm9wdGlvbmFsIHx8IHMubS5tb2RlbElkIHx8IHMubS5hcmdzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gYXdhaXQgbG9hZEV4aXN0aW5nTW9kZWwobG9hZE1vZGVsR2VuZXJhdGlvbilcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uRGVzdHJveWVkID0gdXNlQ2FsbGJhY2soKHttb2RlbH0pID0+IHtcbiAgICBjb25zdCBmb3J3YXJkQXJncyA9IHttb2RlbH1cblxuICAgIGZvcndhcmRBcmdzW3MubS5tb2RlbFZhcmlhYmxlTmFtZV0gPSBtb2RlbFxuXG4gICAgcy5wLm9uRGVzdHJveWVkKGZvcndhcmRBcmdzKVxuICB9LCBbXSlcblxuICBjb25zdCBvblNpZ25lZEluID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGxvYWRNb2RlbCgpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uU2lnbmVkT3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGxvYWRNb2RlbCgpXG4gIH0sIFtdKVxuXG4gIGlmIChhcmdzLmNhY2hlQXJncykge1xuICAgIGNhY2hlQXJncy5wdXNoKC4uLmFyZ3MuY2FjaGVBcmdzKVxuICB9XG5cbiAgcy51cGRhdGVNZXRhKHthcmdzLCBtb2RlbElkLCBtb2RlbFZhcmlhYmxlTmFtZSwgcXVlcnlQYXJhbXN9KVxuICBpZiAocy5tZXRhLnN5bmNOZXdNb2RlbCA9PSB1bmRlZmluZWQpIHMubWV0YS5zeW5jTmV3TW9kZWwgPSBmYWxzZVxuICBpZiAocy5tZXRhLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0ID09IHVuZGVmaW5lZCkgcy5tZXRhLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0ID0gbnVsbFxuXG4gIGlmIChzLm0uYWN0aXZlICYmIHMucHJvcHMubmV3SWZOb0lkICYmICFzLm0ubW9kZWxJZCAmJiAhcy5zLm1vZGVsICYmICFzLm0uc3luY05ld01vZGVsKSB7XG4gICAgaWYgKHMucHJvcHMubmV3SWZOb0lkPy5kZWZhdWx0cyAmJiBzLm0ubmV3SWZOb0lkRGVmYXVsdHNSZXN1bHQgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRzUmVzdWx0ID0gcy5wcm9wcy5uZXdJZk5vSWQuZGVmYXVsdHMoKVxuXG4gICAgICBpZiAoZGVmYXVsdHNSZXN1bHQgJiYgdHlwZW9mIGRlZmF1bHRzUmVzdWx0LnRoZW4gPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHMubWV0YS5uZXdJZk5vSWREZWZhdWx0c1Jlc3VsdCA9IGRlZmF1bHRzUmVzdWx0LmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHRocm93IGVycm9yXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzLm1ldGEubmV3SWZOb0lkRGVmYXVsdHNSZXN1bHQgPSBkZWZhdWx0c1Jlc3VsdFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghKHMubS5uZXdJZk5vSWREZWZhdWx0c1Jlc3VsdCAmJiB0eXBlb2Ygcy5tLm5ld0lmTm9JZERlZmF1bHRzUmVzdWx0LnRoZW4gPT0gXCJmdW5jdGlvblwiKSkge1xuICAgICAgY29uc3QgTW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcbiAgICAgIGNvbnN0IHBhcmFtS2V5ID0gTW9kZWxDbGFzcy5tb2RlbE5hbWUoKS5wYXJhbUtleSgpXG4gICAgICBjb25zdCBtb2RlbERhdGFGcm9tUGFyYW1zID0gcy5tLnF1ZXJ5UGFyYW1zW3BhcmFtS2V5XSB8fCB7fVxuICAgICAgY29uc3QgbW9kZWxEYXRhID0gT2JqZWN0LmFzc2lnbihzLm0ubmV3SWZOb0lkRGVmYXVsdHNSZXN1bHQgfHwge30sIHMucHJvcHMubmV3QXR0cmlidXRlcywgbW9kZWxEYXRhRnJvbVBhcmFtcylcbiAgICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsQ2xhc3Moe1xuICAgICAgICBpc05ld1JlY29yZDogdHJ1ZSxcbiAgICAgICAgZGF0YToge2E6IG1vZGVsRGF0YX1cbiAgICAgIH0pXG5cbiAgICAgIHMubWV0YS5zeW5jTmV3TW9kZWwgPSBtb2RlbFxuICAgICAgcy5zZXQoe21vZGVsfSlcbiAgICB9XG4gIH1cblxuICAvLyBTdGFydCBhc3luYyBtb2RlbCBsb2FkaW5nIGFmdGVyIG1vdW50IHNvIFNoYXBlSG9vayBzdGF0ZSB1cGRhdGVzIGRvIG5vdCByYWNlIHRoZSBtb3VudCBsaWZlY3ljbGUuXG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PiB7IGxvYWRNb2RlbCgpIH0sXG4gICAgY2FjaGVBcmdzXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4gKCkgPT4ge1xuICAgIGxvYWRNb2RlbEdlbmVyYXRpb25SZWYuY3VycmVudCArPSAxXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlbG9hZE1vZGVsQ2FsbGJhY2tcblxuICAgIGlmIChhcmdzLmV2ZW50cykge1xuICAgICAgcmVsb2FkTW9kZWxDYWxsYmFjayA9IGFyZ3MuZXZlbnRzLmFkZExpc3RlbmVyKFwicmVsb2FkTW9kZWxcIiwgbG9hZE1vZGVsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVsb2FkTW9kZWxDYWxsYmFjaykge1xuICAgICAgICBhcmdzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihcInJlbG9hZE1vZGVsXCIsIGxvYWRNb2RlbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthcmdzLmV2ZW50c10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY29ubmVjdFVwZGF0ZWRcblxuICAgIGlmIChzLnMubW9kZWwgJiYgYXJncy5ldmVudFVwZGF0ZWQpIHtcbiAgICAgIGNvbm5lY3RVcGRhdGVkID0gTW9kZWxFdmVudHMuY29ubmVjdFVwZGF0ZWQocy5zLm1vZGVsLCBsb2FkTW9kZWwpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbm5lY3RVcGRhdGVkPy51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9LCBbYXJncy5ldmVudFVwZGF0ZWQsIHMucy5tb2RlbD8uaWQoKV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBEZXZpc2UuZXZlbnRzKCkuYWRkTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25JblwiLCBvblNpZ25lZEluKVxuICAgIERldmlzZS5ldmVudHMoKS5hZGRMaXN0ZW5lcihcIm9uRGV2aXNlU2lnbk91dFwiLCBvblNpZ25lZE91dClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBEZXZpc2UuZXZlbnRzKCkucmVtb3ZlTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25JblwiLCBvblNpZ25lZEluKVxuICAgICAgRGV2aXNlLmV2ZW50cygpLnJlbW92ZUxpc3RlbmVyKFwib25EZXZpc2VTaWduT3V0XCIsIG9uU2lnbmVkT3V0KVxuICAgIH1cbiAgfSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjb25uZWN0RGVzdHJveWVkXG5cbiAgICBpZiAocy5zLm1vZGVsICYmIGFyZ3Mub25EZXN0cm95ZWQpIHtcbiAgICAgIGNvbm5lY3REZXN0cm95ZWQgPSBNb2RlbEV2ZW50cy5jb25uZWN0RGVzdHJveWVkKHMucy5tb2RlbCwgb25EZXN0cm95ZWQpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbm5lY3REZXN0cm95ZWQ/LnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH0sIFthcmdzLm9uRGVzdHJveWVkLCBzLnMubW9kZWw/LmlkKCldKVxuXG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBtb2RlbDogcy5zLm1vZGVsLFxuICAgIG1vZGVsSWQsXG4gICAgbm90Rm91bmQ6IHMucy5ub3RGb3VuZFxuICB9XG5cbiAgcmVzdWx0W21vZGVsVmFyaWFibGVOYW1lXSA9IHMucy5tb2RlbFxuICByZXN1bHRbYCR7bW9kZWxWYXJpYWJsZU5hbWV9SWRgXSA9IG1vZGVsSWRcbiAgcmVzdWx0W2Ake21vZGVsVmFyaWFibGVOYW1lfU5vdEZvdW5kYF0gPSBzLnMubm90Rm91bmRcblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZU1vZGVsXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useLayoutEffect, useMemo } from "react";
2
- import useShape from "set-state-compare/build/use-shape.js";
2
+ import useShape from "./use-shape.js";
3
3
  /**
4
4
  * @param {object} element
5
5
  * @param {Function} callback
@@ -23,4 +23,4 @@ const useResizeObserver = (element, callback) => {
23
23
  }, [element]);
24
24
  };
25
25
  export default useResizeObserver;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJlc2l6ZS1vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXJlc2l6ZS1vYnNlcnZlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDM0QsT0FBTyxRQUFRLE1BQU0sc0NBQXNDLENBQUE7QUFFM0Q7Ozs7R0FJRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDOUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUM5QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDdkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ04sTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRWhFLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDM0IsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7WUFDdkIsQ0FBQztRQUNILENBQUMsQ0FBQTtJQUNILENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDZixDQUFDLENBQUE7QUFFRCxlQUFlLGlCQUFpQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC91c2Utc2hhcGUuanNcIlxuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBlbGVtZW50XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmNvbnN0IHVzZVJlc2l6ZU9ic2VydmVyID0gKGVsZW1lbnQsIGNhbGxiYWNrKSA9PiB7XG4gIGNvbnN0IHMgPSB1c2VTaGFwZSh7Y2FsbGJhY2t9KVxuICBjb25zdCBvblJlc2l6ZSA9IHVzZUNhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgcy5wLmNhbGxiYWNrKC4uLmFyZ3MpXG4gIH0sIFtdKVxuICBjb25zdCBvYnNlcnZlciA9IHVzZU1lbW8oKCkgPT4gbmV3IFJlc2l6ZU9ic2VydmVyKG9uUmVzaXplKSwgW10pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50KVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlbGVtZW50XSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlUmVzaXplT2JzZXJ2ZXJcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJlc2l6ZS1vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXJlc2l6ZS1vYnNlcnZlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDM0QsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUE7QUFFckM7Ozs7R0FJRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDOUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUM5QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDdkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ04sTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRWhFLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDM0IsQ0FBQztRQUVELE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7WUFDdkIsQ0FBQztRQUNILENBQUMsQ0FBQTtJQUNILENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDZixDQUFDLENBQUE7QUFFRCxlQUFlLGlCQUFpQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCIuL3VzZS1zaGFwZS5qc1wiXG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGVsZW1lbnRcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuY29uc3QgdXNlUmVzaXplT2JzZXJ2ZXIgPSAoZWxlbWVudCwgY2FsbGJhY2spID0+IHtcbiAgY29uc3QgcyA9IHVzZVNoYXBlKHtjYWxsYmFja30pXG4gIGNvbnN0IG9uUmVzaXplID0gdXNlQ2FsbGJhY2soKC4uLmFyZ3MpID0+IHtcbiAgICBzLnAuY2FsbGJhY2soLi4uYXJncylcbiAgfSwgW10pXG4gIGNvbnN0IG9ic2VydmVyID0gdXNlTWVtbygoKSA9PiBuZXcgUmVzaXplT2JzZXJ2ZXIob25SZXNpemUpLCBbXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2VsZW1lbnRdKVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VSZXNpemVPYnNlcnZlclxuIl19
@@ -5,7 +5,7 @@ import * as inflection from "inflection";
5
5
  import PropTypes from "prop-types";
6
6
  import propTypesExact from "prop-types-exact";
7
7
  import { useCallback, useMemo } from "react";
8
- import useShape from "set-state-compare/build/use-shape.js";
8
+ import useShape from "./use-shape.js";
9
9
  const useRouterPropTypes = propTypesExact({
10
10
  locales: PropTypes.array.isRequired,
11
11
  path: PropTypes.string,
@@ -93,4 +93,4 @@ const useRouter = (props) => {
93
93
  return { match };
94
94
  };
95
95
  export default useRouter;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXJvdXRlci5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMxQyxPQUFPLFFBQVEsTUFBTSxzQ0FBc0MsQ0FBQTtBQUUzRCxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQztJQUN4QyxPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO0lBQ25DLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtJQUN0QixnQkFBZ0IsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7SUFDN0MsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtDQUNwQyxDQUFDLENBQUE7QUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzFCLFNBQVMsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUV4RSxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFekIsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRTdDLEtBQUssTUFBTSxJ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QUMsZUFBZSxDQUFDLElBQUksSUFBSSxHQUFHO2dCQUFFLE9BQU8sR0FBRyxJQUFJLENBQUE7WUFDbkYsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLEVBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFDLENBQUE7WUFDeEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixNQUFNLGFBQWEsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLGFBQWEsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFBO0lBQzFDLE1BQU0sS0FBSyxHQUFHO1FBQ1osYUFBYTtRQUNiLE1BQU07S0FDUCxDQUFBO0lBRUQsT0FBTyxFQUFDLEtBQUssRUFBQyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQUVELGVBQWUsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgZXNjYXBlU3RyaW5nUmVnZXhwIGZyb20gXCJlc2NhcGUtc3RyaW5nLXJlZ2V4cFwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3VzZS1zaGFwZS5qc1wiXG5cbmNvbnN0IHVzZVJvdXRlclByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgbG9jYWxlczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIHBhdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJvdXRlRGVmaW5pdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgcm91dGVzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbn0pXG5cbmNvbnN0IHVzZVJvdXRlciA9IChwcm9wcykgPT4ge1xuICBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXModXNlUm91dGVyUHJvcFR5cGVzLCBwcm9wcywgXCJwcm9wXCIsIFwidXNlUm91dGVyXCIpXG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuXG4gIGNvbnN0IGZpbmRSb3V0ZVBhcmFtcyA9IHVzZUNhbGxiYWNrKChyb3V0ZURlZmluaXRpb24pID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBbXVxuICAgIGNvbnN0IHBhcnRzID0gcm91dGVEZWZpbml0aW9uLnBhdGguc3BsaXQoXCIvXCIpXG5cbiAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgIGlmIChwYXJ0Lm1hdGNoKC9eOihbYS16X10rKSQvKSlcbiAgICAgICAgcmVzdWx0LnB1c2gocGFydClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGdldFBhdGggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbGV0IHBhdGggPSBzLnAucGF0aCB8fCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWVcblxuICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1svXSskLywgXCJcIilcblxuICAgIHJldHVybiBwYXRoXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGdldFJvdXRlRGVmaW5pdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiBzLnAucm91dGVEZWZpbml0aW9ucyB8fCBjb25maWcuZ2V0Um91dGVEZWZpbml0aW9ucygpLCBbXSlcbiAgY29uc3QgZ2V0Um91dGVzID0gdXNlQ2FsbGJhY2soKCkgPT4gcy5wLnJvdXRlcyB8fCBjb25maWcuZ2V0Um91dGVzKCksIFtdKVxuXG4gIGNvbnN0IHBhcnNlUm91dGVEZWZpbml0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCByb3V0ZURlZmluaXRpb25zID0gZ2V0Um91dGVEZWZpbml0aW9ucygpXG4gICAgY29uc3Qgcm91dGVzID0gZ2V0Um91dGVzKClcbiAgICBjb25zdCByZWdleCA9IC86KFtBLXpcXGRfXSspL1xuICAgIGNvbnN0IHBhcnNlZFJvdXRlRGVmaW5pdGlvbnMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBsb2NhbGUgb2Ygcy5wLmxvY2FsZXMpIHtcbiAgICAgIGZvciAoY29uc3Qgcm91dGVEZWZpbml0aW9uIG9mIHJvdXRlRGVmaW5pdGlvbnMucm91dGVzKSB7XG4gICAgICAgIGNvbnN0IHJvdXRlUGF0aE5hbWUgPSBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKHJvdXRlRGVmaW5pdGlvbi5uYW1lLCB0cnVlKX1QYXRoYFxuICAgICAgICBjb25zdCBwYXJhbXMgPSBmaW5kUm91dGVQYXJhbXMocm91dGVEZWZpbml0aW9uKVxuXG4gICAgICAgIHBhcmFtcy5wdXNoKHtsb2NhbGV9KVxuXG4gICAgICAgIGlmICghKHJvdXRlUGF0aE5hbWUgaW4gcm91dGVzKSlcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cm91dGVQYXRoTmFtZX0gbm90IGZvdW5kIGluIHJvdXRlczogJHtPYmplY3Qua2V5cyhyb3V0ZXMsIFwiLCBcIil9YClcblxuICAgICAgICBjb25zdCByb3V0ZVBhdGggPSByb3V0ZXNbcm91dGVQYXRoTmFtZV0oLi4ucGFyYW1zKS5yZXBsYWNlKC9bL10rJC8sIFwiXCIpXG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IFtdXG4gICAgICAgIGxldCBwYXRoUmVnZXhTdHJpbmcgPSBcIl5cIlxuXG4gICAgICAgIHBhdGhSZWdleFN0cmluZyArPSBlc2NhcGVTdHJpbmdSZWdleHAocm91dGVQYXRoKVxuXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgY29uc3QgbWF0Y2ggPSBwYXRoUmVnZXhTdHJpbmcubWF0Y2gocmVnZXgpXG5cbiAgICAgICAgICBpZiAoIW1hdGNoKSBicmVha1xuXG4gICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gbWF0Y2hbMV1cblxuICAgICAgICAgIGdyb3Vwcy5wdXNoKHZhcmlhYmxlTmFtZSlcblxuICAgICAgICAgIHBhdGhSZWdleFN0cmluZyA9IHBhdGhSZWdleFN0cmluZy5yZXBsYWNlKG1hdGNoWzBdLCBcIihbXi9dKylcIilcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGhSZWdleFN0cmluZyArPSBcIiRcIlxuXG4gICAgICAgIGNvbnN0IHBhdGhSZWdleCA9IG5ldyBSZWdFeHAocGF0aFJlZ2V4U3RyaW5nKVxuXG4gICAgICAgIHBhcnNlZFJvdXRlRGVmaW5pdGlvbnMucHVzaCh7Z3JvdXBzLCBwYXRoUmVnZXgsIHJvdXRlRGVmaW5pdGlvbn0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlZFJvdXRlRGVmaW5pdGlvbnNcbiAgfSwgW10pXG5cbiAgY29uc3QgcGFyc2VkUm91dGVEZWZpbml0aW9ucyA9IHVzZU1lbW8oKCkgPT4gcGFyc2VSb3V0ZURlZmluaXRpb25zKCksIFtdKVxuXG4gIHMudXBkYXRlTWV0YSh7cGFyc2VkUm91dGVEZWZpbml0aW9uc30pXG5cbiAgY29uc3QgZmluZE1hdGNoaW5nUm91dGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IGdldFBhdGgoKVxuXG4gICAgZm9yIChjb25zdCBwYXJzZWRSb3V0ZURlZmluaXRpb24gb2Ygcy5tLnBhcnNlZFJvdXRlRGVmaW5pdGlvbnMpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gcGF0aC5tYXRjaChwYXJzZWRSb3V0ZURlZmluaXRpb24ucGF0aFJlZ2V4KVxuICAgICAgbGV0IG1hdGNoZWQsIHBhcmFtc1xuXG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgbWF0Y2hlZCA9IHRydWVcbiAgICAgICAgcGFyYW1zID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwS2V5IGluIHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5ncm91cHMpIHtcbiAgICAgICAgICBjb25zdCBncm91cE5hbWUgPSBwYXJzZWRSb3V0ZURlZmluaXRpb24uZ3JvdXBzW2dyb3VwS2V5XVxuXG4gICAgICAgICAgcGFyYW1zW2dyb3VwTmFtZV0gPSBtYXRjaFtOdW1iZXIoZ3JvdXBLZXkpICsgMV1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAocGF0aCA9PSBcIlwiICYmIHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5yb3V0ZURlZmluaXRpb24ucGF0aCA9PSBcIi9cIikgbWF0Y2hlZCA9IHRydWVcbiAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgIHJldHVybiB7cGFyYW1zLCBwYXJzZWRSb3V0ZURlZmluaXRpb259XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBtYXRjaGluZ1JvdXRlID0gZmluZE1hdGNoaW5nUm91dGUoKVxuICBjb25zdCBwYXJhbXMgPSBtYXRjaGluZ1JvdXRlPy5wYXJhbXMgfHwge31cbiAgY29uc3QgbWF0Y2ggPSB7XG4gICAgbWF0Y2hpbmdSb3V0ZSxcbiAgICBwYXJhbXNcbiAgfVxuXG4gIHJldHVybiB7bWF0Y2h9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVJvdXRlclxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXNlLXJvdXRlci5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMxQyxPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyQyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQztJQUN4QyxPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO0lBQ25DLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtJQUN0QixnQkFBZ0IsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7SUFDN0MsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtDQUNwQyxDQUFDLENBQUE7QUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzFCLFNBQVMsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUV4RSxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFekIsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRTdDLEtBQUssTUFBTSxJ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QUMsZUFBZSxDQUFDLElBQUksSUFBSSxHQUFHO2dCQUFFLE9BQU8sR0FBRyxJQUFJLENBQUE7WUFDbkYsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLEVBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFDLENBQUE7WUFDeEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixNQUFNLGFBQWEsR0FBRyxpQkFBaUIsRUFBRSxDQUFBO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLGFBQWEsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFBO0lBQzFDLE1BQU0sS0FBSyxHQUFHO1FBQ1osYUFBYTtRQUNiLE1BQU07S0FDUCxDQUFBO0lBRUQsT0FBTyxFQUFDLEtBQUssRUFBQyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQUVELGVBQWUsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgZXNjYXBlU3RyaW5nUmVnZXhwIGZyb20gXCJlc2NhcGUtc3RyaW5nLXJlZ2V4cFwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcIi4vdXNlLXNoYXBlLmpzXCJcblxuY29uc3QgdXNlUm91dGVyUHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICBsb2NhbGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgcGF0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcm91dGVEZWZpbml0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICByb3V0ZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZFxufSlcblxuY29uc3QgdXNlUm91dGVyID0gKHByb3BzKSA9PiB7XG4gIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyh1c2VSb3V0ZXJQcm9wVHlwZXMsIHByb3BzLCBcInByb3BcIiwgXCJ1c2VSb3V0ZXJcIilcblxuICBjb25zdCBzID0gdXNlU2hhcGUocHJvcHMpXG5cbiAgY29uc3QgZmluZFJvdXRlUGFyYW1zID0gdXNlQ2FsbGJhY2soKHJvdXRlRGVmaW5pdGlvbikgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdXG4gICAgY29uc3QgcGFydHMgPSByb3V0ZURlZmluaXRpb24ucGF0aC5zcGxpdChcIi9cIilcblxuICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgICAgaWYgKHBhcnQubWF0Y2goL146KFthLXpfXSspJC8pKVxuICAgICAgICByZXN1bHQucHVzaChwYXJ0KVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfSwgW10pXG5cbiAgY29uc3QgZ2V0UGF0aCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBsZXQgcGF0aCA9IHMucC5wYXRoIHx8IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZVxuXG4gICAgcGF0aCA9IHBhdGgucmVwbGFjZSgvWy9dKyQvLCBcIlwiKVxuXG4gICAgcmV0dXJuIHBhdGhcbiAgfSwgW10pXG5cbiAgY29uc3QgZ2V0Um91dGVEZWZpbml0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHMucC5yb3V0ZURlZmluaXRpb25zIHx8IGNvbmZpZy5nZXRSb3V0ZURlZmluaXRpb25zKCksIFtdKVxuICBjb25zdCBnZXRSb3V0ZXMgPSB1c2VDYWxsYmFjaygoKSA9PiBzLnAucm91dGVzIHx8IGNvbmZpZy5nZXRSb3V0ZXMoKSwgW10pXG5cbiAgY29uc3QgcGFyc2VSb3V0ZURlZmluaXRpb25zID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHJvdXRlRGVmaW5pdGlvbnMgPSBnZXRSb3V0ZURlZmluaXRpb25zKClcbiAgICBjb25zdCByb3V0ZXMgPSBnZXRSb3V0ZXMoKVxuICAgIGNvbnN0IHJlZ2V4ID0gLzooW0EtelxcZF9dKykvXG4gICAgY29uc3QgcGFyc2VkUm91dGVEZWZpbml0aW9ucyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGxvY2FsZSBvZiBzLnAubG9jYWxlcykge1xuICAgICAgZm9yIChjb25zdCByb3V0ZURlZmluaXRpb24gb2Ygcm91dGVEZWZpbml0aW9ucy5yb3V0ZXMpIHtcbiAgICAgICAgY29uc3Qgcm91dGVQYXRoTmFtZSA9IGAke2luZmxlY3Rpb24uY2FtZWxpemUocm91dGVEZWZpbml0aW9uLm5hbWUsIHRydWUpfVBhdGhgXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IGZpbmRSb3V0ZVBhcmFtcyhyb3V0ZURlZmluaXRpb24pXG5cbiAgICAgICAgcGFyYW1zLnB1c2goe2xvY2FsZX0pXG5cbiAgICAgICAgaWYgKCEocm91dGVQYXRoTmFtZSBpbiByb3V0ZXMpKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtyb3V0ZVBhdGhOYW1lfSBub3QgZm91bmQgaW4gcm91dGVzOiAke09iamVjdC5rZXlzKHJvdXRlcywgXCIsIFwiKX1gKVxuXG4gICAgICAgIGNvbnN0IHJvdXRlUGF0aCA9IHJvdXRlc1tyb3V0ZVBhdGhOYW1lXSguLi5wYXJhbXMpLnJlcGxhY2UoL1svXSskLywgXCJcIilcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gW11cbiAgICAgICAgbGV0IHBhdGhSZWdleFN0cmluZyA9IFwiXlwiXG5cbiAgICAgICAgcGF0aFJlZ2V4U3RyaW5nICs9IGVzY2FwZVN0cmluZ1JlZ2V4cChyb3V0ZVBhdGgpXG5cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICBjb25zdCBtYXRjaCA9IHBhdGhSZWdleFN0cmluZy5tYXRjaChyZWdleClcblxuICAgICAgICAgIGlmICghbWF0Y2gpIGJyZWFrXG5cbiAgICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSBtYXRjaFsxXVxuXG4gICAgICAgICAgZ3JvdXBzLnB1c2godmFyaWFibGVOYW1lKVxuXG4gICAgICAgICAgcGF0aFJlZ2V4U3RyaW5nID0gcGF0aFJlZ2V4U3RyaW5nLnJlcGxhY2UobWF0Y2hbMF0sIFwiKFteL10rKVwiKVxuICAgICAgICB9XG5cbiAgICAgICAgcGF0aFJlZ2V4U3RyaW5nICs9IFwiJFwiXG5cbiAgICAgICAgY29uc3QgcGF0aFJlZ2V4ID0gbmV3IFJlZ0V4cChwYXRoUmVnZXhTdHJpbmcpXG5cbiAgICAgICAgcGFyc2VkUm91dGVEZWZpbml0aW9ucy5wdXNoKHtncm91cHMsIHBhdGhSZWdleCwgcm91dGVEZWZpbml0aW9ufSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyc2VkUm91dGVEZWZpbml0aW9uc1xuICB9LCBbXSlcblxuICBjb25zdCBwYXJzZWRSb3V0ZURlZmluaXRpb25zID0gdXNlTWVtbygoKSA9PiBwYXJzZVJvdXRlRGVmaW5pdGlvbnMoKSwgW10pXG5cbiAgcy51cGRhdGVNZXRhKHtwYXJzZWRSb3V0ZURlZmluaXRpb25zfSlcblxuICBjb25zdCBmaW5kTWF0Y2hpbmdSb3V0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBwYXRoID0gZ2V0UGF0aCgpXG5cbiAgICBmb3IgKGNvbnN0IHBhcnNlZFJvdXRlRGVmaW5pdGlvbiBvZiBzLm0ucGFyc2VkUm91dGVEZWZpbml0aW9ucykge1xuICAgICAgY29uc3QgbWF0Y2ggPSBwYXRoLm1hdGNoKHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5wYXRoUmVnZXgpXG4gICAgICBsZXQgbWF0Y2hlZCwgcGFyYW1zXG5cbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICBtYXRjaGVkID0gdHJ1ZVxuICAgICAgICBwYXJhbXMgPSB7fVxuXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBLZXkgaW4gcGFyc2VkUm91dGVEZWZpbml0aW9uLmdyb3Vwcykge1xuICAgICAgICAgIGNvbnN0IGdyb3VwTmFtZSA9IHBhcnNlZFJvdXRlRGVmaW5pdGlvbi5ncm91cHNbZ3JvdXBLZXldXG5cbiAgICAgICAgICBwYXJhbXNbZ3JvdXBOYW1lXSA9IG1hdGNoW051bWJlcihncm91cEtleSkgKyAxXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXRoID09IFwiXCIgJiYgcGFyc2VkUm91dGVEZWZpbml0aW9uLnJvdXRlRGVmaW5pdGlvbi5wYXRoID09IFwiL1wiKSBtYXRjaGVkID0gdHJ1ZVxuICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgcmV0dXJuIHtwYXJhbXMsIHBhcnNlZFJvdXRlRGVmaW5pdGlvbn1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IG1hdGNoaW5nUm91dGUgPSBmaW5kTWF0Y2hpbmdSb3V0ZSgpXG4gIGNvbnN0IHBhcmFtcyA9IG1hdGNoaW5nUm91dGU/LnBhcmFtcyB8fCB7fVxuICBjb25zdCBtYXRjaCA9IHtcbiAgICBtYXRjaGluZ1JvdXRlLFxuICAgIHBhcmFtc1xuICB9XG5cbiAgcmV0dXJuIHttYXRjaH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlUm91dGVyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { default } from "set-state-compare/build/use-shape.js";
2
+ //# sourceMappingURL=use-shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-shape.d.ts","sourceRoot":"/src/","sources":["use-shape.js"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { default } from "set-state-compare/build/use-shape.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXNoYXBlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ1c2Utc2hhcGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHNDQUFzQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtkZWZhdWx0fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvdXNlLXNoYXBlLmpzXCJcbiJdfQ==