@rotki/ui-library 2.7.0 → 2.8.0

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 (81) hide show
  1. package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +3 -2
  2. package/dist/components/accordions/accordions/RuiAccordions.vue.d.ts +2 -1
  3. package/dist/components/alerts/RuiAlert.vue.d.ts +4 -3
  4. package/dist/components/buttons/button/RuiButton.vue.d.ts +7 -5
  5. package/dist/components/buttons/button-group/RuiButtonGroup.vue.d.ts +6 -5
  6. package/dist/components/calendar/RuiCalendar.vue.d.ts +4 -2
  7. package/dist/components/calendar/RuiCalendarGrid.vue.d.ts +4 -2
  8. package/dist/components/calendar/RuiCalendarHeader.vue.d.ts +4 -2
  9. package/dist/components/calendar/RuiCalendarMenu.vue.d.ts +4 -2
  10. package/dist/components/cards/RuiCard.vue.d.ts +4 -3
  11. package/dist/components/cards/RuiCardHeader.vue.d.ts +3 -2
  12. package/dist/components/chips/RuiChip.vue.d.ts +4 -3
  13. package/dist/components/color-picker/RuiColorBoard.vue.d.ts +2 -1
  14. package/dist/components/color-picker/RuiColorDisplay.vue.d.ts +2 -1
  15. package/dist/components/color-picker/RuiColorHue.vue.d.ts +4 -3
  16. package/dist/components/color-picker/RuiColorInput.vue.d.ts +4 -3
  17. package/dist/components/color-picker/RuiColorPicker.vue.d.ts +2 -1
  18. package/dist/components/color-picker/utils.d.ts +1 -1
  19. package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +10 -8
  20. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.d.ts +5 -3
  21. package/dist/components/divider/RuiDivider.vue.d.ts +2 -1
  22. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +29 -28
  23. package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +4 -3
  24. package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +7 -6
  25. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +7 -6
  26. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +8 -6
  27. package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +747 -10
  28. package/dist/components/forms/select/RuiSimpleSelect.vue.d.ts +3 -2
  29. package/dist/components/forms/slider/RuiSlider.vue.d.ts +3 -2
  30. package/dist/components/forms/switch/RuiSwitch.vue.d.ts +3 -2
  31. package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +8 -6
  32. package/dist/components/forms/text-field/RuiTextField.vue.d.ts +10 -8
  33. package/dist/components/helpers/RuiFormTextDetail.vue.d.ts +2 -1
  34. package/dist/components/icons/RuiIcon.vue.d.ts +2 -1
  35. package/dist/components/index.d.ts +2 -1
  36. package/dist/components/index.es.js +4343 -4260
  37. package/dist/components/loaders/RuiSkeletonBase.vue.d.ts +2 -1
  38. package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +2 -1
  39. package/dist/components/logos/RuiLogo.vue.d.ts +2 -1
  40. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +5 -4
  41. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.d.ts +3 -2
  42. package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +6 -5
  43. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +6 -3
  44. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +6 -5
  45. package/dist/components/overlays/notification/RuiNotification.vue.d.ts +4 -3
  46. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +4 -3
  47. package/dist/components/progress/RuiProgress.vue.d.ts +3 -2
  48. package/dist/components/steppers/RuiFooterStepper.vue.d.ts +2 -1
  49. package/dist/components/steppers/RuiStepper.vue.d.ts +4 -3
  50. package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +2 -1
  51. package/dist/components/steppers/RuiStepperIcon.vue.d.ts +2 -1
  52. package/dist/components/tables/RuiDataTable.vue.d.ts +13 -12
  53. package/dist/components/tables/RuiExpandButton.vue.d.ts +3 -2
  54. package/dist/components/tables/RuiTableHead.vue.d.ts +7 -6
  55. package/dist/components/tables/RuiTablePagination.vue.d.ts +3 -2
  56. package/dist/components/tabs/tab/RuiTab.vue.d.ts +5 -4
  57. package/dist/components/tabs/tab-item/RuiTabItem.vue.d.ts +4 -3
  58. package/dist/components/tabs/tab-items/RuiTabItems.vue.d.ts +7 -6
  59. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +3 -2
  60. package/dist/components/time-picker/RuiTimePicker.vue.d.ts +4 -2
  61. package/dist/composables/defaults/table.d.ts +1 -2
  62. package/dist/composables/dropdown-menu.d.ts +3 -2
  63. package/dist/composables/index-CC7A7CEh.js +737 -0
  64. package/dist/composables/index.es.js +1 -1
  65. package/dist/composables/popper.d.ts +2 -2
  66. package/dist/composables/sticky-header.d.ts +1 -1
  67. package/dist/consts/time-accuracy-BnKA5GyT.js +1 -1
  68. package/dist/consts/typography.d.ts +38 -4
  69. package/dist/{index-cTPqOSmm.js → index-D7l4d7N2.js} +4 -4
  70. package/dist/index.es.js +4 -4
  71. package/dist/style.css +1 -1
  72. package/dist/theme/index.es.js +30 -23
  73. package/dist/utils/form-text-detail.d.ts +1 -1
  74. package/dist/utils/index-DJ-ueLCs.js +158 -0
  75. package/dist/vendor-Hqbg5uCG.js +1931 -0
  76. package/dist/web-types.json +59 -39
  77. package/package.json +41 -48
  78. package/README.md +0 -276
  79. package/dist/composables/index-D7DVd8pO.js +0 -717
  80. package/dist/utils/index-D-sENcA8.js +0 -158
  81. package/dist/vendor-X3mXJl51.js +0 -1931
@@ -1,27 +1,27 @@
1
- import o from "tailwindcss/plugin";
1
+ import s from "tailwindcss/plugin";
2
2
  import { b as d, a as h, c as t } from "../consts/colors-D563Ic3q.js";
3
3
  const u = Object.fromEntries(
4
4
  d.map((r) => [
5
5
  r,
6
6
  Object.fromEntries(
7
- h.map((p) => [
8
- p,
9
- `rgba(var(--rui-${r}-${p}), <alpha-value>)`
7
+ h.map((a) => [
8
+ a,
9
+ `rgba(var(--rui-${r}-${a}), <alpha-value>)`
10
10
  ])
11
11
  )
12
12
  ])
13
- ), a = Object.fromEntries(
13
+ ), p = Object.fromEntries(
14
14
  ["light", "dark"].map((r) => [
15
15
  r,
16
16
  Object.fromEntries(
17
- t.map((p) => [
18
- p,
17
+ t.map((a) => [
18
+ a,
19
19
  {
20
- darker: `rgba(var(--rui-${r}-${p}-darker), <alpha-value>)`,
21
- DEFAULT: `rgba(var(--rui-${r}-${p}-main), <alpha-value>)`,
22
- lighter: `rgba(var(--rui-${r}-${p}-lighter), <alpha-value>)`,
23
- shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${r}-${p}-main)))`,
24
- tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${r}-${p}-main)))`
20
+ darker: `rgba(var(--rui-${r}-${a}-darker), <alpha-value>)`,
21
+ DEFAULT: `rgba(var(--rui-${r}-${a}-main), <alpha-value>)`,
22
+ lighter: `rgba(var(--rui-${r}-${a}-lighter), <alpha-value>)`,
23
+ shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${r}-${a}-main)))`,
24
+ tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${r}-${a}-main)))`
25
25
  }
26
26
  ])
27
27
  )
@@ -48,15 +48,22 @@ const u = Object.fromEntries(
48
48
  }
49
49
  }
50
50
  ])
