@kaspernj/api-maker 1.0.2167 → 1.0.2169

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 (60) hide show
  1. package/build/bootstrap/card.js +3 -3
  2. package/build/bootstrap/checkboxes.js +3 -3
  3. package/build/draggable-sort/index.d.ts +1 -0
  4. package/build/draggable-sort/index.d.ts.map +1 -1
  5. package/build/draggable-sort/index.js +2 -1
  6. package/build/draggable-sort/item.d.ts +1 -0
  7. package/build/draggable-sort/item.d.ts.map +1 -1
  8. package/build/draggable-sort/item.js +12 -7
  9. package/build/inputs/attachment.js +2 -2
  10. package/build/inputs/input.js +2 -2
  11. package/build/router/route.d.ts.map +1 -1
  12. package/build/router/route.js +5 -6
  13. package/build/router/switch.d.ts.map +1 -1
  14. package/build/router/switch.js +4 -6
  15. package/build/super-admin/edit-page/edit-attribute-checkbox.js +2 -2
  16. package/build/super-admin/edit-page/edit-attribute-content.js +2 -2
  17. package/build/super-admin/index.js +4 -4
  18. package/build/super-admin/layout/header/index.js +5 -3
  19. package/build/super-admin/layout/index.js +5 -3
  20. package/build/super-admin/layout/menu/menu-item.js +7 -3
  21. package/build/super-admin/show-reflection-link.js +2 -2
  22. package/build/table/blocking-overlay.js +2 -2
  23. package/build/table/filters/filter-form.js +27 -27
  24. package/build/table/filters/index.d.ts.map +1 -1
  25. package/build/table/filters/index.js +23 -21
  26. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  27. package/build/table/filters/load-search-modal.js +3 -5
  28. package/build/table/header-column.d.ts +4 -1
  29. package/build/table/header-column.d.ts.map +1 -1
  30. package/build/table/header-column.js +7 -6
  31. package/build/table/header-select.js +7 -3
  32. package/build/table/move-dragged-column-position.d.ts +40 -0
  33. package/build/table/move-dragged-column-position.d.ts.map +1 -0
  34. package/build/table/move-dragged-column-position.js +37 -0
  35. package/build/table/table.d.ts.map +1 -1
  36. package/build/table/table.js +38 -37
  37. package/build/table/worker-plugins-check-all-checkbox.js +7 -7
  38. package/build/table/worker-plugins-checkbox.js +3 -5
  39. package/build/updated-attribute.d.ts +12 -19
  40. package/build/updated-attribute.d.ts.map +1 -1
  41. package/build/updated-attribute.js +31 -21
  42. package/build/use-can-can.js +3 -3
  43. package/build/use-collection.d.ts.map +1 -1
  44. package/build/use-collection.js +13 -21
  45. package/build/use-current-user-context.js +3 -3
  46. package/build/use-model.d.ts.map +1 -1
  47. package/build/use-model.js +7 -4
  48. package/build/utils/button.js +7 -3
  49. package/build/utils/checkbox.js +3 -3
  50. package/build/utils/checkboxes.js +3 -3
  51. package/build/utils/default-style.d.ts +9 -1
  52. package/build/utils/default-style.d.ts.map +1 -1
  53. package/build/utils/default-style.js +33 -34
  54. package/build/utils/text-input.d.ts +27 -0
  55. package/build/utils/text-input.d.ts.map +1 -0
  56. package/build/utils/text-input.js +27 -0
  57. package/build/utils/with-default-style-slot.d.ts +28 -0
  58. package/build/utils/with-default-style-slot.d.ts.map +1 -0
  59. package/build/utils/with-default-style-slot.js +46 -0
  60. package/package.json +2 -2
