@1money/component-ui 0.0.75 → 0.0.76

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 (71) hide show
  1. package/es/components/ProForm/ProForm.js +46 -33
  2. package/es/components/ProForm/ProFormDependency.js +6 -16
  3. package/es/components/ProForm/ProFormItem.js +5 -7
  4. package/es/components/ProForm/ProFormList.js +112 -40
  5. package/es/components/ProForm/core/constants.d.ts +2 -0
  6. package/es/components/ProForm/core/constants.js +7 -1
  7. package/es/components/ProForm/core/devWarning.d.ts +3 -0
  8. package/es/components/ProForm/core/devWarning.js +22 -0
  9. package/es/components/ProForm/core/formStore.d.ts +10 -2
  10. package/es/components/ProForm/core/formStore.js +21 -2
  11. package/es/components/ProForm/core/hooks/useForm.js +246 -103
  12. package/es/components/ProForm/core/hooks/useFormCore.js +134 -28
  13. package/es/components/ProForm/core/interface.d.ts +124 -49
  14. package/es/components/ProForm/core/runRules.d.ts +44 -12
  15. package/es/components/ProForm/core/runRules.js +584 -133
  16. package/es/components/ProForm/core/useFormItem.d.ts +6 -7
  17. package/es/components/ProForm/core/useFormItem.js +44 -22
  18. package/es/components/ProForm/core/validationError.d.ts +13 -0
  19. package/es/components/ProForm/core/validationError.js +29 -0
  20. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
  21. package/es/components/ProForm/fields/ProFormFieldSet.js +51 -12
  22. package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
  23. package/es/components/ProForm/fields/ProFormSelect.js +13 -7
  24. package/es/components/ProForm/fields/createProFormField.js +18 -25
  25. package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
  26. package/es/components/ProForm/index.d.ts +2 -1
  27. package/es/components/ProForm/index.js +4 -1
  28. package/es/components/ProForm/interface.d.ts +31 -40
  29. package/es/components/ProForm/layouts/QueryFilter.js +24 -16
  30. package/es/components/ProForm/utils.d.ts +8 -0
  31. package/es/components/ProForm/utils.js +51 -3
  32. package/es/components/Table/core/useTableSetup.js +2 -2
  33. package/es/components/Table/interface.d.ts +1 -1
  34. package/es/index.css +1 -1
  35. package/lib/components/ProForm/ProForm.js +45 -32
  36. package/lib/components/ProForm/ProFormDependency.js +5 -15
  37. package/lib/components/ProForm/ProFormItem.js +5 -7
  38. package/lib/components/ProForm/ProFormList.js +110 -38
  39. package/lib/components/ProForm/core/constants.d.ts +2 -0
  40. package/lib/components/ProForm/core/constants.js +8 -2
  41. package/lib/components/ProForm/core/devWarning.d.ts +3 -0
  42. package/lib/components/ProForm/core/devWarning.js +29 -0
  43. package/lib/components/ProForm/core/formStore.d.ts +10 -2
  44. package/lib/components/ProForm/core/formStore.js +23 -2
  45. package/lib/components/ProForm/core/hooks/useForm.js +242 -99
  46. package/lib/components/ProForm/core/hooks/useFormCore.js +133 -27
  47. package/lib/components/ProForm/core/interface.d.ts +124 -49
  48. package/lib/components/ProForm/core/runRules.d.ts +44 -12
  49. package/lib/components/ProForm/core/runRules.js +587 -133
  50. package/lib/components/ProForm/core/useFormItem.d.ts +6 -7
  51. package/lib/components/ProForm/core/useFormItem.js +43 -21
  52. package/lib/components/ProForm/core/validationError.d.ts +13 -0
  53. package/lib/components/ProForm/core/validationError.js +36 -0
  54. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
  55. package/lib/components/ProForm/fields/ProFormFieldSet.js +51 -12
  56. package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
  57. package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
  58. package/lib/components/ProForm/fields/createProFormField.js +18 -25
  59. package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
  60. package/lib/components/ProForm/index.d.ts +2 -1
  61. package/lib/components/ProForm/index.js +10 -1
  62. package/lib/components/ProForm/interface.d.ts +31 -40
  63. package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
  64. package/lib/components/ProForm/utils.d.ts +8 -0
  65. package/lib/components/ProForm/utils.js +52 -3
  66. package/lib/components/Table/core/useTableSetup.js +2 -2
  67. package/lib/components/Table/interface.d.ts +1 -1
  68. package/lib/index.css +1 -1
  69. package/package.json +1 -1
  70. package/scripts/mcp-server/examples.generated.json +42 -36
  71. package/scripts/mcp-server/index.generated.json +23 -67
@@ -16,15 +16,23 @@ function toReadonlyText(value) {
16
16
  }
17
17
  return '';
18
18
  }