51
- ), n = {
51
+ ), y = {
52
52
  text: {
53
53
  DEFAULT: "var(--rui-text-primary)",
54
54
  disabled: "var(--rui-text-disabled)",
55
55
  secondary: "var(--rui-text-secondary)"
56
56
  }
57
- }, w = o(
58
- ({ addUtilities: r, addVariant: p, matchUtilities: e }) => {
57
+ }, w = s(
58
+ ({ addUtilities: r, addVariant: a, matchUtilities: e }) => {
59
59
  r({
60
+ ".border-default": {
61
+ "border-color": "rgb(var(--rui-grey-200))"
62
+ },
63
+ ".dark .border-default": {
64
+ "border-color": "rgb(var(--rui-grey-800))"
65
+ }
66
+ }), r({
60
67
  ".text-body-1": {
61
68
  "@apply text-base": {}
62
69
  },
@@ -107,12 +114,12 @@ const u = Object.fromEntries(
107
114
  Object.fromEntries(
108
115
  ["bg-tint", "bg-shade", "text-tint", "text-shade"].map((i) => [
109
116
  i,
110
- (s) => ({
111
- animation: `${i} 1s calc(${s} * -1s) linear forwards paused`
117
+ (o) => ({
118
+ animation: `${i} 1s calc(${o} * -1s) linear forwards paused`
112
119
  })
113
120
  ])
114
121
  )
115
- ), p("color-mix-supported", "@supports (color-mix())");
122
+ ), a("color-mix-supported", "@supports (color-mix())");
116
123
  },
117
124
  {
118
125
  theme: {
@@ -146,18 +153,18 @@ const u = Object.fromEntries(
146
153
  colors: {
147
154
  rui: {
148
155
  ...u,
149
- ...a,
156
+ ...p,
150
157
  ...x,
151
158
  dark: {
152
- ...a.dark,
159
+ ...p.dark,
153
160
  ...x.dark
154
161
  },
155
162
  light: {
156
- ...a.light,
163
+ ...p.light,
157
164
  ...x.light
158
165
  },
159
166
  ...v,
160
- ...n
167
+ ...y
161
168
  }
162
169
  }
163
170
  }
@@ -167,4 +174,4 @@ const u = Object.fromEntries(
167
174
  export {
168
175
  w as default
169
176
  };
170
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aGVtZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGx1Z2luIGZyb20gJ3RhaWx3aW5kY3NzL3BsdWdpbic7XG5pbXBvcnQge1xuICBiYXNlQ29sb3JzLFxuICBiYXNlQ29sb3JzSW50ZW5zaXRpZXMsXG4gIGNvbnRleHRDb2xvcnMsXG59IGZyb20gJy4uL2NvbnN0cy9jb2xvcnMnO1xuXG5jb25zdCBiYXNlQ29sb3JzQ29tYmluYXRpb24gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gIGJhc2VDb2xvcnMubWFwKChjb2xvcjogc3RyaW5nKSA9PiBbXG4gICAgY29sb3IsXG4gICAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgYmFzZUNvbG9yc0ludGVuc2l0aWVzLm1hcCgoaW50ZW5zaXR5OiBzdHJpbmcpID0+IFtcbiAgICAgICAgaW50ZW5zaXR5LFxuICAgICAgICBgcmdiYSh2YXIoLS1ydWktJHtjb2xvcn0tJHtpbnRlbnNpdHl9KSwgPGFscGhhLXZhbHVlPilgLFxuICAgICAgXSksXG4gICAgKSxcbiAgXSksXG4pO1xuXG5jb25zdCBjb250ZXh0Q29sb3JzQ29tYmluYXRpb24gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gIFsnbGlnaHQnLCAnZGFyayddLm1hcCh0aGVtZSA9PiBbXG4gICAgdGhlbWUsXG4gICAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgY29udGV4dENvbG9ycy5tYXAoY29sb3IgPT4gW1xuICAgICAgICBjb2xvcixcbiAgICAgICAge1xuICAgICAgICAgIGRhcmtlcjogYHJnYmEodmFyKC0tcnVpLSR7dGhlbWV9LSR7Y29sb3J9LWRhcmtlciksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgICAgICBERUZBVUxUOiBgcmdiYSh2YXIoLS1ydWktJHt0aGVtZX0tJHtjb2xvcn0tbWFpbiksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgICAgICBsaWdodGVyOiBgcmdiYSh2YXIoLS1ydWktJHt0aGVtZX0tJHtjb2xvcn0tbGlnaHRlciksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgICAgICBzaGFkZTogYGNvbG9yLW1peChpbiBzcmdiLCBibGFjayBjYWxjKDxhbHBoYS12YWx1ZT4gKiAxMDAlKSwgcmdiKHZhcigtLXJ1aS0ke3RoZW1lfS0ke2NvbG9yfS1tYWluKSkpYCxcbiAgICAgICAgICB0aW50OiBgY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIGNhbGMoPGFscGhhLXZhbHVlPiAqIDEwMCUpLCByZ2IodmFyKC0tcnVpLSR7dGhlbWV9LSR7Y29sb3J9LW1haW4pKSlgLFxuICAgICAgICB9LFxuICAgICAgXSksXG4gICAgKSxcbiAgXSksXG4pO1xuXG5jb25zdCBhZGFwdGl2ZUNvbnRleHRDb2xvckNvbWJpbmF0aW9uID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICBjb250ZXh0Q29sb3JzLm1hcChjb2xvciA9PiBbXG4gICAgY29sb3IsXG4gICAge1xuICAgICAgZGFya2VyOiBgcmdiYSh2YXIoLS1ydWktJHtjb2xvcn0tZGFya2VyKSwgPGFscGhhLXZhbHVlPilgLFxuICAgICAgREVGQVVMVDogYHJnYmEodmFyKC0tcnVpLSR7Y29sb3J9LW1haW4pLCA8YWxwaGEtdmFsdWU+KWAsXG4gICAgICBsaWdodGVyOiBgcmdiYSh2YXIoLS1ydWktJHtjb2xvcn0tbGlnaHRlciksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgIHNoYWRlOiBgY29sb3ItbWl4KGluIHNyZ2IsIGJsYWNrIGNhbGMoPGFscGhhLXZhbHVlPiAqIDEwMCUpLCByZ2IodmFyKC0tcnVpLSR7Y29sb3J9LW1haW4pKSlgLFxuICAgICAgdGludDogYGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSBjYWxjKDxhbHBoYS12YWx1ZT4gKiAxMDAlKSwgcmdiKHZhcigtLXJ1aS0ke2NvbG9yfS1tYWluKSkpYCxcbiAgICB9LFxuICBdKSxcbik7XG5cbmNvbnN0IHRleHRDb2xvcnNDb21iaW5hdGlvbiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgWydsaWdodCcsICdkYXJrJ10ubWFwKHRoZW1lID0+IFtcbiAgICB0aGVtZSxcbiAgICB7XG4gICAgICB0ZXh0OiB7XG4gICAgICAgIERFRkFVTFQ6IGB2YXIoLS1ydWktJHt0aGVtZX0tdGV4dC1wcmltYXJ5KWAsXG4gICAgICAgIGRpc2FibGVkOiBgdmFyKC0tcnVpLSR7dGhlbWV9LXRleHQtZGlzYWJsZWQpYCxcbiAgICAgICAgc2Vjb25kYXJ5OiBgdmFyKC0tcnVpLSR7dGhlbWV9LXRleHQtc2Vjb25kYXJ5KWAsXG4gICAgICB9LFxuICAgIH0sXG4gIF0pLFxuKTtcblxuY29uc3QgYWRhcHRpdmVUZXh0Q29sb3JzQ29tYmluYXRpb24gPSB7XG4gIHRleHQ6IHtcbiAgICBERUZBVUxUOiBgdmFyKC0tcnVpLXRleHQtcHJpbWFyeSlgLFxuICAgIGRpc2FibGVkOiBgdmFyKC0tcnVpLXRleHQtZGlzYWJsZWQpYCxcbiAgICBzZWNvbmRhcnk6IGB2YXIoLS1ydWktdGV4dC1zZWNvbmRhcnkpYCxcbiAgfSxcbn07XG5cbmNvbnN0IHRoZW1lUGx1Z2luID0gcGx1Z2luKFxuICAoeyBhZGRVdGlsaXRpZXMsIGFkZFZhcmlhbnQsIG1hdGNoVXRpbGl0aWVzIH0pID0+IHtcbiAgICAvLyBUeXBvZ3JhcGh5XG4gICAgYWRkVXRpbGl0aWVzKHtcbiAgICAgICcudGV4dC1ib2R5LTEnOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC1iYXNlJzoge30sXG4gICAgICB9LFxuICAgICAgJy50ZXh0LWJvZHktMic6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LXNtJzoge30sXG4gICAgICB9LFxuICAgICAgJy50ZXh0LWNhcHRpb24nOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC14cyc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMS4yNXJlbScsXG4gICAgICB9LFxuICAgICAgJy50ZXh0LWgxJzoge1xuICAgICAgICAnQGFwcGx5IHRleHQtOHhsIGZvbnQtbGlnaHQnOiB7fSxcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzdyZW0nLFxuICAgICAgfSxcbiAgICAgICcudGV4dC1oMic6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LTZ4bCBmb250LWxpZ2h0Jzoge30sXG4gICAgICAgICdsaW5lLWhlaWdodCc6ICc0LjVyZW0nLFxuICAgICAgfSxcbiAgICAgICcudGV4dC1oMyc6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LTV4bCc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMy41cmVtJyxcbiAgICAgIH0sXG4gICAgICAnLnRleHQtaDQnOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC00eGwgZm9udC1zZW1pYm9sZCc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMi42MjVyZW0nLFxuICAgICAgfSxcbiAgICAgICcudGV4dC1oNSc6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LTJ4bCc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMnJlbScsXG4gICAgICB9LFxuICAgICAgJy50ZXh0LWg2Jzoge1xuICAgICAgICAnQGFwcGx5IHRleHQteGwgZm9udC1tZWRpdW0nOiB7fSxcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzJyZW0nLFxuICAgICAgfSxcbiAgICAgICcudGV4dC1vdmVybGluZSc6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LXhzIHVwcGVyY2FzZSc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMnJlbScsXG4gICAgICB9LFxuICAgICAgJy50ZXh0LXN1YnRpdGxlLTEnOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC1iYXNlJzoge30sXG4gICAgICAgICdsaW5lLWhlaWdodCc6ICcxLjc1cmVtJyxcbiAgICAgIH0sXG4gICAgICAnLnRleHQtc3VidGl0bGUtMic6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LXNtIGZvbnQtbWVkaXVtJzoge30sXG4gICAgICAgICdsaW5lLWhlaWdodCc6ICcxLjI1cmVtJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBUaW50IGFuZCBTaGFkZSBDb2xvcnNcbiAgICBtYXRjaFV0aWxpdGllcyhcbiAgICAgIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgWydiZy10aW50JywgJ2JnLXNoYWRlJywgJ3RleHQtdGludCcsICd0ZXh0LXNoYWRlJ10ubWFwKGl0ZW0gPT4gW1xuICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgdmFsdWUgPT4gKHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYCR7aXRlbX0gMXMgY2FsYygke3ZhbHVlfSAqIC0xcykgbGluZWFyIGZvcndhcmRzIHBhdXNlZGAsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0pLFxuICAgICAgKSxcbiAgICApO1xuICAgIGFkZFZhcmlhbnQoJ2NvbG9yLW1peC1zdXBwb3J0ZWQnLCAnQHN1cHBvcnRzIChjb2xvci1taXgoKSknKTtcbiAgfSxcbiAge1xuICAgIHRoZW1lOiB7XG4gICAgICBleHRlbmQ6IHtcbiAgICAgICAgYm94U2hhZG93OiB7XG4gICAgICAgICAgMTogJzBweCAycHggMXB4IC0xcHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDFweCAxcHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggMXB4IDNweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTA6ICcwcHggNnB4IDZweCAtM3B4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxMHB4IDE0cHggMXB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDRweCAxOHB4IDNweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTE6ICcwcHggNnB4IDdweCAtNHB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxMXB4IDE1cHggMXB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDRweCAyMHB4IDNweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTI6ICcwcHggN3B4IDhweCAtNHB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxMnB4IDE3cHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDVweCAyMnB4IDRweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTM6ICcwcHggN3B4IDhweCAtNHB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxM3B4IDE5cHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDVweCAyNHB4IDRweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTQ6ICcwcHggN3B4IDlweCAtNHB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxNHB4IDIxcHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDVweCAyNnB4IDRweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTU6ICcwcHggOHB4IDlweCAtNXB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxNXB4IDIycHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDZweCAyOHB4IDVweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTY6ICcwcHggOHB4IDEwcHggLTVweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTZweCAyNHB4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA2cHggMzBweCA1cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDE3OiAnMHB4IDhweCAxMXB4IC01cHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDE3cHggMjZweCAycHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggNnB4IDMycHggNXB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICAxODogJzBweCA5cHggMTFweCAtNXB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxOHB4IDI4cHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDdweCAzNHB4IDZweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTk6ICcwcHggOXB4IDEycHggLTZweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTlweCAyOXB4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA3cHggMzZweCA2cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDI6ICcwcHggM3B4IDFweCAtMnB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAycHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDFweCA1cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDIwOiAnMHB4IDEwcHggMTNweCAtNnB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAyMHB4IDMxcHggM3B4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDhweCAzOHB4IDdweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMjE6ICcwcHggMTBweCAxM3B4IC02cHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDIxcHggMzNweCAzcHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggOHB4IDQwcHggN3B4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICAyMjogJzBweCAxMHB4IDE0cHggLTZweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMjJweCAzNXB4IDNweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA4cHggNDJweCA3cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDIzOiAnMHB4IDExcHggMTRweCAtN3B4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAyM3B4IDM2cHggM3B4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDlweCA0NHB4IDhweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMjQ6ICcwcHggMTFweCAxNXB4IC03cHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDI0cHggMzhweCAzcHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggOXB4IDQ2cHggOHB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICAzOiAnMHB4IDNweCAzcHggLTJweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggM3B4IDRweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCAxcHggOHB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICA0OiAnMHB4IDJweCA0cHggLTFweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggNHB4IDVweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCAxcHggMTBweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgNTogJzBweCAzcHggNXB4IC0xcHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDVweCA4cHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggMXB4IDE0cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDY6ICcwcHggM3B4IDVweCAtMXB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCA2cHggMTBweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCAxcHggMThweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgNzogJzBweCA0cHggNXB4IC0ycHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDdweCAxMHB4IDFweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCAycHggMTZweCAxcHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDg6ICcwcHggNXB4IDVweCAtM3B4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCA4cHggMTBweCAxcHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggM3B4IDE0cHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICA5OiAnMHB4IDVweCA2cHggLTNweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggOXB4IDEycHggMXB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDNweCAxNnB4IDJweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yczoge1xuICAgICAgICAgIHJ1aToge1xuICAgICAgICAgICAgLi4uYmFzZUNvbG9yc0NvbWJpbmF0aW9uLFxuICAgICAgICAgICAgLi4uY29udGV4dENvbG9yc0NvbWJpbmF0aW9uLFxuICAgICAgICAgICAgLi4udGV4dENvbG9yc0NvbWJpbmF0aW9uLFxuICAgICAgICAgICAgZGFyazoge1xuICAgICAgICAgICAgICAuLi5jb250ZXh0Q29sb3JzQ29tYmluYXRpb24uZGFyayxcbiAgICAgICAgICAgICAgLi4udGV4dENvbG9yc0NvbWJpbmF0aW9uLmRhcmssXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGlnaHQ6IHtcbiAgICAgICAgICAgICAgLi4uY29udGV4dENvbG9yc0NvbWJpbmF0aW9uLmxpZ2h0LFxuICAgICAgICAgICAgICAuLi50ZXh0Q29sb3JzQ29tYmluYXRpb24ubGlnaHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uYWRhcHRpdmVDb250ZXh0Q29sb3JDb21iaW5hdGlvbixcbiAgICAgICAgICAgIC4uLmFkYXB0aXZlVGV4dENvbG9yc0NvbWJpbmF0aW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4pO1xuXG5leHBvcnQgZGVmYXVsdCB0aGVtZVBsdWdpbjtcbiJdLCJuYW1lcyI6WyJiYXNlQ29sb3JzQ29tYmluYXRpb24iLCJiYXNlQ29sb3JzIiwiY29sb3IiLCJiYXNlQ29sb3JzSW50ZW5zaXRpZXMiLCJpbnRlbnNpdHkiLCJjb250ZXh0Q29sb3JzQ29tYmluYXRpb24iLCJ0aGVtZSIsImNvbnRleHRDb2xvcnMiLCJhZGFwdGl2ZUNvbnRleHRDb2xvckNvbWJpbmF0aW9uIiwidGV4dENvbG9yc0NvbWJpbmF0aW9uIiwiYWRhcHRpdmVUZXh0Q29sb3JzQ29tYmluYXRpb24iLCJ0aGVtZVBsdWdpbiIsInBsdWdpbiIsImFkZFV0aWxpdGllcyIsImFkZFZhcmlhbnQiLCJtYXRjaFV0aWxpdGllcyIsIml0ZW0iLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7QUFPQSxNQUFNQSxJQUF3QixPQUFPO0FBQUEsRUFDbkNDLEVBQVcsSUFBSSxDQUFDQyxNQUFrQjtBQUFBLElBQ2hDQTtBQUFBLElBQ0EsT0FBTztBQUFBLE1BQ0xDLEVBQXNCLElBQUksQ0FBQ0MsTUFBc0I7QUFBQSxRQUMvQ0E7QUFBQSxRQUNBLGtCQUFrQkYsQ0FBSyxJQUFJRSxDQUFTO0FBQUEsTUFBQSxDQUNyQztBQUFBLElBQUE7QUFBQSxFQUNILENBQ0Q7QUFDSCxHQUVNQyxJQUEyQixPQUFPO0FBQUEsRUFDdEMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxJQUFJLENBQUFDLE1BQVM7QUFBQSxJQUM3QkE7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNMQyxFQUFjLElBQUksQ0FBQUwsTUFBUztBQUFBLFFBQ3pCQTtBQUFBLFFBQ0E7QUFBQSxVQUNFLFFBQVEsa0JBQWtCSSxD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
177
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aGVtZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGx1Z2luIGZyb20gJ3RhaWx3aW5kY3NzL3BsdWdpbic7XG5pbXBvcnQge1xuICBiYXNlQ29sb3JzLFxuICBiYXNlQ29sb3JzSW50ZW5zaXRpZXMsXG4gIGNvbnRleHRDb2xvcnMsXG59IGZyb20gJy4uL2NvbnN0cy9jb2xvcnMnO1xuXG5jb25zdCBiYXNlQ29sb3JzQ29tYmluYXRpb24gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gIGJhc2VDb2xvcnMubWFwKChjb2xvcjogc3RyaW5nKSA9PiBbXG4gICAgY29sb3IsXG4gICAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgYmFzZUNvbG9yc0ludGVuc2l0aWVzLm1hcCgoaW50ZW5zaXR5OiBzdHJpbmcpID0+IFtcbiAgICAgICAgaW50ZW5zaXR5LFxuICAgICAgICBgcmdiYSh2YXIoLS1ydWktJHtjb2xvcn0tJHtpbnRlbnNpdHl9KSwgPGFscGhhLXZhbHVlPilgLFxuICAgICAgXSksXG4gICAgKSxcbiAgXSksXG4pO1xuXG5jb25zdCBjb250ZXh0Q29sb3JzQ29tYmluYXRpb24gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gIFsnbGlnaHQnLCAnZGFyayddLm1hcCh0aGVtZSA9PiBbXG4gICAgdGhlbWUsXG4gICAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgY29udGV4dENvbG9ycy5tYXAoY29sb3IgPT4gW1xuICAgICAgICBjb2xvcixcbiAgICAgICAge1xuICAgICAgICAgIGRhcmtlcjogYHJnYmEodmFyKC0tcnVpLSR7dGhlbWV9LSR7Y29sb3J9LWRhcmtlciksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgICAgICBERUZBVUxUOiBgcmdiYSh2YXIoLS1ydWktJHt0aGVtZX0tJHtjb2xvcn0tbWFpbiksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgICAgICBsaWdodGVyOiBgcmdiYSh2YXIoLS1ydWktJHt0aGVtZX0tJHtjb2xvcn0tbGlnaHRlciksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgICAgICBzaGFkZTogYGNvbG9yLW1peChpbiBzcmdiLCBibGFjayBjYWxjKDxhbHBoYS12YWx1ZT4gKiAxMDAlKSwgcmdiKHZhcigtLXJ1aS0ke3RoZW1lfS0ke2NvbG9yfS1tYWluKSkpYCxcbiAgICAgICAgICB0aW50OiBgY29sb3ItbWl4KGluIHNyZ2IsIHdoaXRlIGNhbGMoPGFscGhhLXZhbHVlPiAqIDEwMCUpLCByZ2IodmFyKC0tcnVpLSR7dGhlbWV9LSR7Y29sb3J9LW1haW4pKSlgLFxuICAgICAgICB9LFxuICAgICAgXSksXG4gICAgKSxcbiAgXSksXG4pO1xuXG5jb25zdCBhZGFwdGl2ZUNvbnRleHRDb2xvckNvbWJpbmF0aW9uID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICBjb250ZXh0Q29sb3JzLm1hcChjb2xvciA9PiBbXG4gICAgY29sb3IsXG4gICAge1xuICAgICAgZGFya2VyOiBgcmdiYSh2YXIoLS1ydWktJHtjb2xvcn0tZGFya2VyKSwgPGFscGhhLXZhbHVlPilgLFxuICAgICAgREVGQVVMVDogYHJnYmEodmFyKC0tcnVpLSR7Y29sb3J9LW1haW4pLCA8YWxwaGEtdmFsdWU+KWAsXG4gICAgICBsaWdodGVyOiBgcmdiYSh2YXIoLS1ydWktJHtjb2xvcn0tbGlnaHRlciksIDxhbHBoYS12YWx1ZT4pYCxcbiAgICAgIHNoYWRlOiBgY29sb3ItbWl4KGluIHNyZ2IsIGJsYWNrIGNhbGMoPGFscGhhLXZhbHVlPiAqIDEwMCUpLCByZ2IodmFyKC0tcnVpLSR7Y29sb3J9LW1haW4pKSlgLFxuICAgICAgdGludDogYGNvbG9yLW1peChpbiBzcmdiLCB3aGl0ZSBjYWxjKDxhbHBoYS12YWx1ZT4gKiAxMDAlKSwgcmdiKHZhcigtLXJ1aS0ke2NvbG9yfS1tYWluKSkpYCxcbiAgICB9LFxuICBdKSxcbik7XG5cbmNvbnN0IHRleHRDb2xvcnNDb21iaW5hdGlvbiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgWydsaWdodCcsICdkYXJrJ10ubWFwKHRoZW1lID0+IFtcbiAgICB0aGVtZSxcbiAgICB7XG4gICAgICB0ZXh0OiB7XG4gICAgICAgIERFRkFVTFQ6IGB2YXIoLS1ydWktJHt0aGVtZX0tdGV4dC1wcmltYXJ5KWAsXG4gICAgICAgIGRpc2FibGVkOiBgdmFyKC0tcnVpLSR7dGhlbWV9LXRleHQtZGlzYWJsZWQpYCxcbiAgICAgICAgc2Vjb25kYXJ5OiBgdmFyKC0tcnVpLSR7dGhlbWV9LXRleHQtc2Vjb25kYXJ5KWAsXG4gICAgICB9LFxuICAgIH0sXG4gIF0pLFxuKTtcblxuY29uc3QgYWRhcHRpdmVUZXh0Q29sb3JzQ29tYmluYXRpb24gPSB7XG4gIHRleHQ6IHtcbiAgICBERUZBVUxUOiBgdmFyKC0tcnVpLXRleHQtcHJpbWFyeSlgLFxuICAgIGRpc2FibGVkOiBgdmFyKC0tcnVpLXRleHQtZGlzYWJsZWQpYCxcbiAgICBzZWNvbmRhcnk6IGB2YXIoLS1ydWktdGV4dC1zZWNvbmRhcnkpYCxcbiAgfSxcbn07XG5cbmNvbnN0IHRoZW1lUGx1Z2luID0gcGx1Z2luKFxuICAoeyBhZGRVdGlsaXRpZXMsIGFkZFZhcmlhbnQsIG1hdGNoVXRpbGl0aWVzIH0pID0+IHtcbiAgICAvLyBCb3JkZXIgdXRpbGl0aWVzXG4gICAgYWRkVXRpbGl0aWVzKHtcbiAgICAgICcuYm9yZGVyLWRlZmF1bHQnOiB7XG4gICAgICAgICdib3JkZXItY29sb3InOiAncmdiKHZhcigtLXJ1aS1ncmV5LTIwMCkpJyxcbiAgICAgIH0sXG4gICAgICAnLmRhcmsgLmJvcmRlci1kZWZhdWx0Jzoge1xuICAgICAgICAnYm9yZGVyLWNvbG9yJzogJ3JnYih2YXIoLS1ydWktZ3JleS04MDApKScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVHlwb2dyYXBoeVxuICAgIGFkZFV0aWxpdGllcyh7XG4gICAgICAnLnRleHQtYm9keS0xJzoge1xuICAgICAgICAnQGFwcGx5IHRleHQtYmFzZSc6IHt9LFxuICAgICAgfSxcbiAgICAgICcudGV4dC1ib2R5LTInOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC1zbSc6IHt9LFxuICAgICAgfSxcbiAgICAgICcudGV4dC1jYXB0aW9uJzoge1xuICAgICAgICAnQGFwcGx5IHRleHQteHMnOiB7fSxcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzEuMjVyZW0nLFxuICAgICAgfSxcbiAgICAgICcudGV4dC1oMSc6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LTh4bCBmb250LWxpZ2h0Jzoge30sXG4gICAgICAgICdsaW5lLWhlaWdodCc6ICc3cmVtJyxcbiAgICAgIH0sXG4gICAgICAnLnRleHQtaDInOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC02eGwgZm9udC1saWdodCc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnNC41cmVtJyxcbiAgICAgIH0sXG4gICAgICAnLnRleHQtaDMnOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC01eGwnOiB7fSxcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzMuNXJlbScsXG4gICAgICB9LFxuICAgICAgJy50ZXh0LWg0Jzoge1xuICAgICAgICAnQGFwcGx5IHRleHQtNHhsIGZvbnQtc2VtaWJvbGQnOiB7fSxcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzIuNjI1cmVtJyxcbiAgICAgIH0sXG4gICAgICAnLnRleHQtaDUnOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC0yeGwnOiB7fSxcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzJyZW0nLFxuICAgICAgfSxcbiAgICAgICcudGV4dC1oNic6IHtcbiAgICAgICAgJ0BhcHBseSB0ZXh0LXhsIGZvbnQtbWVkaXVtJzoge30sXG4gICAgICAgICdsaW5lLWhlaWdodCc6ICcycmVtJyxcbiAgICAgIH0sXG4gICAgICAnLnRleHQtb3ZlcmxpbmUnOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC14cyB1cHBlcmNhc2UnOiB7fSxcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzJyZW0nLFxuICAgICAgfSxcbiAgICAgICcudGV4dC1zdWJ0aXRsZS0xJzoge1xuICAgICAgICAnQGFwcGx5IHRleHQtYmFzZSc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMS43NXJlbScsXG4gICAgICB9LFxuICAgICAgJy50ZXh0LXN1YnRpdGxlLTInOiB7XG4gICAgICAgICdAYXBwbHkgdGV4dC1zbSBmb250LW1lZGl1bSc6IHt9LFxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMS4yNXJlbScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVGludCBhbmQgU2hhZGUgQ29sb3JzXG4gICAgbWF0Y2hVdGlsaXRpZXMoXG4gICAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIFsnYmctdGludCcsICdiZy1zaGFkZScsICd0ZXh0LXRpbnQnLCAndGV4dC1zaGFkZSddLm1hcChpdGVtID0+IFtcbiAgICAgICAgICBpdGVtLFxuICAgICAgICAgIHZhbHVlID0+ICh7XG4gICAgICAgICAgICBhbmltYXRpb246IGAke2l0ZW19IDFzIGNhbGMoJHt2YWx1ZX0gKiAtMXMpIGxpbmVhciBmb3J3YXJkcyBwYXVzZWRgLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdKSxcbiAgICAgICksXG4gICAgKTtcbiAgICBhZGRWYXJpYW50KCdjb2xvci1taXgtc3VwcG9ydGVkJywgJ0BzdXBwb3J0cyAoY29sb3ItbWl4KCkpJyk7XG4gIH0sXG4gIHtcbiAgICB0aGVtZToge1xuICAgICAgZXh0ZW5kOiB7XG4gICAgICAgIGJveFNoYWRvdzoge1xuICAgICAgICAgIDE6ICcwcHggMnB4IDFweCAtMXB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxcHggMXB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDFweCAzcHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDEwOiAnMHB4IDZweCA2cHggLTNweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTBweCAxNHB4IDFweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA0cHggMThweCAzcHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDExOiAnMHB4IDZweCA3cHggLTRweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTFweCAxNXB4IDFweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA0cHggMjBweCAzcHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDEyOiAnMHB4IDdweCA4cHggLTRweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTJweCAxN3B4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA1cHggMjJweCA0cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDEzOiAnMHB4IDdweCA4cHggLTRweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTNweCAxOXB4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA1cHggMjRweCA0cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDE0OiAnMHB4IDdweCA5cHggLTRweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTRweCAyMXB4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA1cHggMjZweCA0cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDE1OiAnMHB4IDhweCA5cHggLTVweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMTVweCAyMnB4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA2cHggMjhweCA1cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDE2OiAnMHB4IDhweCAxMHB4IC01cHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDE2cHggMjRweCAycHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggNnB4IDMwcHggNXB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICAxNzogJzBweCA4cHggMTFweCAtNXB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAxN3B4IDI2cHggMnB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDZweCAzMnB4IDVweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMTg6ICcwcHggOXB4IDExcHggLTVweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMThweCAyOHB4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA3cHggMzRweCA2cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDE5OiAnMHB4IDlweCAxMnB4IC02cHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDE5cHggMjlweCAycHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggN3B4IDM2cHggNnB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICAyOiAnMHB4IDNweCAxcHggLTJweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMnB4IDJweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCAxcHggNXB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICAyMDogJzBweCAxMHB4IDEzcHggLTZweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMjBweCAzMXB4IDNweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA4cHggMzhweCA3cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDIxOiAnMHB4IDEwcHggMTNweCAtNnB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAyMXB4IDMzcHggM3B4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDhweCA0MHB4IDdweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMjI6ICcwcHggMTBweCAxNHB4IC02cHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDIycHggMzVweCAzcHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggOHB4IDQycHggN3B4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICAyMzogJzBweCAxMXB4IDE0cHggLTdweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggMjNweCAzNnB4IDNweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCA5cHggNDRweCA4cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDI0OiAnMHB4IDExcHggMTVweCAtN3B4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCAyNHB4IDM4cHggM3B4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDlweCA0NnB4IDhweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgMzogJzBweCAzcHggM3B4IC0ycHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDNweCA0cHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggMXB4IDhweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgNDogJzBweCAycHggNHB4IC0xcHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDRweCA1cHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggMXB4IDEwcHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDU6ICcwcHggM3B4IDVweCAtMXB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCA1cHggOHB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDFweCAxNHB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICA2OiAnMHB4IDNweCA1cHggLTFweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggNnB4IDEwcHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggMXB4IDE4cHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICAgIDc6ICcwcHggNHB4IDVweCAtMnB4IHZhcigtLXJ1aS1zaGFkb3ctcHJpbWFyeSksIDBweCA3cHggMTBweCAxcHggdmFyKC0tcnVpLXNoYWRvdy1zZWNvbmRhcnkpLCAwcHggMnB4IDE2cHggMXB4IHZhcigtLXJ1aS1zaGFkb3ctdGVydGlhcnkpJyxcbiAgICAgICAgICA4OiAnMHB4IDVweCA1cHggLTNweCB2YXIoLS1ydWktc2hhZG93LXByaW1hcnkpLCAwcHggOHB4IDEwcHggMXB4IHZhcigtLXJ1aS1zaGFkb3ctc2Vjb25kYXJ5KSwgMHB4IDNweCAxNHB4IDJweCB2YXIoLS1ydWktc2hhZG93LXRlcnRpYXJ5KScsXG4gICAgICAgICAgOTogJzBweCA1cHggNnB4IC0zcHggdmFyKC0tcnVpLXNoYWRvdy1wcmltYXJ5KSwgMHB4IDlweCAxMnB4IDFweCB2YXIoLS1ydWktc2hhZG93LXNlY29uZGFyeSksIDBweCAzcHggMTZweCAycHggdmFyKC0tcnVpLXNoYWRvdy10ZXJ0aWFyeSknLFxuICAgICAgICB9LFxuICAgICAgICBjb2xvcnM6IHtcbiAgICAgICAgICBydWk6IHtcbiAgICAgICAgICAgIC4uLmJhc2VDb2xvcnNDb21iaW5hdGlvbixcbiAgICAgICAgICAgIC4uLmNvbnRleHRDb2xvcnNDb21iaW5hdGlvbixcbiAgICAgICAgICAgIC4uLnRleHRDb2xvcnNDb21iaW5hdGlvbixcbiAgICAgICAgICAgIGRhcms6IHtcbiAgICAgICAgICAgICAgLi4uY29udGV4dENvbG9yc0NvbWJpbmF0aW9uLmRhcmssXG4gICAgICAgICAgICAgIC4uLnRleHRDb2xvcnNDb21iaW5hdGlvbi5kYXJrLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpZ2h0OiB7XG4gICAgICAgICAgICAgIC4uLmNvbnRleHRDb2xvcnNDb21iaW5hdGlvbi5saWdodCxcbiAgICAgICAgICAgICAgLi4udGV4dENvbG9yc0NvbWJpbmF0aW9uLmxpZ2h0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLmFkYXB0aXZlQ29udGV4dENvbG9yQ29tYmluYXRpb24sXG4gICAgICAgICAgICAuLi5hZGFwdGl2ZVRleHRDb2xvcnNDb21iaW5hdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgdGhlbWVQbHVnaW47XG4iXSwibmFtZXMiOlsiYmFzZUNvbG9yc0NvbWJpbmF0aW9uIiwiYmFzZUNvbG9ycyIsImNvbG9yIiwiYmFzZUNvbG9yc0ludGVuc2l0aWVzIiwiaW50ZW5zaXR5IiwiY29udGV4dENvbG9yc0NvbWJpbmF0aW9uIiwidGhlbWUiLCJjb250ZXh0Q29sb3JzIiwiYWRhcHRpdmVDb250ZXh0Q29sb3JDb21iaW5hdGlvbiIsInRleHRDb2xvcnNDb21iaW5hdGlvbiIsImFkYXB0aXZlVGV4dENvbG9yc0NvbWJpbmF0aW9uIiwidGhlbWVQbHVnaW4iLCJwbHVnaW4iLCJhZGRVdGlsaXRpZXMiLCJhZGRWYXJpYW50IiwibWF0Y2hVdGlsaXRpZXMiLCJpdGVtIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7O0FBT0EsTUFBTUEsSUFBd0IsT0FBTztBQUFBLEVBQ25DQyxFQUFXLElBQUksQ0FBQ0MsTUFBa0I7QUFBQSxJQUNoQ0E7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNMQyxFQUFzQixJQUFJLENBQUNDLE1BQXNCO0FBQUEsUUFDL0NBO0FBQUEs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
@@ -1,4 +1,4 @@
1
- import type { MaybeRef } from '@vueuse/shared';
1
+ import type { MaybeRef } from 'vue';
2
2
  export declare function useFormTextDetail(errorMessages: MaybeRef<string | string[]>, successMessages: MaybeRef<string | string[]>): {
3
3
  formattedErrorMessages: globalThis.ComputedRef<string[]>;
4
4
  formattedSuccessMessages: globalThis.ComputedRef<string[]>;
@@ -0,0 +1,158 @@
1
+ import { logicOr as p } from "@vueuse/math";
2
+ import { computed as m, ref as b } from "vue";
3
+ import { get as g, objectPick as w, objectOmit as M, set as x } from "@vueuse/shared";
4
+ import { c as A } from "../vendor-Hqbg5uCG.js";
5
+ import { createGlobalState as C } from "@vueuse/core";
6
+ class I extends Error {
7
+ constructor(e) {
8
+ super(e ?? "AssertionError"), this.name = "AssertionError";
9
+ }
10
+ }
11
+ function K(t, e) {
12
+ if (!t)
13
+ throw new I(e);
14
+ }
15
+ function T(t, e) {
16
+ const r = m(() => {
17
+ let o = g(t);
18
+ return typeof o == "string" && (o = [o]), o.filter((f) => !!f);
19
+ }), s = m(() => {
20
+ let o = g(e);
21
+ return typeof o == "string" && (o = [o]), o.filter((f) => !!f);
22
+ }), i = m(() => g(r).length > 0), c = m(() => g(s).length > 0), a = p(i, c);
23
+ return {
24
+ formattedErrorMessages: r,
25
+ formattedSuccessMessages: s,
26
+ hasError: i,
27
+ hasMessages: a,
28
+ hasSuccess: c
29
+ };
30
+ }
31
+ function O(t, { fractionDigits: e = 2 }) {
32
+ return new Intl.NumberFormat(void 0, {
33
+ maximumFractionDigits: e,
34
+ minimumFractionDigits: e
35
+ }).format(Number(t));
36
+ }
37
+ function V(t) {
38
+ return O(t, { fractionDigits: 0 });
39
+ }
40
+ function y(t) {
41
+ return Object.keys(t).filter(
42
+ (e) => e.startsWith("data-")
43
+ );
44
+ }
45
+ function W(t, e = ["class"]) {
46
+ return w(t, [...y(t), ...e]);
47
+ }
48
+ function q(t, e = ["class"]) {
49
+ return M(t, [...y(t), ...e]);
50
+ }
51
+ function G(t, e) {
52
+ return t && Object.keys(t).reduce((r, s) => (r[A(s)] = t[s], r), {});
53
+ }
54
+ function L(t) {
55
+ return t ? t.toString().toLowerCase().replace(/[^\da-z]/gi, "") : "";
56
+ }
57
+ function P(t) {
58
+ return t === void 0 || typeof t == "string" && isNaN(Number(t)) ? t : `${t}px`;
59
+ }
60
+ function h(t, e) {
61
+ if (t === e)
62
+ return !0;
63
+ if (t == null || e == null)
64
+ return t === e;
65
+ if (typeof t != typeof e)
66
+ return !1;
67
+ if (Array.isArray(t)) {
68
+ if (!Array.isArray(e) || t.length !== e.length)
69
+ return !1;
70
+ for (const [r, s] of t.entries())
71
+ if (!h(s, e[r]))
72
+ return !1;
73
+ return !0;
74
+ }
75
+ if (typeof t == "object") {
76
+ const r = Object.keys(t), s = Object.keys(e);
77
+ if (r.length !== s.length)
78
+ return !1;
79
+ for (const i of r)
80
+ if (!h(t[i], e[i]))
81
+ return !1;
82
+ return !0;
83
+ }
84
+ return !1;
85
+ }
86
+ const S = C(() => {
87
+ const t = b(0);
88
+ return { count: t, nextId: () => {
89
+ const r = g(t) + 1;
90
+ return x(t, r), r;
91
+ } };
92
+ });
93
+ function U(t = "") {
94
+ const { nextId: e } = S();
95
+ return `${t}-${e()}`;
96
+ }
97
+ const n = new Array(4);
98
+ function j(t) {
99
+ for (let e = 0; e < n.length; e++) n[e] = 0;
100
+ for (let e = 0; e < t.length; e++)
101
+ n[e % 4] = (n[e % 4] << 5) - n[e % 4] + t.charCodeAt(e);
102
+ }
103
+ function u() {
104
+ const t = n[0] ^ n[0] << 11;
105
+ return n[0] = n[1], n[1] = n[2], n[2] = n[3], n[3] = n[3] ^ n[3] >> 19 ^ t ^ t >> 8, (n[3] >>> 0) / (1 << 31 >>> 0);
106
+ }
107
+ function d() {
108
+ const t = Math.floor(u() * 360), e = `${u() * 60 + 40}%`, r = `${(u() + u() + u() + u()) * 25}%`;
109
+ return `hsl(${t},${e},${r})`;
110
+ }
111
+ function k(t) {
112
+ const e = t, r = t, s = Math.ceil(e / 2), i = e - s, c = [];
113
+ for (let a = 0; a < r; a++) {
114
+ let o = [];
115
+ for (let l = 0; l < s; l++)
116
+ o[l] = Math.floor(u() * 2.3);
117
+ const f = o.slice(0, i);
118
+ f.reverse(), o = o.concat(f);
119
+ for (const l of o) c.push(l);
120
+ }
121
+ return c;
122
+ }
123
+ function E(t) {
124
+ const e = {};
125
+ return e.seed = t.seed || Math.floor(Math.random() * 10 ** 16).toString(16), j(e.seed), e.size = t.size || 8, e.scale = t.scale || 8, e.color = t.color || d(), e.bgcolor = t.bgcolor || d(), e.spotColor = t.spotColor || d(), e;
126
+ }
127
+ function $(t, e) {
128
+ const r = E(t || {}), s = k(r.size), i = Math.sqrt(s.length);
129
+ e.width = e.height = r.size * r.scale;
130
+ const c = e.getContext("2d");
131
+ if (c) {
132
+ c.fillStyle = r.bgcolor, c.fillRect(0, 0, e.width, e.height), c.fillStyle = r.color;
133
+ for (const [a, o] of s.entries())
134
+ if (o) {
135
+ const f = Math.floor(a / i), l = a % i;
136
+ c.fillStyle = o === 1 ? r.color : r.spotColor, c.fillRect(l * r.scale, f * r.scale, r.scale, r.scale);
137
+ }
138
+ }
139
+ return e;
140
+ }
141
+ function B(t) {
142
+ const e = document.createElement("canvas");
143
+ return $(t, e), e.toDataURL("image/jpeg");
144
+ }
145
+ export {
146
+ K as a,
147
+ q as b,
148
+ L as c,
149
+ U as d,
150
+ P as e,
151
+ V as f,
152
+ W as g,
153
+ B as h,
154
+ h as i,
155
+ G as t,
156
+ T as u
157
+ };
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtREotdWVMQ3MuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hc3NlcnQudHMiLCIuLi8uLi9zcmMvdXRpbHMvZm9ybS10ZXh0LWRldGFpbC50cyIsIi4uLy4uL3NyYy91dGlscy9oZWxwZXJzLnRzIiwiLi4vLi4vc3JjL3V0aWxzL2lzLWVxdWFsLnRzIiwiLi4vLi4vc3JjL3V0aWxzL2dlbmVyYXRlLWlkLnRzIiwiLi4vLi4vc3JjL3V0aWxzL2Jsb2NraWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgQXNzZXJ0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1zZz86IHN0cmluZykge1xuICAgIHN1cGVyKG1zZyA/PyAnQXNzZXJ0aW9uRXJyb3InKTtcbiAgICB0aGlzLm5hbWUgPSAnQXNzZXJ0aW9uRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uOiBhbnksIG1zZz86IHN0cmluZyk6IGFzc2VydHMgY29uZGl0aW9uIHtcbiAgaWYgKCFjb25kaXRpb24pXG4gICAgdGhyb3cgbmV3IEFzc2VydGlvbkVycm9yKG1zZyk7XG59XG4iLCJpbXBvcnQgdHlwZSB7IE1heWJlUmVmIH0gZnJvbSAndnVlJztcbmltcG9ydCB7IGxvZ2ljT3IgfSBmcm9tICdAdnVldXNlL21hdGgnO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybVRleHREZXRhaWwoZXJyb3JNZXNzYWdlczogTWF5YmVSZWY8c3RyaW5nIHwgc3RyaW5nW10+LCBzdWNjZXNzTWVzc2FnZXM6IE1heWJlUmVmPHN0cmluZyB8IHN0cmluZ1tdPikge1xuICBjb25zdCBmb3JtYXR0ZWRFcnJvck1lc3NhZ2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGxldCBlcnJvck1lc3NhZ2VzVmFsID0gZ2V0KGVycm9yTWVzc2FnZXMpO1xuICAgIGlmICh0eXBlb2YgZXJyb3JNZXNzYWdlc1ZhbCA9PT0gJ3N0cmluZycpXG4gICAgICBlcnJvck1lc3NhZ2VzVmFsID0gW2Vycm9yTWVzc2FnZXNWYWxdO1xuXG4gICAgcmV0dXJuIGVycm9yTWVzc2FnZXNWYWwuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKTtcbiAgfSk7XG5cbiAgY29uc3QgZm9ybWF0dGVkU3VjY2Vzc01lc3NhZ2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGxldCBzdWNjZXNzTWVzc2FnZXNWYWwgPSBnZXQoc3VjY2Vzc01lc3NhZ2VzKTtcbiAgICBpZiAodHlwZW9mIHN1Y2Nlc3NNZXNzYWdlc1ZhbCA9PT0gJ3N0cmluZycpXG4gICAgICBzdWNjZXNzTWVzc2FnZXNWYWwgPSBbc3VjY2Vzc01lc3NhZ2VzVmFsXTtcblxuICAgIHJldHVybiBzdWNjZXNzTWVzc2FnZXNWYWwuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKTtcbiAgfSk7XG5cbiAgY29uc3QgaGFzRXJyb3IgPSBjb21wdXRlZCgoKSA9PiBnZXQoZm9ybWF0dGVkRXJyb3JNZXNzYWdlcykubGVuZ3RoID4gMCk7XG5cbiAgY29uc3QgaGFzU3VjY2VzcyA9IGNvbXB1dGVkKCgpID0+IGdldChmb3JtYXR0ZWRTdWNjZXNzTWVzc2FnZXMpLmxlbmd0aCA+IDApO1xuICBjb25zdCBoYXNNZXNzYWdlcyA9IGxvZ2ljT3IoaGFzRXJyb3IsIGhhc1N1Y2Nlc3MpO1xuXG4gIHJldHVybiB7XG4gICAgZm9ybWF0dGVkRXJyb3JNZXNzYWdlcyxcbiAgICBmb3JtYXR0ZWRTdWNjZXNzTWVzc2FnZXMsXG4gICAgaGFzRXJyb3IsXG4gICAgaGFzTWVzc2FnZXMsXG4gICAgaGFzU3VjY2VzcyxcbiAgfTtcbn1cbiIsImltcG9ydCB0eXBlIHsgU2V0dXBDb250ZXh0IH0gZnJvbSAndnVlJztcbmltcG9ydCB7IG9iamVjdE9taXQsIG9iamVjdFBpY2sgfSBmcm9tICdAdnVldXNlL3NoYXJlZCc7XG5pbXBvcnQgeyBjYW1lbENhc2UsIHNuYWtlQ2FzZSB9IGZyb20gJ3NjdWxlJztcblxuaW50ZXJmYWNlIEN1cnJlbmN5T3B0aW9ucyB7XG4gIGN1cnJlbmN5Pzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG4gIHN0eWxlPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zU3R5bGU7XG4gIGZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xufVxuXG50eXBlIFNldHVwQ29udGV4dEF0dHJzID0gU2V0dXBDb250ZXh0WydhdHRycyddO1xuXG50eXBlIFNldHVwQ29udGV4dEF0dHJzS2V5cyA9IChrZXlvZiBTZXR1cENvbnRleHRBdHRycylbXTtcblxuLyoqXG4gKiBGb3JtYXQgbnVtYmVyIHZhbHVlIHRvIHNwZWNpZmllZCBjdXJyZW5jeSBmb3JtYXRcbiAqIEBwYXJhbSB7bnVtYmVyfSBhbW91bnRcbiAqIEBwYXJhbSB7Q3VycmVuY3lPcHRpb25zfSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDdXJyZW5jeShhbW91bnQ6IG51bWJlciB8IHN0cmluZywge1xuICBjdXJyZW5jeSA9ICdFVVInLFxuICBmcmFjdGlvbkRpZ2l0cyA9IDIsXG4gIGxvY2FsZSA9ICdkZS1EZScsXG4gIHN0eWxlID0gJ2N1cnJlbmN5Jyxcbn06IEN1cnJlbmN5T3B0aW9ucykge1xuICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xuICAgIGN1cnJlbmN5LFxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogZnJhY3Rpb25EaWdpdHMsXG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBmcmFjdGlvbkRpZ2l0cyxcbiAgICBzdHlsZSxcbiAgfSkuZm9ybWF0KE51bWJlcihhbW91bnQpKTtcbn1cblxuLyoqXG4gKiBGb3JtYXQgbnVtYmVyIHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gYW1vdW50XG4gKiBAcGFyYW0ge0N1cnJlbmN5T3B0aW9uc30gb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKGFtb3VudDogbnVtYmVyIHwgc3RyaW5nLCB7IGZyYWN0aW9uRGlnaXRzID0gMiB9OiBDdXJyZW5jeU9wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh1bmRlZmluZWQsIHtcbiAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGZyYWN0aW9uRGlnaXRzLFxuICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogZnJhY3Rpb25EaWdpdHMsXG4gIH0pLmZvcm1hdChOdW1iZXIoYW1vdW50KSk7XG59XG5cbi8qKlxuICogRm9ybWF0IG51bWJlciB2YWx1ZSB3aXRob3V0IGZyYWN0aW9uXG4gKiBAcGFyYW0ge251bWJlcn0gYW1vdW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRJbnRlZ2VyKGFtb3VudDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gIHJldHVybiBmb3JtYXROdW1iZXIoYW1vdW50LCB7IGZyYWN0aW9uRGlnaXRzOiAwIH0pO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhbmQgcmV0dXJucyB0aGUgYXJyYXkgb2Ygcm9vdCBhbGxvd2VkIGF0dHJpYnV0ZXNcbiAqIEBwYXJhbSB7U2V0dXBDb250ZXh0QXR0cnN9IGRhdGFcbiAqIEByZXR1cm5zIHtTZXR1cENvbnRleHRBdHRyc0tleXN9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290S2V5cyhkYXRhOiBTZXR1cENvbnRleHRBdHRycykge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YSkuZmlsdGVyKGtleSA9PlxuICAgIGtleS5zdGFydHNXaXRoKCdkYXRhLScpLFxuICApIGFzIFNldHVwQ29udGV4dEF0dHJzS2V5cztcbn1cblxuLyoqXG4gKiBQaWNrcyBvbmx5IHJlcXVpcmVkIGF0dHJpYnV0ZXMgZm9yIHJvb3QgZWxlbWVudFxuICogQHBhcmFtIHtTZXR1cENvbnRleHRBdHRyc30gZGF0YVxuICogQHBhcmFtIHtTZXR1cENvbnRleHRBdHRyc0tleXN9IGluY2x1ZGVcbiAqIEByZXR1cm5zIHtQaWNrPFNldHVwQ29udGV4dEF0dHJzLCBhbnk+fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um9vdEF0dHJzKGRhdGE6IFNldHVwQ29udGV4dEF0dHJzLCBpbmNsdWRlOiBTZXR1cENvbnRleHRBdHRyc0tleXMgPSBbJ2NsYXNzJ10pIHtcbiAgcmV0dXJuIG9iamVjdFBpY2soZGF0YSwgWy4uLmdldFJvb3RLZXlzKGRhdGEpLCAuLi5pbmNsdWRlXSk7XG59XG5cbi8qKlxuICogT21pdHMgcm9vdCBhdHRyaWJ1dGVzIGZyb20gY29tcG9uZW50J3MgYXR0cmlidXRlc1xuICogQHBhcmFtIHtTZXR1cENvbnRleHRBdHRyc30gZGF0YVxuICogQHBhcmFtIHtTZXR1cENvbnRleHRBdHRyc0tleXN9IGV4Y2x1ZGVcbiAqIEByZXR1cm5zIHtPbWl0PFNldHVwQ29udGV4dEF0dHJzLCBhbnk+fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Tm9uUm9vdEF0dHJzKGRhdGE6IFNldHVwQ29udGV4dEF0dHJzLCBleGNsdWRlOiBTZXR1cENvbnRleHRBdHRyc0tleXMgPSBbJ2NsYXNzJ10pIHtcbiAgcmV0dXJuIG9iamVjdE9taXQoZGF0YSwgWy4uLmdldFJvb3RLZXlzKGRhdGEpLCAuLi5leGNsdWRlXSk7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtcyB0aGUga2V5cyBvZiBhbiBvYmplY3QgdG8gZWl0aGVyIGNhbWVsQ2FzZSBvciBzbmFrZV9jYXNlXG4gKiBAcGFyYW0ge1R9IGl0ZW1cbiAqIEBwYXJhbSB7XCJjYW1lbENhc2VcIiB8IFwic25ha2VfY2FzZVwifSB0b1xuICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1DYXNlPFQgZXh0ZW5kcyBvYmplY3Q+KGl0ZW06IFQsIHRvOiAnY2FtZWxDYXNlJyB8ICdzbmFrZV9jYXNlJykge1xuICBpZiAoIWl0ZW0pXG4gICAgcmV0dXJuIGl0ZW07XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGl0ZW0pLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgaWYgKHRvID09PSAnY2FtZWxDYXNlJylcbiAgICAgIGFjY1tjYW1lbENhc2UoY3VycildID0gaXRlbVtjdXJyIGFzIGtleW9mIFRdO1xuICAgIGVsc2VcbiAgICAgIGFjY1tzbmFrZUNhc2UoY3VycildID0gaXRlbVtjdXJyIGFzIGtleW9mIFRdO1xuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgYW55Pik7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgLSBTdHJpbmcgdG8gY29udmVydFxuICogQHJldHVybiB7c3RyaW5nfSAtIFN0cmluZyBjb252ZXJ0ZWQgdG8gdGV4dCB0b2tlbiwgbW9zdGx5IHVzZWQgdG8gbWF0Y2hpbmcga2V5d29yZFxuICogQGV4YW1wbGVcbiAqIGdldFRleHRUb2tlbigndGhpcyBpcyBhIHNlbnRlbmNlJyk7IC8vIHRoaXNpc2FzZW50ZW5jZVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0VG9rZW4oc3RyaW5nOiBhbnkpOiBzdHJpbmcge1xuICBpZiAoIXN0cmluZylcbiAgICByZXR1cm4gJyc7XG5cbiAgcmV0dXJuIHN0cmluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15cXGRhLXpdL2dpLCAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Qcm9wc1VuaXQodmFsdWU/OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiBpc05hTihOdW1iZXIodmFsdWUpKSkpXG4gICAgcmV0dXJuIHZhbHVlO1xuICByZXR1cm4gYCR7dmFsdWV9cHhgO1xufVxuIiwiZXhwb3J0IGZ1bmN0aW9uIGlzRXF1YWwodmFsdWU6IGFueSwgb3RoZXI6IGFueSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWVzIGFyZSBpZGVudGljYWwgKGNvdmVycyBwcmltaXRpdmVzIGFuZCBmdW5jdGlvbnMpXG4gIGlmICh2YWx1ZSA9PT0gb3RoZXIpXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlcyBhcmUgbnVsbCBvciB1bmRlZmluZWRcbiAgaWYgKHZhbHVlID09IG51bGwgfHwgb3RoZXIgPT0gbnVsbClcbiAgICByZXR1cm4gdmFsdWUgPT09IG90aGVyO1xuXG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZXMgYXJlIG9mIGRpZmZlcmVudCB0eXBlc1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSB0eXBlb2Ygb3RoZXIpXG4gICAgcmV0dXJuIGZhbHNlO1xuXG4gIC8vIENvbXBhcmUgYXJyYXlzXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShvdGhlcikgfHwgdmFsdWUubGVuZ3RoICE9PSBvdGhlci5sZW5ndGgpXG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IFtpLCBlbGVtZW50XSBvZiB2YWx1ZS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmICghaXNFcXVhbChlbGVtZW50LCBvdGhlcltpXSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDb21wYXJlIG9iamVjdHNcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB2YWx1ZUtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSk7XG4gICAgY29uc3Qgb3RoZXJLZXlzID0gT2JqZWN0LmtleXMob3RoZXIpO1xuXG4gICAgaWYgKHZhbHVlS2V5cy5sZW5ndGggIT09IG90aGVyS2V5cy5sZW5ndGgpXG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiB2YWx1ZUtleXMpIHtcbiAgICAgIGlmICghaXNFcXVhbCh2YWx1ZVtrZXldLCBvdGhlcltrZXldKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIG5laXRoZXIgcHJpbWl0aXZlcywgYXJyYXlzLCBub3Igb2JqZWN0cywgcmV0dXJuIGZhbHNlXG4gIHJldHVybiBmYWxzZTtcbn1cbiIsImV4cG9ydCBjb25zdCB1c2VHbG9iYWxJZCA9IGNyZWF0ZUdsb2JhbFN0YXRlKCgpID0+IHtcbiAgY29uc3QgY291bnQgPSByZWYoMCk7XG5cbiAgY29uc3QgbmV4dElkID0gKCkgPT4ge1xuICAgIGNvbnN0IGNvdW50VmFsID0gZ2V0KGNvdW50KSArIDE7XG4gICAgc2V0KGNvdW50LCBjb3VudFZhbCk7XG5cbiAgICByZXR1cm4gY291bnRWYWw7XG4gIH07XG5cbiAgcmV0dXJuIHsgY291bnQsIG5leHRJZCB9O1xufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUlkKHByZWZpeCA9ICcnKSB7XG4gIGNvbnN0IHsgbmV4dElkIH0gPSB1c2VHbG9iYWxJZCgpO1xuXG4gIHJldHVybiBgJHtwcmVmaXh9LSR7bmV4dElkKCl9YDtcbn1cbiIsIi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtL2Jsb2NraWVzXG4vLyBUaGUgcmFuZG9tIG51bWJlciBpcyBhIGpzIGltcGxlbWVudGF0aW9uIG9mIHRoZSBYb3JzaGlmdCBQUk5HXG5pbnRlcmZhY2UgQmxvY2tpZU9wdGlvbnMge1xuICAvKiogc2VlZCB1c2VkIHRvIGdlbmVyYXRlIGljb24gZGF0YSwgZGVmYXVsdDogcmFuZG9tICovXG4gIHNlZWQ6IHN0cmluZztcbiAgLyoqIHRvIG1hbnVhbGx5IHNwZWNpZnkgdGhlIGljb24gY29sb3IsIGRlZmF1bHQ6IHJhbmRvbSAqL1xuICBjb2xvcjogc3RyaW5nO1xuICAvKiogY2hvb3NlIGEgZGlmZmVyZW50IGJhY2tncm91bmQgY29sb3IsIGRlZmF1bHQ6IHJhbmRvbSAqL1xuICBiZ2NvbG9yOiBzdHJpbmc7XG4gIC8qKiB3aWR0aC9oZWlnaHQgb2YgdGhlIGljb24gaW4gYmxvY2tzLCBkZWZhdWx0OiA4ICovXG4gIHNpemU6IG51bWJlcjtcbiAgLyoqIHdpZHRoL2hlaWdodCBvZiBlYWNoIGJsb2NrIGluIHBpeGVscywgZGVmYXVsdDogNCAqL1xuICBzY2FsZTogbnVtYmVyO1xuICAvKipcbiAgICogZWFjaCBwaXhlbCBoYXMgYSAxMyUgY2hhbmNlIG9mIGJlaW5nIG9mIGEgdGhpcmQgY29sb3IsIGRlZmF1bHQ6IHJhbmRvbS5cbiAgICpcbiAgICogU2V0IHRvIC0xIHRvIGRpc2FibGUgaXQuXG4gICAqXG4gICAqIFRoZXNlIFwic3BvdHNcIiBjcmVhdGUgc3RydWN0dXJlcyB0aGF0IGxvb2sgbGlrZSBleWVzLCBtb3V0aHMgYW5kIG5vc2VzLlxuICAgKi9cbiAgc3BvdENvbG9yOiBzdHJpbmc7XG59XG5cbmNvbnN0IHJhbmRTZWVkID0gbmV3IEFycmF5KDQpOyAvLyBYb3JzaGlmdDogW3gsIHksIHosIHddIDMyIGJpdCB2YWx1ZXNcblxuZnVuY3Rpb24gc2VlZFJhbmQoc2VlZDogc3RyaW5nKTogdm9pZCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmFuZFNlZWQubGVuZ3RoOyBpKyspIHJhbmRTZWVkW2ldID0gMDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlZWQubGVuZ3RoOyBpKyspXG4gICAgcmFuZFNlZWRbaSAlIDRdID0gKHJhbmRTZWVkW2kgJSA0XSA8PCA1KSAtIHJhbmRTZWVkW2kgJSA0XSArIHNlZWQuY2hhckNvZGVBdChpKTtcbn1cblxuZnVuY3Rpb24gcmFuZCgpOiBudW1iZXIge1xuICAvLyBiYXNlZCBvbiBKYXZhJ3MgU3RyaW5nLmhhc2hDb2RlKCksIGV4cGFuZGVkIHRvIDQgMzJiaXQgdmFsdWVzXG4gIGNvbnN0IHQgPSByYW5kU2VlZFswXSBeIChyYW5kU2VlZFswXSA8PCAxMSk7XG5cbiAgcmFuZFNlZWRbMF0gPSByYW5kU2VlZFsxXTtcbiAgcmFuZFNlZWRbMV0gPSByYW5kU2VlZFsyXTtcbiAgcmFuZFNlZWRbMl0gPSByYW5kU2VlZFszXTtcbiAgcmFuZFNlZWRbM10gPSByYW5kU2VlZFszXSBeIChyYW5kU2VlZFszXSA+PiAxOSkgXiB0IF4gKHQgPj4gOCk7XG5cbiAgcmV0dXJuIChyYW5kU2VlZFszXSA+Pj4gMCkgLyAoKDEgPDwgMzEpID4+PiAwKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29sb3IoKTogc3RyaW5nIHtcbiAgLy8gc2F0dXJhdGlvbiBpcyB0aGUgd2hvbGUgY29sb3Igc3BlY3RydW1cbiAgY29uc3QgaCA9IE1hdGguZmxvb3IocmFuZCgpICogMzYwKTtcbiAgLy8gc2F0dXJhdGlvbiBnb2VzIGZyb20gNDAgdG8gMTAwLCBpdCBhdm9pZHMgZ3JleWlzaCBjb2xvcnNcbiAgY29uc3QgcyA9IGAke3JhbmQoKSAqIDYwICsgNDB9JWA7XG4gIC8vIGxpZ2h0bmVzcyBjYW4gYmUgYW55dGhpbmcgZnJvbSAwIHRvIDEwMCwgYnV0IHByb2JhYmlsaXRpZXMgYXJlIGEgYmVsbCBjdXJ2ZSBhcm91bmQgNTAlXG4gIGNvbnN0IGwgPSBgJHsocmFuZCgpICsgcmFuZCgpICsgcmFuZCgpICsgcmFuZCgpKSAqIDI1fSVgO1xuXG4gIHJldHVybiBgaHNsKCR7aH0sJHtzfSwke2x9KWA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUltYWdlRGF0YShzaXplOiBudW1iZXIpOiBudW1iZXJbXSB7XG4gIGNvbnN0IHdpZHRoID0gc2l6ZTsgLy8gT25seSBzdXBwb3J0IHNxdWFyZSBpY29ucyBmb3Igbm93XG4gIGNvbnN0IGhlaWdodCA9IHNpemU7XG5cbiAgY29uc3QgZGF0YVdpZHRoID0gTWF0aC5jZWlsKHdpZHRoIC8gMik7XG4gIGNvbnN0IG1pcnJvcldpZHRoID0gd2lkdGggLSBkYXRhV2lkdGg7XG5cbiAgY29uc3QgZGF0YSA9IFtdO1xuICBmb3IgKGxldCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7XG4gICAgbGV0IHJvdyA9IFtdO1xuICAgIGZvciAobGV0IHggPSAwOyB4IDwgZGF0YVdpZHRoOyB4KyspIHtcbiAgICAgIC8vIHRoaXMgbWFrZXMgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvciB0byBoYXZlIGEgNDMlICgxLzIuMykgcHJvYmFiaWxpdHlcbiAgICAgIC8vIHNwb3QgY29sb3IgaGFzIDEzJSBjaGFuY2VcbiAgICAgIHJvd1t4XSA9IE1hdGguZmxvb3IocmFuZCgpICogMi4zKTtcbiAgICB9XG4gICAgY29uc3QgciA9IHJvdy5zbGljZSgwLCBtaXJyb3JXaWR0aCk7XG4gICAgci5yZXZlcnNlKCk7XG4gICAgcm93ID0gcm93LmNvbmNhdChyKTtcblxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiByb3cpIGRhdGEucHVzaChlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiBidWlsZE9wdHMob3B0czogUGFydGlhbDxCbG9ja2llT3B0aW9ucz4pOiBCbG9ja2llT3B0aW9ucyB7XG4gIGNvbnN0IG5ld09wdHM6IFBhcnRpYWw8QmxvY2tpZU9wdGlvbnM+ID0ge307XG5cbiAgbmV3T3B0cy5zZWVkID0gb3B0cy5zZWVkIHx8IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwICoqIDE2KS50b1N0cmluZygxNik7XG5cbiAgc2VlZFJhbmQobmV3T3B0cy5zZWVkKTtcblxuICBuZXdPcHRzLnNpemUgPSBvcHRzLnNpemUgfHwgODtcbiAgbmV3T3B0cy5zY2FsZSA9IG9wdHMuc2NhbGUgfHwgODtcbiAgbmV3T3B0cy5jb2xvciA9IG9wdHMuY29sb3IgfHwgY3JlYXRlQ29sb3IoKTtcbiAgbmV3T3B0cy5iZ2NvbG9yID0gb3B0cy5iZ2NvbG9yIHx8IGNyZWF0ZUNvbG9yKCk7XG4gIG5ld09wdHMuc3BvdENvbG9yID0gb3B0cy5zcG90Q29sb3IgfHwgY3JlYXRlQ29sb3IoKTtcblxuICByZXR1cm4gbmV3T3B0cyBhcyBCbG9ja2llT3B0aW9ucztcbn1cblxuZnVuY3Rpb24gcmVuZGVySWNvbihvcHRzOiBQYXJ0aWFsPEJsb2NraWVPcHRpb25zPiwgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCk6IEhUTUxDYW52YXNFbGVtZW50IHtcbiAgY29uc3QgbmV3T3B0czogQmxvY2tpZU9wdGlvbnMgPSBidWlsZE9wdHMob3B0cyB8fCB7fSk7XG4gIGNvbnN0IGltYWdlRGF0YSA9IGNyZWF0ZUltYWdlRGF0YShuZXdPcHRzLnNpemUpO1xuICBjb25zdCB3aWR0aCA9IE1hdGguc3FydChpbWFnZURhdGEubGVuZ3RoKTtcblxuICBjYW52YXMud2lkdGggPSBjYW52YXMuaGVpZ2h0ID0gbmV3T3B0cy5zaXplICogbmV3T3B0cy5zY2FsZTtcblxuICBjb25zdCBjYyA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgaWYgKGNjKSB7XG4gICAgY2MuZmlsbFN0eWxlID0gbmV3T3B0cy5iZ2NvbG9yO1xuICAgIGNjLmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgY2MuZmlsbFN0eWxlID0gbmV3T3B0cy5jb2xvcjtcblxuICAgIGZvciAoY29uc3QgW2ksIGltYWdlRGF0dW1dIG9mIGltYWdlRGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgIC8vIGlmIGRhdGEgaXMgMCwgbGVhdmUgdGhlIGJhY2tncm91bmRcbiAgICAgIGlmIChpbWFnZURhdHVtKSB7XG4gICAgICAgIGNvbnN0IHJvdyA9IE1hdGguZmxvb3IoaSAvIHdpZHRoKTtcbiAgICAgICAgY29uc3QgY29sID0gaSAlIHdpZHRoO1xuXG4gICAgICAgIC8vIGlmIGRhdGEgaXMgMiwgY2hvb3NlIHNwb3QgY29sb3IsIGlmIDEgY2hvb3NlIGZvcmVncm91bmRcbiAgICAgICAgY2MuZmlsbFN0eWxlID0gaW1hZ2VEYXR1bSA9PT0gMSA/IG5ld09wdHMuY29sb3IgOiBuZXdPcHRzLnNwb3RDb2xvcjtcblxuICAgICAgICBjYy5maWxsUmVjdChjb2wgKiBuZXdPcHRzLnNjYWxlLCByb3cgKiBuZXdPcHRzLnNjYWxlLCBuZXdPcHRzLnNjYWxlLCBuZXdPcHRzLnNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FudmFzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmxvY2tpZShvcHRzOiBQYXJ0aWFsPEJsb2NraWVPcHRpb25zPik6IHN0cmluZyB7XG4gIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuXG4gIHJlbmRlckljb24ob3B0cywgY2FudmFzKTtcblxuICByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycpO1xufVxuIl0sIm5hbWVzIjpbIkFzc2VydGlvbkVycm9yIiwibXNnIiwiYXNzZXJ0IiwiY29uZGl0aW9uIiwidXNlRm9ybVRleHREZXRhaWwiLCJlcnJvck1lc3NhZ2VzIiwic3VjY2Vzc01lc3NhZ2VzIiwiZm9ybWF0dGVkRXJyb3JNZXNzYWdlcyIsImNvbXB1dGVkIiwiZXJyb3JNZXNzYWdlc1ZhbCIsImdldCIsIml0ZW0iLCJmb3JtYXR0ZWRTdWNjZXNzTWVzc2FnZXMiLCJzdWNjZXNzTWVzc2FnZXNWYWwiLCJoYXNFcnJvciIsImhhc1N1Y2Nlc3MiLCJoYXNNZXNzYWdlcyIsImxvZ2ljT3IiLCJmb3JtYXROdW1iZXIiLCJhbW91bnQiLCJmcmFjdGlvbkRpZ2l0cyIsImZvcm1hdEludGVnZXIiLCJnZXRSb290S2V5cyIsImRhdGEiLCJrZXkiLCJnZXRSb290QXR0cnMiLCJpbmNsdWRlIiwib2JqZWN0UGljayIsImdldE5vblJvb3RBdHRycyIsImV4Y2x1ZGUiLCJvYmplY3RPbWl0IiwidHJhbnNmb3JtQ2FzZSIsInRvIiwiYWNjIiwiY3VyciIsImNhbWVsQ2FzZSIsImdldFRleHRUb2tlbiIsInN0cmluZyIsInRyYW5zZm9ybVByb3BzVW5pdCIsInZhbHVlIiwiaXNFcXVhbCIsIm90aGVyIiwiaSIsImVsZW1lbnQiLCJ2YWx1ZUtleXMiLCJvdGhlcktleXMiLCJ1c2VHbG9iYWxJZCIsImNyZWF0ZUdsb2JhbFN0YXRlIiwiY291bnQiLCJyZWYiLCJjb3VudFZhbCIsInNldCIsImdlbmVyYXRlSWQiLCJwcmVmaXgiLCJuZXh0SWQiLCJyYW5kU2VlZCIsInNlZWRSYW5kIiwic2VlZCIsInJhbmQiLCJjcmVhdGVDb2xvciIsImgiLCJzIiwibCIsImNyZWF0ZUltYWdlRGF0YSIsInNpemUiLCJ3aWR0aCIsImhlaWdodCIsImRhdGFXaWR0aCIsIm1pcnJvcldpZHRoIiwieSIsInJvdyIsIngiLCJyIiwiYnVpbGRPcHRzIiwib3B0cyIsIm5ld09wdHMiLCJyZW5kZXJJY29uIiwiY2FudmFzIiwiaW1hZ2VEYXRhIiwiY2MiLCJpbWFnZURhdHVtIiwiY29sIiwiY3JlYXRlQmxvY2tpZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFNQSxVQUF1QixNQUFNO0FBQUEsRUFDakMsWUFBWUMsR0FBYztBQUN4QixVQUFNQSxLQUFPLGdCQUFnQixHQUM3QixLQUFLLE9BQU87QUFBQSxFQUNkO0FBQ0Y7QUFFTyxTQUFTQyxFQUFPQyxHQUFnQkYsR0FBaUM7QUFDdEUsTUFBSSxDQUFDRTtBQUNILFVBQU0sSUFBSUgsRUFBZUMsQ0FBRztBQUNoQztBQ1BPLFNBQVNHLEVBQWtCQyxHQUE0Q0MsR0FBOEM7QUFDMUgsUUFBTUMsSUFBeUJDLEVBQVMsTUFBTTtBQUM1QyxRQUFJQyxJQUFtQkMsRUFBSUwsQ0FBYTtBQUN4QyxXQUFJLE9BQU9JLEtBQXFCLGFBQzlCQSxJQUFtQixDQUFDQSxDQUFnQixJQUUvQkEsRUFBaUIsT0FBTyxDQUFBRSxNQUFRLENBQUMsQ0FBQ0EsQ0FBSTtBQUFBLEVBQy9DLENBQUMsR0FFS0MsSUFBMkJKLEVBQVMsTUFBTTtBQUM5QyxRQUFJSyxJQUFxQkgsRUFBSUosQ0FBZTtBQUM1QyxXQUFJLE9BQU9PLEtBQXVCLGFBQ2hDQSxJQUFxQixDQUFDQSxDQUFrQixJQUVuQ0EsRUFBbUIsT0FBTyxDQUFBRixNQUFRLENBQUMsQ0FBQ0EsQ0FBSTtBQUFBLEVBQ2pELENBQUMsR0FFS0csSUFBV04sRUFBUyxNQUFNRSxFQUFJSCxDQUFzQixFQUFFLFNBQVMsQ0FBQyxHQUVoRVEsSUFBYVAs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