@@ -162,7 +162,7 @@ const ApiMakerInputsInput = memo(shapeComponent(/** @augments {ShapeComponent<Pr
162
162
  if (attribute && autoSubmit && model)
163
163
  this.delayAutoSubmit();
164
164
  if (digg(inputProps, "type") == "file")
165
- this.setState({ blankInputName: this.getBlankInputName() });
165
+ this.s.blankInputName = this.getBlankInputName();
166
166
  if (form && name) {
167
167
  form.setValue(name, e.target.value);
168
168
  }
@@ -184,4 +184,4 @@ const ApiMakerInputsInput = memo(shapeComponent(/** @augments {ShapeComponent<Pr
184
184
  }));
185
185
  export { ApiMakerInputsInput as Input };
186
186
  export default inputWrapper(ApiMakerInputsInput);
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9pbnB1dC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUN6QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxTQUFTLENBQUE7QUFDL0IsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFBO0FBQzNCLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFBO0FBQy9CLE9BQU8sT0FBTyxNQUFNLHdDQUF3QyxDQUFBO0FBQzVELE9BQU8sZUFBZSxNQUFNLHlCQUF5QixDQUFBO0FBRXJEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0g7OztHQUdHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLCtDQUErQyxDQUFDLE1BQU0sbUJBQW9CLFNBQVEsY0FBYztJQUM5SSxNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDakIsU0FB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QUFFSCxPQUFPLEVBQUMsbUJBQW1CLElBQUksS0FBSyxFQUFDLENBQUE7QUFDckMsZUFBZSxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge2RpZywgZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi9mb3JtXCJcbmltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0LmpzXCJcbmltcG9ydCBNb25leSBmcm9tIFwiLi9tb25leVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4vaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcmVwbGFjZWFsbCBmcm9tIFwicmVwbGFjZWFsbFwiXG5pbXBvcnQgc3RyZnRpbWUgZnJvbSBcInN0cmZ0aW1lXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL2J1aWxkL3NyYy91c2UtaTE4bi5qc1wiXG5pbXBvcnQgdXNlVXBkYXRlZEV2ZW50IGZyb20gXCIuLi91c2UtdXBkYXRlZC1ldmVudC5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYXR0cmlidXRlXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYXV0b1JlZnJlc2hdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthdXRvU3VibWl0XVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjbGFzc05hbWVdXG4gKiBAcHJvcGVydHkgeyh2YWx1ZTogYm9vbGVhbiB8IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuIHwgRGF0ZSB8IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWR9IFtmb3JtYXRWYWx1ZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaWRdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtsb2NhbGl6ZWROdW1iZXJdXG4gICogQHByb3BlcnR5IHtvYmplY3R9IFttb2RlbF1cbiAgKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdXG4gICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uQ2hhbmdlXVxuICAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IFtvbk1hdGNoVmFsaWRhdGlvbkVycm9yXVxuICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdHlwZV1cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBibGFua0lucHV0TmFtZVxuICovXG5jb25zdCBBcGlNYWtlcklucHV0c0lucHV0ID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBBcGlNYWtlcklucHV0c0lucHV0IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGF1dG9SZWZyZXNoOiBmYWxzZSxcbiAgICBhdXRvU3VibWl0OiBmYWxzZSxcbiAgICBsb2NhbGl6ZWROdW1iZXI6IGZhbHNlLFxuICAgIG1vZGVsOiBudWxsXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvUmVmcmVzaDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXV0b1N1Ym1pdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGZvcm1hdFZhbHVlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsb2NhbGl6ZWROdW1iZXI6IFByb3BUeXBlcy5ib29sLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfVxuXG4gIHN0YXRlID0ge1xuICAgIGJsYW5rSW5wdXROYW1lOiBkaWdnKHRoaXMucHJvcHMuaW5wdXRQcm9wcywgXCJ0eXBlXCIpID09IFwiZmlsZVwiXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLmlucHV0cy5pbnB1dFwifSlcbiAgICBjb25zdCB7YXV0b1JlZnJlc2gsIGlucHV0UHJvcHMsIG1vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWUsIG5hbWV9ID0gaW5wdXRQcm9wc1xuXG4gICAgdGhpcy5mb3JtID0gdXNlRm9ybSgpXG4gICAgdGhpcy52aXNpYmxlSW5wdXRSZWYgPSB1c2VSZWYodW5kZWZpbmVkKVxuICAgIHRoaXMudCA9IHRcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgdGhpcy50dC5mb3JtPy5zZXRWYWx1ZShuYW1lLCBkZWZhdWx0VmFsdWUpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VVcGRhdGVkRXZlbnQobW9kZWwsIHRoaXMudHQub25Nb2RlbFVwZGF0ZWQsIHthY3RpdmU6IEJvb2xlYW4oYXV0b1JlZnJlc2ggJiYgbW9kZWwpfSlcbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXR0cmlidXRlLFxuICAgICAgYXV0b1JlZnJlc2gsXG4gICAgICBhdXRvU3VibWl0LFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZm9ybWF0VmFsdWUsXG4gICAgICBpZCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBpbnB1dFJlZixcbiAgICAgIGxvY2FsaXplZE51bWJlcixcbiAgICAgIG1vZGVsLFxuICAgICAgbmFtZSxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25FcnJvcnMsXG4gICAgICBvbk1hdGNoVmFsaWRhdGlvbkVycm9yLFxuICAgICAgdHlwZSxcbiAgICAgIHdyYXBwZXJPcHRzLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcblxuICAgIGNvbnN0IHNoYXJlZFByb3BzID0ge1xuICAgICAgaWQ6IGxvY2FsaXplZE51bWJlciA/IG51bGwgOiBpbnB1dFByb3BzLmlkLFxuICAgICAgbmFtZTogbG9jYWxpemVkTnVtYmVyID8gbnVsbCA6IGlucHV0UHJvcHMubmFtZVxuICAgIH1cbiAgICBjb25zdCByZWYgPSBsb2NhbGl6ZWROdW1iZXIgPyB0aGlzLnZpc2libGVJbnB1dFJlZiA6IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuICAgIGNvbnN0IHtyZWY6IGlucHV0UHJvcHNSZWYsIC4uLmlucHV0UHJvcHNXaXRob3V0UmVmfSA9IGlucHV0UHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7bG9jYWxpemVkTnVtYmVyICYmXG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGlkPXtpbnB1dFByb3BzLmlkfVxuICAgICAgICAgICAgbmFtZT17dGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICAgIHJlZj17dGhpcy5pbnB1dFJlZmVyZW5jZSgpfVxuICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSA9PSBcIm1vbmV5XCIgJiZcbiAgICAgICAgICA8TW9uZXlcbiAgICAgICAgICAgIGF0dHJpYnV0ZT17YXR0cmlidXRlfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdFZhbHVlTG9jYWxpemVkKCl9XG4gICAgICAgICAgICBpbnB1dFJlZj17dGhpcy5pbnB1dFJlZmVyZW5jZSgpfVxuICAgICAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgPT0gXCJ0ZXh0YXJlYVwiICYmXG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uSW5wdXRDaGFuZ2VkfVxuICAgICAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgIT0gXCJtb25leVwiICYmIHR5cGUgIT0gXCJ0ZXh0YXJlYVwiICYmXG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uSW5wdXRDaGFuZ2VkfVxuICAgICAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICBuYW1lPXtsb2NhbGl6ZWROdW1iZXIgPyBudWxsIDogdGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC8+XG4gICAgKVxuICB9XG5cbiAgYWN0dWFsVmFsdWUgKHZpc2libGVJbnB1dCkge1xuICAgIGNvbnN0IHt0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB2YWx1ZSA9IGRpZ2codmlzaWJsZUlucHV0LCBcInZhbHVlXCIpXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB7XG4gICAgICBjb25zdCBkZWNpbWFsID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuc2VwYXJhdG9yXCIpXG4gICAgICBjb25zdCBpbnRlZ2VyU2VwYXJhdG9yID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuZGVsaW1pdGVyXCIpXG5cbiAgICAgIGxldCB1bmZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoaW50ZWdlclNlcGFyYXRvciwgXCJcIiwgdmFsdWUpXG5cbiAgICAgIHVuZm9ybWF0dGVkID0gcmVwbGFjZWFsbChkZWNpbWFsLCBcIi5cIiwgdW5mb3JtYXR0ZWQpXG5cbiAgICAgIHJldHVybiB1bmZvcm1hdHRlZFxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgYXV0b1N1Ym1pdCA9ICgpID0+IG5ldyBBdXRvU3VibWl0KHtjb21wb25lbnQ6IHRoaXN9KS5hdXRvU3VibWl0KClcblxuICBmb3JtYXRWYWx1ZSAodmFsdWUpIHtcbiAgICBjb25zdCB7Zm9ybWF0VmFsdWUsIHR5cGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGZvcm1hdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZm9ybWF0VmFsdWUodmFsdWUpXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLmdldFRpbWUoKSkpIHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdXNlIGEgY2VydGFpbiBmb3JtYXQgZm9yIGRhdGV0aW1lLWxvY2FsXG4gICAgICBpZiAodHlwZSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRcIiwgdmFsdWUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZUxvY2FsaXplZCAoKSB7XG4gICAgY29uc3Qge3R9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtsb2NhbGl6ZWROdW1iZXJ9ID0gZGlncyh0aGlzLnByb3BzLCBcImxvY2FsaXplZE51bWJlclwiKVxuXG4gICAgaWYgKGxvY2FsaXplZE51bWJlciAmJiBkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHQoXCJudW1iZXIuY3VycmVuY3kuZm9ybWF0LnNlcGFyYXRvclwiKVxuICAgICAgY29uc3QgZGVsaW1pdGVyID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuZGVsaW1pdGVyXCIpXG5cbiAgICAgIGxldCBmb3JtYXR0ZWQgPSBgJHtkZWZhdWx0VmFsdWV9YFxuXG4gICAgICBmb3JtYXR0ZWQgPSByZXBsYWNlYWxsKFwiLlwiLCBcInt7c2VwYXJhdG9yfX1cIiwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcIixcIiwgXCJ7e2RlbGltaXRlcn19XCIsIGZvcm1hdHRlZClcbiAgICAgIGZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoXCJ7e3NlcGFyYXRvcn19XCIsIHNlcGFyYXRvciwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcInt7ZGVsaW1pdGVyfX1cIiwgZGVsaW1pdGVyLCBmb3JtYXR0ZWQpXG5cbiAgICAgIHJldHVybiBmb3JtYXR0ZWRcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gIH1cblxuICBpbnB1dE5hbWUgKCkge1xuICAgIGlmICh0aGlzLnMuYmxhbmtJbnB1dE5hbWUpIHJldHVybiBcIlwiXG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dFByb3BzLm5hbWVcbiAgfVxuXG4gIGlucHV0UmVmZXJlbmNlID0gKCkgPT4gZGlnZyh0aGlzLCBcInByb3BzXCIsIFwiaW5wdXRQcm9wc1wiLCBcInJlZlwiKVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGFyZ3MpID0+IHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuXG4gICAgaWYgKCFpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGNvbXBvbmVudCBpcyBiZWluZyB1bm1vdW50ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gZGlncyh0aGlzLnByb3BzLCBcImF0dHJpYnV0ZVwiKVxuICAgIGNvbnN0IG5ld01vZGVsID0gZGlnZyhhcmdzLCBcIm1vZGVsXCIpXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld01vZGVsLnJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlKVxuICAgIGNvbnN0IG5ld0Zvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShuZXdWYWx1ZSlcblxuICAgIGlmIChjdXJyZW50VmFsdWUgIT0gbmV3Rm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSBuZXdGb3JtYXR0ZWRWYWx1ZVxuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBjb25zdCB7Zm9ybX0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgYXV0b1N1Ym1pdCwgaW5wdXRQcm9wcywgbW9kZWwsIG9uQ2hhbmdlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB7bmFtZX0gPSBpbnB1dFByb3BzXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB0aGlzLmlucHV0UmVmZXJlbmNlKCkuY3VycmVudC52YWx1ZSA9IHRoaXMuYWN0dWFsVmFsdWUoZGlnZyhlLCBcInRhcmdldFwiKSlcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgdGhpcy5kZWxheUF1dG9TdWJtaXQoKVxuICAgIGlmIChkaWdnKGlucHV0UHJvcHMsIFwidHlwZVwiKSA9PSBcImZpbGVcIikgdGhpcy5zZXRTdGF0ZSh7YmxhbmtJbnB1dE5hbWU6IHRoaXMuZ2V0QmxhbmtJbnB1dE5hbWUoKX0pXG5cbiAgICBpZiAoZm9ybSAmJiBuYW1lKSB7XG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIGUudGFyZ2V0LnZhbHVlKVxuICAgIH1cblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoZSlcbiAgfVxuXG4gIGRlbGF5QXV0b1N1Ym1pdCAoKSB7XG4gICAgaWYgKHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dClcbiAgICB9XG5cbiAgICB0aGlzLmRlbGF5QXV0b1N1Ym1pdFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuYXV0b1N1Ym1pdCwgMjAwKVxuICB9XG5cbiAgLy8gVGhpcyBmaXhlcyBhbiBpc3N1ZSBpbiBGaXJlZm94IGFuZCBBY3RpdmVTdG9yYWdlLCB3aGVyZSB1cGxvYWRzIHdvdWxkIGJlIGEgYmxhbmsgc3RyaW5nIGlmIGEgZmlsZSB3YXNuJ3QgY2hvc2VuXG4gIGdldEJsYW5rSW5wdXROYW1lICgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRpZyh0aGlzLmlucHV0UmVmZXJlbmNlKCksIFwiY3VycmVudFwiLCBcInZhbHVlXCIpXG5cbiAgICBpZiAodGhpcy5wcm9wcy5pbnB1dFByb3BzLnR5cGUgPT0gXCJmaWxlXCIgJiYgdmFsdWUgPT0gXCJcIilcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn0pKVxuXG5leHBvcnQge0FwaU1ha2VySW5wdXRzSW5wdXQgYXMgSW5wdXR9XG5leHBvcnQgZGVmYXVsdCBpbnB1dFdyYXBwZXIoQXBpTWFrZXJJbnB1dHNJbnB1dClcbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9pbnB1dC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUN6QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxTQUFTLENBQUE7QUFDL0IsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFBO0FBQzNCLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFBO0FBQy9CLE9BQU8sT0FBTyxNQUFNLHdDQUF3QyxDQUFBO0FBQzVELE9BQU8sZUFBZSxNQUFNLHlCQUF5QixDQUFBO0FBRXJEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0g7OztHQUdHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLCtDQUErQyxDQUFDLE1BQU0sbUJBQW9CLFNBQVEsY0FBYztJQUM5SSxNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUc7UUFDakIsU0FB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bUJBQW1CLElBQUksS0FBSyxFQUFDLENBQUE7QUFDckMsZUFBZSxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge2RpZywgZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi9mb3JtXCJcbmltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0LmpzXCJcbmltcG9ydCBNb25leSBmcm9tIFwiLi9tb25leVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4vaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcmVwbGFjZWFsbCBmcm9tIFwicmVwbGFjZWFsbFwiXG5pbXBvcnQgc3RyZnRpbWUgZnJvbSBcInN0cmZ0aW1lXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL2J1aWxkL3NyYy91c2UtaTE4bi5qc1wiXG5pbXBvcnQgdXNlVXBkYXRlZEV2ZW50IGZyb20gXCIuLi91c2UtdXBkYXRlZC1ldmVudC5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYXR0cmlidXRlXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYXV0b1JlZnJlc2hdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthdXRvU3VibWl0XVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjbGFzc05hbWVdXG4gKiBAcHJvcGVydHkgeyh2YWx1ZTogYm9vbGVhbiB8IERhdGUgfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuIHwgRGF0ZSB8IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWR9IFtmb3JtYXRWYWx1ZV1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaWRdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtsb2NhbGl6ZWROdW1iZXJdXG4gICogQHByb3BlcnR5IHtvYmplY3R9IFttb2RlbF1cbiAgKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdXG4gICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uQ2hhbmdlXVxuICAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IFtvbk1hdGNoVmFsaWRhdGlvbkVycm9yXVxuICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdHlwZV1cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBibGFua0lucHV0TmFtZVxuICovXG5jb25zdCBBcGlNYWtlcklucHV0c0lucHV0ID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBBcGlNYWtlcklucHV0c0lucHV0IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGF1dG9SZWZyZXNoOiBmYWxzZSxcbiAgICBhdXRvU3VibWl0OiBmYWxzZSxcbiAgICBsb2NhbGl6ZWROdW1iZXI6IGZhbHNlLFxuICAgIG1vZGVsOiBudWxsXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvUmVmcmVzaDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXV0b1N1Ym1pdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGZvcm1hdFZhbHVlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsb2NhbGl6ZWROdW1iZXI6IFByb3BUeXBlcy5ib29sLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfVxuXG4gIHN0YXRlID0ge1xuICAgIGJsYW5rSW5wdXROYW1lOiBkaWdnKHRoaXMucHJvcHMuaW5wdXRQcm9wcywgXCJ0eXBlXCIpID09IFwiZmlsZVwiXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLmlucHV0cy5pbnB1dFwifSlcbiAgICBjb25zdCB7YXV0b1JlZnJlc2gsIGlucHV0UHJvcHMsIG1vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWUsIG5hbWV9ID0gaW5wdXRQcm9wc1xuXG4gICAgdGhpcy5mb3JtID0gdXNlRm9ybSgpXG4gICAgdGhpcy52aXNpYmxlSW5wdXRSZWYgPSB1c2VSZWYodW5kZWZpbmVkKVxuICAgIHRoaXMudCA9IHRcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgdGhpcy50dC5mb3JtPy5zZXRWYWx1ZShuYW1lLCBkZWZhdWx0VmFsdWUpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VVcGRhdGVkRXZlbnQobW9kZWwsIHRoaXMudHQub25Nb2RlbFVwZGF0ZWQsIHthY3RpdmU6IEJvb2xlYW4oYXV0b1JlZnJlc2ggJiYgbW9kZWwpfSlcbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXR0cmlidXRlLFxuICAgICAgYXV0b1JlZnJlc2gsXG4gICAgICBhdXRvU3VibWl0LFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZm9ybWF0VmFsdWUsXG4gICAgICBpZCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBpbnB1dFJlZixcbiAgICAgIGxvY2FsaXplZE51bWJlcixcbiAgICAgIG1vZGVsLFxuICAgICAgbmFtZSxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25FcnJvcnMsXG4gICAgICBvbk1hdGNoVmFsaWRhdGlvbkVycm9yLFxuICAgICAgdHlwZSxcbiAgICAgIHdyYXBwZXJPcHRzLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcblxuICAgIGNvbnN0IHNoYXJlZFByb3BzID0ge1xuICAgICAgaWQ6IGxvY2FsaXplZE51bWJlciA/IG51bGwgOiBpbnB1dFByb3BzLmlkLFxuICAgICAgbmFtZTogbG9jYWxpemVkTnVtYmVyID8gbnVsbCA6IGlucHV0UHJvcHMubmFtZVxuICAgIH1cbiAgICBjb25zdCByZWYgPSBsb2NhbGl6ZWROdW1iZXIgPyB0aGlzLnZpc2libGVJbnB1dFJlZiA6IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuICAgIGNvbnN0IHtyZWY6IGlucHV0UHJvcHNSZWYsIC4uLmlucHV0UHJvcHNXaXRob3V0UmVmfSA9IGlucHV0UHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7bG9jYWxpemVkTnVtYmVyICYmXG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGlkPXtpbnB1dFByb3BzLmlkfVxuICAgICAgICAgICAgbmFtZT17dGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICAgIHJlZj17dGhpcy5pbnB1dFJlZmVyZW5jZSgpfVxuICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSA9PSBcIm1vbmV5XCIgJiZcbiAgICAgICAgICA8TW9uZXlcbiAgICAgICAgICAgIGF0dHJpYnV0ZT17YXR0cmlidXRlfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdFZhbHVlTG9jYWxpemVkKCl9XG4gICAgICAgICAgICBpbnB1dFJlZj17dGhpcy5pbnB1dFJlZmVyZW5jZSgpfVxuICAgICAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgPT0gXCJ0ZXh0YXJlYVwiICYmXG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uSW5wdXRDaGFuZ2VkfVxuICAgICAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgIT0gXCJtb25leVwiICYmIHR5cGUgIT0gXCJ0ZXh0YXJlYVwiICYmXG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uSW5wdXRDaGFuZ2VkfVxuICAgICAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICBuYW1lPXtsb2NhbGl6ZWROdW1iZXIgPyBudWxsIDogdGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC8+XG4gICAgKVxuICB9XG5cbiAgYWN0dWFsVmFsdWUgKHZpc2libGVJbnB1dCkge1xuICAgIGNvbnN0IHt0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB2YWx1ZSA9IGRpZ2codmlzaWJsZUlucHV0LCBcInZhbHVlXCIpXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB7XG4gICAgICBjb25zdCBkZWNpbWFsID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuc2VwYXJhdG9yXCIpXG4gICAgICBjb25zdCBpbnRlZ2VyU2VwYXJhdG9yID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuZGVsaW1pdGVyXCIpXG5cbiAgICAgIGxldCB1bmZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoaW50ZWdlclNlcGFyYXRvciwgXCJcIiwgdmFsdWUpXG5cbiAgICAgIHVuZm9ybWF0dGVkID0gcmVwbGFjZWFsbChkZWNpbWFsLCBcIi5cIiwgdW5mb3JtYXR0ZWQpXG5cbiAgICAgIHJldHVybiB1bmZvcm1hdHRlZFxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgYXV0b1N1Ym1pdCA9ICgpID0+IG5ldyBBdXRvU3VibWl0KHtjb21wb25lbnQ6IHRoaXN9KS5hdXRvU3VibWl0KClcblxuICBmb3JtYXRWYWx1ZSAodmFsdWUpIHtcbiAgICBjb25zdCB7Zm9ybWF0VmFsdWUsIHR5cGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGZvcm1hdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZm9ybWF0VmFsdWUodmFsdWUpXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLmdldFRpbWUoKSkpIHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdXNlIGEgY2VydGFpbiBmb3JtYXQgZm9yIGRhdGV0aW1lLWxvY2FsXG4gICAgICBpZiAodHlwZSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRcIiwgdmFsdWUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZUxvY2FsaXplZCAoKSB7XG4gICAgY29uc3Qge3R9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtsb2NhbGl6ZWROdW1iZXJ9ID0gZGlncyh0aGlzLnByb3BzLCBcImxvY2FsaXplZE51bWJlclwiKVxuXG4gICAgaWYgKGxvY2FsaXplZE51bWJlciAmJiBkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHQoXCJudW1iZXIuY3VycmVuY3kuZm9ybWF0LnNlcGFyYXRvclwiKVxuICAgICAgY29uc3QgZGVsaW1pdGVyID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuZGVsaW1pdGVyXCIpXG5cbiAgICAgIGxldCBmb3JtYXR0ZWQgPSBgJHtkZWZhdWx0VmFsdWV9YFxuXG4gICAgICBmb3JtYXR0ZWQgPSByZXBsYWNlYWxsKFwiLlwiLCBcInt7c2VwYXJhdG9yfX1cIiwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcIixcIiwgXCJ7e2RlbGltaXRlcn19XCIsIGZvcm1hdHRlZClcbiAgICAgIGZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoXCJ7e3NlcGFyYXRvcn19XCIsIHNlcGFyYXRvciwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcInt7ZGVsaW1pdGVyfX1cIiwgZGVsaW1pdGVyLCBmb3JtYXR0ZWQpXG5cbiAgICAgIHJldHVybiBmb3JtYXR0ZWRcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gIH1cblxuICBpbnB1dE5hbWUgKCkge1xuICAgIGlmICh0aGlzLnMuYmxhbmtJbnB1dE5hbWUpIHJldHVybiBcIlwiXG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dFByb3BzLm5hbWVcbiAgfVxuXG4gIGlucHV0UmVmZXJlbmNlID0gKCkgPT4gZGlnZyh0aGlzLCBcInByb3BzXCIsIFwiaW5wdXRQcm9wc1wiLCBcInJlZlwiKVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGFyZ3MpID0+IHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuXG4gICAgaWYgKCFpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGNvbXBvbmVudCBpcyBiZWluZyB1bm1vdW50ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gZGlncyh0aGlzLnByb3BzLCBcImF0dHJpYnV0ZVwiKVxuICAgIGNvbnN0IG5ld01vZGVsID0gZGlnZyhhcmdzLCBcIm1vZGVsXCIpXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld01vZGVsLnJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlKVxuICAgIGNvbnN0IG5ld0Zvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShuZXdWYWx1ZSlcblxuICAgIGlmIChjdXJyZW50VmFsdWUgIT0gbmV3Rm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSBuZXdGb3JtYXR0ZWRWYWx1ZVxuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBjb25zdCB7Zm9ybX0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgYXV0b1N1Ym1pdCwgaW5wdXRQcm9wcywgbW9kZWwsIG9uQ2hhbmdlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB7bmFtZX0gPSBpbnB1dFByb3BzXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB0aGlzLmlucHV0UmVmZXJlbmNlKCkuY3VycmVudC52YWx1ZSA9IHRoaXMuYWN0dWFsVmFsdWUoZGlnZyhlLCBcInRhcmdldFwiKSlcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgdGhpcy5kZWxheUF1dG9TdWJtaXQoKVxuICAgIGlmIChkaWdnKGlucHV0UHJvcHMsIFwidHlwZVwiKSA9PSBcImZpbGVcIikgdGhpcy5zLmJsYW5rSW5wdXROYW1lID0gdGhpcy5nZXRCbGFua0lucHV0TmFtZSgpXG5cbiAgICBpZiAoZm9ybSAmJiBuYW1lKSB7XG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIGUudGFyZ2V0LnZhbHVlKVxuICAgIH1cblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoZSlcbiAgfVxuXG4gIGRlbGF5QXV0b1N1Ym1pdCAoKSB7XG4gICAgaWYgKHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dClcbiAgICB9XG5cbiAgICB0aGlzLmRlbGF5QXV0b1N1Ym1pdFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuYXV0b1N1Ym1pdCwgMjAwKVxuICB9XG5cbiAgLy8gVGhpcyBmaXhlcyBhbiBpc3N1ZSBpbiBGaXJlZm94IGFuZCBBY3RpdmVTdG9yYWdlLCB3aGVyZSB1cGxvYWRzIHdvdWxkIGJlIGEgYmxhbmsgc3RyaW5nIGlmIGEgZmlsZSB3YXNuJ3QgY2hvc2VuXG4gIGdldEJsYW5rSW5wdXROYW1lICgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRpZyh0aGlzLmlucHV0UmVmZXJlbmNlKCksIFwiY3VycmVudFwiLCBcInZhbHVlXCIpXG5cbiAgICBpZiAodGhpcy5wcm9wcy5pbnB1dFByb3BzLnR5cGUgPT0gXCJmaWxlXCIgJiYgdmFsdWUgPT0gXCJcIilcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn0pKVxuXG5leHBvcnQge0FwaU1ha2VySW5wdXRzSW5wdXQgYXMgSW5wdXR9XG5leHBvcnQgZGVmYXVsdCBpbnB1dFdyYXBwZXIoQXBpTWFrZXJJbnB1dHNJbnB1dClcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"/src/","sources":["router/route.jsx"],"names":[],"mappings":";yBAiBc;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAC;6BAChC,KAAK,CAAC,aAAa,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAC,CAAC;mCACxC;IAAC,eAAe,EAAE;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAA;CAAC;+BACtC,CAAC,IAAI,EAAE,oBAAoB,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,IAAI;;eAItF,KAAK,CAAC,SAAS;gBACf,MAAM;oBACN,MAAM;YACN,OAAO;eACP,OAAO;oBACP,OAAO;;WAEP,MAAM,GAAC,MAAM;;;eAIb,cAAc,GAAG,IAAI;uBACrB,OAAO,GAAG,IAAI;qBACd,MAAM;aACN,OAAO;;AAzBrB,yDAAmD;AACnD,8CAAwC;mBAVG,UAAU;AAWrD,gCAAiD;AAEjD,6DAA6D;AAC7D,yEAAyE;AACzE,6EAA6E;AAC7E,yHAAyH;AAEzH;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,qEAuSG;kBA7UiF,OAAO"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"/src/","sources":["router/route.jsx"],"names":[],"mappings":";yBAiBc;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAC;6BAChC,KAAK,CAAC,aAAa,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAC,CAAC;mCACxC;IAAC,eAAe,EAAE;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAA;CAAC;+BACtC,CAAC,IAAI,EAAE,oBAAoB,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,IAAI;;eAItF,KAAK,CAAC,SAAS;gBACf,MAAM;oBACN,MAAM;YACN,OAAO;eACP,OAAO;oBACP,OAAO;;WAEP,MAAM,GAAC,MAAM;;;eAIb,cAAc,GAAG,IAAI;uBACrB,OAAO,GAAG,IAAI;qBACd,MAAM;aACN,OAAO;;AAzBrB,yDAAmD;AACnD,8CAAwC;mBAVG,UAAU;AAWrD,gCAAiD;AAEjD,6DAA6D;AAC7D,yEAAyE;AACzE,6EAA6E;AAC7E,yHAAyH;AAEzH;;;;;;;;;;GAUG;AACH;;;;;;GAMG;AACH,qEAsSG;kBA5UiF,OAAO"}
@@ -190,10 +190,8 @@ const Route = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} *
190
190
  this.match = match;
191
191
  this.newParams = newParams;
192
192
  if (routeDataChanged || this.s.matches != matches) {
193
- this.setState({
194
- lastMatchUpdate: routeDataChanged ? this.lastMatchUpdate += 1 : this.s.lastMatchUpdate,
195
- matches
196
- });
193
+ this.s.lastMatchUpdate = routeDataChanged ? this.lastMatchUpdate += 1 : this.s.lastMatchUpdate;
194
+ this.s.matches = matches;
197
195
  }
198
196
  }
199
197
  routeDataChanged({ componentPathParts, match, newParams }) {
@@ -237,7 +235,8 @@ const Route = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} *
237
235
  }
238
236
  if (requestId != this.loadComponentRequestId)
239
237
  return;
240
- this.setState({ Component, componentNotFound: !Component });
238
+ this.s.Component = Component;
239
+ this.s.componentNotFound = !Component;
241
240
  }
242
241
  log(callbackArgs) {
243
242
  if (this.debug) {
@@ -268,4 +267,4 @@ const Route = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} *
268
267
  }));
269
268
  export { RequireComponentContext, RouteContext, Switch, useParams };
270
269
  export default Route;
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixzREFBc0Q7QUFDdEQsT0FBTyxLQUFLLEVBQUUsRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNGLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxNQUFNLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFVBQVUsQ0FBQTtBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sdUNBQXVDLENBQUE7QUFDM0YsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sT0FBTyxNQUFNLHdDQUF3QyxDQUFBO0FBRTVELE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUN2QyxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDeEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRWpELDZEQUE2RDtBQUM3RCx5RUFBeUU7QUFDekUsNkVBQTZFO0FBQzdFLHlIQUF5SDtBQUV6SDs7Ozs7Ozs7OztHQVVHO0FBQ0g7Ozs7OztHQU1HO0FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxN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QUVELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxRQUFRLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCw0REFBNEQ7WUFDNUQsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsT0FBTyxDQUNMLEtBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxrQkFBa0IsWUFDcEQsS0FBQyxZQUFZLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUNuRCxLQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFNBQVMsWUFDdEMsTUFBQyxNQUFNLElBQUMsSUFBSSxFQUFFLGVBQWUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssYUFDL0MsU0FBUyxJQUFJLEtBQUMsU0FBUyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDeEMsUUFBUSxJQUNGLEdBQ2MsR0FDSCxHQUNJLENBQy9CLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsQ0FBQTtBQUNqRSxlQUFlLEtBQUssQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW1heC1kZXB0aCwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBTd2l0Y2gsIHtDdXJyZW50U3dpdGNoQ29udGV4dH0gZnJvbSBcIi4vc3dpdGNoXCJcbmltcG9ydCB7YXJyYXlEaWZmZXJlbnQsIHNpbXBsZU9iamVjdERpZmZlcmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL2RpZmYtdXRpbHMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvYnVpbGQvc3JjL3VzZS1pMThuLmpzXCJcblxuY29uc3QgQ3VycmVudFBhdGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcbmNvbnN0IFBhcmFtc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9KVxuY29uc3QgUmVxdWlyZUNvbXBvbmVudENvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCBSb3V0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCB1c2VQYXJhbXMgPSAoKSA9PiB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG5cbi8qKiBAdHlwZWRlZiB7e3BhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPn19IFJvdXRlTWF0Y2ggKi9cbi8qKiBAdHlwZWRlZiB7UmVhY3QuQ29tcG9uZW50VHlwZTx7bWF0Y2g6IFJvdXRlTWF0Y2h9Pn0gUm91dGVDb21wb25lbnQgKi9cbi8qKiBAdHlwZWRlZiB7e3JvdXRlRGVmaW5pdGlvbjoge2NvbXBvbmVudDogc3RyaW5nfX19IFJlcXVpcmVDb21wb25lbnRBcmdzICovXG4vKiogQHR5cGVkZWYgeyhhcmdzOiBSZXF1aXJlQ29tcG9uZW50QXJncykgPT4gUm91dGVDb21wb25lbnQgfCBQcm9taXNlPFJvdXRlQ29tcG9uZW50IHwgbnVsbD4gfCBudWxsfSBSZXF1aXJlQ29tcG9uZW50ICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbXBvbmVudF1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY29tcG9uZW50UGF0aF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2V4YWN0XVxuICogQHByb3BlcnR5IHtib29sZWFufSBbZmFsbGJhY2tdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtpbmNsdWRlSW5QYXRoXVxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uTWF0Y2hdXG4gKiBAcHJvcGVydHkge3N0cmluZ3xSZWdFeHB9IFtwYXRoXVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gQ29tcG9uZW50XG4gKiBAcHJvcGVydHkge2Jvb2xlYW4gfCBudWxsfSBjb21wb25lbnROb3RGb3VuZFxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxhc3RNYXRjaFVwZGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBtYXRjaGVzXG4gKi9cbmNvbnN0IFJvdXRlID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBSb3V0ZSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBleGFjdDogZmFsc2UsXG4gICAgZmFsbGJhY2s6IGZhbHNlLFxuICAgIGluY2x1ZGVJblBhdGg6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgY29tcG9uZW50OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbXBvbmVudFBhdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZXhhY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGZhbGxiYWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpbmNsdWRlSW5QYXRoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbk1hdGNoOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwYXRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuaW5zdGFuY2VPZihSZWdFeHApXSlcbiAgfSlcblxuICAvKiogQHR5cGUge1JvdXRlTWF0Y2ggfCBudWxsfSAqL1xuICBtYXRjaCA9IG51bGxcblxuICBsb2FkQ29tcG9uZW50UmVxdWVzdElkID0gMFxuXG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi9cbiAgY29tcG9uZW50UGF0aFBhcnRzID0gW11cblxuICBsYXN0TWF0Y2hVcGRhdGUgPSAwXG5cbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbH0gKi9cbiAgbmV3UGFyYW1zID0gbnVsbFxuXG4gIC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPiB8IG51bGx9ICovXG4gIHBhdGhQYXJ0cyA9IG51bGxcbiAgc3RhdGUgPSB7XG4gICAgQ29tcG9uZW50OiBudWxsLFxuICAgIGNvbXBvbmVudE5vdEZvdW5kOiBudWxsLFxuICAgIGxhc3RNYXRjaFVwZGF0ZTogMCxcbiAgICBtYXRjaGVzOiBmYWxzZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5yb3V0ZXIucm91dGVcIn0pXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwfSA9IHVzZUNvbnRleHQoQ3VycmVudFN3aXRjaENvbnRleHQpXG4gICAgY29uc3QgZ2l2ZW5Sb3V0ZSA9IHVzZUNvbnRleHQoUm91dGVDb250ZXh0KVxuICAgIGNvbnN0IHtwYXRoU2hvd259ID0gc3dpdGNoR3JvdXAuc1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGZhbHNlXG4gICAgdGhpcy5sb2coKCkgPT4gKHtnaXZlblJvdXRlfSkpXG4gICAgdGhpcy50ID0gdFxuXG4gICAgdGhpcy5yZXF1aXJlQ29tcG9uZW50ID0gLyoqIEB0eXBlIHtSZXF1aXJlQ29tcG9uZW50IHwgbnVsbH0gKi8gKHVzZUNvbnRleHQoUmVxdWlyZUNvbXBvbmVudENvbnRleHQpKVxuICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gKi8gKHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dCkpXG4gICAgdGhpcy5jdXJyZW50UGF0aCA9IC8qKiBAdHlwZSB7QXJyYXk8c3RyaW5nPn0gKi8gKHVzZUNvbnRleHQoQ3VycmVudFBhdGhDb250ZXh0KSlcbiAgICB0aGlzLnN3aXRjaEdyb3VwID0gc3dpdGNoR3JvdXBcbiAgICB0aGlzLnJvdXRlUGFydHMgPSB1c2VNZW1vKCgpID0+IGdpdmVuUm91dGU/LnNwbGl0KFwiL1wiKSwgW3BhdGgsIGdpdmVuUm91dGVdKVxuICAgIHRoaXMucGF0aFBhcnRzID0gdXNlTWVtbygoKSA9PiBwYXRoPy5zcGxpdChcIi9cIiksIFtwYXRoXSlcblxuICAgIHRoaXMubmV3Um91dGVQYXJ0cyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgIGlmIChnaXZlblJvdXRlID09IFwiXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBbXVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRzXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVQYXJ0cy5zbGljZSh0aGlzLnBhdGhQYXJ0cy5sZW5ndGgsIHRoaXMucm91dGVQYXJ0cy5sZW5ndGgpXG4gICAgICB9LFxuICAgICAgW2dpdmVuUm91dGVdLmNvbmNhdCh0aGlzLnBhdGhQYXJ0cylcbiAgICApXG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTWF0Y2hlcygpXG4gICAgfSwgW2dpdmVuUm91dGUsIHBhdGgsIHBhdGhzTWF0Y2hlZF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaGFzU3dpdGNoTWF0Y2goKSAmJiAhdGhpcy5zLkNvbXBvbmVudCAmJiB0aGlzLnMubWF0Y2hlcykge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbk1hdGNoKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy5vbk1hdGNoKClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5wcm9wcy5jaGlsZHJlbiAmJiAodGhpcy5wcm9wcy5wYXRoIHx8IHRoaXMucHJvcHMuY29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCkpIHtcbiAgICAgICAgICB0aGlzLmxvYWRDb21wb25lbnQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKz0gMVxuICAgICAgfVxuICAgIH0sIFtwYXRoLCBwYXRoU2hvd24sIHRoaXMucy5tYXRjaGVzXSlcbiAgfVxuXG4gIGhhc1N3aXRjaE1hdGNoID0gKCkgPT4gdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biAmJiB0aGlzLnN3aXRjaEdyb3VwLnMucGF0aFNob3duID09IHRoaXMucGF0aElkKClcblxuICBwYXRoSWQoKSB7XG4gICAgY29uc3Qge2ZhbGxiYWNrfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMucHJvcHNcbiAgICBsZXQgcGF0aElkXG5cbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIHBhdGhJZCA9IFwiW0ZBTExCQUNLXVwiXG4gICAgfSBlbHNlIGlmIChwYXRoKSB7XG4gICAgICBwYXRoSWQgPSBwYXRoXG4gICAgfSBlbHNlIHtcbiAgICAgIHBhdGhJZCA9IFwiW1BBVEgtRU1QVFldXCJcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aElkXG4gIH1cblxuICBsb2FkTWF0Y2hlcygpIHtcbiAgICBjb25zdCB7bmV3Um91dGVQYXJ0cywgdH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NvbXBvbmVudCwgcGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2V4YWN0LCBpbmNsdWRlSW5QYXRoLCBmYWxsYmFja30gPSB0aGlzLnBcblxuICAgIGxldCBtYXRjaGVzID0gdHJ1ZVxuICAgIGNvbnN0IHBhcmFtcyA9IHt9XG4gICAgY29uc3QgY29tcG9uZW50UGF0aFBhcnRzID0gWy4uLnRoaXMuY3VycmVudFBhdGhdXG5cbiAgICB0aGlzLmxvZygoKSA9PiBbdGhpcy5wcm9wcy5wYXRoLCBcIlN0YXJ0IGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyldKVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydEluZGV4IGluIHRoaXMucGF0aFBhcnRzKSB7XG4gICAgICBjb25zdCBwYXRoUGFydCA9IHRoaXMucGF0aFBhcnRzW3BhdGhQYXJ0SW5kZXhdXG4gICAgICBjb25zdCB0cmFuc2xhdGVkUGF0aFBhcnQgPSB0KGByb3V0ZXMuJHtwYXRoUGFydH1gLCB7ZGVmYXVsdFZhbHVlOiBwYXRoUGFydH0pXG5cbiAgICAgIGlmICghKHBhdGhQYXJ0SW5kZXggaW4gdGhpcy5yb3V0ZVBhcnRzKSkge1xuICAgICAgICB0aGlzLmxvZygoKSA9PiBgTm8gbWF0Y2ggZm9yOiAke3BhdGhQYXJ0SW5kZXh9YClcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJvdXRlUGFydCA9IGRlY29kZVVSSUNvbXBvbmVudCh0aGlzLnJvdXRlUGFydHNbcGF0aFBhcnRJbmRleF0pXG5cbiAgICAgIGlmIChwYXRoUGFydC5zdGFydHNXaXRoKFwiOlwiKSAmJiByb3V0ZVBhcnQpIHtcbiAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gcGF0aFBhcnQuc2xpY2UoMSwgcGF0aFBhcnQubGVuZ3RoKVxuXG4gICAgICAgIHBhcmFtc1twYXJhbU5hbWVdID0gcm91dGVQYXJ0XG4gICAgICB9IGVsc2UgaWYgKHRyYW5zbGF0ZWRQYXRoUGFydCAhPSByb3V0ZVBhcnQpIHtcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9IGVsc2UgaWYgKCFjb21wb25lbnQgJiYgaW5jbHVkZUluUGF0aCkge1xuICAgICAgICBjb21wb25lbnRQYXRoUGFydHMucHVzaChwYXRoUGFydClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXhhY3QgJiYgbmV3Um91dGVQYXJ0cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxvZygoKSA9PiBbXCJFeGFjdCBhbmQgbW9yZSByb3V0ZSBwYXJ0c1wiLCB7bmV3Um91dGVQYXJ0cywgcGF0aFBhcnRzOiB0aGlzLnBhdGhQYXJ0cywgcm91dGVQYXJ0czogdGhpcy5yb3V0ZVBhcnRzfV0pXG4gICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICB9IGVsc2UgaWYgKG1hdGNoZXMgJiYgcGF0aCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9IGVsc2UgaWYgKHRoaXMucm91dGVQYXJ0cy5sZW5ndGggPT0gMCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaElkID0gdGhpcy5wYXRoSWQoKVxuXG4gICAgaWYgKCFtYXRjaGVzICYmIGZhbGxiYWNrKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH1cblxuICAgIHRoaXMubG9nKCgpID0+IFt0aGlzLnByb3BzLnBhdGgsIFwiRW5kIGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyksIHttYXRjaGVzfV0pXG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgaWYgKGNvbXBvbmVudCAmJiBpbmNsdWRlSW5QYXRoKSB7XG4gICAgICAgIGNvbXBvbmVudFBhdGhQYXJ0cy5wdXNoKGNvbXBvbmVudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3UGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50UGFyYW1zLCBwYXJhbXMpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJlZmVyLW9iamVjdC1zcHJlYWRcblxuICAgICAgdGhpcy51cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2g6IHtwYXJhbXN9LCBtYXRjaGVzLCBuZXdQYXJhbXN9KVxuICAgICAgdGhpcy5zd2l0Y2hHcm91cD8uc2V0UGF0aE1hdGNoZWQobWF0Y2hJZCwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0czogbnVsbCwgbWF0Y2g6IG51bGwsIG1hdGNoZXMsIG5ld1BhcmFtczogbnVsbH0pXG4gICAgICB0aGlzLnN3aXRjaEdyb3VwPy5zZXRQYXRoTWF0Y2hlZChtYXRjaElkLCBmYWxzZSlcbiAgICB9XG4gIH1cblxuICB1cGRhdGVSb3V0ZU1hdGNoU3RhdGUoe2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG1hdGNoZXMsIG5ld1BhcmFtc30pIHtcbiAgICBjb25zdCByb3V0ZURhdGFDaGFuZ2VkID0gdGhpcy5yb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KVxuXG4gICAgdGhpcy5jb21wb25lbnRQYXRoUGFydHMgPSBjb21wb25lbnRQYXRoUGFydHNcbiAgICB0aGlzLm1hdGNoID0gbWF0Y2hcbiAgICB0aGlzLm5ld1BhcmFtcyA9IG5ld1BhcmFtc1xuICAgIGlmIChyb3V0ZURhdGFDaGFuZ2VkIHx8IHRoaXMucy5tYXRjaGVzICE9IG1hdGNoZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBsYXN0TWF0Y2hVcGRhdGU6IHJvdXRlRGF0YUNoYW5nZWQgPyB0aGlzLmxhc3RNYXRjaFVwZGF0ZSArPSAxIDogdGhpcy5zLmxhc3RNYXRjaFVwZGF0ZSxcbiAgICAgICAgbWF0Y2hlc1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICByb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cyA9IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzIHx8IG51bGxcbiAgICBjb25zdCBjdXJyZW50TWF0Y2hQYXJhbXMgPSB0aGlzLm1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IG5leHRNYXRjaFBhcmFtcyA9IG1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0c0NoYW5nZWQgPSB0aGlzLm51bGxhYmxlQXJyYXlEaWZmZXJlbnQoY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cywgY29tcG9uZW50UGF0aFBhcnRzKVxuICAgIGNvbnN0IG1hdGNoQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQoY3VycmVudE1hdGNoUGFyYW1zLCBuZXh0TWF0Y2hQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQodGhpcy5uZXdQYXJhbXMsIG5ld1BhcmFtcylcblxuICAgIHJldHVybiBjb21wb25lbnRQYXRoUGFydHNDaGFuZ2VkIHx8IG1hdGNoQ2hhbmdlZCB8fCBuZXdQYXJhbXNDaGFuZ2VkXG4gIH1cblxuICBudWxsYWJsZUFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgbmV4dFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbmV4dFZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpXG4gIH1cblxuICBudWxsYWJsZU9iamVjdERpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IG5leHRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG5leHRWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBzaW1wbGVPYmplY3REaWZmZXJlbnQodmFsdWUsIG5leHRWYWx1ZSwgdHJ1ZSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgLy8gSWdub3JlIGxhdGUgYXN5bmMgcm91dGUtY29tcG9uZW50IGxvYWRzIGFmdGVyIGEgcm91dGUgc3dpdGNoIG9yIGRpc2NhcmRlZCBtb3VudC5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhY3R1YWxDb21wb25lbnRQYXRoID0gdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IHRoaXMudHQuY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpXG5cbiAgICAvKiogQHR5cGUge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gKi9cbiAgICBsZXQgQ29tcG9uZW50XG5cbiAgICB0aGlzLmxvZygoKSA9PiBbXCJsb2FkQ29tcG9uZW50XCIsIHtjb21wb25lbnRQYXRoOiB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgsIGNvbXBvbmVudFBhdGhQYXJ0czogdGhpcy5jb21wb25lbnRQYXRoUGFydHMsIGFjdHVhbENvbXBvbmVudFBhdGh9XSlcbiAgICBpZiAoIXRoaXMudHQucmVxdWlyZUNvbXBvbmVudCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ3JlcXVpcmVDb21wb25lbnQnIGF2YWlsYWJsZSBpbiByb3V0ZSBjb250ZXh0XCIpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50SW1wb3J0ID0gYXdhaXQgdGhpcy50dC5yZXF1aXJlQ29tcG9uZW50KHtyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IGFjdHVhbENvbXBvbmVudFBhdGh9fSlcblxuICAgICAgQ29tcG9uZW50ID0gY29tcG9uZW50SW1wb3J0XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkbid0IGZpbmQgY29tcG9uZW50OiAke2FjdHVhbENvbXBvbmVudFBhdGh9YClcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdElkICE9IHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnNldFN0YXRlKHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kOiAhQ29tcG9uZW50fSlcbiAgfVxuXG4gIGxvZyhjYWxsYmFja0FyZ3MpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgbGV0IGFyZ3MgPSBjYWxsYmFja0FyZ3MoKVxuXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIGFyZ3MgPSBbYXJnc11cblxuICAgICAgY29uc29sZS5sb2coLi4uYXJncylcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NvbXBvbmVudFBhdGhQYXJ0cywgbWF0Y2gsIG5ld1BhcmFtcywgbmV3Um91dGVQYXJ0c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NoaWxkcmVuLCBjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtDb21wb25lbnQsIGNvbXBvbmVudE5vdEZvdW5kLCBtYXRjaGVzfSA9IHRoaXMuc1xuXG4gICAgaWYgKCFtYXRjaGVzIHx8ICF0aGlzLmhhc1N3aXRjaE1hdGNoKCkpIHtcbiAgICAgIC8vIFJvdXRlIGlzbid0IG1hdGNoaW5nIGFuZCBzaG91bGRuJ3QgYmUgcmVuZGVyZWQgYXQgYWxsLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgIWNvbXBvbmVudE5vdEZvdW5kKSB7XG4gICAgICAvLyBSb3V0ZSBpcyBtYXRjaGluZyBidXQgaGFzbid0IGJlZW4gbG9hZGVkIHlldC5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge1wiTG9hZGluZyBcIn1cbiAgICAgICAgICB7Y29tcG9uZW50IHx8IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCBjb21wb25lbnRQYXRoUGFydHMuam9pbihcIi9cIil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgIH1cblxuICAgIGlmICghQ29tcG9uZW50ICYmICFjaGlsZHJlbiAmJiBjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gRG9uJ3QgcmVuZGVyIGFueXRoaW5nIGlmIHRoZSBjb21wb25lbnQgY291bGRuJ3QgYmUgZm91bmQuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Q3VycmVudFBhdGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb21wb25lbnRQYXRoUGFydHN9PlxuICAgICAgICA8Um91dGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdSb3V0ZVBhcnRzLmpvaW4oXCIvXCIpfT5cbiAgICAgICAgICA8UGFyYW1zQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3UGFyYW1zfT5cbiAgICAgICAgICAgIDxTd2l0Y2ggbmFtZT17YHJvdXRlLWdyb3VwLSR7cGF0aH1gfSBzaW5nbGU9e2ZhbHNlfT5cbiAgICAgICAgICAgICAge0NvbXBvbmVudCAmJiA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz59XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3dpdGNoPlxuICAgICAgICAgIDwvUGFyYW1zQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Sb3V0ZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICA8L0N1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cbn0pKVxuXG5leHBvcnQge1JlcXVpcmVDb21wb25lbnRDb250ZXh0LCBSb3V0ZUNvbnRleHQsIFN3aXRjaCwgdXNlUGFyYW1zfVxuZXhwb3J0IGRlZmF1bHQgUm91dGVcbiJdfQ==
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixzREFBc0Q7QUFDdEQsT0FBTyxLQUFLLEVBQUUsRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNGLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxNQUFNLEVBQUUsRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFVBQVUsQ0FBQTtBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sdUNBQXVDLENBQUE7QUFDM0YsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sT0FBTyxNQUFNLHdDQUF3QyxDQUFBO0FBRTVELE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUN2QyxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDeEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRWpELDZEQUE2RDtBQUM3RCx5RUFBeUU7QUFDekUsNkVBQTZFO0FBQzdFLHlIQUF5SDtBQUV6SDs7Ozs7Ozs7OztHQVVHO0FBQ0g7Ozs7OztHQU1HO0FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxN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QUMsR0FBRyxDQUFDLElBQ2xFLENBQ1AsQ0FBQTtRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsNERBQTREO1lBQzVELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELE9BQU8sQ0FDTCxLQUFDLGtCQUFrQixDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsa0JBQWtCLFlBQ3BELEtBQUMsWUFBWSxDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFDbkQsS0FBQyxhQUFhLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxTQUFTLFlBQ3RDLE1BQUMsTUFBTSxJQUFDLElBQUksRUFBRSxlQUFlLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLGFBQy9DLFNBQVMsSUFBSSxLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEVBQ3hDLFFBQVEsSUFDRixHQUNjLEdBQ0gsR0FDSSxDQUMvQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUE7QUFDakUsZUFBZSxLQUFLLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1tYXgtZGVwdGgsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgU3dpdGNoLCB7Q3VycmVudFN3aXRjaENvbnRleHR9IGZyb20gXCIuL3N3aXRjaFwiXG5pbXBvcnQge2FycmF5RGlmZmVyZW50LCBzaW1wbGVPYmplY3REaWZmZXJlbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9kaWZmLXV0aWxzLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL2J1aWxkL3NyYy91c2UtaTE4bi5qc1wiXG5cbmNvbnN0IEN1cnJlbnRQYXRoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoW10pXG5jb25zdCBQYXJhbXNDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7fSlcbmNvbnN0IFJlcXVpcmVDb21wb25lbnRDb250ZXh0ID0gY3JlYXRlQ29udGV4dChudWxsKVxuY29uc3QgUm91dGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dChudWxsKVxuY29uc3QgdXNlUGFyYW1zID0gKCkgPT4gdXNlQ29udGV4dChQYXJhbXNDb250ZXh0KVxuXG4vKiogQHR5cGVkZWYge3twYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz59fSBSb3V0ZU1hdGNoICovXG4vKiogQHR5cGVkZWYge1JlYWN0LkNvbXBvbmVudFR5cGU8e21hdGNoOiBSb3V0ZU1hdGNofT59IFJvdXRlQ29tcG9uZW50ICovXG4vKiogQHR5cGVkZWYge3tyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IHN0cmluZ319fSBSZXF1aXJlQ29tcG9uZW50QXJncyAqL1xuLyoqIEB0eXBlZGVmIHsoYXJnczogUmVxdWlyZUNvbXBvbmVudEFyZ3MpID0+IFJvdXRlQ29tcG9uZW50IHwgUHJvbWlzZTxSb3V0ZUNvbXBvbmVudCB8IG51bGw+IHwgbnVsbH0gUmVxdWlyZUNvbXBvbmVudCAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3BzXG4gKiBAcHJvcGVydHkge1JlYWN0LlJlYWN0Tm9kZX0gW2NoaWxkcmVuXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb21wb25lbnRdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbXBvbmVudFBhdGhdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtleGFjdF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2ZhbGxiYWNrXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbaW5jbHVkZUluUGF0aF1cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IFtvbk1hdGNoXVxuICogQHByb3BlcnR5IHtzdHJpbmd8UmVnRXhwfSBbcGF0aF1cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtSb3V0ZUNvbXBvbmVudCB8IG51bGx9IENvbXBvbmVudFxuICogQHByb3BlcnR5IHtib29sZWFuIHwgbnVsbH0gY29tcG9uZW50Tm90Rm91bmRcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsYXN0TWF0Y2hVcGRhdGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gbWF0Y2hlc1xuICovXG5jb25zdCBSb3V0ZSA9IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgUm91dGUgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZXhhY3Q6IGZhbHNlLFxuICAgIGZhbGxiYWNrOiBmYWxzZSxcbiAgICBpbmNsdWRlSW5QYXRoOiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICAgIGNvbXBvbmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb21wb25lbnRQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGV4YWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBmYWxsYmFjazogUHJvcFR5cGVzLmJvb2wsXG4gICAgaW5jbHVkZUluUGF0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25NYXRjaDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGF0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLmluc3RhbmNlT2YoUmVnRXhwKV0pXG4gIH0pXG5cbiAgLyoqIEB0eXBlIHtSb3V0ZU1hdGNoIHwgbnVsbH0gKi9cbiAgbWF0Y2ggPSBudWxsXG5cbiAgbG9hZENvbXBvbmVudFJlcXVlc3RJZCA9IDBcblxuICAvKiogQHR5cGUge0FycmF5PHN0cmluZz59ICovXG4gIGNvbXBvbmVudFBhdGhQYXJ0cyA9IFtdXG5cbiAgbGFzdE1hdGNoVXBkYXRlID0gMFxuXG4gIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGx9ICovXG4gIG5ld1BhcmFtcyA9IG51bGxcblxuICAvKiogQHR5cGUge0FycmF5PHN0cmluZz4gfCBudWxsfSAqL1xuICBwYXRoUGFydHMgPSBudWxsXG4gIHN0YXRlID0ge1xuICAgIENvbXBvbmVudDogbnVsbCxcbiAgICBjb21wb25lbnROb3RGb3VuZDogbnVsbCxcbiAgICBsYXN0TWF0Y2hVcGRhdGU6IDAsXG4gICAgbWF0Y2hlczogZmFsc2VcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIucm91dGVyLnJvdXRlXCJ9KVxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7cGF0aHNNYXRjaGVkLCBzd2l0Y2hHcm91cH0gPSB1c2VDb250ZXh0KEN1cnJlbnRTd2l0Y2hDb250ZXh0KVxuICAgIGNvbnN0IGdpdmVuUm91dGUgPSB1c2VDb250ZXh0KFJvdXRlQ29udGV4dClcbiAgICBjb25zdCB7cGF0aFNob3dufSA9IHN3aXRjaEdyb3VwLnNcblxuICAgIHRoaXMuZGVidWcgPSBmYWxzZVxuICAgIHRoaXMubG9nKCgpID0+ICh7Z2l2ZW5Sb3V0ZX0pKVxuICAgIHRoaXMudCA9IHRcblxuICAgIHRoaXMucmVxdWlyZUNvbXBvbmVudCA9IC8qKiBAdHlwZSB7UmVxdWlyZUNvbXBvbmVudCB8IG51bGx9ICovICh1c2VDb250ZXh0KFJlcXVpcmVDb21wb25lbnRDb250ZXh0KSlcbiAgICB0aGlzLmN1cnJlbnRQYXJhbXMgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz59ICovICh1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpKVxuICAgIHRoaXMuY3VycmVudFBhdGggPSAvKiogQHR5cGUge0FycmF5PHN0cmluZz59ICovICh1c2VDb250ZXh0KEN1cnJlbnRQYXRoQ29udGV4dCkpXG4gICAgdGhpcy5zd2l0Y2hHcm91cCA9IHN3aXRjaEdyb3VwXG4gICAgdGhpcy5yb3V0ZVBhcnRzID0gdXNlTWVtbygoKSA9PiBnaXZlblJvdXRlPy5zcGxpdChcIi9cIiksIFtwYXRoLCBnaXZlblJvdXRlXSlcbiAgICB0aGlzLnBhdGhQYXJ0cyA9IHVzZU1lbW8oKCkgPT4gcGF0aD8uc3BsaXQoXCIvXCIpLCBbcGF0aF0pXG5cbiAgICB0aGlzLm5ld1JvdXRlUGFydHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICBpZiAoZ2l2ZW5Sb3V0ZSA9PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVQYXJ0c1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlUGFydHMuc2xpY2UodGhpcy5wYXRoUGFydHMubGVuZ3RoLCB0aGlzLnJvdXRlUGFydHMubGVuZ3RoKVxuICAgICAgfSxcbiAgICAgIFtnaXZlblJvdXRlXS5jb25jYXQodGhpcy5wYXRoUGFydHMpXG4gICAgKVxuXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMubG9hZE1hdGNoZXMoKVxuICAgIH0sIFtnaXZlblJvdXRlLCBwYXRoLCBwYXRoc01hdGNoZWRdKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc1N3aXRjaE1hdGNoKCkgJiYgIXRoaXMucy5Db21wb25lbnQgJiYgdGhpcy5zLm1hdGNoZXMpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25NYXRjaCkge1xuICAgICAgICAgIHRoaXMucHJvcHMub25NYXRjaCgpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucHJvcHMuY2hpbGRyZW4gJiYgKHRoaXMucHJvcHMucGF0aCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgpKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50UmVxdWVzdElkICs9IDFcbiAgICAgIH1cbiAgICB9LCBbcGF0aCwgcGF0aFNob3duLCB0aGlzLnMubWF0Y2hlc10pXG4gIH1cblxuICBoYXNTd2l0Y2hNYXRjaCA9ICgpID0+IHRoaXMuc3dpdGNoR3JvdXAucy5wYXRoU2hvd24gJiYgdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biA9PSB0aGlzLnBhdGhJZCgpXG5cbiAgcGF0aElkKCkge1xuICAgIGNvbnN0IHtmYWxsYmFja30gPSB0aGlzLnBcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnByb3BzXG4gICAgbGV0IHBhdGhJZFxuXG4gICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICBwYXRoSWQgPSBcIltGQUxMQkFDS11cIlxuICAgIH0gZWxzZSBpZiAocGF0aCkge1xuICAgICAgcGF0aElkID0gcGF0aFxuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoSWQgPSBcIltQQVRILUVNUFRZXVwiXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGhJZFxuICB9XG5cbiAgbG9hZE1hdGNoZXMoKSB7XG4gICAgY29uc3Qge25ld1JvdXRlUGFydHMsIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtleGFjdCwgaW5jbHVkZUluUGF0aCwgZmFsbGJhY2t9ID0gdGhpcy5wXG5cbiAgICBsZXQgbWF0Y2hlcyA9IHRydWVcbiAgICBjb25zdCBwYXJhbXMgPSB7fVxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0cyA9IFsuLi50aGlzLmN1cnJlbnRQYXRoXVxuXG4gICAgdGhpcy5sb2coKCkgPT4gW3RoaXMucHJvcHMucGF0aCwgXCJTdGFydCBnZW5lcmF0aW5nIGNvbXBvbmVudCBwYXRoc1wiLCBKU09OLnN0cmluZ2lmeShjb21wb25lbnRQYXRoUGFydHMpXSlcblxuICAgIGZvciAoY29uc3QgcGF0aFBhcnRJbmRleCBpbiB0aGlzLnBhdGhQYXJ0cykge1xuICAgICAgY29uc3QgcGF0aFBhcnQgPSB0aGlzLnBhdGhQYXJ0c1twYXRoUGFydEluZGV4XVxuICAgICAgY29uc3QgdHJhbnNsYXRlZFBhdGhQYXJ0ID0gdChgcm91dGVzLiR7cGF0aFBhcnR9YCwge2RlZmF1bHRWYWx1ZTogcGF0aFBhcnR9KVxuXG4gICAgICBpZiAoIShwYXRoUGFydEluZGV4IGluIHRoaXMucm91dGVQYXJ0cykpIHtcbiAgICAgICAgdGhpcy5sb2coKCkgPT4gYE5vIG1hdGNoIGZvcjogJHtwYXRoUGFydEluZGV4fWApXG4gICAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjb25zdCByb3V0ZVBhcnQgPSBkZWNvZGVVUklDb21wb25lbnQodGhpcy5yb3V0ZVBhcnRzW3BhdGhQYXJ0SW5kZXhdKVxuXG4gICAgICBpZiAocGF0aFBhcnQuc3RhcnRzV2l0aChcIjpcIikgJiYgcm91dGVQYXJ0KSB7XG4gICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IHBhdGhQYXJ0LnNsaWNlKDEsIHBhdGhQYXJ0Lmxlbmd0aClcblxuICAgICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IHJvdXRlUGFydFxuICAgICAgfSBlbHNlIGlmICh0cmFuc2xhdGVkUGF0aFBhcnQgIT0gcm91dGVQYXJ0KSB7XG4gICAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgICAgICBicmVha1xuICAgICAgfSBlbHNlIGlmICghY29tcG9uZW50ICYmIGluY2x1ZGVJblBhdGgpIHtcbiAgICAgICAgY29tcG9uZW50UGF0aFBhcnRzLnB1c2gocGF0aFBhcnQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGV4YWN0ICYmIG5ld1JvdXRlUGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2coKCkgPT4gW1wiRXhhY3QgYW5kIG1vcmUgcm91dGUgcGFydHNcIiwge25ld1JvdXRlUGFydHMsIHBhdGhQYXJ0czogdGhpcy5wYXRoUGFydHMsIHJvdXRlUGFydHM6IHRoaXMucm91dGVQYXJ0c31dKVxuICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgfSBlbHNlIGlmIChtYXRjaGVzICYmIHBhdGgpIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfSBlbHNlIGlmICh0aGlzLnJvdXRlUGFydHMubGVuZ3RoID09IDApIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hJZCA9IHRoaXMucGF0aElkKClcblxuICAgIGlmICghbWF0Y2hlcyAmJiBmYWxsYmFjaykge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9XG5cbiAgICB0aGlzLmxvZygoKSA9PiBbdGhpcy5wcm9wcy5wYXRoLCBcIkVuZCBnZW5lcmF0aW5nIGNvbXBvbmVudCBwYXRoc1wiLCBKU09OLnN0cmluZ2lmeShjb21wb25lbnRQYXRoUGFydHMpLCB7bWF0Y2hlc31dKVxuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIGlmIChjb21wb25lbnQgJiYgaW5jbHVkZUluUGF0aCkge1xuICAgICAgICBjb21wb25lbnRQYXRoUGFydHMucHVzaChjb21wb25lbnQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld1BhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY3VycmVudFBhcmFtcywgcGFyYW1zKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHByZWZlci1vYmplY3Qtc3ByZWFkXG5cbiAgICAgIHRoaXMudXBkYXRlUm91dGVNYXRjaFN0YXRlKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoOiB7cGFyYW1zfSwgbWF0Y2hlcywgbmV3UGFyYW1zfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlUm91dGVNYXRjaFN0YXRlKHtjb21wb25lbnRQYXRoUGFydHM6IG51bGwsIG1hdGNoOiBudWxsLCBtYXRjaGVzLCBuZXdQYXJhbXM6IG51bGx9KVxuICAgICAgdGhpcy5zd2l0Y2hHcm91cD8uc2V0UGF0aE1hdGNoZWQobWF0Y2hJZCwgZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUm91dGVNYXRjaFN0YXRlKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBtYXRjaGVzLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3Qgcm91dGVEYXRhQ2hhbmdlZCA9IHRoaXMucm91dGVEYXRhQ2hhbmdlZCh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaCwgbmV3UGFyYW1zfSlcblxuICAgIHRoaXMuY29tcG9uZW50UGF0aFBhcnRzID0gY29tcG9uZW50UGF0aFBhcnRzXG4gICAgdGhpcy5tYXRjaCA9IG1hdGNoXG4gICAgdGhpcy5uZXdQYXJhbXMgPSBuZXdQYXJhbXNcbiAgICBpZiAocm91dGVEYXRhQ2hhbmdlZCB8fCB0aGlzLnMubWF0Y2hlcyAhPSBtYXRjaGVzKSB7XG4gICAgICB0aGlzLnMubGFzdE1hdGNoVXBkYXRlID0gcm91dGVEYXRhQ2hhbmdlZCA/IHRoaXMubGFzdE1hdGNoVXBkYXRlICs9IDEgOiB0aGlzLnMubGFzdE1hdGNoVXBkYXRlXG4gICAgICB0aGlzLnMubWF0Y2hlcyA9IG1hdGNoZXNcbiAgICB9XG4gIH1cblxuICByb3V0ZURhdGFDaGFuZ2VkKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXN9KSB7XG4gICAgY29uc3QgY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cyA9IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzIHx8IG51bGxcbiAgICBjb25zdCBjdXJyZW50TWF0Y2hQYXJhbXMgPSB0aGlzLm1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IG5leHRNYXRjaFBhcmFtcyA9IG1hdGNoPy5wYXJhbXMgfHwgbnVsbFxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0c0NoYW5nZWQgPSB0aGlzLm51bGxhYmxlQXJyYXlEaWZmZXJlbnQoY3VycmVudENvbXBvbmVudFBhdGhQYXJ0cywgY29tcG9uZW50UGF0aFBhcnRzKVxuICAgIGNvbnN0IG1hdGNoQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQoY3VycmVudE1hdGNoUGFyYW1zLCBuZXh0TWF0Y2hQYXJhbXMpXG4gICAgY29uc3QgbmV3UGFyYW1zQ2hhbmdlZCA9IHRoaXMubnVsbGFibGVPYmplY3REaWZmZXJlbnQodGhpcy5uZXdQYXJhbXMsIG5ld1BhcmFtcylcblxuICAgIHJldHVybiBjb21wb25lbnRQYXRoUGFydHNDaGFuZ2VkIHx8IG1hdGNoQ2hhbmdlZCB8fCBuZXdQYXJhbXNDaGFuZ2VkXG4gIH1cblxuICBudWxsYWJsZUFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgbmV4dFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbmV4dFZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5RGlmZmVyZW50KHZhbHVlLCBuZXh0VmFsdWUpXG4gIH1cblxuICBudWxsYWJsZU9iamVjdERpZmZlcmVudCh2YWx1ZSwgbmV4dFZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IG5leHRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG5leHRWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBzaW1wbGVPYmplY3REaWZmZXJlbnQodmFsdWUsIG5leHRWYWx1ZSwgdHJ1ZSlcbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgLy8gSWdub3JlIGxhdGUgYXN5bmMgcm91dGUtY29tcG9uZW50IGxvYWRzIGFmdGVyIGEgcm91dGUgc3dpdGNoIG9yIGRpc2NhcmRlZCBtb3VudC5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgKyAxXG5cbiAgICB0aGlzLmxvYWRDb21wb25lbnRSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCBhY3R1YWxDb21wb25lbnRQYXRoID0gdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IHRoaXMudHQuY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpXG5cbiAgICAvKiogQHR5cGUge1JvdXRlQ29tcG9uZW50IHwgbnVsbH0gKi9cbiAgICBsZXQgQ29tcG9uZW50XG5cbiAgICB0aGlzLmxvZygoKSA9PiBbXCJsb2FkQ29tcG9uZW50XCIsIHtjb21wb25lbnRQYXRoOiB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgsIGNvbXBvbmVudFBhdGhQYXJ0czogdGhpcy5jb21wb25lbnRQYXRoUGFydHMsIGFjdHVhbENvbXBvbmVudFBhdGh9XSlcbiAgICBpZiAoIXRoaXMudHQucmVxdWlyZUNvbXBvbmVudCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ3JlcXVpcmVDb21wb25lbnQnIGF2YWlsYWJsZSBpbiByb3V0ZSBjb250ZXh0XCIpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50SW1wb3J0ID0gYXdhaXQgdGhpcy50dC5yZXF1aXJlQ29tcG9uZW50KHtyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IGFjdHVhbENvbXBvbmVudFBhdGh9fSlcblxuICAgICAgQ29tcG9uZW50ID0gY29tcG9uZW50SW1wb3J0XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkbid0IGZpbmQgY29tcG9uZW50OiAke2FjdHVhbENvbXBvbmVudFBhdGh9YClcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICBpZiAocmVxdWVzdElkICE9IHRoaXMubG9hZENvbXBvbmVudFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICB0aGlzLnMuQ29tcG9uZW50ID0gQ29tcG9uZW50XG4gICAgdGhpcy5zLmNvbXBvbmVudE5vdEZvdW5kID0gIUNvbXBvbmVudFxuICB9XG5cbiAgbG9nKGNhbGxiYWNrQXJncykge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBsZXQgYXJncyA9IGNhbGxiYWNrQXJncygpXG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkgYXJncyA9IFthcmdzXVxuXG4gICAgICBjb25zb2xlLmxvZyguLi5hcmdzKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaCwgbmV3UGFyYW1zLCBuZXdSb3V0ZVBhcnRzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y2hpbGRyZW4sIGNvbXBvbmVudCwgcGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge0NvbXBvbmVudCwgY29tcG9uZW50Tm90Rm91bmQsIG1hdGNoZXN9ID0gdGhpcy5zXG5cbiAgICBpZiAoIW1hdGNoZXMgfHwgIXRoaXMuaGFzU3dpdGNoTWF0Y2goKSkge1xuICAgICAgLy8gUm91dGUgaXNuJ3QgbWF0Y2hpbmcgYW5kIHNob3VsZG4ndCBiZSByZW5kZXJlZCBhdCBhbGwuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGlmICghQ29tcG9uZW50ICYmICFjaGlsZHJlbiAmJiAhY29tcG9uZW50Tm90Rm91bmQpIHtcbiAgICAgIC8vIFJvdXRlIGlzIG1hdGNoaW5nIGJ1dCBoYXNuJ3QgYmVlbiBsb2FkZWQgeWV0LlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7XCJMb2FkaW5nIFwifVxuICAgICAgICAgIHtjb21wb25lbnQgfHwgdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IGNvbXBvbmVudFBhdGhQYXJ0cy5qb2luKFwiL1wiKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKCFDb21wb25lbnQgJiYgIWNoaWxkcmVuICYmIGNvbXBvbmVudE5vdEZvdW5kKSB7XG4gICAgICAvLyBEb24ndCByZW5kZXIgYW55dGhpbmcgaWYgdGhlIGNvbXBvbmVudCBjb3VsZG4ndCBiZSBmb3VuZC5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDdXJyZW50UGF0aENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbXBvbmVudFBhdGhQYXJ0c30+XG4gICAgICAgIDxSb3V0ZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25ld1JvdXRlUGFydHMuam9pbihcIi9cIil9PlxuICAgICAgICAgIDxQYXJhbXNDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdQYXJhbXN9PlxuICAgICAgICAgICAgPFN3aXRjaCBuYW1lPXtgcm91dGUtZ3JvdXAtJHtwYXRofWB9IHNpbmdsZT17ZmFsc2V9PlxuICAgICAgICAgICAgICB7Q29tcG9uZW50ICYmIDxDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPn1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgPC9QYXJhbXNDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICA8L1JvdXRlQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvQ3VycmVudFBhdGhDb250ZXh0LlByb3ZpZGVyPlxuICAgIClcbiAgfVxufSkpXG5cbmV4cG9ydCB7UmVxdWlyZUNvbXBvbmVudENvbnRleHQsIFJvdXRlQ29udGV4dCwgU3dpdGNoLCB1c2VQYXJhbXN9XG5leHBvcnQgZGVmYXVsdCBSb3V0ZVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";;eAUc,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iBACvB;QAAC,CAAC,EAAE,KAAK,CAAC;QAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;KAAC,GAAG,IAAI;;;eAW3E,KAAK,CAAC,SAAS;WACf,MAAM;aACN,OAAO;;;gBAIP,MAAM;eACN,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;AAvBrC;;;;;GAKG;AAEH,4EAIG;AAEH;;;;;GAKG;AACH;;;;;GAKG;AACH,sEA8DG;kBA7FgC,OAAO"}
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";;eAUc,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;iBACvB;QAAC,CAAC,EAAE,KAAK,CAAC;QAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;KAAC,GAAG,IAAI;;;eAW3E,KAAK,CAAC,SAAS;WACf,MAAM;aACN,OAAO;;;gBAIP,MAAM;eACN,MAAM,GAAG,SAAS;kBAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;AAvBrC;;;;;GAKG;AAEH,4EAIG;AAEH;;;;;GAKG;AACH;;;;;GAKG;AACH,sEA4DG;kBA3FgC,OAAO"}
@@ -70,13 +70,11 @@ const Switch = memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
70
70
  }
71
71
  const newPathsMatched = { ...this.s.pathsMatched };
72
72
  newPathsMatched[path] = matched;
73
- this.setState({
74
- lastUpdate: Math.random() + new Date().getTime(),
75
- pathShown: this.pathShown(newPathsMatched),
76
- pathsMatched: newPathsMatched
77
- });
73
+ this.s.lastUpdate = Math.random() + new Date().getTime();
74
+ this.s.pathShown = this.pathShown(newPathsMatched);
75
+ this.s.pathsMatched = newPathsMatched;
78
76
  }
79
77
  }));
80
78
  export { CurrentSwitchContext };
81
79
  export default Switch;
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIvc3dpdGNoLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMxQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUU3Qzs7Ozs7R0FLRztBQUVILE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDbkYsU0FBUyxFQUFFLFNBQVM7SUFDcEIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQyxDQUFDLENBQUE7QUFFSDs7Ozs7R0FLRztBQUNIOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLE1BQU8sU0FBUSxjQUFjO0lBQ3BILE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDdkIsQ0FBQyxDQUFBO0lBRUYsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLEtBQUssR0FBRztRQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFlBQVksRUFBRSxFQUFFO0tBQ2pCLENBQUE7SUFFRCxLQUFLLEtBQUksQ0FBQztJQUVWLE1BQU07UUFDSixNQUFNLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEMsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLENBQUMsWUFDMUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ1UsQ0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsWUFBWTtRQUNwQixLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFL0MsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxXQUFXLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPO1FBQzFCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDbEMsTUFBTSxFQUFDLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFN0IsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDN0MsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTztZQUFFLE9BQU07UUFFekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUE7UUFFaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUUvQixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDMUMsWUFBWSxFQUFFLGVBQWU7U0FDOUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLENBQUE7QUFDN0IsZUFBZSxNQUFNLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBDdXJyZW50U3dpdGNoQ29udGV4dFZhbHVlXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gcGF0aFNob3duXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGJvb2xlYW4+fSBwYXRoc01hdGNoZWRcbiAqIEBwcm9wZXJ0eSB7e3M6IFN0YXRlLCBzZXRQYXRoTWF0Y2hlZDogKHBhdGg6IHN0cmluZywgbWF0Y2hlZDogYm9vbGVhbikgPT4gdm9pZH0gfCBudWxsfSBzd2l0Y2hHcm91cFxuICovXG5cbmNvbnN0IEN1cnJlbnRTd2l0Y2hDb250ZXh0ID0gY3JlYXRlQ29udGV4dCgvKiogQHR5cGUge0N1cnJlbnRTd2l0Y2hDb250ZXh0VmFsdWV9ICovICh7XG4gIHBhdGhTaG93bjogdW5kZWZpbmVkLFxuICBwYXRoc01hdGNoZWQ6IHt9LFxuICBzd2l0Y2hHcm91cDogbnVsbFxufSkpXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUHJvcHNcbiAqIEBwcm9wZXJ0eSB7UmVhY3QuUmVhY3ROb2RlfSBbY2hpbGRyZW5dXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtzaW5nbGVdXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsYXN0VXBkYXRlXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gcGF0aFNob3duXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGJvb2xlYW4+fSBwYXRoc01hdGNoZWRcbiAqL1xuY29uc3QgU3dpdGNoID0gbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBTd2l0Y2ggZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgbmFtZTogXCJbbm8gbmFtZV1cIixcbiAgICBzaW5nbGU6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaW5nbGU6IFByb3BUeXBlcy5ib29sXG4gIH0pXG5cbiAgcGF0aHNNYXRjaGVkS2V5cyA9IFtdXG4gIHN0YXRlID0ge1xuICAgIGxhc3RVcGRhdGU6IERhdGUubm93KCksXG4gICAgcGF0aFNob3duOiB1bmRlZmluZWQsXG4gICAgcGF0aHNNYXRjaGVkOiB7fVxuICB9XG5cbiAgc2V0dXAoKSB7fVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7cGF0aFNob3duLCBwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRTd2l0Y2hDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXsvKiogQHR5cGUge0N1cnJlbnRTd2l0Y2hDb250ZXh0VmFsdWV9ICovICh7cGF0aFNob3duLCBwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwOiB0aGlzfSl9PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvQ3VycmVudFN3aXRjaENvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG5cbiAgcGF0aFNob3duKHBhdGhzTWF0Y2hlZCkge1xuICAgIGZvciAoY29uc3QgcGF0aE1hdGNoZWQgb2YgdGhpcy50dC5wYXRoc01hdGNoZWRLZXlzKSB7XG4gICAgICBjb25zdCBpc1BhdGhNYXRjaGVkID0gcGF0aHNNYXRjaGVkW3BhdGhNYXRjaGVkXVxuXG4gICAgICBpZiAoaXNQYXRoTWF0Y2hlZCkge1xuICAgICAgICByZXR1cm4gcGF0aE1hdGNoZWRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRQYXRoTWF0Y2hlZChwYXRoLCBtYXRjaGVkKSB7XG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZEtleXN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICBpZiAoIXBhdGgpIHRocm93IG5ldyBFcnJvcihcIk5vICdwYXRoJyBnaXZlblwiKVxuICAgIGlmIChwYXRoc01hdGNoZWRbcGF0aF0gPT0gbWF0Y2hlZCkgcmV0dXJuXG5cbiAgICBpZiAoIXBhdGhzTWF0Y2hlZEtleXMuaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgIHBhdGhzTWF0Y2hlZEtleXMucHVzaChwYXRoKVxuICAgIH1cblxuICAgIGNvbnN0IG5ld1BhdGhzTWF0Y2hlZCA9IHsuLi50aGlzLnMucGF0aHNNYXRjaGVkfVxuXG4gICAgbmV3UGF0aHNNYXRjaGVkW3BhdGhdID0gbWF0Y2hlZFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBsYXN0VXBkYXRlOiBNYXRoLnJhbmRvbSgpICsgbmV3IERhdGUoKS5nZXRUaW1lKCksXG4gICAgICBwYXRoU2hvd246IHRoaXMucGF0aFNob3duKG5ld1BhdGhzTWF0Y2hlZCksXG4gICAgICBwYXRoc01hdGNoZWQ6IG5ld1BhdGhzTWF0Y2hlZFxuICAgIH0pXG4gIH1cbn0pKVxuXG5leHBvcnQge0N1cnJlbnRTd2l0Y2hDb250ZXh0fVxuZXhwb3J0IGRlZmF1bHQgU3dpdGNoXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIvc3dpdGNoLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMxQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUU3Qzs7Ozs7R0FLRztBQUVILE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDbkYsU0FBUyxFQUFFLFNBQVM7SUFDcEIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQyxDQUFDLENBQUE7QUFFSDs7Ozs7R0FLRztBQUNIOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLE1BQU8sU0FBUSxjQUFjO0lBQ3BILE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDdkIsQ0FBQyxDQUFBO0lBRUYsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLEtBQUssR0FBRztRQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3RCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFlBQVksRUFBRSxFQUFFO0tBQ2pCLENBQUE7SUFFRCxLQUFLLEtBQUksQ0FBQztJQUVWLE1BQU07UUFDSixNQUFNLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEMsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLENBQUMsWUFDMUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ1UsQ0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsWUFBWTtRQUNwQixLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFL0MsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxXQUFXLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPO1FBQzFCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDbEMsTUFBTSxFQUFDLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFN0IsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDN0MsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTztZQUFFLE9BQU07UUFFekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUE7UUFFaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUUvQixJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUN4RCxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ2xELElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQTtJQUN2QyxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFFSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsQ0FBQTtBQUM3QixlQUFlLE1BQU0sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0fSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEN1cnJlbnRTd2l0Y2hDb250ZXh0VmFsdWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgdW5kZWZpbmVkfSBwYXRoU2hvd25cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgYm9vbGVhbj59IHBhdGhzTWF0Y2hlZFxuICogQHByb3BlcnR5IHt7czogU3RhdGUsIHNldFBhdGhNYXRjaGVkOiAocGF0aDogc3RyaW5nLCBtYXRjaGVkOiBib29sZWFuKSA9PiB2b2lkfSB8IG51bGx9IHN3aXRjaEdyb3VwXG4gKi9cblxuY29uc3QgQ3VycmVudFN3aXRjaENvbnRleHQgPSBjcmVhdGVDb250ZXh0KC8qKiBAdHlwZSB7Q3VycmVudFN3aXRjaENvbnRleHRWYWx1ZX0gKi8gKHtcbiAgcGF0aFNob3duOiB1bmRlZmluZWQsXG4gIHBhdGhzTWF0Y2hlZDoge30sXG4gIHN3aXRjaEdyb3VwOiBudWxsXG59KSlcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtSZWFjdC5SZWFjdE5vZGV9IFtjaGlsZHJlbl1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbmFtZV1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3NpbmdsZV1cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxhc3RVcGRhdGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgdW5kZWZpbmVkfSBwYXRoU2hvd25cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgYm9vbGVhbj59IHBhdGhzTWF0Y2hlZFxuICovXG5jb25zdCBTd2l0Y2ggPSBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIFN3aXRjaCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBuYW1lOiBcIltubyBuYW1lXVwiLFxuICAgIHNpbmdsZTogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNpbmdsZTogUHJvcFR5cGVzLmJvb2xcbiAgfSlcblxuICBwYXRoc01hdGNoZWRLZXlzID0gW11cbiAgc3RhdGUgPSB7XG4gICAgbGFzdFVwZGF0ZTogRGF0ZS5ub3coKSxcbiAgICBwYXRoU2hvd246IHVuZGVmaW5lZCxcbiAgICBwYXRoc01hdGNoZWQ6IHt9XG4gIH1cblxuICBzZXR1cCgpIHt9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtwYXRoU2hvd24sIHBhdGhzTWF0Y2hlZH0gPSB0aGlzLnNcblxuICAgIHJldHVybiAoXG4gICAgICA8Q3VycmVudFN3aXRjaENvbnRleHQuUHJvdmlkZXIgdmFsdWU9ey8qKiBAdHlwZSB7Q3VycmVudFN3aXRjaENvbnRleHRWYWx1ZX0gKi8gKHtwYXRoU2hvd24sIHBhdGhzTWF0Y2hlZCwgc3dpdGNoR3JvdXA6IHRoaXN9KX0+XG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgPC9DdXJyZW50U3dpdGNoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cblxuICBwYXRoU2hvd24ocGF0aHNNYXRjaGVkKSB7XG4gICAgZm9yIChjb25zdCBwYXRoTWF0Y2hlZCBvZiB0aGlzLnR0LnBhdGhzTWF0Y2hlZEtleXMpIHtcbiAgICAgIGNvbnN0IGlzUGF0aE1hdGNoZWQgPSBwYXRoc01hdGNoZWRbcGF0aE1hdGNoZWRdXG5cbiAgICAgIGlmIChpc1BhdGhNYXRjaGVkKSB7XG4gICAgICAgIHJldHVybiBwYXRoTWF0Y2hlZFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFBhdGhNYXRjaGVkKHBhdGgsIG1hdGNoZWQpIHtcbiAgICBjb25zdCB7cGF0aHNNYXRjaGVkS2V5c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZH0gPSB0aGlzLnNcblxuICAgIGlmICghcGF0aCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ3BhdGgnIGdpdmVuXCIpXG4gICAgaWYgKHBhdGhzTWF0Y2hlZFtwYXRoXSA9PSBtYXRjaGVkKSByZXR1cm5cblxuICAgIGlmICghcGF0aHNNYXRjaGVkS2V5cy5pbmNsdWRlcyhwYXRoKSkge1xuICAgICAgcGF0aHNNYXRjaGVkS2V5cy5wdXNoKHBhdGgpXG4gICAgfVxuXG4gICAgY29uc3QgbmV3UGF0aHNNYXRjaGVkID0gey4uLnRoaXMucy5wYXRoc01hdGNoZWR9XG5cbiAgICBuZXdQYXRoc01hdGNoZWRbcGF0aF0gPSBtYXRjaGVkXG5cbiAgICB0aGlzLnMubGFzdFVwZGF0ZSA9IE1hdGgucmFuZG9tKCkgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKVxuICAgIHRoaXMucy5wYXRoU2hvd24gPSB0aGlzLnBhdGhTaG93bihuZXdQYXRoc01hdGNoZWQpXG4gICAgdGhpcy5zLnBhdGhzTWF0Y2hlZCA9IG5ld1BhdGhzTWF0Y2hlZFxuICB9XG59KSlcblxuZXhwb3J0IHtDdXJyZW50U3dpdGNoQ29udGV4dH1cbmV4cG9ydCBkZWZhdWx0IFN3aXRjaFxuIl19
@@ -67,7 +67,7 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
67
67
  if (this.form) {
68
68
  this.form.setValue(this.p.name, newChecked);
69
69
  }
70
- this.setState({ checked: newChecked });
70
+ this.s.checked = newChecked;
71
71
  };
72
72
  }));
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdHRyaWJ1dGUtY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2VkaXQtcGFnZS9lZGl0LWF0dHJpYnV0ZS1jaGVja2JveC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sUUFBUSxNQUFNLHNCQUFzQixDQUFBO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUMvQixRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsQ0FBQztLQUNmO0NBQ0YsQ0FBQyxDQUFBO0FBRUY7Ozs7Ozs7R0FPRztBQUNIOzs7R0FHRztBQUNILGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLGtCQUFtQixTQUFRLGNBQWM7SUFDaEksTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUMxQyxFQUFFLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQy9CLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNsQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ2xDLENBQUMsQ0FBQTtJQUVGLEtBQUssR0FBRztRQUNOLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO0tBQy9CLENBQUE7SUFFRCxLQUFLO1FBQ0gsTUFBTSxFQUFDLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUV4QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBRXJCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUNwQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ0wsU0FBUyxFQUFFLGFBQWE7WUFDeEIsRUFBRTtZQUNGLElBQUk7U0FDTCxDQUFDLEVBQ0YsQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUMxQixDQUFBO1FBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzFDLENBQUM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDUixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQTtJQUN0RCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBQ3pCLE1BQU0sRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDNUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEIsSUFBSSxDQUFDLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLGFBQWEsOEJBQThCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQzlGLENBQUM7UUFFRCxPQUFPLENBQ0wsS0FBQyxJQUFJLElBQ0gsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxTQUFTLEVBQUUsc0RBQXNELEVBQUMsQ0FBQyxFQUMzRyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsQ0FBQyxZQUVoRixLQUFDLFFBQVEsSUFDUCxPQUFPLEVBQUUsT0FBTyxFQUNoQixPQUFPLEVBQUUsT0FBTyxFQUNoQixLQUFLLEVBQUUsS0FBSyxFQUNaLGVBQWUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFDeEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQ3RCLE1BQU0sRUFBRSx5Q0FBeUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FDNUQsR0FDRyxDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZSxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDL0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFBO0lBQ3RDLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U3R5bGVTaGVldCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4uLy4uL3V0aWxzL2NoZWNrYm94XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB7dXNlRm9ybX0gZnJvbSBcIi4uLy4uL2Zvcm1cIlxuXG5jb25zdCBzdHlsZXMgPSBTdHlsZVNoZWV0LmNyZWF0ZSh7XG4gIGNoZWNrYm94OiB7XG4gICAgbWFyZ2luUmlnaHQ6IDRcbiAgfVxufSlcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGF0dHJpYnV0ZU5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGxhYmVsXG4gKiBAcHJvcGVydHkge29iamVjdH0gbW9kZWxcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gY2hlY2tlZFxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIEVkaXRBdHRyaWJ1dGVJbnB1dCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGVOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc3RhdGUgPSB7XG4gICAgY2hlY2tlZDogdGhpcy5kZWZhdWx0Q2hlY2tlZCgpXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlTmFtZSwgaWQsIG5hbWV9ID0gdGhpcy5wXG5cbiAgICB0aGlzLmZvcm0gPSB1c2VGb3JtKClcblxuICAgIHRoaXMuZGF0YVNldCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBhdHRyaWJ1dGU6IGF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIGlkLFxuICAgICAgICBuYW1lXG4gICAgICB9KSxcbiAgICAgIFthdHRyaWJ1dGVOYW1lLCBpZCwgbmFtZV1cbiAgICApXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUobmFtZSwgdGhpcy5zLmNoZWNrZWQpXG4gICAgICB9XG4gICAgfSwgW10pXG4gIH1cblxuICBkZWZhdWx0Q2hlY2tlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wLm1vZGVsW3RoaXMucC5hdHRyaWJ1dGVOYW1lXSgpIHx8IGZhbHNlXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGFTZXR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthdHRyaWJ1dGVOYW1lLCBsYWJlbCwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge2NoZWNrZWR9ID0gdGhpcy5zXG5cbiAgICBpZiAoIShhdHRyaWJ1dGVOYW1lIGluIG1vZGVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2F0dHJpYnV0ZU5hbWV9IGlzbid0IHNldCBvbiB0aGUgcmVzb3VyY2UgJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcImFwaS1tYWtlci9zdXBlci1hZG1pbi9lZGl0LXBhZ2UvZWRpdC1hdHRyaWJ1dGUtaW5wdXRcIn0pfVxuICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVcIiwge2ZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCJ9KX1cbiAgICAgID5cbiAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0fVxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9e3RoaXMudHQub25DaGVja2VkQ2hhbmdlfVxuICAgICAgICAgIHN0eWxlPXtzdHlsZXMuY2hlY2tib3h9XG4gICAgICAgICAgdGVzdElEPXtgYXBpLW1ha2VyL3N1cGVyLWFkbWluL2VkaXQtcGFnZS9pbnB1dC0ke3RoaXMucC5pZH1gfVxuICAgICAgICAvPlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIG9uQ2hlY2tlZENoYW5nZSA9IChuZXdDaGVja2VkKSA9PiB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKHRoaXMucC5uYW1lLCBuZXdDaGVja2VkKVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6IG5ld0NoZWNrZWR9KVxuICB9XG59KSlcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdHRyaWJ1dGUtY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2VkaXQtcGFnZS9lZGl0LWF0dHJpYnV0ZS1jaGVja2JveC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sUUFBUSxNQUFNLHNCQUFzQixDQUFBO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUMvQixRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsQ0FBQztLQUNmO0NBQ0YsQ0FBQyxDQUFBO0FBRUY7Ozs7Ozs7R0FPRztBQUNIOzs7R0FHRztBQUNILGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLGtCQUFtQixTQUFRLGNBQWM7SUFDaEksTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUMxQyxFQUFFLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQy9CLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDbEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUNsQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ2xDLENBQUMsQ0FBQTtJQUVGLEtBQUssR0FBRztRQUNOLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO0tBQy9CLENBQUE7SUFFRCxLQUFLO1FBQ0gsTUFBTSxFQUFDLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUV4QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBRXJCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUNwQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ0wsU0FBUyxFQUFFLGFBQWE7WUFDeEIsRUFBRTtZQUNGLElBQUk7U0FDTCxDQUFDLEVBQ0YsQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUMxQixDQUFBO1FBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzFDLENBQUM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDUixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQTtJQUN0RCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBQ3pCLE1BQU0sRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDNUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEIsSUFBSSxDQUFDLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLGFBQWEsOEJBQThCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQzlGLENBQUM7UUFFRCxPQUFPLENBQ0wsS0FBQyxJQUFJLElBQ0gsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxTQUFTLEVBQUUsc0RBQXNELEVBQUMsQ0FBQyxFQUMzRyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsQ0FBQyxZQUVoRixLQUFDLFFBQVEsSUFDUCxPQUFPLEVBQUUsT0FBTyxFQUNoQixPQUFPLEVBQUUsT0FBTyxFQUNoQixLQUFLLEVBQUUsS0FBSyxFQUNaLGVBQWUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFDeEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQ3RCLE1BQU0sRUFBRSx5Q0FBeUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FDNUQsR0FDRyxDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZSxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDL0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUM3QyxDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFBO0lBQzdCLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U3R5bGVTaGVldCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4uLy4uL3V0aWxzL2NoZWNrYm94XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB7dXNlRm9ybX0gZnJvbSBcIi4uLy4uL2Zvcm1cIlxuXG5jb25zdCBzdHlsZXMgPSBTdHlsZVNoZWV0LmNyZWF0ZSh7XG4gIGNoZWNrYm94OiB7XG4gICAgbWFyZ2luUmlnaHQ6IDRcbiAgfVxufSlcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGF0dHJpYnV0ZU5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IGxhYmVsXG4gKiBAcHJvcGVydHkge29iamVjdH0gbW9kZWxcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gY2hlY2tlZFxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIEVkaXRBdHRyaWJ1dGVJbnB1dCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGVOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc3RhdGUgPSB7XG4gICAgY2hlY2tlZDogdGhpcy5kZWZhdWx0Q2hlY2tlZCgpXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlTmFtZSwgaWQsIG5hbWV9ID0gdGhpcy5wXG5cbiAgICB0aGlzLmZvcm0gPSB1c2VGb3JtKClcblxuICAgIHRoaXMuZGF0YVNldCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBhdHRyaWJ1dGU6IGF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIGlkLFxuICAgICAgICBuYW1lXG4gICAgICB9KSxcbiAgICAgIFthdHRyaWJ1dGVOYW1lLCBpZCwgbmFtZV1cbiAgICApXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUobmFtZSwgdGhpcy5zLmNoZWNrZWQpXG4gICAgICB9XG4gICAgfSwgW10pXG4gIH1cblxuICBkZWZhdWx0Q2hlY2tlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wLm1vZGVsW3RoaXMucC5hdHRyaWJ1dGVOYW1lXSgpIHx8IGZhbHNlXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGFTZXR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthdHRyaWJ1dGVOYW1lLCBsYWJlbCwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge2NoZWNrZWR9ID0gdGhpcy5zXG5cbiAgICBpZiAoIShhdHRyaWJ1dGVOYW1lIGluIG1vZGVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2F0dHJpYnV0ZU5hbWV9IGlzbid0IHNldCBvbiB0aGUgcmVzb3VyY2UgJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcImFwaS1tYWtlci9zdXBlci1hZG1pbi9lZGl0LXBhZ2UvZWRpdC1hdHRyaWJ1dGUtaW5wdXRcIn0pfVxuICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVcIiwge2ZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCJ9KX1cbiAgICAgID5cbiAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0fVxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9e3RoaXMudHQub25DaGVja2VkQ2hhbmdlfVxuICAgICAgICAgIHN0eWxlPXtzdHlsZXMuY2hlY2tib3h9XG4gICAgICAgICAgdGVzdElEPXtgYXBpLW1ha2VyL3N1cGVyLWFkbWluL2VkaXQtcGFnZS9pbnB1dC0ke3RoaXMucC5pZH1gfVxuICAgICAgICAvPlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIG9uQ2hlY2tlZENoYW5nZSA9IChuZXdDaGVja2VkKSA9PiB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKHRoaXMucC5uYW1lLCBuZXdDaGVja2VkKVxuICAgIH1cblxuICAgIHRoaXMucy5jaGVja2VkID0gbmV3Q2hlY2tlZFxuICB9XG59KSlcbiJdfQ==
@@ -65,8 +65,8 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
65
65
  return this.p.model[this.p.attribute.attribute]();
66
66
  };
67
67
  onChangeValue = (newValue) => {
68
- this.setState({ value: newValue });
68
+ this.s.value = newValue;
69
69
  this.tt.form.setValue(this.p.name, newValue);
70
70
  };
71
71
  }));
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdHRyaWJ1dGUtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic3VwZXItYWRtaW4vZWRpdC1wYWdlL2VkaXQtYXR0cmlidXRlLWNvbnRlbnQuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUV4Qzs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7QUFDSCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxvQkFBcUIsU0FBUSxjQUFjO0lBQ2xJLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdEMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUMvQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDbEMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxHQUFHO1FBQ04sS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQTtJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEs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QyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi8uLi9mb3JtXCJcbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3BzXG4gKiBAcHJvcGVydHkge29iamVjdH0gYXR0cmlidXRlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaWRcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBtb2RlbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFuIHwgRGF0ZSB8IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWR9IHZhbHVlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgRWRpdEF0dHJpYnV0ZUNvbnRlbnQgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHN0YXRlID0ge1xuICAgIHZhbHVlOiB1bmRlZmluZWRcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMuZm9ybSA9IHVzZUZvcm0oKVxuICAgIGNvbnN0IHJhd1ZhbHVlID0gdGhpcy5yYXdWYWx1ZSgpXG4gICAgdGhpcy5pbml0aWFsVmFsdWUgPSByYXdWYWx1ZSA9PT0gbnVsbCB8fCByYXdWYWx1ZSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJhd1ZhbHVlXG4gICAgdGhpcy5oYXNJbml0aWFsVmFsdWUgPSByYXdWYWx1ZSAhPT0gbnVsbCAmJiByYXdWYWx1ZSAhPT0gdW5kZWZpbmVkXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9ybSAmJiB0aGlzLmhhc0luaXRpYWxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUodGhpcy5wLm5hbWUsIHRoaXMuaW5pdGlhbFZhbHVlKVxuICAgICAgfVxuICAgIH0sIFtdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGlkLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoIShhdHRyaWJ1dGUuYXR0cmlidXRlIGluIG1vZGVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2F0dHJpYnV0ZS5hdHRyaWJ1dGV9IGlzbid0IHNldCBvbiB0aGUgcmVzb3VyY2UgJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50QXJncyA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy5pbml0aWFsVmFsdWUsXG4gICAgICBpbnB1dFByb3BzOiB7XG4gICAgICAgIGF0dHJpYnV0ZTogYXR0cmlidXRlLmF0dHJpYnV0ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmluaXRpYWxWYWx1ZSxcbiAgICAgICAgaWQsXG4gICAgICAgIG1vZGVsLFxuICAgICAgICBuYW1lOiB0aGlzLnAubmFtZVxuICAgICAgfSxcbiAgICAgIG9uQ2hhbmdlVmFsdWU6IHRoaXMudHQub25DaGFuZ2VWYWx1ZSxcbiAgICAgIHZhbHVlOiB0aGlzLnMudmFsdWUgPT09IHVuZGVmaW5lZCA/IHRoaXMuaW5pdGlhbFZhbHVlIDogdGhpcy5zLnZhbHVlXG4gICAgfSksIFthdHRyaWJ1dGUuYXR0cmlidXRlLCBpZCwgbW9kZWwsIHRoaXMuaW5pdGlhbFZhbHVlLCB0aGlzLnAubmFtZSwgdGhpcy5zLnZhbHVlXSlcblxuICAgIHJldHVybiBhdHRyaWJ1dGUuY29udGVudChjb250ZW50QXJncylcbiAgfVxuXG4gIGRlZmF1bHRWYWx1ZSA9ICgpID0+IHRoaXMuaW5pdGlhbFZhbHVlXG5cbiAgcmF3VmFsdWUgPSAoKSA9PiB7XG4gICAgaWYgKCEodGhpcy5wLmF0dHJpYnV0ZS5hdHRyaWJ1dGUgaW4gdGhpcy5wLm1vZGVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBhdHRyaWJ1dGUgY2FsbGVkICR7dGhpcy5wLmF0dHJpYnV0ZS5hdHRyaWJ1dGV9IGluIG1vZGVsICR7dGhpcy5wLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZX1gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnAubW9kZWxbdGhpcy5wLmF0dHJpYnV0ZS5hdHRyaWJ1dGVdKClcbiAgfVxuXG4gIG9uQ2hhbmdlVmFsdWUgPSAobmV3VmFsdWUpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHt2YWx1ZTogbmV3VmFsdWV9KVxuICAgIHRoaXMudHQuZm9ybS5zZXRWYWx1ZSh0aGlzLnAubmFtZSwgbmV3VmFsdWUpXG4gIH1cbn0pKVxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdHRyaWJ1dGUtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic3VwZXItYWRtaW4vZWRpdC1wYWdlL2VkaXQtYXR0cmlidXRlLWNvbnRlbnQuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFDWixpQ0FBaUM7QUFDakMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUV4Qzs7Ozs7O0dBTUc7QUFDSDs7O0dBR0c7QUFDSCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxvQkFBcUIsU0FBUSxjQUFjO0lBQ2xJLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdEMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUMvQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDbEMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxHQUFHO1FBQ04sS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQTtJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEs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RSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi8uLi9mb3JtXCJcbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3BzXG4gKiBAcHJvcGVydHkge29iamVjdH0gYXR0cmlidXRlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaWRcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBtb2RlbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFuIHwgRGF0ZSB8IG51bWJlciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWR9IHZhbHVlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgRWRpdEF0dHJpYnV0ZUNvbnRlbnQgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHN0YXRlID0ge1xuICAgIHZhbHVlOiB1bmRlZmluZWRcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMuZm9ybSA9IHVzZUZvcm0oKVxuICAgIGNvbnN0IHJhd1ZhbHVlID0gdGhpcy5yYXdWYWx1ZSgpXG4gICAgdGhpcy5pbml0aWFsVmFsdWUgPSByYXdWYWx1ZSA9PT0gbnVsbCB8fCByYXdWYWx1ZSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJhd1ZhbHVlXG4gICAgdGhpcy5oYXNJbml0aWFsVmFsdWUgPSByYXdWYWx1ZSAhPT0gbnVsbCAmJiByYXdWYWx1ZSAhPT0gdW5kZWZpbmVkXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9ybSAmJiB0aGlzLmhhc0luaXRpYWxWYWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUodGhpcy5wLm5hbWUsIHRoaXMuaW5pdGlhbFZhbHVlKVxuICAgICAgfVxuICAgIH0sIFtdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGlkLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoIShhdHRyaWJ1dGUuYXR0cmlidXRlIGluIG1vZGVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2F0dHJpYnV0ZS5hdHRyaWJ1dGV9IGlzbid0IHNldCBvbiB0aGUgcmVzb3VyY2UgJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50QXJncyA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy5pbml0aWFsVmFsdWUsXG4gICAgICBpbnB1dFByb3BzOiB7XG4gICAgICAgIGF0dHJpYnV0ZTogYXR0cmlidXRlLmF0dHJpYnV0ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmluaXRpYWxWYWx1ZSxcbiAgICAgICAgaWQsXG4gICAgICAgIG1vZGVsLFxuICAgICAgICBuYW1lOiB0aGlzLnAubmFtZVxuICAgICAgfSxcbiAgICAgIG9uQ2hhbmdlVmFsdWU6IHRoaXMudHQub25DaGFuZ2VWYWx1ZSxcbiAgICAgIHZhbHVlOiB0aGlzLnMudmFsdWUgPT09IHVuZGVmaW5lZCA/IHRoaXMuaW5pdGlhbFZhbHVlIDogdGhpcy5zLnZhbHVlXG4gICAgfSksIFthdHRyaWJ1dGUuYXR0cmlidXRlLCBpZCwgbW9kZWwsIHRoaXMuaW5pdGlhbFZhbHVlLCB0aGlzLnAubmFtZSwgdGhpcy5zLnZhbHVlXSlcblxuICAgIHJldHVybiBhdHRyaWJ1dGUuY29udGVudChjb250ZW50QXJncylcbiAgfVxuXG4gIGRlZmF1bHRWYWx1ZSA9ICgpID0+IHRoaXMuaW5pdGlhbFZhbHVlXG5cbiAgcmF3VmFsdWUgPSAoKSA9PiB7XG4gICAgaWYgKCEodGhpcy5wLmF0dHJpYnV0ZS5hdHRyaWJ1dGUgaW4gdGhpcy5wLm1vZGVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBhdHRyaWJ1dGUgY2FsbGVkICR7dGhpcy5wLmF0dHJpYnV0ZS5hdHRyaWJ1dGV9IGluIG1vZGVsICR7dGhpcy5wLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZX1gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnAubW9kZWxbdGhpcy5wLmF0dHJpYnV0ZS5hdHRyaWJ1dGVdKClcbiAgfVxuXG4gIG9uQ2hhbmdlVmFsdWUgPSAobmV3VmFsdWUpID0+IHtcbiAgICB0aGlzLnMudmFsdWUgPSBuZXdWYWx1ZVxuICAgIHRoaXMudHQuZm9ybS5zZXRWYWx1ZSh0aGlzLnAubmFtZSwgbmV3VmFsdWUpXG4gIH1cbn0pKVxuIl19
@@ -77,7 +77,7 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
77
77
  this.loadModel();
78
78
  }
79
79
  else {
80
- this.setState({ model: undefined });
80
+ this.s.model = undefined;
81
81
  }
82
82
  return () => {
83
83
  this.loadModelRequestId += 1;
@@ -102,12 +102,12 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
102
102
  const model = await query.first();
103
103
  if (requestId != this.loadModelRequestId)
104
104
  return;
105
- this.setState({ model });
105
+ this.s.model = model;
106
106
  }
107
107
  else {
108
108
  if (requestId != this.loadModelRequestId)
109
109
  return;
110
- this.setState({ model: undefined });
110
+ this.s.model = undefined;
111
111
  }
112
112
  };
113
113
  render() {
@@ -166,4 +166,4 @@ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>}
166
166
  return pageToShow == "show" || pageToShow == "show_reflection";
167
167
  };
168
168
  }));
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLDRJQUE0STtBQUM1SSxPQUFPLEtBQUssRUFBRSxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDL0MsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3hELE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLE9BQU8sUUFBUSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLGtCQUFrQixNQUFNLGtEQUFrRCxDQUFBO0FBQ2pGLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQTtBQUNwQyxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLElBQUksTUFBTSxTQUFTLENBQUE7QUFDMUIsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFBLENBQUMsMkNBQTJDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8scUJBQXFCLE1BQU0sMkJBQTJCLENBQUE7QUFDN0QsT0FBTyxrQkFBa0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUE7QUFDekMsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUE7QUFDbkQsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFDMUUs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R0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBRTdCLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzlFLE9BQU8saUJBQWlCLENBQUE7UUFDMUIsQ0FBQzthQUFNLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFDbkYsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO2FBQU0sSUFBSSxXQUFXLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyRCxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMxRCxPQUFPLE1BQU0sQ0FBQTtRQUNmLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixPQUFPLE9BQU8sQ0FBQTtRQUNoQixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQyxDQUFBO0lBRUQsb0JBQW9CLEdBQUcsR0FBRyxFQUFFO1FBQzFCLE1BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBRTVCLE9BQU8sVUFBVSxJQUFJLE1BQU0sSUFBSSxVQUFVLElBQUksaUJBQWlCLENBQUE7SUFDaEUsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIG5vLXJldHVybi1hc3NpZ24sIHJlYWN0L2pzeC1uby1saXRlcmFscywgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQsIHJlYWN0L2pzeC1vbmUtZXhwcmVzc2lvbi1wZXItbGluZSwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgU3R5bGVTaGVldCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQ29uZmlnUmVhZGVyIGZyb20gXCIuL2NvbmZpZy1yZWFkZXJcIlxuaW1wb3J0IEVkaXRQYWdlIGZyb20gXCIuL2VkaXQtcGFnZVwiXG5pbXBvcnQgRmxhc2hOb3RpZmljYXRpb25zIGZyb20gXCJmbGFzaC1ub3RpZmljYXRpb25zL2J1aWxkL2ZsYXNoLW5vdGlmaWNhdGlvbnMuanNcIlxuaW1wb3J0IGhhc0VkaXRDb25maWcgZnJvbSBcIi4vaGFzLWVkaXQtY29uZmlnLmpzXCJcbmltcG9ydCBJbmRleFBhZ2UgZnJvbSBcIi4vaW5kZXgtcGFnZVwiXG5pbXBvcnQgTGF5b3V0IGZyb20gXCIuL2xheW91dC9pbmRleFwiXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vbGlua1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG4vLyBAdHMtZXhwZWN0LWVycm9yXG5pbXBvcnQgKiBhcyBtb2RlbHMgZnJvbSBcIm1vZGVscy5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLXVucmVzb2x2ZWRcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uL3BhcmFtcy5qc1wiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgU2hvd1BhZ2UgZnJvbSBcIi4vc2hvdy1wYWdlL2luZGV4XCJcbmltcG9ydCBTaG93UmVmbGVjdGlvbkFjdGlvbnMgZnJvbSBcIi4vc2hvdy1yZWZsZWN0aW9uLWFjdGlvbnNcIlxuaW1wb3J0IFNob3dSZWZsZWN0aW9uUGFnZSBmcm9tIFwiLi9zaG93LXJlZmxlY3Rpb24tcGFnZVwiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgdXNlQ2FuQ2FuIGZyb20gXCIuLi91c2UtY2FuLWNhbi5qc1wiXG5pbXBvcnQgdXNlQ3VycmVudFVzZXIgZnJvbSBcIi4uL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXMuanNcIlxuaW1wb3J0IHVzZVN0eWxlcyBmcm9tIFwiLi4vdXNlLXN0eWxlcy5qc1wiXG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgYWN0aW9uc1ZpZXc6IHtcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCJcbiAgfSxcbiAgY3JlYXRlTmV3TW9kZWxMaW5rOiB7XG4gICAgbWFyZ2luTGVmdDogMTAsXG4gICAgbWFyZ2luUmlnaHQ6IDEwXG4gIH0sXG4gIGRlc3Ryb3lNb2RlbExpbms6IHtcbiAgICBtYXJnaW5MZWZ0OiAxMCxcbiAgICBtYXJnaW5SaWdodDogMTBcbiAgfSxcbiAgZWRpdE1vZGVsTGluazoge1xuICAgIG1hcmdpbkxlZnQ6IDEwLFxuICAgIG1hcmdpblJpZ2h0OiAxMFxuICB9XG59KVxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5cbi8qKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgbmV2ZXI+fSBQcm9wcyAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtvYmplY3QgfCB1bmRlZmluZWR9IG1vZGVsXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBsb2FkTW9kZWxSZXF1ZXN0SWQgPSAwXG4gIHN0YXRlID0ge1xuICAgIG1vZGVsOiB1bmRlZmluZWRcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG5cbiAgICBpZiAodGhpcy5xdWVyeVBhcmFtcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbENsYXNzID0gbW9kZWxzW3RoaXMucXVlcnlQYXJhbXMubW9kZWxdXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZWxDbGFzcyA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ1JlYWRlciA9IHVzZU1lbW8oKCkgPT4gdGhpcy5tb2RlbENsYXNzICYmIENvbmZpZ1JlYWRlci5mb3JNb2RlbCh0aGlzLm1vZGVsQ2xhc3MpLCBbdGhpcy5tb2RlbENsYXNzXSlcbiAgICB0aGlzLm1vZGVsSWQgPSB0aGlzLnF1ZXJ5UGFyYW1zLm1vZGVsX2lkXG4gICAgdGhpcy5tb2RlbE5hbWUgPSB0aGlzLm1vZGVsQ2xhc3M/Lm1vZGVsQ2xhc3NEYXRhKCk/Lm5hbWVcbiAgICB0aGlzLnBhZ2VUb1Nob3cgPSB0aGlzLmN1cnJlbnRQYWdlVG9TaG93KClcbiAgICBjb25zdCBjdXJyZW50VXNlckRhdGEgPSB1c2VDdXJyZW50VXNlcih7d2l0aERhdGE6IHRydWV9KVxuXG4gICAgdGhpcy5jdXJyZW50VXNlciA9IGN1cnJlbnRVc2VyRGF0YS5tb2RlbFxuXG4gICAgdGhpcy5jYW5DYW4gPSB1c2VDYW5DYW4oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFiaWxpdGllcyA9IFtdXG5cbiAgICAgICAgaWYgKHRoaXMubW9kZWxDbGFzcykgYWJpbGl0aWVzLnB1c2goW3RoaXMubW9kZWxDbGFzcywgW1wibmV3XCJdXSlcblxuICAgICAgICByZXR1cm4gYWJpbGl0aWVzXG4gICAgICB9LFxuICAgICAgW2N1cnJlbnRVc2VyRGF0YS5tb2RlbD8ucHJpbWFyeUtleT8uKCksIHRoaXMubW9kZWxDbGFzc11cbiAgICApXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudHQucGFnZU5lZWRzTG9hZGVkTW9kZWwoKSkge1xuICAgICAgICB0aGlzLmxvYWRNb2RlbCgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHttb2RlbDogdW5kZWZpbmVkfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkTW9kZWxSZXF1ZXN0SWQgKz0gMVxuICAgICAgfVxuICAgIH0sIFt0aGlzLm1vZGVsQ2xhc3MsIHRoaXMubW9kZWxJZCwgdGhpcy5wYWdlVG9TaG93XSlcbiAgfVxuXG4gIGxvYWRNb2RlbCA9IGFzeW5jICgpID0+IHtcbiAgICAvLyBTaG93L2VkaXQgcGFnZXMgc2hvdWxkIG9ubHkgYWNjZXB0IHRoZSBuZXdlc3QgbW9kZWwgbG9hZCBhZnRlciByb3V0ZSBjaGFuZ2VzLlxuICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMubG9hZE1vZGVsUmVxdWVzdElkICsgMVxuXG4gICAgdGhpcy5sb2FkTW9kZWxSZXF1ZXN0SWQgPSByZXF1ZXN0SWRcbiAgICBjb25zdCB7Y29uZmlnUmVhZGVyLCBtb2RlbENsYXNzLCBtb2RlbElkLCBtb2RlbE5hbWV9ID0gdGhpcy50dFxuXG4gICAgaWYgKG1vZGVsSWQgJiYgbW9kZWxDbGFzcykge1xuICAgICAgY29uc3QgYWJpbGl0aWVzID0ge31cbiAgICAgIGNvbnN0IGFiaWxpdGllc0Zvck1vZGVsID0gW1wiZGVzdHJveVwiLCBcImVkaXRcIl1cbiAgICAgIGNvbnN0IGxheW91dFNlbGVjdCA9IGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmxheW91dD8uc2VsZWN0XG5cbiAgICAgIGFiaWxpdGllc1ttb2RlbE5hbWVdID0gYWJpbGl0aWVzRm9yTW9kZWxcblxuICAgICAgY29uc3QgcXVlcnkgPSBhd2FpdCBtb2RlbENsYXNzXG4gICAgICAgIC5yYW5zYWNrKHtpZF9lcTogbW9kZWxJZH0pXG4gICAgICAgIC5hYmlsaXRpZXMoYWJpbGl0aWVzKVxuXG4gICAgICBpZiAobGF5b3V0U2VsZWN0KSBxdWVyeS5zZWxlY3QobGF5b3V0U2VsZWN0KVxuXG4gICAgICBjb25zdCBtb2RlbCA9IGF3YWl0IHF1ZXJ5LmZpcnN0KClcblxuICAgICAgaWYgKHJlcXVlc3RJZCAhPSB0aGlzLmxvYWRNb2RlbFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe21vZGVsfSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHJlcXVlc3RJZCAhPSB0aGlzLmxvYWRNb2RlbFJlcXVlc3RJZCkgcmV0dXJuXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe21vZGVsOiB1bmRlZmluZWR9KVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2FuQ2FuLCBjb25maWdSZWFkZXIsIG1vZGVsQ2xhc3MsIG1vZGVsSWQsIG1vZGVsTmFtZSwgcGFnZVRvU2hvdywgcXVlcnlQYXJhbXN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnNcbiAgICBjb25zdCBtb2RlbENvbmZpZ0FjdGlvbnMgPSBjb25maWdSZWFkZXI/Lm1vZGVsQ29uZmlnPy5hY3Rpb25zXG5cbiAgICBjb25zdCBhY3Rpb25zVmlld1N0eWxlID0gdXNlU3R5bGVzKHN0eWxlcywgXCJhY3Rpb25zVmlld1wiKVxuXG4gICAgY29uc3QgYWN0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiA8VmlldyBzdHlsZT17YWN0aW9uc1ZpZXdTdHlsZX0+XG4gICAgICAgIHttb2RlbCAmJiBtb2RlbENvbmZpZ0FjdGlvbnMgJiYgbW9kZWxDb25maWdBY3Rpb25zKHttb2RlbH0pfVxuICAgICAgICB7bW9kZWxDbGFzcyAmJiBwYWdlVG9TaG93ID09IFwiaW5kZXhcIiAmJlxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7Y2FuQ2FuPy5jYW4oXCJuZXdcIiwgbW9kZWxDbGFzcykgJiYgaGFzRWRpdENvbmZpZyhtb2RlbENsYXNzKSAmJlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLmNyZWF0ZU5ld01vZGVsTGluayB8fD0ge2NsYXNzOiBcImNyZWF0ZS1uZXctbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmNyZWF0ZU5ld01vZGVsTGlua31cbiAgICAgICAgICAgICAgICB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBtb2RlbE5hbWUsIG1vZGU6IFwibmV3XCJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PkNyZWF0ZSBuZXc8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgfVxuICAgICAgICB7bW9kZWwgJiYgcGFnZVRvU2hvdyA9PSBcInNob3dcIiAmJlxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7bW9kZWwuY2FuKFwiZWRpdFwiKSAmJiBoYXNFZGl0Q29uZmlnKG1vZGVsQ2xhc3MpICYmXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgZGF0YVNldD17ZGF0YVNldHMuZWRpdE1vZGVsTGluayB8fD0ge2NsYXNzOiBcImVkaXQtbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmVkaXRNb2RlbExpbmt9XG4gICAgICAgICAgICAgICAgdG89e1BhcmFtcy53aXRoUGFyYW1zKHttb2RlbDogbW9kZWxOYW1lLCBtb2RlbF9pZDogbW9kZWxJZCwgbW9kZTogXCJlZGl0XCJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PkVkaXQ8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHttb2RlbC5jYW4oXCJkZXN0cm95XCIpICYmXG4gICAgICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5kZXN0cm95TW9kZWxMaW5rIHx8PSB7Y2xhc3M6IFwiZGVzdHJveS1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25EZXN0cm95Q2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmRlc3Ryb3lNb2RlbExpbmt9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGV4dD5EZWxldGU8L1RleHQ+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCIgJiZcbiAgICAgICAgICA8U2hvd1JlZmxlY3Rpb25BY3Rpb25zIG1vZGVsPXttb2RlbH0gbW9kZWxDbGFzcz17bW9kZWxDbGFzc30gcmVmbGVjdGlvbk5hbWU9e3F1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb259IC8+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz4sIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LWNsb3NpbmctdGFnLWxvY2F0aW9uXG4gICAgICBbY2FuQ2FuLmdldENhY2hlS2V5KCksIGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmFjdGlvbnMsIG1vZGVsLCBtb2RlbENsYXNzLCBwYWdlVG9TaG93XVxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8TGF5b3V0IGFjdGlvbnM9e2FjdGlvbnN9IGFjdGl2ZT17cXVlcnlQYXJhbXMubW9kZWx9IGhlYWRlclRpdGxlPXttb2RlbENsYXNzPy5tb2RlbE5hbWUoKT8uaHVtYW4oe2NvdW50OiAyfSl9PlxuICAgICAgICB7cGFnZVRvU2hvdyA9PSBcImluZGV4XCIgJiZcbiAgICAgICAgICA8SW5kZXhQYWdlXG4gICAgICAgICAgICBrZXk9e2BpbmRleC1wYWdlLSR7bW9kZWxOYW1lfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93XCIgJiZcbiAgICAgICAgICA8U2hvd1BhZ2VcbiAgICAgICAgICAgIGtleT17YHNob3ctcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgbW9kZWxJZD17bW9kZWxJZH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCIgJiZcbiAgICAgICAgICA8U2hvd1JlZmxlY3Rpb25QYWdlXG4gICAgICAgICAgICBrZXk9e2BzaG93LXJlZmxlY3Rpb24tcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgbW9kZWxJZD17bW9kZWxJZH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwiZWRpdFwiICYmXG4gICAgICAgICAgPEVkaXRQYWdlXG4gICAgICAgICAgICBrZXk9e2BlZGl0LXBhZ2UtJHttb2RlbE5hbWV9LSR7bW9kZWxJZH1gfVxuICAgICAgICAgICAgbW9kZWxDbGFzcz17bW9kZWxDbGFzc31cbiAgICAgICAgICAgIG1vZGVsSWQ9e21vZGVsSWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9MYXlvdXQ+XG4gICAgKVxuICB9XG5cbiAgb25EZXN0cm95Q2xpY2tlZCA9IGFzeW5jICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYWxlcnRcbiAgICBpZiAoIWNvbmZpcm0oXCJBcmUgeW91IHN1cmU/XCIpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zLm1vZGVsLmRlc3Ryb3koKVxuXG4gICAgICBQYXJhbXMuY2hhbmdlUGFyYW1zKHttb2RlOiB1bmRlZmluZWQsIG1vZGVsX2lkOiB1bmRlZmluZWR9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3JSZXNwb25zZShlcnJvcilcbiAgICB9XG4gIH1cblxuICBjdXJyZW50UGFnZVRvU2hvdyA9ICgpID0+IHtcbiAgICBjb25zdCB7cXVlcnlQYXJhbXN9ID0gdGhpcy50dFxuXG4gICAgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb24pIHtcbiAgICAgIHJldHVybiBcInNob3dfcmVmbGVjdGlvblwiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCAmJiBxdWVyeVBhcmFtcy5tb2RlbF9pZCAmJiBxdWVyeVBhcmFtcy5tb2RlID09IFwiZWRpdFwiKSB7XG4gICAgICByZXR1cm4gXCJlZGl0XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkKSB7XG4gICAgICByZXR1cm4gXCJzaG93XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGUgPT0gXCJuZXdcIikge1xuICAgICAgcmV0dXJuIFwiZWRpdFwiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCkge1xuICAgICAgcmV0dXJuIFwiaW5kZXhcIlxuICAgIH1cblxuICAgIHJldHVybiBcIndlbGNvbWVcIlxuICB9XG5cbiAgcGFnZU5lZWRzTG9hZGVkTW9kZWwgPSAoKSA9PiB7XG4gICAgY29uc3Qge3BhZ2VUb1Nob3d9ID0gdGhpcy50dFxuXG4gICAgcmV0dXJuIHBhZ2VUb1Nob3cgPT0gXCJzaG93XCIgfHwgcGFnZVRvU2hvdyA9PSBcInNob3dfcmVmbGVjdGlvblwiXG4gIH1cbn0pKVxuIl19
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLDRJQUE0STtBQUM1SSxPQUFPLEtBQUssRUFBRSxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDL0MsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3hELE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLE9BQU8sUUFBUSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLGtCQUFrQixNQUFNLGtEQUFrRCxDQUFBO0FBQ2pGLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQTtBQUNwQyxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLElBQUksTUFBTSxTQUFTLENBQUE7QUFDMUIsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFBLENBQUMsMkNBQTJDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUNqQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8scUJBQXFCLE1BQU0sMkJBQTJCLENBQUE7QUFDN0QsT0FBTyxrQkFBa0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUE7QUFDekMsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUE7QUFDbkQsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFDMUUs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LFdBQVcsQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM5RSxPQUFPLGlCQUFpQixDQUFBO1FBQzFCLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ25GLE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQzthQUFNLElBQUksV0FBVyxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckQsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO2FBQU0sSUFBSSxXQUFXLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDMUQsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO2FBQU0sSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsT0FBTyxPQUFPLENBQUE7UUFDaEIsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUMsQ0FBQTtJQUVELG9CQUFvQixHQUFHLEdBQUcsRUFBRTtRQUMxQixNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUU1QixPQUFPLFVBQVUsSUFBSSxNQUFNLElBQUksVUFBVSxJQUFJLGlCQUFpQixDQUFBO0lBQ2hFLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXR1cm4tYXNzaWduLCByZWFjdC9qc3gtbm8tbGl0ZXJhbHMsIHJlYWN0L2pzeC1uby11c2VsZXNzLWZyYWdtZW50LCByZWFjdC9qc3gtb25lLWV4cHJlc3Npb24tcGVyLWxpbmUsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFN0eWxlU2hlZXQsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IENvbmZpZ1JlYWRlciBmcm9tIFwiLi9jb25maWctcmVhZGVyXCJcbmltcG9ydCBFZGl0UGFnZSBmcm9tIFwiLi9lZGl0LXBhZ2VcIlxuaW1wb3J0IEZsYXNoTm90aWZpY2F0aW9ucyBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9ucy9idWlsZC9mbGFzaC1ub3RpZmljYXRpb25zLmpzXCJcbmltcG9ydCBoYXNFZGl0Q29uZmlnIGZyb20gXCIuL2hhcy1lZGl0LWNvbmZpZy5qc1wiXG5pbXBvcnQgSW5kZXhQYWdlIGZyb20gXCIuL2luZGV4LXBhZ2VcIlxuaW1wb3J0IExheW91dCBmcm9tIFwiLi9sYXlvdXQvaW5kZXhcIlxuaW1wb3J0IExpbmsgZnJvbSBcIi4uL2xpbmtcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuLy8gQHRzLWV4cGVjdC1lcnJvclxuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gXCJtb2RlbHMuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi9wYXJhbXMuanNcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFNob3dQYWdlIGZyb20gXCIuL3Nob3ctcGFnZS9pbmRleFwiXG5pbXBvcnQgU2hvd1JlZmxlY3Rpb25BY3Rpb25zIGZyb20gXCIuL3Nob3ctcmVmbGVjdGlvbi1hY3Rpb25zXCJcbmltcG9ydCBTaG93UmVmbGVjdGlvblBhZ2UgZnJvbSBcIi4vc2hvdy1yZWZsZWN0aW9uLXBhZ2VcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUNhbkNhbiBmcm9tIFwiLi4vdXNlLWNhbi1jYW4uanNcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuLi91c2UtY3VycmVudC11c2VyLmpzXCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9idWlsZC91c2UtcXVlcnktcGFyYW1zLmpzXCJcbmltcG9ydCB1c2VTdHlsZXMgZnJvbSBcIi4uL3VzZS1zdHlsZXMuanNcIlxuXG5jb25zdCBzdHlsZXMgPSBTdHlsZVNoZWV0LmNyZWF0ZSh7XG4gIGFjdGlvbnNWaWV3OiB7XG4gICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiXG4gIH0sXG4gIGNyZWF0ZU5ld01vZGVsTGluazoge1xuICAgIG1hcmdpbkxlZnQ6IDEwLFxuICAgIG1hcmdpblJpZ2h0OiAxMFxuICB9LFxuICBkZXN0cm95TW9kZWxMaW5rOiB7XG4gICAgbWFyZ2luTGVmdDogMTAsXG4gICAgbWFyZ2luUmlnaHQ6IDEwXG4gIH0sXG4gIGVkaXRNb2RlbExpbms6IHtcbiAgICBtYXJnaW5MZWZ0OiAxMCxcbiAgICBtYXJnaW5SaWdodDogMTBcbiAgfVxufSlcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vKiogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIG5ldmVyPn0gUHJvcHMgKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RhdGVcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0IHwgdW5kZWZpbmVkfSBtb2RlbFxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pbiBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgbG9hZE1vZGVsUmVxdWVzdElkID0gMFxuICBzdGF0ZSA9IHtcbiAgICBtb2RlbDogdW5kZWZpbmVkXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gdXNlUXVlcnlQYXJhbXMoKVxuXG4gICAgaWYgKHRoaXMucXVlcnlQYXJhbXMubW9kZWwpIHtcbiAgICAgIHRoaXMubW9kZWxDbGFzcyA9IG1vZGVsc1t0aGlzLnF1ZXJ5UGFyYW1zLm1vZGVsXVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsQ2xhc3MgPSBudWxsXG4gICAgfVxuXG4gICAgdGhpcy5jb25maWdSZWFkZXIgPSB1c2VNZW1vKCgpID0+IHRoaXMubW9kZWxDbGFzcyAmJiBDb25maWdSZWFkZXIuZm9yTW9kZWwodGhpcy5tb2RlbENsYXNzKSwgW3RoaXMubW9kZWxDbGFzc10pXG4gICAgdGhpcy5tb2RlbElkID0gdGhpcy5xdWVyeVBhcmFtcy5tb2RlbF9pZFxuICAgIHRoaXMubW9kZWxOYW1lID0gdGhpcy5tb2RlbENsYXNzPy5tb2RlbENsYXNzRGF0YSgpPy5uYW1lXG4gICAgdGhpcy5wYWdlVG9TaG93ID0gdGhpcy5jdXJyZW50UGFnZVRvU2hvdygpXG4gICAgY29uc3QgY3VycmVudFVzZXJEYXRhID0gdXNlQ3VycmVudFVzZXIoe3dpdGhEYXRhOiB0cnVlfSlcblxuICAgIHRoaXMuY3VycmVudFVzZXIgPSBjdXJyZW50VXNlckRhdGEubW9kZWxcblxuICAgIHRoaXMuY2FuQ2FuID0gdXNlQ2FuQ2FuKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBhYmlsaXRpZXMgPSBbXVxuXG4gICAgICAgIGlmICh0aGlzLm1vZGVsQ2xhc3MpIGFiaWxpdGllcy5wdXNoKFt0aGlzLm1vZGVsQ2xhc3MsIFtcIm5ld1wiXV0pXG5cbiAgICAgICAgcmV0dXJuIGFiaWxpdGllc1xuICAgICAgfSxcbiAgICAgIFtjdXJyZW50VXNlckRhdGEubW9kZWw/LnByaW1hcnlLZXk/LigpLCB0aGlzLm1vZGVsQ2xhc3NdXG4gICAgKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnR0LnBhZ2VOZWVkc0xvYWRlZE1vZGVsKCkpIHtcbiAgICAgICAgdGhpcy5sb2FkTW9kZWwoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zLm1vZGVsID0gdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZE1vZGVsUmVxdWVzdElkICs9IDFcbiAgICAgIH1cbiAgICB9LCBbdGhpcy5tb2RlbENsYXNzLCB0aGlzLm1vZGVsSWQsIHRoaXMucGFnZVRvU2hvd10pXG4gIH1cblxuICBsb2FkTW9kZWwgPSBhc3luYyAoKSA9PiB7XG4gICAgLy8gU2hvdy9lZGl0IHBhZ2VzIHNob3VsZCBvbmx5IGFjY2VwdCB0aGUgbmV3ZXN0IG1vZGVsIGxvYWQgYWZ0ZXIgcm91dGUgY2hhbmdlcy5cbiAgICBjb25zdCByZXF1ZXN0SWQgPSB0aGlzLmxvYWRNb2RlbFJlcXVlc3RJZCArIDFcblxuICAgIHRoaXMubG9hZE1vZGVsUmVxdWVzdElkID0gcmVxdWVzdElkXG4gICAgY29uc3Qge2NvbmZpZ1JlYWRlciwgbW9kZWxDbGFzcywgbW9kZWxJZCwgbW9kZWxOYW1lfSA9IHRoaXMudHRcblxuICAgIGlmIChtb2RlbElkICYmIG1vZGVsQ2xhc3MpIHtcbiAgICAgIGNvbnN0IGFiaWxpdGllcyA9IHt9XG4gICAgICBjb25zdCBhYmlsaXRpZXNGb3JNb2RlbCA9IFtcImRlc3Ryb3lcIiwgXCJlZGl0XCJdXG4gICAgICBjb25zdCBsYXlvdXRTZWxlY3QgPSBjb25maWdSZWFkZXI/Lm1vZGVsQ29uZmlnPy5sYXlvdXQ/LnNlbGVjdFxuXG4gICAgICBhYmlsaXRpZXNbbW9kZWxOYW1lXSA9IGFiaWxpdGllc0Zvck1vZGVsXG5cbiAgICAgIGNvbnN0IHF1ZXJ5ID0gYXdhaXQgbW9kZWxDbGFzc1xuICAgICAgICAucmFuc2Fjayh7aWRfZXE6IG1vZGVsSWR9KVxuICAgICAgICAuYWJpbGl0aWVzKGFiaWxpdGllcylcblxuICAgICAgaWYgKGxheW91dFNlbGVjdCkgcXVlcnkuc2VsZWN0KGxheW91dFNlbGVjdClcblxuICAgICAgY29uc3QgbW9kZWwgPSBhd2FpdCBxdWVyeS5maXJzdCgpXG5cbiAgICAgIGlmIChyZXF1ZXN0SWQgIT0gdGhpcy5sb2FkTW9kZWxSZXF1ZXN0SWQpIHJldHVyblxuXG4gICAgICB0aGlzLnMubW9kZWwgPSBtb2RlbFxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocmVxdWVzdElkICE9IHRoaXMubG9hZE1vZGVsUmVxdWVzdElkKSByZXR1cm5cblxuICAgICAgdGhpcy5zLm1vZGVsID0gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjYW5DYW4sIGNvbmZpZ1JlYWRlciwgbW9kZWxDbGFzcywgbW9kZWxJZCwgbW9kZWxOYW1lLCBwYWdlVG9TaG93LCBxdWVyeVBhcmFtc30gPSB0aGlzLnR0XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMuc1xuICAgIGNvbnN0IG1vZGVsQ29uZmlnQWN0aW9ucyA9IGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmFjdGlvbnNcblxuICAgIGNvbnN0IGFjdGlvbnNWaWV3U3R5bGUgPSB1c2VTdHlsZXMoc3R5bGVzLCBcImFjdGlvbnNWaWV3XCIpXG5cbiAgICBjb25zdCBhY3Rpb25zID0gdXNlTWVtbyhcbiAgICAgICgpID0+IDxWaWV3IHN0eWxlPXthY3Rpb25zVmlld1N0eWxlfT5cbiAgICAgICAge21vZGVsICYmIG1vZGVsQ29uZmlnQWN0aW9ucyAmJiBtb2RlbENvbmZpZ0FjdGlvbnMoe21vZGVsfSl9XG4gICAgICAgIHttb2RlbENsYXNzICYmIHBhZ2VUb1Nob3cgPT0gXCJpbmRleFwiICYmXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtjYW5DYW4/LmNhbihcIm5ld1wiLCBtb2RlbENsYXNzKSAmJiBoYXNFZGl0Q29uZmlnKG1vZGVsQ2xhc3MpICYmXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgZGF0YVNldD17ZGF0YVNldHMuY3JlYXRlTmV3TW9kZWxMaW5rIHx8PSB7Y2xhc3M6IFwiY3JlYXRlLW5ldy1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuY3JlYXRlTmV3TW9kZWxMaW5rfVxuICAgICAgICAgICAgICAgIHRvPXtQYXJhbXMud2l0aFBhcmFtcyh7bW9kZWw6IG1vZGVsTmFtZSwgbW9kZTogXCJuZXdcIn0pfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRleHQ+Q3JlYXRlIG5ldzwvVGV4dD5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvPlxuICAgICAgICB9XG4gICAgICAgIHttb2RlbCAmJiBwYWdlVG9TaG93ID09IFwic2hvd1wiICYmXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHttb2RlbC5jYW4oXCJlZGl0XCIpICYmIGhhc0VkaXRDb25maWcobW9kZWxDbGFzcykgJiZcbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5lZGl0TW9kZWxMaW5rIHx8PSB7Y2xhc3M6IFwiZWRpdC1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuZWRpdE1vZGVsTGlua31cbiAgICAgICAgICAgICAgICB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBtb2RlbE5hbWUsIG1vZGVsX2lkOiBtb2RlbElkLCBtb2RlOiBcImVkaXRcIn0pfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRleHQ+RWRpdDwvVGV4dD5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge21vZGVsLmNhbihcImRlc3Ryb3lcIikgJiZcbiAgICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLmRlc3Ryb3lNb2RlbExpbmsgfHw9IHtjbGFzczogXCJkZXN0cm95LW1vZGVsLWxpbmtcIn19XG4gICAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkRlc3Ryb3lDbGlja2VkfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuZGVzdHJveU1vZGVsTGlua31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PkRlbGV0ZTwvVGV4dD5cbiAgICAgICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93X3JlZmxlY3Rpb25cIiAmJlxuICAgICAgICAgIDxTaG93UmVmbGVjdGlvbkFjdGlvbnMgbW9kZWw9e21vZGVsfSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSByZWZsZWN0aW9uTmFtZT17cXVlcnlQYXJhbXMubW9kZWxfcmVmbGVjdGlvbn0gLz5cbiAgICAgICAgfVxuICAgICAgPC9WaWV3PiwgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtY2xvc2luZy10YWctbG9jYXRpb25cbiAgICAgIFtjYW5DYW4uZ2V0Q2FjaGVLZXkoKSwgY29uZmlnUmVhZGVyPy5tb2RlbENvbmZpZz8uYWN0aW9ucywgbW9kZWwsIG1vZGVsQ2xhc3MsIHBhZ2VUb1Nob3ddXG4gICAgKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMYXlvdXQgYWN0aW9ucz17YWN0aW9uc30gYWN0aXZlPXtxdWVyeVBhcmFtcy5tb2RlbH0gaGVhZGVyVGl0bGU9e21vZGVsQ2xhc3M/Lm1vZGVsTmFtZSgpPy5odW1hbih7Y291bnQ6IDJ9KX0+XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwiaW5kZXhcIiAmJlxuICAgICAgICAgIDxJbmRleFBhZ2VcbiAgICAgICAgICAgIGtleT17YGluZGV4LXBhZ2UtJHttb2RlbE5hbWV9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7cGFnZVRvU2hvdyA9PSBcInNob3dcIiAmJlxuICAgICAgICAgIDxTaG93UGFnZVxuICAgICAgICAgICAga2V5PXtgc2hvdy1wYWdlLSR7bW9kZWxOYW1lfS0ke21vZGVsSWR9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBtb2RlbElkPXttb2RlbElkfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93X3JlZmxlY3Rpb25cIiAmJlxuICAgICAgICAgIDxTaG93UmVmbGVjdGlvblBhZ2VcbiAgICAgICAgICAgIGtleT17YHNob3ctcmVmbGVjdGlvbi1wYWdlLSR7bW9kZWxOYW1lfS0ke21vZGVsSWR9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBtb2RlbElkPXttb2RlbElkfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJlZGl0XCIgJiZcbiAgICAgICAgICA8RWRpdFBhZ2VcbiAgICAgICAgICAgIGtleT17YGVkaXQtcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgbW9kZWxJZD17bW9kZWxJZH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L0xheW91dD5cbiAgICApXG4gIH1cblxuICBvbkRlc3Ryb3lDbGlja2VkID0gYXN5bmMgKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hbGVydFxuICAgIGlmICghY29uZmlybShcIkFyZSB5b3Ugc3VyZT9cIikpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnMubW9kZWwuZGVzdHJveSgpXG5cbiAgICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMoe21vZGU6IHVuZGVmaW5lZCwgbW9kZWxfaWQ6IHVuZGVmaW5lZH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvclJlc3BvbnNlKGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRQYWdlVG9TaG93ID0gKCkgPT4ge1xuICAgIGNvbnN0IHtxdWVyeVBhcmFtc30gPSB0aGlzLnR0XG5cbiAgICBpZiAocXVlcnlQYXJhbXMubW9kZWwgJiYgcXVlcnlQYXJhbXMubW9kZWxfaWQgJiYgcXVlcnlQYXJhbXMubW9kZWxfcmVmbGVjdGlvbikge1xuICAgICAgcmV0dXJuIFwic2hvd19yZWZsZWN0aW9uXCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkICYmIHF1ZXJ5UGFyYW1zLm1vZGUgPT0gXCJlZGl0XCIpIHtcbiAgICAgIHJldHVybiBcImVkaXRcIlxuICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMubW9kZWwgJiYgcXVlcnlQYXJhbXMubW9kZWxfaWQpIHtcbiAgICAgIHJldHVybiBcInNob3dcIlxuICAgIH0gZWxzZSBpZiAocXVlcnlQYXJhbXMubW9kZWwgJiYgcXVlcnlQYXJhbXMubW9kZSA9PSBcIm5ld1wiKSB7XG4gICAgICByZXR1cm4gXCJlZGl0XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsKSB7XG4gICAgICByZXR1cm4gXCJpbmRleFwiXG4gICAgfVxuXG4gICAgcmV0dXJuIFwid2VsY29tZVwiXG4gIH1cblxuICBwYWdlTmVlZHNMb2FkZWRNb2RlbCA9ICgpID0+IHtcbiAgICBjb25zdCB7cGFnZVRvU2hvd30gPSB0aGlzLnR0XG5cbiAgICByZXR1cm4gcGFnZVRvU2hvdyA9PSBcInNob3dcIiB8fCBwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCJcbiAgfVxufSkpXG4iXX0=