19
+ // Strict match first, then by String() — valueEnum-derived option values are
20
+ // always strings while the form value may be a number.
21
+ function matchOption(options, value) {
22
+ var _a;
23
+ return (_a = options.find(function (option) {
24
+ return option.value === value;
25
+ })) !== null && _a !== void 0 ? _a : options.find(function (option) {
26
+ return String(option.value) === String(value);
27
+ });
28
+ }
19
29
  function renderReadonlyValue(value, props) {
20
30
  var _a, _b, _c;
21
31
  var options = (0, _utils.flattenOptionGroups)((0, _utils.normalizeOptionGroups)((_a = props === null || props === void 0 ? void 0 : props.options) !== null && _a !== void 0 ? _a : []));
22
32
  if (Array.isArray(value)) {
23
33
  var labels = value.map(function (item) {
24
34
  var _a, _b;
25
- return (_b = (_a = options.find(function (option) {
26
- return option.value === item;
27
- })) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : item;
35
+ return (_b = (_a = matchOption(options, item)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : item;
28
36
  }).map(toReadonlyText).filter(function (item) {
29
37
  return item !== null && item !== undefined && item !== '';
30
38
  });
@@ -33,9 +41,7 @@ function renderReadonlyValue(value, props) {
33
41
  if (value === null || value === undefined || value === '') {
34
42
  return '-';
35
43
  }
36
- return toReadonlyText((_c = (_b = options.find(function (option) {
37
- return option.value === value;
38
- })) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : value) || '-';
44
+ return toReadonlyText((_c = (_b = matchOption(options, value)) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : value) || '-';
39
45
  }
40
46
  var ProFormSelect = exports.ProFormSelect = (0, _createProFormField.createProFormField)({
41
47
  component: _Select.Select,
@@ -43,4 +49,4 @@ var ProFormSelect = exports.ProFormSelect = (0, _createProFormField.createProFor
43
49
  });
44
50
  ProFormSelect.displayName = 'ProFormSelect';
45
51
  var _default = exports["default"] = ProFormSelect;
46
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtU2VsZWN0LnRzeCIsImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVNlbGVjdC5qcyJdLCJuYW1lcyI6WyJfU2VsZWN0IiwicmVxdWlyZSIsIl91dGlscyIsIl9jcmVhdGVQcm9Gb3JtRmllbGQiLCJ0b1JlYWRvbmx5VGV4dCIsInZhbHVlIiwiU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJyZW5kZXJSZWFkb25seVZhbHVlIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJvcHRpb25zIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsImxhYmVscyIsIml0ZW0iLCJmaW5kIiwib3B0aW9uIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJsZW5ndGgiLCJQcm9Gb3JtU2VsZWN0IiwiZXhwb3J0cyIsImNyZWF0ZVByb0Zvcm1GaWVsZCIsImNvbXBvbmVudCIsIlNlbGVjdCIsInJlbmRlclJlYWRvbmx5IiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUYsT0FBQTtBQUVBLFNBQVNHLGNBQWNBLENBQUNDLEtBQWMsRUFBQTtFQUNwQyxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsRUFBRTtJQUMxRCxPQUFPQyxNQUFNLENBQUNELEtBQUssQ0FBQztFQUN0QjtFQUVBLElBQUlFLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSCxLQUFLLENBQUMsRUFBRTtJQUN4QixPQUFPQSxLQUFLLENBQUNJLEdBQUcsQ0FBQ0wsY0FBYyxDQUFDLENBQUNNLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDN0Q7RUFFQSxPQUFPLEVBQUU7QUFDWDtBQUVBLFNBQVNDLG1CQUFtQkEsQ0FBQ1IsS0FBYyxFQUFFUyxLQUE0QixFQUFBO0VDSnJFLElBQUlDLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFO0VES2hCLElBQU1DLE9BQU8sR0FBRyxJQUFBQywwQkFBbUIsRUFBQyxJQUFBQyw0QkFBcUIsRUFBQyxDQUFBTCxFQUFBLEdBQUFELEtBQUssS0FBQSxJQUFBLElBQUxBLEtBQUssS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTEEsS0FBSyxDQUFFSSxPQUFPLE1BQUEsSUFBQSxJQUFBSCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFFLENBQUMsQ0FBQztFQUVoRixJQUFJUixLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLEVBQUU7SUFDeEIsSUFBTWdCLE1BQU0sR0FBR2hCLEtBQUssQ0FDakJJLEdBQUcsQ0FBQyxVQUFDYSxJQUFJLEVBQUk7TUFBQSxJQUFBUCxFQUFBLEVBQUFDLEVBQUE7TUFBQyxPQUFBLENBQUFBLEVBQUEsR0FBQSxDQUFBRCxFQUFBLEdBQUFHLE9BQU8sQ0FBQ0ssSUFBSSxDQUFDLFVBQUNDLE1BQW9CO1FBQUEsT0FBS0EsTUFBTSxDQUFDbkIsS0FBSyxLQUFLaUIsSUFBSTtNQUFBLEVBQUMsTUFBQSxJQUFBLElBQUFQLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFVSxLQUFLLE1BQUEsSUFBQSxJQUFBVCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSU0sSUFBSTtJQUFBLENBQUEsQ0FBQyxDQUMzRmIsR0FBRyxDQUFDTCxjQUFjLENBQUMsQ0FDbkJNLE1BQU0sQ0FBQyxVQUFDWSxJQUFJO01BQUEsT0FBS0EsSUFBSSxLQUFLLElBQUksSUFBSUEsSUFBSSxLQUFLSSxTQUFTLElBQUlKLElBQUksS0FBSyxFQUFFO0lBQUEsRUFBQztJQUV2RSxPQUFPRCxNQUFNLENBQUNNLE1BQU0sR0FBRyxDQUFDLEdBQUdOLE1BQU0sQ0FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7RUFDcEQ7RUFFQSxJQUFJUCxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtxQixTQUFTLElBQUlyQixLQUFLLEtBQUssRUFBRSxFQUFFO0lBQ3pELE9BQU8sR0FBRztFQUNaO0VBRUEsT0FBT0QsY0FBYyxDQUNuQixDQUFBYSxFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBRSxPQUFPLENBQUNLLElBQUksQ0FBQyxVQUFDQyxNQUFvQjtJQUFBLE9BQUtBLE1BQU0sQ0FBQ25CLEtBQUssS0FBS0EsS0FBSztFQUFBLEVBQUMsTUFBQSxJQUFBLElBQUFXLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFUyxLQUFLLE1BQUEsSUFBQSxJQUFBUixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSVosS0FBSyxDQUMvRSxJQUFJLEdBQUc7QUFDVjtBQUVPLElBQU11QixhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFjO0VBQzNEQyxTQUFTLEVBQUVDLGNBQU07RUFDakJDLGNBQWMsRUFBRXBCO0FDVmxCLENEV0MsQ0FBQztBQUVGZSxhQUFhLENBQUNNLFdBQVcsR0FBRyxlQUFlO0FBQUMsSUFBQUMsUUFBQSxHQUFBTixPQUFBLGNBRTdCRCxhQUFhIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vU2VsZWN0JztcbmltcG9ydCB7IGZsYXR0ZW5PcHRpb25Hcm91cHMsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyB9IGZyb20gJy4uLy4uL1NlbGVjdC91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5mdW5jdGlvbiB0b1JlYWRvbmx5VGV4dCh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUubWFwKHRvUmVhZG9ubHlUZXh0KS5maWx0ZXIoQm9vbGVhbikuam9pbignLCAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gcmVuZGVyUmVhZG9ubHlWYWx1ZSh2YWx1ZSwgcHJvcHMpIHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBjb25zdCBvcHRpb25zID0gZmxhdHRlbk9wdGlvbkdyb3Vwcyhub3JtYWxpemVPcHRpb25Hcm91cHMoKF9hID0gcHJvcHMgPT09IG51bGwgfHwgcHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHByb3BzLm9wdGlvbnMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdKSk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGxhYmVscyA9IHZhbHVlXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxhYmVsKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBpdGVtOyB9KVxuICAgICAgICAgICAgLm1hcCh0b1JlYWRvbmx5VGV4dClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwgJiYgaXRlbSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0gIT09ICcnKTtcbiAgICAgICAgcmV0dXJuIGxhYmVscy5sZW5ndGggPiAwID8gbGFiZWxzLmpvaW4oJywgJykgOiAnLSc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gJy0nO1xuICAgIH1cbiAgICByZXR1cm4gdG9SZWFkb25seVRleHQoKF9jID0gKF9iID0gb3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGFiZWwpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IHZhbHVlKSB8fCAnLSc7XG59XG5leHBvcnQgY29uc3QgUHJvRm9ybVNlbGVjdCA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBTZWxlY3QsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclJlYWRvbmx5VmFsdWUsXG59KTtcblByb0Zvcm1TZWxlY3QuZGlzcGxheU5hbWUgPSAnUHJvRm9ybVNlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtU2VsZWN0OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
52
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtU2VsZWN0LnRzeCIsImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVNlbGVjdC5qcyJdLCJuYW1lcyI6WyJfU2VsZWN0IiwicmVxdWlyZSIsIl91dGlscyIsIl9jcmVhdGVQcm9Gb3JtRmllbGQiLCJ0b1JlYWRvbmx5VGV4dCIsInZhbHVlIiwiU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJtYXRjaE9wdGlvbiIsIm9wdGlvbnMiLCJfYSIsImZpbmQiLCJvcHRpb24iLCJyZW5kZXJSZWFkb25seVZhbHVlIiwicHJvcHMiLCJfYiIsIl9jIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsImxhYmVscyIsIml0ZW0iLCJsYWJlbCIsInVuZGVmaW5lZCIsImxlbmd0aCIsIlByb0Zvcm1TZWxlY3QiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiU2VsZWN0IiwicmVuZGVyUmVhZG9ubHkiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBRixPQUFBO0FBRUEsU0FBU0csY0FBY0EsQ0FBQ0MsS0FBYyxFQUFBO0VBQ3BDLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxFQUFFO0lBQzFELE9BQU9DLE1BQU0sQ0FBQ0QsS0FBSyxDQUFDO0VBQ3RCO0VBRUEsSUFBSUUsS0FBSyxDQUFDQyxPQUFPLENBQUNILEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FBQ0ksR0FBRyxDQUFDTCxjQUFjLENBQUMsQ0FB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R0FBRyxlQUFlO0FBQUMsSUFBQUMsUUFBQSxHQUFBTixPQUFBLGNBRTdCRCxhQUFhIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vU2VsZWN0JztcbmltcG9ydCB7IGZsYXR0ZW5PcHRpb25Hcm91cHMsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyB9IGZyb20gJy4uLy4uL1NlbGVjdC91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5mdW5jdGlvbiB0b1JlYWRvbmx5VGV4dCh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUubWFwKHRvUmVhZG9ubHlUZXh0KS5maWx0ZXIoQm9vbGVhbikuam9pbignLCAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuLy8gU3RyaWN0IG1hdGNoIGZpcnN0LCB0aGVuIGJ5IFN0cmluZygpIOKAlCB2YWx1ZUVudW0tZGVyaXZlZCBvcHRpb24gdmFsdWVzIGFyZVxuLy8gYWx3YXlzIHN0cmluZ3Mgd2hpbGUgdGhlIGZvcm0gdmFsdWUgbWF5IGJlIGEgbnVtYmVyLlxuZnVuY3Rpb24gbWF0Y2hPcHRpb24ob3B0aW9ucywgdmFsdWUpIHtcbiAgICB2YXIgX2E7XG4gICAgcmV0dXJuICgoX2EgPSBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBTdHJpbmcob3B0aW9uLnZhbHVlKSA9PT0gU3RyaW5nKHZhbHVlKSkpO1xufVxuZnVuY3Rpb24gcmVuZGVyUmVhZG9ubHlWYWx1ZSh2YWx1ZSwgcHJvcHMpIHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBjb25zdCBvcHRpb25zID0gZmxhdHRlbk9wdGlvbkdyb3Vwcyhub3JtYWxpemVPcHRpb25Hcm91cHMoKF9hID0gcHJvcHMgPT09IG51bGwgfHwgcHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHByb3BzLm9wdGlvbnMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdKSk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGxhYmVscyA9IHZhbHVlXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoX2IgPSAoX2EgPSBtYXRjaE9wdGlvbihvcHRpb25zLCBpdGVtKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxhYmVsKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBpdGVtOyB9KVxuICAgICAgICAgICAgLm1hcCh0b1JlYWRvbmx5VGV4dClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwgJiYgaXRlbSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0gIT09ICcnKTtcbiAgICAgICAgcmV0dXJuIGxhYmVscy5sZW5ndGggPiAwID8gbGFiZWxzLmpvaW4oJywgJykgOiAnLSc7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gJy0nO1xuICAgIH1cbiAgICByZXR1cm4gdG9SZWFkb25seVRleHQoKF9jID0gKF9iID0gbWF0Y2hPcHRpb24ob3B0aW9ucywgdmFsdWUpKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGFiZWwpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IHZhbHVlKSB8fCAnLSc7XG59XG5leHBvcnQgY29uc3QgUHJvRm9ybVNlbGVjdCA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBTZWxlY3QsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclJlYWRvbmx5VmFsdWUsXG59KTtcblByb0Zvcm1TZWxlY3QuZGlzcGxheU5hbWUgPSAnUHJvRm9ybVNlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtU2VsZWN0OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.createProFormField = createProFormField;
8
8
  exports["default"] = void 0;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
11
  var _react = require("react");
@@ -32,8 +31,7 @@ function createProFormField(config) {
32
31
  valuePropName = config.valuePropName,
33
32
  defaultValueType = config.valueType,
34
33
  mapProps = config.mapProps,
35
- renderReadonly = config.renderReadonly,
36
- popupContainerProp = config.popupContainerProp;
34
+ renderReadonly = config.renderReadonly;
37
35
  // Memo boundary around the wrapped control: combined with the stable
38
36
  // injected handlers from useFormItem, fields whose value didn't change can
39
37
  // bail out while another field in the form is typing. displayName must be
@@ -48,12 +46,9 @@ function createProFormField(config) {
48
46
  label = _c.label,
49
47
  description = _c.description,
50
48
  rules = _c.rules,
51
- required = _c.required,
52
49
  feedback = _c.feedback,
53
50
  validateStatus = _c.validateStatus,
54
- colon = _c.colon,
55
- readonly = _c.readonly,
56
- modeProp = _c.mode,
51
+ mode = _c.mode,
57
52
  hidden = _c.hidden,
58
53
  colProps = _c.colProps,
59
54
  fieldProps = _c.fieldProps,
@@ -68,23 +63,17 @@ function createProFormField(config) {
68
63
  valueEnum = _c.valueEnum,
69
64
  debounceTime = _c.debounceTime,
70
65
  validateDebounce = _c.validateDebounce,
66
+ validateTrigger = _c.validateTrigger,
71
67
  valueType = _c.valueType,
72
68
  dependenciesValues = _c.dependenciesValues,
73
- rest = __rest(_c, ["name", "label", "description", "rules", "required", "feedback", "validateStatus", "colon", "readonly", "mode", "hidden", "colProps", "fieldProps", "placeholder", "disabled", "width", "transform", "convertValue", "dependencies", "request", "params", "valueEnum", "debounceTime", "validateDebounce", "valueType", "dependenciesValues"]);
69
+ rest = __rest(_c, ["name", "label", "description", "rules", "feedback", "validateStatus", "mode", "hidden", "colProps", "fieldProps", "placeholder", "disabled", "width", "transform", "convertValue", "dependencies", "request", "params", "valueEnum", "debounceTime", "validateDebounce", "validateTrigger", "valueType", "dependenciesValues"]);
74
70
 
75
- // Mode resolution: explicit mode > legacy readonly > ctx.mode (ProFormItem)
76
- var resolvedMode = modeProp !== null && modeProp !== void 0 ? modeProp : readonly !== undefined ? readonly ? 'read' : 'edit' : undefined;
77
71
  // Form-level fieldProps (lowest priority after mapProps defaults).
78
72
  // Stable slice only — the field shell must NOT re-render per keystroke;
79
73
  // value/error reactivity lives inside ProFormItem.
80
74
  var _useProFormStable = (0, _context.useProFormStable)(),
81
75
  contextFieldProps = _useProFormStable.fieldProps,
82
- formDisabled = _useProFormStable.disabled,
83
- formComponentType = _useProFormStable.formComponentType;
84
- // Overlay fields inside a Dialog/Drawer form mount their popup next to
85
- // the trigger ('self') instead of document.body, so it scrolls and
86
- // stacks with the overlay container.
87
- var overlayContained = popupContainerProp !== undefined && (formComponentType === 'DialogForm' || formComponentType === 'DrawerForm');
76
+ formDisabled = _useProFormStable.disabled;
88
77
  // ── Field-level request ──
89
78
  var mergedRequestParams = dependenciesValues ? Object.assign(Object.assign({}, params), dependenciesValues) : params;
90
79
  var _useFieldRequest = (0, _useFieldRequest3.useFieldRequest)(request, mergedRequestParams),
@@ -108,17 +97,20 @@ function createProFormField(config) {
108
97
  } : undefined;
109
98
  var fieldStyle = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.style;
110
99
  var mergedStyle = widthStyle ? Object.assign(Object.assign({}, fieldStyle || {}), widthStyle) : fieldStyle;
111
- // Merge valueEnum + request options into fieldProps.options
100
+ // Merge valueEnum + request options into fieldProps.options. A configured
101
+ // request is AUTHORITATIVE: an empty result means "no options" — falling
102
+ // back to valueEnum/fieldProps.options would show options the server just
103
+ // said don't exist.
112
104
  var mergedOptions = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.options;
113
105
  if (valueEnum) {
114
106
  mergedOptions = (0, _utils.valueEnumToOptions)(valueEnum);
115
107
  }
116
- if (requestOptions.length > 0) {
108
+ if (request) {
117
109
  mergedOptions = requestOptions;
118
110
  }
119
- var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), formDisabled ? {
111
+ var componentProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), formDisabled ? {
120
112
  disabled: true
121
- } : {}), overlayContained ? (0, _defineProperty2["default"])({}, popupContainerProp, 'self') : {}), contextFieldProps || {}), fieldProps || {}), mergedOptions !== undefined ? {
113
+ } : {}), contextFieldProps || {}), fieldProps || {}), mergedOptions !== undefined ? {
122
114
  options: mergedOptions
123
115
  } : {}), requestLoading ? {
124
116
  loading: true
@@ -139,20 +131,21 @@ function createProFormField(config) {
139
131
  label: label,
140
132
  description: description,
141
133
  rules: rules,
142
- required: required,
143
134
  feedback: feedback,
144
135
  validateStatus: validateStatus,
145
- colon: colon,
146
136
  hidden: hidden,
147
- mode: resolvedMode,
137
+ mode: mode,
148
138
  colProps: colProps,
149
139
  transform: transform,
150
140
  convertValue: convertValue,
151
141
  valuePropName: valuePropName,
152
142
  validateDebounce: validateDebounce,
143
+ validateTrigger: validateTrigger,
153
144
  valueType: valueType !== null && valueType !== void 0 ? valueType : defaultValueType,
145
+ // The renderer gets the RESOLVED component props (valueEnum/request
146
+ // already merged into `options`) so it can map values to labels.
154
147
  readonlyRender: renderReadonly ? function (value) {
155
- return renderReadonly(value);
148
+ return renderReadonly(value, componentProps);
156
149
  } : undefined,
157
150
  children: (0, _jsxRuntime.jsx)(MemoizedComponent, Object.assign({}, componentProps))
158
151
  });
@@ -176,4 +169,4 @@ function createProFormField(config) {
176
169
  return MemoizedField;
177
170
  }
178
171
  var _default = exports["default"] = createProFormField;
179
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfY29udGV4dCIsIl91c2VGaWVsZFJlcXVlc3QzIiwiX3V0aWxzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZVByb3BOYW1lIiwiZGVmYXVsdFZhbHVlVHlwZSIsInZhbHVlVHlwZSIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJwb3B1cENvbnRhaW5lclByb3AiLCJNZW1vaXplZENvbXBvbmVudCIsIm1lbW8iLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJyZXF1aXJlZCIsImZlZWRiYWNrIiwidmFsaWRhdGVTdGF0dXMiLCJjb2xvbiIsInJlYWRvbmx5IiwibW9kZVByb3AiLCJtb2RlIiwiaGlkZGVuIiwiY29sUHJvcHMiLCJmaWVsZFByb3BzIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIndpZHRoIiwidHJhbnNmb3JtIiwiY29udmVydFZhbHVlIiwiX2RlcHMiLCJkZXBlbmRlbmNpZXMiLCJyZXF1ZXN0IiwicGFyYW1zIiwidmFsdWVFbnVtIiwiZGVib3VuY2VUaW1lIiwidmFsaWRhdGVEZWJvdW5jZSIsImRlcGVuZGVuY2llc1ZhbHVlcyIsInJlc3QiLCJyZXNvbHZlZE1vZGUiLCJ1bmRlZmluZWQiLCJfdXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdGFibGUiLCJjb250ZXh0RmllbGRQcm9wcyIsImZvcm1EaXNhYmxlZCIsImZvcm1Db21wb25lbnRUeXBlIiwib3ZlcmxheUNvbnRhaW5lZCIsIm1lcmdlZFJlcXVlc3RQYXJhbXMiLCJhc3NpZ24iLCJfdXNlRmllbGRSZXF1ZXN0IiwidXNlRmllbGRSZXF1ZXN0IiwiX3VzZUZpZWxkUmVxdWVzdDIiLCJfc2xpY2VkVG9BcnJheTIiLCJyZXF1ZXN0TG9hZGluZyIsInJlcXVlc3RPcHRpb25zIiwibWFwcGVkIiwidXNlck9uQ2hhbmdlIiwib25DaGFuZ2UiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsImFwcGx5IiwiYXJndW1lbnRzIiwiZGVib3VuY2VkT25DaGFuZ2UiLCJydW4iLCJ3aWR0aFN0eWxlIiwicmVzb2x2ZVdpZHRoIiwiZmllbGRTdHlsZSIsInN0eWxlIiwibWVyZ2VkU3R5bGUiLCJtZXJnZWRPcHRpb25zIiwib3B0aW9ucyIsInZhbHVlRW51bVRvT3B0aW9ucyIsImNvbXBvbmVudFByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImxvYWRpbmciLCJfanN4IiwiUHJvRm9ybUl0ZW0iLCJyZWFkb25seVJlbmRlciIsInZhbHVlIiwiY2hpbGRyZW4iLCJQcm9Gb3JtRmllbGRDb21wb25lbnQiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsImRlcFZhbHVlcyIsIk1lbW9pemVkRmllbGQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFF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b3JtRmllbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IFByb0Zvcm1JdGVtIH0gZnJvbSAnLi4vUHJvRm9ybUl0ZW0nO1xuaW1wb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuLi9Qcm9Gb3JtRGVwZW5kZW5jeSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VGaWVsZFJlcXVlc3QgfSBmcm9tICcuLi9ob29rcy91c2VGaWVsZFJlcXVlc3QnO1xuaW1wb3J0IHsgcmVzb2x2ZVdpZHRoLCB2YWx1ZUVudW1Ub09wdGlvbnMgfSBmcm9tICcuLi91dGlscyc7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNyZWF0ZVByb0Zvcm1GaWVsZCDigJQgZmFjdG9yeSB0aGF0IHByb2R1Y2VzIGEgUHJvRm9ybS1hd2FyZSBmaWVsZCBjb21wb25lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb0Zvcm1GaWVsZChjb25maWcpIHtcbiAgICBjb25zdCB7IGNvbXBvbmVudDogQ29tcG9uZW50LCB2YWx1ZVByb3BOYW1lLCB2YWx1ZVR5cGU6IGRlZmF1bHRWYWx1ZVR5cGUsIG1hcFByb3BzLCByZW5kZXJSZWFkb25seSwgcG9wdXBDb250YWluZXJQcm9wLCB9ID0gY29uZmlnO1xuICAgIC8vIE1lbW8gYm91bmRhcnkgYXJvdW5kIHRoZSB3cmFwcGVkIGNvbnRyb2w6IGNvbWJpbmVkIHdpdGggdGhlIHN0YWJsZVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGZyb20gdXNlRm9ybUl0ZW0sIGZpZWxkcyB3aG9zZSB2YWx1ZSBkaWRuJ3QgY2hhbmdlIGNhblxuICAgIC8vIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaW4gdGhlIGZvcm0gaXMgdHlwaW5nLiBkaXNwbGF5TmFtZSBtdXN0IGJlXG4gICAgLy8gY2FycmllZCBvdmVyIOKAlCBpbmplY3RGaWVsZCB1c2VzIGl0IHRvIHJlY29nbml6ZSBmb3JtIGNvbnRyb2xzLlxuICAgIGNvbnN0IE1lbW9pemVkQ29tcG9uZW50ID0gbWVtbyhDb21wb25lbnQpO1xuICAgIE1lbW9pemVkQ29tcG9uZW50LmRpc3BsYXlOYW1lID1cbiAgICAgICAgQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lO1xuICAgIC8vIElubmVyIGNvbXBvbmVudCDigJQgaGFuZGxlcyBtb2RlLCByZXF1ZXN0LCB2YWx1ZUVudW0sIGRlYm91bmNlLCByZW5kZXJcbiAgICBjb25zdCBJbm5lckZpZWxkID0gKHByb3BzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IF9jID0gcHJvcHMsIHsgbmFtZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCBydWxlcywgcmVxdWlyZWQsIGZlZWRiYWNrLCB2YWxpZGF0ZVN0YXR1cywgY29sb24sIHJlYWRvbmx5LCBtb2RlOiBtb2RlUHJvcCwgaGlkZGVuLCBjb2xQcm9wcywgZmllbGRQcm9wcywgcGxhY2Vob2xkZXIsIGRpc2FibGVkLCB3aWR0aCwgdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWUsIFxuICAgICAgICAvLyBGaWVsZC1sZXZlbCBmZWF0dXJlc1xuICAgICAgICBkZXBlbmRlbmNpZXM6IF9kZXBzLCByZXF1ZXN0LCBwYXJhbXMsIHZhbHVlRW51bSwgZGVib3VuY2VUaW1lLCB2YWxpZGF0ZURlYm91bmNlLCB2YWx1ZVR5cGUsIGRlcGVuZGVuY2llc1ZhbHVlcyB9ID0gX2MsIHJlc3QgPSBfX3Jlc3QoX2MsIFtcIm5hbWVcIiwgXCJsYWJlbFwiLCBcImRlc2NyaXB0aW9uXCIsIFwicnVsZXNcIiwgXCJyZXF1aXJlZFwiLCBcImZlZWRiYWNrXCIsIFwidmFsaWRhdGVTdGF0dXNcIiwgXCJjb2xvblwiLCBcInJlYWRvbmx5XCIsIFwibW9kZVwiLCBcImhpZGRlblwiLCBcImNvbFByb3BzXCIsIFwiZmllbGRQcm9wc1wiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGlzYWJsZWRcIiwgXCJ3aWR0aFwiLCBcInRyYW5zZm9ybVwiLCBcImNvbnZlcnRWYWx1ZVwiLCBcImRlcGVuZGVuY2llc1wiLCBcInJlcXVlc3RcIiwgXCJwYXJhbXNcIiwgXCJ2YWx1ZUVudW1cIiwgXCJkZWJvdW5jZVRpbWVcIiwgXCJ2YWxpZGF0ZURlYm91bmNlXCIsIFwidmFsdWVUeXBlXCIsIFwiZGVwZW5kZW5jaWVzVmFsdWVzXCJdKTtcbiAgICAgICAgLy8gTW9kZSByZXNvbHV0aW9uOiBleHBsaWNpdCBtb2RlID4gbGVnYWN5IHJlYWRvbmx5ID4gY3R4Lm1vZGUgKFByb0Zvcm1JdGVtKVxuICAgICAgICBjb25zdCByZXNvbHZlZE1vZGUgPSBtb2RlUHJvcCAhPT0gbnVsbCAmJiBtb2RlUHJvcCAhPT0gdm9pZCAwID8gbW9kZVByb3AgOiAocmVhZG9ubHkgIT09IHVuZGVmaW5lZCA/IChyZWFkb25seSA/ICdyZWFkJyA6ICdlZGl0JykgOiB1bmRlZmluZWQpO1xuICAgICAgICAvLyBGb3JtLWxldmVsIGZpZWxkUHJvcHMgKGxvd2VzdCBwcmlvcml0eSBhZnRlciBtYXBQcm9wcyBkZWZhdWx0cykuXG4gICAgICAgIC8vIFN0YWJsZSBzbGljZSBvbmx5IOKAlCB0aGUgZmllbGQgc2hlbGwgbXVzdCBOT1QgcmUtcmVuZGVyIHBlciBrZXlzdHJva2U7XG4gICAgICAgIC8vIHZhbHVlL2Vycm9yIHJlYWN0aXZpdHkgbGl2ZXMgaW5zaWRlIFByb0Zvcm1JdGVtLlxuICAgICAgICBjb25zdCB7IGZpZWxkUHJvcHM6IGNvbnRleHRGaWVsZFByb3BzLCBkaXNhYmxlZDogZm9ybURpc2FibGVkLCBmb3JtQ29tcG9uZW50VHlwZSwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICAgICAgLy8gT3ZlcmxheSBmaWVsZHMgaW5zaWRlIGEgRGlhbG9nL0RyYXdlciBmb3JtIG1vdW50IHRoZWlyIHBvcHVwIG5leHQgdG9cbiAgICAgICAgLy8gdGhlIHRyaWdnZXIgKCdzZWxmJykgaW5zdGVhZCBvZiBkb2N1bWVudC5ib2R5LCBzbyBpdCBzY3JvbGxzIGFuZFxuICAgICAgICAvLyBzdGFja3Mgd2l0aCB0aGUgb3ZlcmxheSBjb250YWluZXIuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb250YWluZWQgPSBwb3B1cENvbnRhaW5lclByb3AgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgKGZvcm1Db21wb25lbnRUeXBlID09PSAnRGlhbG9nRm9ybScgfHwgZm9ybUNvbXBvbmVudFR5cGUgPT09ICdEcmF3ZXJGb3JtJyk7XG4gICAgICAgIC8vIOKUgOKUgCBGaWVsZC1sZXZlbCByZXF1ZXN0IOKUgOKUgFxuICAgICAgICBjb25zdCBtZXJnZWRSZXF1ZXN0UGFyYW1zID0gZGVwZW5kZW5jaWVzVmFsdWVzXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKSwgZGVwZW5kZW5jaWVzVmFsdWVzKSA6IHBhcmFtcztcbiAgICAgICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCByZXF1ZXN0T3B0aW9uc10gPSB1c2VGaWVsZFJlcXVlc3QocmVxdWVzdCwgbWVyZ2VkUmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIC8vIEJ1aWxkIHRoZSBmaWVsZCBjaGlsZFxuICAgICAgICBjb25zdCBtYXBwZWQgPSBtYXBQcm9wcyA/IG1hcFByb3BzKHJlc3QpIDoge307XG4gICAgICAgIC8vIOKUgOKUgCBEZWJvdW5jZSBvbkNoYW5nZSDilIDilIBcbiAgICAgICAgLy8gVGhlIGVmZmVjdGl2ZSBvbkNoYW5nZSBpcyB3aGF0ZXZlciBlbmRzIHVwIG9uIHRoZSBmaWVsZCAoZmllbGRQcm9wcyB3aW5zXG4gICAgICAgIC8vIG92ZXIgbWFwcGVkLCBtYXRjaGluZyB0aGUgc3ByZWFkIG9yZGVyIGJlbG93KS4gdXNlRGVib3VuY2VkQ2FsbGJhY2sgcmVhZHNcbiAgICAgICAgLy8gdGhlIGxhdGVzdCBjYWxsYmFjayBpbnRlcm5hbGx5LCBzbyB0aGUgd3JhcHBlciBuZXZlciBnb2VzIHN0YWxlIGFuZCB0aGVcbiAgICAgICAgLy8gcGVuZGluZyBjYWxsIGlzIGF1dG8tY2FuY2VsbGVkIG9uIHVubW91bnQuXG4gICAgICAgIGNvbnN0IHVzZXJPbkNoYW5nZSA9ICgoX2IgPSAoX2EgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub25DaGFuZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGNvbnRleHRGaWVsZFByb3BzID09PSBudWxsIHx8IGNvbnRleHRGaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb250ZXh0RmllbGRQcm9wcy5vbkNoYW5nZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogbWFwcGVkID09PSBudWxsIHx8IG1hcHBlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogbWFwcGVkLm9uQ2hhbmdlKTtcbiAgICAgICAgY29uc3QgeyBydW46IGRlYm91bmNlZE9uQ2hhbmdlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygoLi4uYXJncykgPT4gdXNlck9uQ2hhbmdlID09PSBudWxsIHx8IHVzZXJPbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uQ2hhbmdlKC4uLmFyZ3MpLCBkZWJvdW5jZVRpbWUpO1xuICAgICAgICBjb25zdCB3aWR0aFN0eWxlID0gd2lkdGggIT09IHVuZGVmaW5lZCA/IHsgd2lkdGg6IHJlc29sdmVXaWR0aCh3aWR0aCkgfSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmllbGRTdHlsZSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5zdHlsZTtcbiAgICAgICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB3aWR0aFN0eWxlXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKGZpZWxkU3R5bGUgfHwge30pKSwgd2lkdGhTdHlsZSkgOiBmaWVsZFN0eWxlO1xuICAgICAgICAvLyBNZXJnZSB2YWx1ZUVudW0gKyByZXF1ZXN0IG9wdGlvbnMgaW50byBmaWVsZFByb3BzLm9wdGlvbnNcbiAgICAgICAgbGV0IG1lcmdlZE9wdGlvbnMgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub3B0aW9ucztcbiAgICAgICAgaWYgKHZhbHVlRW51bSkge1xuICAgICAgICAgICAgbWVyZ2VkT3B0aW9ucyA9IHZhbHVlRW51bVRvT3B0aW9ucyh2YWx1ZUVudW0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXF1ZXN0T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBtZXJnZWRPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtYXBwZWQpLCAoZm9ybURpc2FibGVkID8geyBkaXNhYmxlZDogdHJ1ZSB9IDoge30pKSwgKG92ZXJsYXlDb250YWluZWQgPyB7IFtwb3B1cENvbnRhaW5lclByb3BdOiAnc2VsZicgfSA6IHt9KSksIChjb250ZXh0RmllbGRQcm9wcyB8fCB7fSkpLCAoZmllbGRQcm9wcyB8fCB7fSkpLCAobWVyZ2VkT3B0aW9ucyAhPT0gdW5kZWZpbmVkID8geyBvcHRpb25zOiBtZXJnZWRPcHRpb25zIH0gOiB7fSkpLCAocmVxdWVzdExvYWRpbmcgPyB7IGxvYWRpbmc6IHRydWUgfSA6IHt9KSksIChwbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkID8geyBwbGFjZWhvbGRlciB9IDoge30pKSwgKGRpc2FibGVkICE9PSB1bmRlZmluZWQgPyB7IGRpc2FibGVkIH0gOiB7fSkpLCAobWVyZ2VkU3R5bGUgPyB7IHN0eWxlOiBtZXJnZWRTdHlsZSB9IDoge30pKTtcbiAgICAgICAgLy8gV2lyZSBkZWJvdW5jZS4gVGhlIHdyYXBwZXIgZm9yd2FyZHMgdG8gdGhlIGxhdGVzdCB1c2VyIG9uQ2hhbmdlIHZpYVxuICAgICAgICAvLyBgb25DaGFuZ2VMYXRlc3RgLCBzbyBubyBuZWVkIHRvIHN0YXNoIGl0IG9uIGEgcmVmIGhlcmUuXG4gICAgICAgIGlmIChkZWJvdW5jZVRpbWUgJiYgZGVib3VuY2VUaW1lID4gMCkge1xuICAgICAgICAgICAgY29tcG9uZW50UHJvcHMub25DaGFuZ2UgPSBkZWJvdW5jZWRPbkNoYW5nZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybUl0ZW0sIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIHJ1bGVzOiBydWxlcywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBmZWVkYmFjazogZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzOiB2YWxpZGF0ZVN0YXR1cywgY29sb246IGNvbG9uLCBoaWRkZW46IGhpZGRlbiwgbW9kZTogcmVzb2x2ZWRNb2RlLCBjb2xQcm9wczogY29sUHJvcHMsIHRyYW5zZm9ybTogdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWU6IGNvbnZlcnRWYWx1ZSwgdmFsdWVQcm9wTmFtZTogdmFsdWVQcm9wTmFtZSwgdmFsaWRhdGVEZWJvdW5jZTogdmFsaWRhdGVEZWJvdW5jZSwgdmFsdWVUeXBlOiB2YWx1ZVR5cGUgIT09IG51bGwgJiYgdmFsdWVUeXBlICE9PSB2b2lkIDAgPyB2YWx1ZVR5cGUgOiBkZWZhdWx0VmFsdWVUeXBlLCByZWFkb25seVJlbmRlcjogcmVuZGVyUmVhZG9ubHkgPyAodmFsdWUpID0+IHJlbmRlclJlYWRvbmx5KHZhbHVlKSA6IHVuZGVmaW5lZCwgY2hpbGRyZW46IF9qc3goTWVtb2l6ZWRDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSkgfSkpO1xuICAgIH07XG4gICAgLy8gT3V0ZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIGF1dG8td3JhcHBpbmcgd2l0aCBQcm9Gb3JtRGVwZW5kZW5jeVxuICAgIGNvbnN0IFByb0Zvcm1GaWVsZENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50KTtcbiAgICByZXR1cm4gTWVtb2l6ZWRGaWVsZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVByb0Zvcm1GaWVsZDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
172
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfY29udGV4dCIsIl91c2VGaWVsZFJlcXVlc3QzIiwiX3V0aWxzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZVByb3BOYW1lIiwiZGVmYXVsdFZhbHVlVHlwZSIsInZhbHVlVHlwZSIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJNZW1vaXplZENvbXBvbmVudCIsIm1lbW8iLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJmZWVkYmFjayIsInZhbGlkYXRlU3RhdHVzIiwibW9kZSIsImhpZGRlbiIsImNvbFByb3BzIiwiZmllbGRQcm9wcyIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJ3aWR0aCIsInRyYW5zZm9ybSIsImNvbnZlcnRWYWx1ZSIsIl9kZXBzIiwiZGVwZW5kZW5jaWVzIiwicmVxdWVzdCIsInBhcmFtcyIsInZhbHVlRW51bSIsImRlYm91bmNlVGltZSIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJkZXBlbmRlbmNpZXNWYWx1ZXMiLCJyZXN0IiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwiY29udGV4dEZpZWxkUHJvcHMiLCJmb3JtRGlzYWJsZWQiLCJtZXJnZWRSZXF1ZXN0UGFyYW1zIiwiYXNzaWduIiwiX3VzZUZpZWxkUmVxdWVzdCIsInVzZUZpZWxkUmVxdWVzdCIsIl91c2VGaWVsZFJlcXVlc3QyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVxdWVzdExvYWRpbmciLCJyZXF1ZXN0T3B0aW9ucyIsIm1hcHBlZCIsInVzZXJPbkNoYW5nZSIsIm9uQ2hhbmdlIiwiX3VzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJhcHBseSIsImFyZ3VtZW50cyIsImRlYm91bmNlZE9uQ2hhbmdlIiwicnVuIiwid2lkdGhTdHlsZSIsInVuZGVmaW5lZCIsInJlc29sdmVXaWR0aCIsImZpZWxkU3R5bGUiLCJzdHlsZSIsIm1lcmdlZFN0eWxlIiwibWVyZ2VkT3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZUVudW1Ub09wdGlvbnMiLCJjb21wb25lbnRQcm9wcyIsImxvYWRpbmciLCJfanN4IiwiUHJvRm9ybUl0ZW0iLCJyZWFkb25seVJlbmRlciIsInZhbHVlIiwiY2hpbGRyZW4iLCJQcm9Gb3JtRmllbGRDb21wb25lbnQiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsImRlcFZhbHVlcyIsIk1lbW9pemVkRmllbGQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHNCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFB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LEVBQUF0QixNQUFBLENBQUF3RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtqQyxLQUFLLENBQUEsQ0FBSTtFQUNsQyxDQUFDO0VBRUQsSUFBTW9FLGFBQWEsZ0JBQUcsSUFBQXhFLFdBQUksRUFBQ3FFLHFCQUFxQixDQUFDO0VBQ2pELE9BQU9HLGFBQWE7QUFDdEI7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFY3BGLGtCQUFrQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZURlYm91bmNlZENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4uL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZUZpZWxkUmVxdWVzdCB9IGZyb20gJy4uL2hvb2tzL3VzZUZpZWxkUmVxdWVzdCc7XG5pbXBvcnQgeyByZXNvbHZlV2lkdGgsIHZhbHVlRW51bVRvT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzJztcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY3JlYXRlUHJvRm9ybUZpZWxkIOKAlCBmYWN0b3J5IHRoYXQgcHJvZHVjZXMgYSBQcm9Gb3JtLWF3YXJlIGZpZWxkIGNvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvRm9ybUZpZWxkKGNvbmZpZykge1xuICAgIGNvbnN0IHsgY29tcG9uZW50OiBDb21wb25lbnQsIHZhbHVlUHJvcE5hbWUsIHZhbHVlVHlwZTogZGVmYXVsdFZhbHVlVHlwZSwgbWFwUHJvcHMsIHJlbmRlclJlYWRvbmx5LCB9ID0gY29uZmlnO1xuICAgIC8vIE1lbW8gYm91bmRhcnkgYXJvdW5kIHRoZSB3cmFwcGVkIGNvbnRyb2w6IGNvbWJpbmVkIHdpdGggdGhlIHN0YWJsZVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGZyb20gdXNlRm9ybUl0ZW0sIGZpZWxkcyB3aG9zZSB2YWx1ZSBkaWRuJ3QgY2hhbmdlIGNhblxuICAgIC8vIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaW4gdGhlIGZvcm0gaXMgdHlwaW5nLiBkaXNwbGF5TmFtZSBtdXN0IGJlXG4gICAgLy8gY2FycmllZCBvdmVyIOKAlCBpbmplY3RGaWVsZCB1c2VzIGl0IHRvIHJlY29nbml6ZSBmb3JtIGNvbnRyb2xzLlxuICAgIGNvbnN0IE1lbW9pemVkQ29tcG9uZW50ID0gbWVtbyhDb21wb25lbnQpO1xuICAgIE1lbW9pemVkQ29tcG9uZW50LmRpc3BsYXlOYW1lID1cbiAgICAgICAgQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lO1xuICAgIC8vIElubmVyIGNvbXBvbmVudCDigJQgaGFuZGxlcyBtb2RlLCByZXF1ZXN0LCB2YWx1ZUVudW0sIGRlYm91bmNlLCByZW5kZXJcbiAgICBjb25zdCBJbm5lckZpZWxkID0gKHByb3BzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IF9jID0gcHJvcHMsIHsgbmFtZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCBydWxlcywgZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzLCBtb2RlLCBoaWRkZW4sIGNvbFByb3BzLCBmaWVsZFByb3BzLCBwbGFjZWhvbGRlciwgZGlzYWJsZWQsIHdpZHRoLCB0cmFuc2Zvcm0sIGNvbnZlcnRWYWx1ZSwgXG4gICAgICAgIC8vIEZpZWxkLWxldmVsIGZlYXR1cmVzXG4gICAgICAgIGRlcGVuZGVuY2llczogX2RlcHMsIHJlcXVlc3QsIHBhcmFtcywgdmFsdWVFbnVtLCBkZWJvdW5jZVRpbWUsIHZhbGlkYXRlRGVib3VuY2UsIHZhbGlkYXRlVHJpZ2dlciwgdmFsdWVUeXBlLCBkZXBlbmRlbmNpZXNWYWx1ZXMgfSA9IF9jLCByZXN0ID0gX19yZXN0KF9jLCBbXCJuYW1lXCIsIFwibGFiZWxcIiwgXCJkZXNjcmlwdGlvblwiLCBcInJ1bGVzXCIsIFwiZmVlZGJhY2tcIiwgXCJ2YWxpZGF0ZVN0YXR1c1wiLCBcIm1vZGVcIiwgXCJoaWRkZW5cIiwgXCJjb2xQcm9wc1wiLCBcImZpZWxkUHJvcHNcIiwgXCJwbGFjZWhvbGRlclwiLCBcImRpc2FibGVkXCIsIFwid2lkdGhcIiwgXCJ0cmFuc2Zvcm1cIiwgXCJjb252ZXJ0VmFsdWVcIiwgXCJkZXBlbmRlbmNpZXNcIiwgXCJyZXF1ZXN0XCIsIFwicGFyYW1zXCIsIFwidmFsdWVFbnVtXCIsIFwiZGVib3VuY2VUaW1lXCIsIFwidmFsaWRhdGVEZWJvdW5jZVwiLCBcInZhbGlkYXRlVHJpZ2dlclwiLCBcInZhbHVlVHlwZVwiLCBcImRlcGVuZGVuY2llc1ZhbHVlc1wiXSk7XG4gICAgICAgIC8vIEZvcm0tbGV2ZWwgZmllbGRQcm9wcyAobG93ZXN0IHByaW9yaXR5IGFmdGVyIG1hcFByb3BzIGRlZmF1bHRzKS5cbiAgICAgICAgLy8gU3RhYmxlIHNsaWNlIG9ubHkg4oCUIHRoZSBmaWVsZCBzaGVsbCBtdXN0IE5PVCByZS1yZW5kZXIgcGVyIGtleXN0cm9rZTtcbiAgICAgICAgLy8gdmFsdWUvZXJyb3IgcmVhY3Rpdml0eSBsaXZlcyBpbnNpZGUgUHJvRm9ybUl0ZW0uXG4gICAgICAgIGNvbnN0IHsgZmllbGRQcm9wczogY29udGV4dEZpZWxkUHJvcHMsIGRpc2FibGVkOiBmb3JtRGlzYWJsZWQsIH0gPSB1c2VQcm9Gb3JtU3RhYmxlKCk7XG4gICAgICAgIC8vIOKUgOKUgCBGaWVsZC1sZXZlbCByZXF1ZXN0IOKUgOKUgFxuICAgICAgICBjb25zdCBtZXJnZWRSZXF1ZXN0UGFyYW1zID0gZGVwZW5kZW5jaWVzVmFsdWVzXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKSwgZGVwZW5kZW5jaWVzVmFsdWVzKSA6IHBhcmFtcztcbiAgICAgICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCByZXF1ZXN0T3B0aW9uc10gPSB1c2VGaWVsZFJlcXVlc3QocmVxdWVzdCwgbWVyZ2VkUmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIC8vIEJ1aWxkIHRoZSBmaWVsZCBjaGlsZFxuICAgICAgICBjb25zdCBtYXBwZWQgPSBtYXBQcm9wcyA/IG1hcFByb3BzKHJlc3QpIDoge307XG4gICAgICAgIC8vIOKUgOKUgCBEZWJvdW5jZSBvbkNoYW5nZSDilIDilIBcbiAgICAgICAgLy8gVGhlIGVmZmVjdGl2ZSBvbkNoYW5nZSBpcyB3aGF0ZXZlciBlbmRzIHVwIG9uIHRoZSBmaWVsZCAoZmllbGRQcm9wcyB3aW5zXG4gICAgICAgIC8vIG92ZXIgbWFwcGVkLCBtYXRjaGluZyB0aGUgc3ByZWFkIG9yZGVyIGJlbG93KS4gdXNlRGVib3VuY2VkQ2FsbGJhY2sgcmVhZHNcbiAgICAgICAgLy8gdGhlIGxhdGVzdCBjYWxsYmFjayBpbnRlcm5hbGx5LCBzbyB0aGUgd3JhcHBlciBuZXZlciBnb2VzIHN0YWxlIGFuZCB0aGVcbiAgICAgICAgLy8gcGVuZGluZyBjYWxsIGlzIGF1dG8tY2FuY2VsbGVkIG9uIHVubW91bnQuXG4gICAgICAgIGNvbnN0IHVzZXJPbkNoYW5nZSA9ICgoX2IgPSAoX2EgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub25DaGFuZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGNvbnRleHRGaWVsZFByb3BzID09PSBudWxsIHx8IGNvbnRleHRGaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb250ZXh0RmllbGRQcm9wcy5vbkNoYW5nZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogbWFwcGVkID09PSBudWxsIHx8IG1hcHBlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogbWFwcGVkLm9uQ2hhbmdlKTtcbiAgICAgICAgY29uc3QgeyBydW46IGRlYm91bmNlZE9uQ2hhbmdlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygoLi4uYXJncykgPT4gdXNlck9uQ2hhbmdlID09PSBudWxsIHx8IHVzZXJPbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uQ2hhbmdlKC4uLmFyZ3MpLCBkZWJvdW5jZVRpbWUpO1xuICAgICAgICBjb25zdCB3aWR0aFN0eWxlID0gd2lkdGggIT09IHVuZGVmaW5lZCA/IHsgd2lkdGg6IHJlc29sdmVXaWR0aCh3aWR0aCkgfSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmllbGRTdHlsZSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5zdHlsZTtcbiAgICAgICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB3aWR0aFN0eWxlXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKGZpZWxkU3R5bGUgfHwge30pKSwgd2lkdGhTdHlsZSkgOiBmaWVsZFN0eWxlO1xuICAgICAgICAvLyBNZXJnZSB2YWx1ZUVudW0gKyByZXF1ZXN0IG9wdGlvbnMgaW50byBmaWVsZFByb3BzLm9wdGlvbnMuIEEgY29uZmlndXJlZFxuICAgICAgICAvLyByZXF1ZXN0IGlzIEFVVEhPUklUQVRJVkU6IGFuIGVtcHR5IHJlc3VsdCBtZWFucyBcIm5vIG9wdGlvbnNcIiDigJQgZmFsbGluZ1xuICAgICAgICAvLyBiYWNrIHRvIHZhbHVlRW51bS9maWVsZFByb3BzLm9wdGlvbnMgd291bGQgc2hvdyBvcHRpb25zIHRoZSBzZXJ2ZXIganVzdFxuICAgICAgICAvLyBzYWlkIGRvbid0IGV4aXN0LlxuICAgICAgICBsZXQgbWVyZ2VkT3B0aW9ucyA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5vcHRpb25zO1xuICAgICAgICBpZiAodmFsdWVFbnVtKSB7XG4gICAgICAgICAgICBtZXJnZWRPcHRpb25zID0gdmFsdWVFbnVtVG9PcHRpb25zKHZhbHVlRW51bSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgICAgICAgIG1lcmdlZE9wdGlvbnMgPSByZXF1ZXN0T3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wb25lbnRQcm9wcyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtYXBwZWQpLCAoZm9ybURpc2FibGVkID8geyBkaXNhYmxlZDogdHJ1ZSB9IDoge30pKSwgKGNvbnRleHRGaWVsZFByb3BzIHx8IHt9KSksIChmaWVsZFByb3BzIHx8IHt9KSksIChtZXJnZWRPcHRpb25zICE9PSB1bmRlZmluZWQgPyB7IG9wdGlvbnM6IG1lcmdlZE9wdGlvbnMgfSA6IHt9KSksIChyZXF1ZXN0TG9hZGluZyA/IHsgbG9hZGluZzogdHJ1ZSB9IDoge30pKSwgKHBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgPyB7IHBsYWNlaG9sZGVyIH0gOiB7fSkpLCAoZGlzYWJsZWQgIT09IHVuZGVmaW5lZCA/IHsgZGlzYWJsZWQgfSA6IHt9KSksIChtZXJnZWRTdHlsZSA/IHsgc3R5bGU6IG1lcmdlZFN0eWxlIH0gOiB7fSkpO1xuICAgICAgICAvLyBXaXJlIGRlYm91bmNlLiBUaGUgd3JhcHBlciBmb3J3YXJkcyB0byB0aGUgbGF0ZXN0IHVzZXIgb25DaGFuZ2UgdmlhXG4gICAgICAgIC8vIGBvbkNoYW5nZUxhdGVzdGAsIHNvIG5vIG5lZWQgdG8gc3Rhc2ggaXQgb24gYSByZWYgaGVyZS5cbiAgICAgICAgaWYgKGRlYm91bmNlVGltZSAmJiBkZWJvdW5jZVRpbWUgPiAwKSB7XG4gICAgICAgICAgICBjb21wb25lbnRQcm9wcy5vbkNoYW5nZSA9IGRlYm91bmNlZE9uQ2hhbmdlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtSXRlbSwgeyBuYW1lOiBuYW1lLCBsYWJlbDogbGFiZWwsIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgcnVsZXM6IHJ1bGVzLCBmZWVkYmFjazogZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzOiB2YWxpZGF0ZVN0YXR1cywgaGlkZGVuOiBoaWRkZW4sIG1vZGU6IG1vZGUsIGNvbFByb3BzOiBjb2xQcm9wcywgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sIGNvbnZlcnRWYWx1ZTogY29udmVydFZhbHVlLCB2YWx1ZVByb3BOYW1lOiB2YWx1ZVByb3BOYW1lLCB2YWxpZGF0ZURlYm91bmNlOiB2YWxpZGF0ZURlYm91bmNlLCB2YWxpZGF0ZVRyaWdnZXI6IHZhbGlkYXRlVHJpZ2dlciwgdmFsdWVUeXBlOiB2YWx1ZVR5cGUgIT09IG51bGwgJiYgdmFsdWVUeXBlICE9PSB2b2lkIDAgPyB2YWx1ZVR5cGUgOiBkZWZhdWx0VmFsdWVUeXBlLCBcbiAgICAgICAgICAgIC8vIFRoZSByZW5kZXJlciBnZXRzIHRoZSBSRVNPTFZFRCBjb21wb25lbnQgcHJvcHMgKHZhbHVlRW51bS9yZXF1ZXN0XG4gICAgICAgICAgICAvLyBhbHJlYWR5IG1lcmdlZCBpbnRvIGBvcHRpb25zYCkgc28gaXQgY2FuIG1hcCB2YWx1ZXMgdG8gbGFiZWxzLlxuICAgICAgICAgICAgcmVhZG9ubHlSZW5kZXI6IHJlbmRlclJlYWRvbmx5XG4gICAgICAgICAgICAgICAgPyAodmFsdWUpID0+IHJlbmRlclJlYWRvbmx5KHZhbHVlLCBjb21wb25lbnRQcm9wcylcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCwgY2hpbGRyZW46IF9qc3goTWVtb2l6ZWRDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSkgfSkpO1xuICAgIH07XG4gICAgLy8gT3V0ZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIGF1dG8td3JhcHBpbmcgd2l0aCBQcm9Gb3JtRGVwZW5kZW5jeVxuICAgIGNvbnN0IFByb0Zvcm1GaWVsZENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50KTtcbiAgICByZXR1cm4gTWVtb2l6ZWRGaWVsZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVByb0Zvcm1GaWVsZDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -105,14 +105,13 @@ function useFieldRequest(request, params) {
105
105
  // Superseded requests (our own aborts always land here via the seq
106
106
  // mismatch) are swallowed. For the LATEST request, an AbortError can
107
107
  // only come from a CONSUMER-side abort (e.g. AbortSignal.timeout) —
108
- // also swallowed, mirroring fetch-cancellation conventions; genuine
109
- // failures propagate.
108
+ // also swallowed, mirroring fetch-cancellation conventions. Genuine
109
+ // failures are LOGGED, not rethrown: this runs from an effect, so a
110
+ // rethrow would only become an unhandled rejection.
110
111
  isAbort = _t instanceof Error && _t.name === 'AbortError';
111
- if (!(seq === seqRef.current && !isAbort)) {
112
- _context.next = 6;
113
- break;
112
+ if (seq === seqRef.current && !isAbort) {
113
+ console.error('[ProForm] field request failed:', _t);
114
114
  }
115
- throw _t;
116
115
  case 6:
117
116
  _context.prev = 6;
118
117
  if (seq === seqRef.current) {
@@ -126,10 +125,13 @@ function useFieldRequest(request, params) {
126
125
  }, _callee, null, [[2, 5, 6, 7]]);
127
126
  }));
128
127
  });
128
+ // `hasRequest` is a dependency so a request that only becomes defined on a
129
+ // LATER render (e.g. behind a feature flag) still triggers its first fetch.
130
+ var hasRequest = !!request;
129
131
  (0, _react.useEffect)(function () {
130
132
  if (!requestRef.current) return;
131
133
  fetchOptions();
132
- }, [serializedParams]);
134
+ }, [serializedParams, hasRequest]);
133
135
  // Honor the cancellation contract on unmount: abort the in-flight request
134
136
  // and bump the sequence so any late settle (result or error) is discarded.
135
137
  (0, _react.useEffect)(function () {
@@ -142,4 +144,4 @@ function useFieldRequest(request, params) {
142
144
  return [loading, options];
143
145
  }
144
146
  var _default = exports["default"] = useFieldRequest;
145
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZUZpZWxkUmVxdWVzdC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VTYWZlU3RhdGU1IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUxhdGVzdCIsIl91dGlscyIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwiZSIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsInVzZUZpZWxkUmVxdWVzdCIsInJlcXVlc3QiLCJwYXJhbXMiLCJfdGhpcyIsIl91c2VTYWZlU3RhdGUiLCJ1c2VTYWZlU3RhdGUiLCJfdXNlU2FmZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVNhZmVTdGF0ZTMiLCJfdXNlU2FmZVN0YXRlNCIsIm9wdGlvbnMiLCJzZXRPcHRpb25zIiwicmVxdWVzdFJlZiIsInVzZUxhdGVzdCIsInNlcVJlZiIsInVzZVJlZiIsImFib3J0UmVmIiwic2VyaWFsaXplZFBhcmFtcyIsInN0YWJsZVNlcmlhbGl6ZSIsImZldGNoT3B0aW9ucyIsInVzZU1lbW9pemVkRm4iLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl9hIiwiZm4iLCJjb250cm9sbGVyIiwic2VxIiwiaXNBYm9ydCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsImN1cnJlbnQiLCJhYnJ1cHQiLCJhYm9ydCIsIkFib3J0Q29udHJvbGxlciIsInNpZ25hbCIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJFcnJvciIsIm5hbWUiLCJmaW5pc2giLCJzdG9wIiwidXNlRWZmZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsY0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FDSkEsSUFBSU0sU0FBUyxHQUFJLFVBQVEsU0FBS0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FBSyxHQUFHLElBQUlILENBQUMsQ0FBQyxVQUFVSSxPQUFPLEVBQUU7TUFBRUEsT0FBTyxDQUFDRCxLQUFLLENBQUM7SUFBRSxDQUFDLENBQUM7RUFBRTtFQUMzRyxPQUFPLEtBQUtILENBQUMsS0FBS0EsQ0FBQyxHQUFHSyxPQUFPLENBQUMsRUFBRSxVQUFVRCxPQUFPLEVBQUVFLE1BQU0sRUFBRTtJQUN2RCxTQUFTQyxTQUFTQSxDQUFDSixLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVLLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxJQUFJLENBQUNOLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDMUYsU0FBU0MsUUFBUUEsQ0FBQ1IsS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQ0UsS0FBSyxDQUFDLENBQUM7TUFBRSxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFO1FBQUVK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QUFSLFFBQVEsQ0FBQ2lCLE9BQU8sTUFBQSxJQUFBLElBQUFULEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFVyxLQUFLLENBQUEsQ0FBRTtJQUMzQixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU8sQ0FBQzdCLE9BQU8sRUFBRUksT0FBTyxDQUFDO0FBQzNCO0FBQUMsSUFBQW9DLFFBQUEsR0FBQUMsT0FBQSxjQUVjakQsZUFBZSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlRmllbGRSZXF1ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNhZmVTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZVNhZmVTdGF0ZSc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5pbXBvcnQgeyBzdGFibGVTZXJpYWxpemUgfSBmcm9tICcuLi91dGlscyc7XG4vKipcbiAqIEhvb2sgZm9yIGFzeW5jIG9wdGlvbiBmZXRjaGluZyB3aXRoIHBhcmFtLWJhc2VkIHJlLWZldGNoaW5nLlxuICogUmV0dXJucyBbbG9hZGluZywgb3B0aW9uc10uXG4gKlxuICogUmFjZS1zYWZlOiBlYWNoIGZldGNoIHRha2VzIGEgc2VxdWVuY2UgbnVtYmVyXG4gKiBhbmQgYWJvcnRzIHRoZSBwcmV2aW91cyBpbi1mbGlnaHQgcmVxdWVzdCDigJQgYSBzdGFsZSByZXNwb25zZSB0aGF0IHJlc29sdmVzXG4gKiBhZnRlciBhIG5ld2VyIHJlcXVlc3QgbmV2ZXIgb3ZlcndyaXRlcyB0aGUgbmV3ZXN0IG9wdGlvbnMsIGFuZCBvbmx5IHRoZVxuICogbmV3ZXN0IHJlcXVlc3QgY29udHJvbHMgYGxvYWRpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRmllbGRSZXF1ZXN0KHJlcXVlc3QsIHBhcmFtcykge1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVNhZmVTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW29wdGlvbnMsIHNldE9wdGlvbnNdID0gdXNlU2FmZVN0YXRlKFtdKTtcbiAgICAvLyBBbHdheXMgcmVhZCB0aGUgbmV3ZXN0IGByZXF1ZXN0YCB3aXRob3V0IHJlLXN1YnNjcmliaW5nIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgY29uc3QgcmVxdWVzdFJlZiA9IHVzZUxhdGVzdChyZXF1ZXN0KTtcbiAgICBjb25zdCBzZXFSZWYgPSB1c2VSZWYoMCk7XG4gICAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZFBhcmFtcyA9IHN0YWJsZVNlcmlhbGl6ZShwYXJhbXMpO1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IHVzZU1lbW9pemVkRm4oKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGZuID0gcmVxdWVzdFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWZuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgYWJvcnRSZWYuY3VycmVudCA9IGNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcSA9ICsrc2VxUmVmLmN1cnJlbnQ7XG4gICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB5aWVsZCBmbihwYXJhbXMsIGNvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgICAgICAgIGlmIChzZXEgIT09IHNlcVJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gc3VwZXJzZWRlZCDigJQgZGlzY2FyZFxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgIHNldE9wdGlvbnMocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIFN1cGVyc2VkZWQgcmVxdWVzdHMgKG91ciBvd24gYWJvcnRzIGFsd2F5cyBsYW5kIGhlcmUgdmlhIHRoZSBzZXFcbiAgICAgICAgICAgIC8vIG1pc21hdGNoKSBhcmUgc3dhbGxvd2VkLiBGb3IgdGhlIExBVEVTVCByZXF1ZXN0LCBhbiBBYm9ydEVycm9yIGNhblxuICAgICAgICAgICAgLy8gb25seSBjb21lIGZyb20gYSBDT05TVU1FUi1zaWRlIGFib3J0IChlLmcuIEFib3J0U2lnbmFsLnRpbWVvdXQpIOKAlFxuICAgICAgICAgICAgLy8gYWxzbyBzd2FsbG93ZWQsIG1pcnJvcmluZyBmZXRjaC1jYW5jZWxsYXRpb24gY29udmVudGlvbnM7IGdlbnVpbmVcbiAgICAgICAgICAgIC8vIGZhaWx1cmVzIHByb3BhZ2F0ZS5cbiAgICAgICAgICAgIGNvbnN0IGlzQWJvcnQgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJztcbiAgICAgICAgICAgIGlmIChzZXEgPT09IHNlcVJlZi5jdXJyZW50ICYmICFpc0Fib3J0KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghcmVxdWVzdFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBmZXRjaE9wdGlvbnMoKTtcbiAgICB9LCBbc2VyaWFsaXplZFBhcmFtc10pO1xuICAgIC8vIEhvbm9yIHRoZSBjYW5jZWxsYXRpb24gY29udHJhY3Qgb24gdW5tb3VudDogYWJvcnQgdGhlIGluLWZsaWdodCByZXF1ZXN0XG4gICAgLy8gYW5kIGJ1bXAgdGhlIHNlcXVlbmNlIHNvIGFueSBsYXRlIHNldHRsZSAocmVzdWx0IG9yIGVycm9yKSBpcyBkaXNjYXJkZWQuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHNlcVJlZi5jdXJyZW50ICs9IDE7XG4gICAgICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIFtsb2FkaW5nLCBvcHRpb25zXTtcbn1cbmV4cG9ydCBkZWZhdWx0IHVzZUZpZWxkUmVxdWVzdDsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
147
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZUZpZWxkUmVxdWVzdC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VTYWZlU3RhdGU1IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUxhdGVzdCIsIl91dGlscyIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwiZSIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsInVzZUZpZWxkUmVxdWVzdCIsInJlcXVlc3QiLCJwYXJhbXMiLCJfdGhpcyIsIl91c2VTYWZlU3RhdGUiLCJ1c2VTYWZlU3RhdGUiLCJfdXNlU2FmZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVNhZmVTdGF0ZTMiLCJfdXNlU2FmZVN0YXRlNCIsIm9wdGlvbnMiLCJzZXRPcHRpb25zIiwicmVxdWVzdFJlZiIsInVzZUxhdGVzdCIsInNlcVJlZiIsInVzZVJlZiIsImFib3J0UmVmIiwic2VyaWFsaXplZFBhcmFtcyIsInN0YWJsZVNlcmlhbGl6ZSIsImZldGNoT3B0aW9ucyIsInVzZU1lbW9pemVkRm4iLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl9hIiwiZm4iLCJjb250cm9sbGVyIiwic2VxIiwiaXNBYm9ydCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsImN1cnJlbnQiLCJhYnJ1cHQiLCJhYm9ydCIsIkFib3J0Q29udHJvbGxlciIsInNpZ25hbCIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJFcnJvciIsIm5hbWUiLCJjb25zb2xlIiwiZXJyb3IiLCJmaW5pc2giLCJzdG9wIiwiaGFzUmVxdWVzdCIsInVzZUVmZmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQ0pBLElBQUlNLFNBQVMsR0FBSSxVQUFRLFNBQUtBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUs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QSxJQUFBQyxnQkFBUyxFQUFDLFlBQUs7SUFDYixPQUFPLFlBQUs7TUNLSixJQUFJeEIsRUFBRTtNREpaVixNQUFNLENBQUNtQixPQUFPLElBQUksQ0FBQztNQUNuQixDQUFBVCxFQUFBLEdBQUFSLFFBQVEsQ0FBQ2lCLE9BQU8sTUFBQSxJQUFBLElBQUFULEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFVyxLQUFLLENBQUEsQ0FBRTtJQUMzQixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU8sQ0FBQzdCLE9BQU8sRUFBRUksT0FBTyxDQUFDO0FBQzNCO0FBQUMsSUFBQXVDLFFBQUEsR0FBQUMsT0FBQSxjQUVjcEQsZUFBZSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlRmllbGRSZXF1ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNhZmVTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZVNhZmVTdGF0ZSc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5pbXBvcnQgeyBzdGFibGVTZXJpYWxpemUgfSBmcm9tICcuLi91dGlscyc7XG4vKipcbiAqIEhvb2sgZm9yIGFzeW5jIG9wdGlvbiBmZXRjaGluZyB3aXRoIHBhcmFtLWJhc2VkIHJlLWZldGNoaW5nLlxuICogUmV0dXJucyBbbG9hZGluZywgb3B0aW9uc10uXG4gKlxuICogUmFjZS1zYWZlOiBlYWNoIGZldGNoIHRha2VzIGEgc2VxdWVuY2UgbnVtYmVyXG4gKiBhbmQgYWJvcnRzIHRoZSBwcmV2aW91cyBpbi1mbGlnaHQgcmVxdWVzdCDigJQgYSBzdGFsZSByZXNwb25zZSB0aGF0IHJlc29sdmVzXG4gKiBhZnRlciBhIG5ld2VyIHJlcXVlc3QgbmV2ZXIgb3ZlcndyaXRlcyB0aGUgbmV3ZXN0IG9wdGlvbnMsIGFuZCBvbmx5IHRoZVxuICogbmV3ZXN0IHJlcXVlc3QgY29udHJvbHMgYGxvYWRpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRmllbGRSZXF1ZXN0KHJlcXVlc3QsIHBhcmFtcykge1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVNhZmVTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW29wdGlvbnMsIHNldE9wdGlvbnNdID0gdXNlU2FmZVN0YXRlKFtdKTtcbiAgICAvLyBBbHdheXMgcmVhZCB0aGUgbmV3ZXN0IGByZXF1ZXN0YCB3aXRob3V0IHJlLXN1YnNjcmliaW5nIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgY29uc3QgcmVxdWVzdFJlZiA9IHVzZUxhdGVzdChyZXF1ZXN0KTtcbiAgICBjb25zdCBzZXFSZWYgPSB1c2VSZWYoMCk7XG4gICAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZFBhcmFtcyA9IHN0YWJsZVNlcmlhbGl6ZShwYXJhbXMpO1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IHVzZU1lbW9pemVkRm4oKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGZuID0gcmVxdWVzdFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWZuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgYWJvcnRSZWYuY3VycmVudCA9IGNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcSA9ICsrc2VxUmVmLmN1cnJlbnQ7XG4gICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB5aWVsZCBmbihwYXJhbXMsIGNvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgICAgICAgIGlmIChzZXEgIT09IHNlcVJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gc3VwZXJzZWRlZCDigJQgZGlzY2FyZFxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgIHNldE9wdGlvbnMocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIFN1cGVyc2VkZWQgcmVxdWVzdHMgKG91ciBvd24gYWJvcnRzIGFsd2F5cyBsYW5kIGhlcmUgdmlhIHRoZSBzZXFcbiAgICAgICAgICAgIC8vIG1pc21hdGNoKSBhcmUgc3dhbGxvd2VkLiBGb3IgdGhlIExBVEVTVCByZXF1ZXN0LCBhbiBBYm9ydEVycm9yIGNhblxuICAgICAgICAgICAgLy8gb25seSBjb21lIGZyb20gYSBDT05TVU1FUi1zaWRlIGFib3J0IChlLmcuIEFib3J0U2lnbmFsLnRpbWVvdXQpIOKAlFxuICAgICAgICAgICAgLy8gYWxzbyBzd2FsbG93ZWQsIG1pcnJvcmluZyBmZXRjaC1jYW5jZWxsYXRpb24gY29udmVudGlvbnMuIEdlbnVpbmVcbiAgICAgICAgICAgIC8vIGZhaWx1cmVzIGFyZSBMT0dHRUQsIG5vdCByZXRocm93bjogdGhpcyBydW5zIGZyb20gYW4gZWZmZWN0LCBzbyBhXG4gICAgICAgICAgICAvLyByZXRocm93IHdvdWxkIG9ubHkgYmVjb21lIGFuIHVuaGFuZGxlZCByZWplY3Rpb24uXG4gICAgICAgICAgICBjb25zdCBpc0Fib3J0ID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvci5uYW1lID09PSAnQWJvcnRFcnJvcic7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCAmJiAhaXNBYm9ydCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tQcm9Gb3JtXSBmaWVsZCByZXF1ZXN0IGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xuICAgIC8vIGBoYXNSZXF1ZXN0YCBpcyBhIGRlcGVuZGVuY3kgc28gYSByZXF1ZXN0IHRoYXQgb25seSBiZWNvbWVzIGRlZmluZWQgb24gYVxuICAgIC8vIExBVEVSIHJlbmRlciAoZS5nLiBiZWhpbmQgYSBmZWF0dXJlIGZsYWcpIHN0aWxsIHRyaWdnZXJzIGl0cyBmaXJzdCBmZXRjaC5cbiAgICBjb25zdCBoYXNSZXF1ZXN0ID0gISFyZXF1ZXN0O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghcmVxdWVzdFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBmZXRjaE9wdGlvbnMoKTtcbiAgICB9LCBbc2VyaWFsaXplZFBhcmFtcywgaGFzUmVxdWVzdF0pO1xuICAgIC8vIEhvbm9yIHRoZSBjYW5jZWxsYXRpb24gY29udHJhY3Qgb24gdW5tb3VudDogYWJvcnQgdGhlIGluLWZsaWdodCByZXF1ZXN0XG4gICAgLy8gYW5kIGJ1bXAgdGhlIHNlcXVlbmNlIHNvIGFueSBsYXRlIHNldHRsZSAocmVzdWx0IG9yIGVycm9yKSBpcyBkaXNjYXJkZWQuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHNlcVJlZi5jdXJyZW50ICs9IDE7XG4gICAgICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIFtsb2FkaW5nLCBvcHRpb25zXTtcbn1cbmV4cG9ydCBkZWZhdWx0IHVzZUZpZWxkUmVxdWVzdDsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -42,4 +42,5 @@ export type { UseFormWatch } from './context';
42
42
  export type { ProFormSyncToUrl, ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaValueType, SchemaFormProps, } from './interface';
43
43
  export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
44
44
  export type { ProFormMode } from './constants';
45
- export type { FormInstance, FormCoreInstance, Rule, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, UseFormConfig, UseFormReturn, UseFormInternals, } from './core/interface';
45
+ export type { FormInstance, FormCoreInstance, Rule, RuleType, FormRule, RuleContext, ValidateTriggerProp, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, UseFormConfig, UseFormReturn, UseFormInternals, } from './core/interface';
46
+ export { FormValidationError } from './core/validationError';
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "DrawerForm", {
33
33
  return _DrawerForm.DrawerForm;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "FormValidationError", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _validationError.FormValidationError;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "PROFORM_MODES", {
37
43
  enumerable: true,
38
44
  get: function get() {
@@ -182,6 +188,7 @@ var _DrawerForm = require("./layouts/DrawerForm");
182
188
  var _DialogForm = require("./layouts/DialogForm");
183
189
  var _QueryFilter = require("./layouts/QueryFilter");
184
190
  var _constants = require("./constants");
191
+ var _validationError = require("./core/validationError");
185
192
  /** Public hook — returns [FormInstance] for backward compatibility */
186
193
  var useForm = function useForm(config) {
187
194
  var _useFormInternal = (0, _useForm.useForm)(config),
@@ -218,4 +225,6 @@ var ProForm = exports.ProForm = Object.assign(_ProForm.ProForm, {
218
225
  });
219
226
  var _default = exports["default"] = ProForm; // Named exports for fields
220
227
  // Composition + layouts
221
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJfUHJvRm9ybSIsInJlcXVpcmUiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfUHJvRm9ybUxpc3QiLCJfUHJvRm9ybUdyb3VwIiwiX1NjaGVtYUZvcm0iLCJfU3VibWl0dGVyIiwiX2ZpZWxkcyIsIl91c2VGb3JtIiwiX2NvbnRleHQiLCJfRHJhd2VyRm9ybSIsIl9EaWFsb2dGb3JtIiwiX1F1ZXJ5RmlsdGVyIiwiX2NvbnN0YW50cyIsInVzZUZvcm0iLCJjb25maWciLCJfdXNlRm9ybUludGVybmFsIiwidXNlRm9ybUludGVybmFsIiwiZm9ybUluc3RhbmNlIiwiUHJvRm9ybSIsImV4cG9ydHMiLCJPYmplY3QiLCJhc3NpZ24iLCJQcm9Gb3JtQmFzZSIsIkl0ZW0iLCJQcm9Gb3JtSXRlbSIsInVzZUluc3RhbmNlIiwidXNlRm9ybUluc3RhbmNlIiwidXNlQ29udGV4dCIsInVzZVByb0Zvcm1Db250ZXh0IiwidXNlV2F0Y2giLCJ1c2VGb3JtV2F0Y2giLCJEZXBlbmRlbmN5IiwiUHJvRm9ybURlcGVuZGVuY3kiLCJMaXN0IiwiUHJvRm9ybUxpc3QiLCJHcm91cCIsIlByb0Zvcm1Hcm91cCIsIkZpZWxkU2V0IiwiUHJvRm9ybUZpZWxkU2V0IiwiU2NoZW1hRm9ybSIsIlN1Ym1pdHRlciIsIlRleHQiLCJQcm9Gb3JtVGV4dCIsIlBhc3N3b3JkIiwiUHJvRm9ybVBhc3N3b3JkIiwiVGV4dEFyZWEiLCJQcm9Gb3JtVGV4dEFyZWEiLCJDaGVja2JveCIsIlByb0Zvcm1DaGVja2JveCIsIkNoZWNrYm94R3JvdXAiLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlN3aXRjaCIsIlByb0Zvcm1Td2l0Y2giLCJTZWxlY3QiLCJQcm9Gb3JtU2VsZWN0IiwiUmFkaW9Hcm91cCIsIlByb0Zvcm1SYWRpb0dyb3VwIiwiU2xpZGVyIiwiUHJvRm9ybVNsaWRlciIsIkRhdGVQaWNrZXIiLCJQcm9Gb3JtRGF0ZVBpY2tlciIsIlVwbG9hZCIsIlByb0Zvcm1VcGxvYWQiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGtCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxhQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFjQSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxRQUFBLEdBQUFULE9BQUE7QUFDQUEsT0FBQTtBQWdFQSxJQUFBVSxXQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxXQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxZQUFBLEdBQUFaLE9BQUE7QUF5Q0EsSUFBQWEsVUFBQSxHQUFBYixPQUFBO0FBekdBO0FBQ0EsSUFBTWMsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQ1hDLE1BQThCLEVBQ0o7RUFDMUIsSUFBQUMsZ0JBQUEsR0FBeUIsSUFBQUMsZ0JBQWUsRUFBQ0YsTUFBbUMsQ0FBQztJQUFyRUcsWUFBWSxHQUFBRixnQkFBQSxDQUFaRSxZQUFZO0VBQ3BCLE9BQU8sQ0FBQ0EsWUFBb0MsQ0FBQztBQUMvQyxDQUFDO0FBRUQ7QUFDQSxJQUFNQyxPQUFPLEdBQUFDLE9BQUEsQ0FBQUQsT0FBQSxHQUFHRSxNQUFNLENBQUNDLE1BQU0sQ0FBQ0MsZ0JBQVcsRUFBRTtFQUN6QztFQUNBQyxJQUFJLEVBQUVDLHdCQUFXO0VBQ2pCWCxPQUFPLEVBQVBBLE9BQU87RUFDUFksV0FBVyxFQUFFQyx3QkFBZTtFQUM1QkMsVUFBVSxFQUFFQywwQkFBaUI7RUFDN0JDLFFBQVEsRUFBRUMscUJBQVk7RUFDdEI7RUFDQUMsVUFBVSxFQUFFQyxvQ0FBaUI7RUFDN0JDLElBQUksRUFBRUMsd0JBQVc7RUFDakJDLEtBQUssRUFBRUMsMEJBQVk7RUFDbkJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFVBQVUsRUFBVkEsc0JBQVU7RUFDVkMsU0FBUyxFQUFUQSxvQkFBUztFQUNUO0VBQ0FDLElBQUksRUFBRUMsbUJBQVc7RUFDakJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLGFBQWEsRUFBRUMsNEJBQW9CO0VBQ25DQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxVQUFVLEVBQUVDLHlCQUFpQjtFQUM3QkMsTUFBTSxFQUFFQyxxQkFBYTtFQUNyQkMsVUFBVSxFQUFFQyx5QkFBaUI7RUFDN0JDLE1BQU0sRUFBRUM7QUNqQlYsQ0RrQkMsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQTVDLE9BQUEsY0FHWUQsT0FBTyxFQUV0QjtBQWlCQSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IFByb0Zvcm0gYXMgUHJvRm9ybUJhc2UgfSBmcm9tICcuL1Byb0Zvcm0nO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuL1Byb0Zvcm1JdGVtJztcbmltcG9ydCB7IFByb0Zvcm1EZXBlbmRlbmN5IH0gZnJvbSAnLi9Qcm9Gb3JtRGVwZW5kZW5jeSc7XG5pbXBvcnQgeyBQcm9Gb3JtTGlzdCB9IGZyb20gJy4vUHJvRm9ybUxpc3QnO1xuaW1wb3J0IHsgUHJvRm9ybUdyb3VwIH0gZnJvbSAnLi9Qcm9Gb3JtR3JvdXAnO1xuaW1wb3J0IHsgU2NoZW1hRm9ybSB9IGZyb20gJy4vU2NoZW1hRm9ybSc7XG5pbXBvcnQgeyBTdWJtaXR0ZXIgfSBmcm9tICcuL1N1Ym1pdHRlcic7XG5pbXBvcnQgeyBQcm9Gb3JtVGV4dCwgUHJvRm9ybVBhc3N3b3JkLCBQcm9Gb3JtVGV4dEFyZWEsIFByb0Zvcm1DaGVja2JveCwgUHJvRm9ybUNoZWNrYm94R3JvdXAsIFByb0Zvcm1Td2l0Y2gsIFByb0Zvcm1TZWxlY3QsIFByb0Zvcm1SYWRpb0dyb3VwLCBQcm9Gb3JtU2xpZGVyLCBQcm9Gb3JtRGF0ZVBpY2tlciwgUHJvRm9ybVVwbG9hZCwgUHJvRm9ybUZpZWxkU2V0LCB9IGZyb20gJy4vZmllbGRzJztcbmltcG9ydCB7IHVzZUZvcm0gYXMgdXNlRm9ybUludGVybmFsIH0gZnJvbSAnLi9jb3JlL2hvb2tzL3VzZUZvcm0nO1xuaW1wb3J0IHsgdXNlUHJvRm9ybUNvbnRleHQsIHVzZUZvcm1JbnN0YW5jZSwgdXNlRm9ybVdhdGNoIH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCAnLi9zdHlsZSc7XG4vKiogUHVibGljIGhvb2sg4oCUIHJldHVybnMgW0Zvcm1JbnN0YW5jZV0gZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi9cbmNvbnN0IHVzZUZvcm0gPSAoY29uZmlnKSA9PiB7XG4gICAgY29uc3QgeyBmb3JtSW5zdGFuY2UgfSA9IHVzZUZvcm1JbnRlcm5hbChjb25maWcpO1xuICAgIHJldHVybiBbZm9ybUluc3RhbmNlXTtcbn07XG4vLyBDb21wb3NlIFByb0Zvcm0gd2l0aCBzdGF0aWMgc3ViLWNvbXBvbmVudHMgYW5kIGhvb2tzXG5jb25zdCBQcm9Gb3JtID0gT2JqZWN0LmFzc2lnbihQcm9Gb3JtQmFzZSwge1xuICAgIC8vIEl0ZW0gKyBjb3JlIGhvb2tzXG4gICAgSXRlbTogUHJvRm9ybUl0ZW0sXG4gICAgdXNlRm9ybSxcbiAgICB1c2VJbnN0YW5jZTogdXNlRm9ybUluc3RhbmNlLFxuICAgIHVzZUNvbnRleHQ6IHVzZVByb0Zvcm1Db250ZXh0LFxuICAgIHVzZVdhdGNoOiB1c2VGb3JtV2F0Y2gsXG4gICAgLy8gQ29tcG9zaXRpb25cbiAgICBEZXBlbmRlbmN5OiBQcm9Gb3JtRGVwZW5kZW5jeSxcbiAgICBMaXN0OiBQcm9Gb3JtTGlzdCxcbiAgICBHcm91cDogUHJvRm9ybUdyb3VwLFxuICAgIEZpZWxkU2V0OiBQcm9Gb3JtRmllbGRTZXQsXG4gICAgU2NoZW1hRm9ybSxcbiAgICBTdWJtaXR0ZXIsXG4gICAgLy8gRmllbGRzXG4gICAgVGV4dDogUHJvRm9ybVRleHQsXG4gICAgUGFzc3dvcmQ6IFByb0Zvcm1QYXNzd29yZCxcbiAgICBUZXh0QXJlYTogUHJvRm9ybVRleHRBcmVhLFxuICAgIENoZWNrYm94OiBQcm9Gb3JtQ2hlY2tib3gsXG4gICAgQ2hlY2tib3hHcm91cDogUHJvRm9ybUNoZWNrYm94R3JvdXAsXG4gICAgU3dpdGNoOiBQcm9Gb3JtU3dpdGNoLFxuICAgIFNlbGVjdDogUHJvRm9ybVNlbGVjdCxcbiAgICBSYWRpb0dyb3VwOiBQcm9Gb3JtUmFkaW9Hcm91cCxcbiAgICBTbGlkZXI6IFByb0Zvcm1TbGlkZXIsXG4gICAgRGF0ZVBpY2tlcjogUHJvRm9ybURhdGVQaWNrZXIsXG4gICAgVXBsb2FkOiBQcm9Gb3JtVXBsb2FkLFxufSk7XG5leHBvcnQgeyBQcm9Gb3JtLCBQcm9Gb3JtSXRlbSB9O1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybTtcbi8vIE5hbWVkIGV4cG9ydHMgZm9yIGZpZWxkc1xuZXhwb3J0IHsgY3JlYXRlUHJvRm9ybUZpZWxkLCBQcm9Gb3JtVGV4dCwgUHJvRm9ybVBhc3N3b3JkLCBQcm9Gb3JtVGV4dEFyZWEsIFByb0Zvcm1DaGVja2JveCwgUHJvRm9ybUNoZWNrYm94R3JvdXAsIFByb0Zvcm1Td2l0Y2gsIFByb0Zvcm1TZWxlY3QsIFByb0Zvcm1SYWRpb0dyb3VwLCBQcm9Gb3JtU2xpZGVyLCBQcm9Gb3JtRGF0ZVBpY2tlciwgUHJvRm9ybVVwbG9hZCwgUHJvRm9ybUZpZWxkU2V0LCB9IGZyb20gJy4vZmllbGRzJztcbi8vIENvbXBvc2l0aW9uICsgbGF5b3V0c1xuZXhwb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmV4cG9ydCB7IFByb0Zvcm1MaXN0IH0gZnJvbSAnLi9Qcm9Gb3JtTGlzdCc7XG5leHBvcnQgeyBQcm9Gb3JtR3JvdXAgfSBmcm9tICcuL1Byb0Zvcm1Hcm91cCc7XG5leHBvcnQgeyBTY2hlbWFGb3JtIH0gZnJvbSAnLi9TY2hlbWFGb3JtJztcbmV4cG9ydCB7IERyYXdlckZvcm0gfSBmcm9tICcuL2xheW91dHMvRHJhd2VyRm9ybSc7XG5leHBvcnQgeyBEaWFsb2dGb3JtIH0gZnJvbSAnLi9sYXlvdXRzL0RpYWxvZ0Zvcm0nO1xuZXhwb3J0IHsgUXVlcnlGaWx0ZXIgfSBmcm9tICcuL2xheW91dHMvUXVlcnlGaWx0ZXInO1xuZXhwb3J0IHsgdXNlRm9ybVdhdGNoIH0gZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCB7IENTU19QUkVGSVgsIFdJRFRIX1NJWkVfTUFQLCBERUZBVUxUX0NPTF9TUEFOLCBERUZBVUxUX1RFWFQsIFBST0ZPUk1fTU9ERVMgfSBmcm9tICcuL2NvbnN0YW50cyc7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
228
+ // Rejection type of `validateFields` — lets consumers (and submit handlers)
229
+ // distinguish a validation failure from other errors via `instanceof`.
230
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJfUHJvRm9ybSIsInJlcXVpcmUiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfUHJvRm9ybUxpc3QiLCJfUHJvRm9ybUdyb3VwIiwiX1NjaGVtYUZvcm0iLCJfU3VibWl0dGVyIiwiX2ZpZWxkcyIsIl91c2VGb3JtIiwiX2NvbnRleHQiLCJfRHJhd2VyRm9ybSIsIl9EaWFsb2dGb3JtIiwiX1F1ZXJ5RmlsdGVyIiwiX2NvbnN0YW50cyIsIl92YWxpZGF0aW9uRXJyb3IiLCJ1c2VGb3JtIiwiY29uZmlnIiwiX3VzZUZvcm1JbnRlcm5hbCIsInVzZUZvcm1JbnRlcm5hbCIsImZvcm1JbnN0YW5jZSIsIlByb0Zvcm0iLCJleHBvcnRzIiwiT2JqZWN0IiwiYXNzaWduIiwiUHJvRm9ybUJhc2UiLCJJdGVtIiwiUHJvRm9ybUl0ZW0iLCJ1c2VJbnN0YW5jZSIsInVzZUZvcm1JbnN0YW5jZSIsInVzZUNvbnRleHQiLCJ1c2VQcm9Gb3JtQ29udGV4dCIsInVzZVdhdGNoIiwidXNlRm9ybVdhdGNoIiwiRGVwZW5kZW5jeSIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiTGlzdCIsIlByb0Zvcm1MaXN0IiwiR3JvdXAiLCJQcm9Gb3JtR3JvdXAiLCJGaWVsZFNldCIsIlByb0Zvcm1GaWVsZFNldCIsIlNjaGVtYUZvcm0iLCJTdWJtaXR0ZXIiLCJUZXh0IiwiUHJvRm9ybVRleHQiLCJQYXNzd29yZCIsIlByb0Zvcm1QYXNzd29yZCIsIlRleHRBcmVhIiwiUHJvRm9ybVRleHRBcmVhIiwiQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiUHJvRm9ybUNoZWNrYm94R3JvdXAiLCJTd2l0Y2giLCJQcm9Gb3JtU3dpdGNoIiwiU2VsZWN0IiwiUHJvRm9ybVNlbGVjdCIsIlJhZGlvR3JvdXAiLCJQcm9Gb3JtUmFkaW9Hcm91cCIsIlNsaWRlciIsIlByb0Zvcm1TbGlkZXIiLCJEYXRlUGlja2VyIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJVcGxvYWQiLCJQcm9Gb3JtVXBsb2FkIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxrQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBY0EsSUFBQVEsUUFBQSxHQUFBUixPQUFBO0FBRUEsSUFBQVMsUUFBQSxHQUFBVCxPQUFBO0FBQ0FBLE9BQUE7QUFnRUEsSUFBQVUsV0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsV0FBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksWUFBQSxHQUFBWixPQUFBO0FBeUNBLElBQUFhLFVBQUEsR0FBQWIsT0FBQTtBQXdCQSxJQUFBYyxnQkFBQSxHQUFBZCxPQUFBO0FBaklBO0FBQ0EsSUFBTWUsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQ1hDLE1BQThCLEVBQ0o7RUFDMUIsSUFBQUMsZ0JBQUEsR0FBeUIsSUFBQUMsZ0JBQWUsRUFBQ0YsTUFBbUMsQ0FBQztJQUFyRUcsWUFBWSxHQUFBRixnQkFBQSxDQUFaRSxZQUFZO0VBQ3BCLE9BQU8sQ0FBQ0EsWUFBb0MsQ0FBQztBQUMvQyxDQUFDO0FBRUQ7QUFDQSxJQUFNQyxPQUFPLEdBQUFDLE9BQUEsQ0FBQUQsT0FBQSxHQUFHRSxNQUFNLENBQUNDLE1BQU0sQ0FBQ0MsZ0JBQVcsRUFBRTtFQUN6QztFQUNBQyxJQUFJLEVBQUVDLHdCQUFXO0VBQ2pCWCxPQUFPLEVBQVBBLE9BQU87RUFDUFksV0FBVyxFQUFFQyx3QkFBZTtFQUM1QkMsVUFBVSxFQUFFQywwQkFBaUI7RUFDN0JDLFFBQVEsRUFBRUMscUJBQVk7RUFDdEI7RUFDQUMsVUFBVSxFQUFFQyxvQ0FBaUI7RUFDN0JDLElBQUksRUFBRUMsd0JBQVc7RUFDakJDLEtBQUssRUFBRUMsMEJBQVk7RUFDbkJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFVBQVUsRUFBVkEsc0JBQVU7RUFDVkMsU0FBUyxFQUFUQSxvQkFBUztFQUNUO0VBQ0FDLElBQUksRUFBRUMsbUJBQVc7RUFDakJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLFFBQVEsRUFBRUMsdUJBQWU7RUFDekJDLGFBQWEsRUFBRUMsNEJBQW9CO0VBQ25DQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxVQUFVLEVBQUVDLHlCQUFpQjtFQUM3QkMsTUFBTSxFQUFFQyxxQkFBYTtFQUNyQkMsVUFBVSxFQUFFQyx5QkFBaUI7RUFDN0JDLE1BQU0sRUFBRUM7QUNqQlYsQ0RrQkMsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQTVDLE9BQUEsY0FHWUQsT0FBTyxFQUV0QjtBQWlCQTtBQXNFQTtBQUNBIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgUHJvRm9ybSBhcyBQcm9Gb3JtQmFzZSB9IGZyb20gJy4vUHJvRm9ybSc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4vUHJvRm9ybUl0ZW0nO1xuaW1wb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmltcG9ydCB7IFByb0Zvcm1MaXN0IH0gZnJvbSAnLi9Qcm9Gb3JtTGlzdCc7XG5pbXBvcnQgeyBQcm9Gb3JtR3JvdXAgfSBmcm9tICcuL1Byb0Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBTY2hlbWFGb3JtIH0gZnJvbSAnLi9TY2hlbWFGb3JtJztcbmltcG9ydCB7IFN1Ym1pdHRlciB9IGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuaW1wb3J0IHsgdXNlRm9ybSBhcyB1c2VGb3JtSW50ZXJuYWwgfSBmcm9tICcuL2NvcmUvaG9va3MvdXNlRm9ybSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlLCB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8qKiBQdWJsaWMgaG9vayDigJQgcmV0dXJucyBbRm9ybUluc3RhbmNlXSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuY29uc3QgdXNlRm9ybSA9IChjb25maWcpID0+IHtcbiAgICBjb25zdCB7IGZvcm1JbnN0YW5jZSB9ID0gdXNlRm9ybUludGVybmFsKGNvbmZpZyk7XG4gICAgcmV0dXJuIFtmb3JtSW5zdGFuY2VdO1xufTtcbi8vIENvbXBvc2UgUHJvRm9ybSB3aXRoIHN0YXRpYyBzdWItY29tcG9uZW50cyBhbmQgaG9va3NcbmNvbnN0IFByb0Zvcm0gPSBPYmplY3QuYXNzaWduKFByb0Zvcm1CYXNlLCB7XG4gICAgLy8gSXRlbSArIGNvcmUgaG9va3NcbiAgICBJdGVtOiBQcm9Gb3JtSXRlbSxcbiAgICB1c2VGb3JtLFxuICAgIHVzZUluc3RhbmNlOiB1c2VGb3JtSW5zdGFuY2UsXG4gICAgdXNlQ29udGV4dDogdXNlUHJvRm9ybUNvbnRleHQsXG4gICAgdXNlV2F0Y2g6IHVzZUZvcm1XYXRjaCxcbiAgICAvLyBDb21wb3NpdGlvblxuICAgIERlcGVuZGVuY3k6IFByb0Zvcm1EZXBlbmRlbmN5LFxuICAgIExpc3Q6IFByb0Zvcm1MaXN0LFxuICAgIEdyb3VwOiBQcm9Gb3JtR3JvdXAsXG4gICAgRmllbGRTZXQ6IFByb0Zvcm1GaWVsZFNldCxcbiAgICBTY2hlbWFGb3JtLFxuICAgIFN1Ym1pdHRlcixcbiAgICAvLyBGaWVsZHNcbiAgICBUZXh0OiBQcm9Gb3JtVGV4dCxcbiAgICBQYXNzd29yZDogUHJvRm9ybVBhc3N3b3JkLFxuICAgIFRleHRBcmVhOiBQcm9Gb3JtVGV4dEFyZWEsXG4gICAgQ2hlY2tib3g6IFByb0Zvcm1DaGVja2JveCxcbiAgICBDaGVja2JveEdyb3VwOiBQcm9Gb3JtQ2hlY2tib3hHcm91cCxcbiAgICBTd2l0Y2g6IFByb0Zvcm1Td2l0Y2gsXG4gICAgU2VsZWN0OiBQcm9Gb3JtU2VsZWN0LFxuICAgIFJhZGlvR3JvdXA6IFByb0Zvcm1SYWRpb0dyb3VwLFxuICAgIFNsaWRlcjogUHJvRm9ybVNsaWRlcixcbiAgICBEYXRlUGlja2VyOiBQcm9Gb3JtRGF0ZVBpY2tlcixcbiAgICBVcGxvYWQ6IFByb0Zvcm1VcGxvYWQsXG59KTtcbmV4cG9ydCB7IFByb0Zvcm0sIFByb0Zvcm1JdGVtIH07XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtO1xuLy8gTmFtZWQgZXhwb3J0cyBmb3IgZmllbGRzXG5leHBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQsIFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuLy8gQ29tcG9zaXRpb24gKyBsYXlvdXRzXG5leHBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuZXhwb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmV4cG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmV4cG9ydCB7IFNjaGVtYUZvcm0gfSBmcm9tICcuL1NjaGVtYUZvcm0nO1xuZXhwb3J0IHsgRHJhd2VyRm9ybSB9IGZyb20gJy4vbGF5b3V0cy9EcmF3ZXJGb3JtJztcbmV4cG9ydCB7IERpYWxvZ0Zvcm0gfSBmcm9tICcuL2xheW91dHMvRGlhbG9nRm9ybSc7XG5leHBvcnQgeyBRdWVyeUZpbHRlciB9IGZyb20gJy4vbGF5b3V0cy9RdWVyeUZpbHRlcic7XG5leHBvcnQgeyB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0IHsgQ1NTX1BSRUZJWCwgV0lEVEhfU0laRV9NQVAsIERFRkFVTFRfQ09MX1NQQU4sIERFRkFVTFRfVEVYVCwgUFJPRk9STV9NT0RFUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8vIFJlamVjdGlvbiB0eXBlIG9mIGB2YWxpZGF0ZUZpZWxkc2Ag4oCUIGxldHMgY29uc3VtZXJzIChhbmQgc3VibWl0IGhhbmRsZXJzKVxuLy8gZGlzdGluZ3Vpc2ggYSB2YWxpZGF0aW9uIGZhaWx1cmUgZnJvbSBvdGhlciBlcnJvcnMgdmlhIGBpbnN0YW5jZW9mYC5cbmV4cG9ydCB7IEZvcm1WYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2NvcmUvdmFsaWRhdGlvbkVycm9yJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9