@projectcor/maia-components 2.11.67-0 → 2.11.67-1

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 (74) hide show
  1. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
  2. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +2 -4
  3. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  4. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  5. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +6 -26
  6. package/lib/components/atoms/MAIAInput/MAIAInput.js +202 -40
  7. package/lib/components/atoms/MAIAInput/styles.js +64 -24
  8. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +4 -2
  9. package/lib/components/atoms/MAIAViz/MAIAViz.js +97 -0
  10. package/lib/components/atoms/MAIAViz/MAIAViz.parse.js +131 -0
  11. package/lib/components/atoms/MAIAViz/MAIAViz.skeleton.js +40 -0
  12. package/lib/components/atoms/MAIAViz/MAIAViz.styles.js +8 -0
  13. package/lib/components/atoms/MAIAViz/MAIAViz.types.js +49 -0
  14. package/lib/components/atoms/MAIAViz/MAIAVizBar.js +123 -0
  15. package/lib/components/atoms/MAIAViz/MAIAVizDonut.js +111 -0
  16. package/lib/components/atoms/MAIAViz/MAIAVizKpis.js +34 -0
  17. package/lib/components/atoms/MAIAViz/README.md +85 -0
  18. package/lib/components/atoms/MAIAViz/index.js +2 -0
  19. package/lib/components/atoms/icons/index.js +1 -3
  20. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -14
  21. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +12 -31
  22. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +4 -34
  23. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -2
  24. package/lib/components/molecules/ChatAIModal/constants.js +2 -6
  25. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  26. package/lib/components/molecules/Sidebar/Sidebar.js +4 -16
  27. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +1 -8
  28. package/lib/constants/config.js +1 -4
  29. package/lib/constants/permissions/index.js +2 -2
  30. package/lib/constants/permissions/utils.js +1 -4
  31. package/lib/context/global-context.js +1 -1
  32. package/lib/dev/DevContextMentionInput.js +3 -1
  33. package/lib/hooks/useChatManager/useChatManager.js +20 -7
  34. package/lib/hooks/useChatMessages/useChatMessages.js +2 -4
  35. package/lib/hooks/useContextMentions.js +15 -60
  36. package/lib/hooks/useEntitySearch.js +108 -294
  37. package/lib/hooks/useMentionAllowedTypes.js +10 -45
  38. package/lib/hooks/useMentionPopover.js +48 -54
  39. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +10 -7
  40. package/lib/hooks/useProjectSummaryConfig.js +32 -17
  41. package/lib/lang/br/index.js +11 -54
  42. package/lib/lang/en/index.js +11 -54
  43. package/lib/lang/es/index.js +11 -54
  44. package/lib/lang/fr/index.js +11 -54
  45. package/lib/services/maia/Agents/getAgents.js +8 -10
  46. package/lib/services/maia/Chats/getChatMessages.js +22 -4
  47. package/lib/services/maia/Orchestrator/orchestrator.js +9 -7
  48. package/lib/types/Chat.js +1 -1
  49. package/lib/types/Hitl.js +2 -0
  50. package/lib/types/contextMention.js +1 -1
  51. package/lib/utils/contextMentionIcons.js +1 -29
  52. package/lib/utils/maiaStreamdownRenderers.js +16 -0
  53. package/lib/utils/renderContextMentions.js +4 -9
  54. package/package.json +1 -1
  55. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  56. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
  57. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
  58. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
  59. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  60. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
  61. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  62. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  63. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
  64. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
  65. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  66. package/lib/services/maia/Skills/createSkill.js +0 -39
  67. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  68. package/lib/services/maia/Skills/generateSkill.js +0 -41
  69. package/lib/services/maia/Skills/getSkills.js +0 -90
  70. package/lib/services/maia/Skills/updateSkill.js +0 -39
  71. package/lib/types/skill.js +0 -2
  72. package/lib/utils/contextMentionTriggers.js +0 -53
  73. package/lib/utils/corConnectorMentionTypes.js +0 -37
  74. package/lib/utils/normalizeAgentConnectors.js +0 -32
@@ -89,7 +89,7 @@ export var SCMIAttachment = styled.div.withConfig({
89
89
  export var PlusMenuToolsRow = styled.div.withConfig({
90
90
  displayName: "styles__PlusMenuToolsRow",
91
91
  componentId: "sc-cs6u9w-9"
92
- })(["display:flex;align-items:center;gap:8px;"]);
92
+ })(["display:flex;align-items:center;gap:2px;"]);
93
93
  export var PlusToggleButton = styled.button.withConfig({
94
94
  displayName: "styles__PlusToggleButton",
95
95
  componentId: "sc-cs6u9w-10"
@@ -97,63 +97,103 @@ export var PlusToggleButton = styled.button.withConfig({
97
97
  var $menuOpen = _ref13.$menuOpen;
98
98
  return $menuOpen ? colors.background.secondary : colors.white.main;
99
99
  }, colors.background.secondary, BLUE_IA_COLORS[500]);
100
+ export var HitlModeButton = styled.button.withConfig({
101
+ displayName: "styles__HitlModeButton",
102
+ componentId: "sc-cs6u9w-11"
103
+ })(["display:flex;width:32px;height:32px;box-sizing:border-box;padding:0;align-items:center;justify-content:center;border:none;border-radius:8px;background:", ";color:", ";cursor:pointer;flex-shrink:0;&:hover{background:", ";}&:focus-visible{outline:2px solid ", ";outline-offset:2px;}"], function (_ref14) {
104
+ var $menuOpen = _ref14.$menuOpen;
105
+ return $menuOpen ? colors.background.secondary : colors.white.main;
106
+ }, function (_ref15) {
107
+ var $fullAccess = _ref15.$fullAccess;
108
+ return $fullAccess ? '#FF8A3D' : colors.text.primary;
109
+ }, colors.background.secondary, BLUE_IA_COLORS[500]);
110
+ export var HitlModeMenuPaper = styled.div.withConfig({
111
+ displayName: "styles__HitlModeMenuPaper",
112
+ componentId: "sc-cs6u9w-12"
113
+ })(["display:flex;flex-direction:column;width:300px;box-sizing:border-box;padding:10px 6px 6px;gap:3px;border-radius:8px;border:1px solid ", ";background:", ";box-shadow:0 4px 12px rgba(0,0,0,0.1),0 1px 4px rgba(0,0,0,0.06);"], colors.colors.gray.light, colors.white.main);
114
+ export var HitlModeMenuTitle = styled.div.withConfig({
115
+ displayName: "styles__HitlModeMenuTitle",
116
+ componentId: "sc-cs6u9w-13"
117
+ })(["padding:0 7px 5px;color:", ";font-size:13px;line-height:18px;"], colors.text.secondary);
118
+ export var HitlModeMenuItem = styled.button.withConfig({
119
+ displayName: "styles__HitlModeMenuItem",
120
+ componentId: "sc-cs6u9w-14"
121
+ })(["display:grid;width:100%;grid-template-columns:20px minmax(0,1fr) 16px;padding:8px 7px;align-items:start;gap:8px;border:none;border-radius:6px;background:", ";cursor:pointer;font-family:inherit;text-align:left;&:hover{background:", ";}&:focus-visible{outline:2px solid ", ";outline-offset:-2px;}"], function (_ref16) {
122
+ var $selected = _ref16.$selected;
123
+ return $selected ? colors.background.secondary : 'transparent';
124
+ }, colors.background.secondary, BLUE_IA_COLORS[500]);
125
+ export var HitlModeMenuDescription = styled.span.withConfig({
126
+ displayName: "styles__HitlModeMenuDescription",
127
+ componentId: "sc-cs6u9w-15"
128
+ })(["display:block;margin-top:2px;color:", ";font-size:11px;line-height:16px;"], colors.text.secondary);
129
+ var getHitlModeOptionLabelColor = function getHitlModeOptionLabelColor(_ref17) {
130
+ var $selected = _ref17.$selected,
131
+ $warning = _ref17.$warning;
132
+ if (!$selected) return colors.text.primary;
133
+ if ($warning) return '#FF8A3D';
134
+ return MAIA_CHAT_INPUT_UI.textBrandBold;
135
+ };
136
+ export var HitlModeOptionLabel = styled.span.withConfig({
137
+ displayName: "styles__HitlModeOptionLabel",
138
+ componentId: "sc-cs6u9w-16"
139
+ })(["flex:1;min-width:0;color:", ";font-size:14px;font-weight:400;line-height:20px;"], getHitlModeOptionLabelColor);
100
140
  export var PlusMenuPaper = styled.div.withConfig({
101
141
  displayName: "styles__PlusMenuPaper",
102
- componentId: "sc-cs6u9w-11"
142
+ componentId: "sc-cs6u9w-17"
103
143
  })(["display:flex;flex-direction:column;align-items:stretch;width:209px;box-sizing:border-box;padding:12px 8px;border-radius:4px;border:1px solid ", ";background:", ";box-shadow:0 1px 4px rgba(0,0,0,0.08),0 1px 4px rgba(0,0,0,0.04);"], colors.colors.gray.light, colors.white.main);
104
144
  export var PlusMenuInnerColumn = styled.div.withConfig({
105
145
  displayName: "styles__PlusMenuInnerColumn",
106
- componentId: "sc-cs6u9w-12"
146
+ componentId: "sc-cs6u9w-18"
107
147
  })(["display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;align-self:stretch;"]);
108
148
  export var PlusMenuDivider = styled.div.withConfig({
109
149
  displayName: "styles__PlusMenuDivider",
110
- componentId: "sc-cs6u9w-13"
150
+ componentId: "sc-cs6u9w-19"
111
151
  })(["width:170px;height:1px;background:", ";flex-shrink:0;"], colors.colors.gray.light);
112
152
  export var PlusMenuItemButton = styled.button.withConfig({
113
153
  displayName: "styles__PlusMenuItemButton",
114
- componentId: "sc-cs6u9w-14"
154
+ componentId: "sc-cs6u9w-20"
115
155
  })(["display:flex;width:100%;padding:8px;align-items:center;gap:8px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-family:inherit;text-align:left;box-sizing:border-box;&:hover{background:", ";}&:focus-visible{outline:2px solid ", ";outline-offset:-2px;}"], colors.background.secondary, BLUE_IA_COLORS[500]);
116
156
  export var PlusMenuItemLabel = styled.span.withConfig({
117
157
  displayName: "styles__PlusMenuItemLabel",
118
- componentId: "sc-cs6u9w-15"
119
- })(["flex:1;min-width:0;color:", ";font-size:14px;font-weight:400;line-height:20px;"], function (_ref14) {
120
- var $selected = _ref14.$selected;
158
+ componentId: "sc-cs6u9w-21"
159
+ })(["flex:1;min-width:0;color:", ";font-size:14px;font-weight:400;line-height:20px;"], function (_ref18) {
160
+ var $selected = _ref18.$selected;
121
161
  return $selected ? MAIA_CHAT_INPUT_UI.textBrandBold : colors.text.primary;
122
162
  });
123
163
  export var ActiveToolChipRoot = styled.div.withConfig({
124
164
  displayName: "styles__ActiveToolChipRoot",
125
- componentId: "sc-cs6u9w-16"
126
- })(["display:flex;max-width:144px;padding:4px 8px;align-items:center;gap:2px;box-sizing:border-box;cursor:default;border-radius:", ";background:", ";box-shadow:", ";transition:background-color 0.22s ease,border-radius 0.22s ease,box-shadow 0.22s ease;", ""], function (_ref15) {
127
- var $hovered = _ref15.$hovered;
165
+ componentId: "sc-cs6u9w-22"
166
+ })(["display:flex;max-width:144px;padding:4px 8px;align-items:center;gap:2px;box-sizing:border-box;cursor:default;border-radius:", ";background:", ";box-shadow:", ";transition:background-color 0.22s ease,border-radius 0.22s ease,box-shadow 0.22s ease;", ""], function (_ref19) {
167
+ var $hovered = _ref19.$hovered;
128
168
  return $hovered ? '16px' : '0';
129
- }, function (_ref16) {
130
- var $hovered = _ref16.$hovered;
169
+ }, function (_ref20) {
170
+ var $hovered = _ref20.$hovered;
131
171
  return $hovered ? MAIA_CHAT_INPUT_UI.chipSurfaceHover : 'transparent';
132
- }, function (_ref17) {
133
- var $hovered = _ref17.$hovered;
172
+ }, function (_ref21) {
173
+ var $hovered = _ref21.$hovered;
134
174
  return $hovered ? '0 1px 3px rgba(0, 0, 0, 0.07)' : 'none';
135
- }, function (_ref18) {
136
- var $exiting = _ref18.$exiting;
175
+ }, function (_ref22) {
176
+ var $exiting = _ref22.$exiting;
137
177
  return $exiting && css(["pointer-events:none;animation:", " 0.22s ease forwards;"], activeToolChipOut);
138
178
  });
139
179
  export var ActiveToolChipIconButton = styled.button.withConfig({
140
180
  displayName: "styles__ActiveToolChipIconButton",
141
- componentId: "sc-cs6u9w-17"
142
- })(["display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;transition:transform 0.2s ease;svg{display:block;}", " &:hover{transform:scale(1.06);}&:focus-visible{outline:2px solid ", ";outline-offset:1px;}"], function (_ref19) {
143
- var $closeShown = _ref19.$closeShown;
181
+ componentId: "sc-cs6u9w-23"
182
+ })(["display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;transition:transform 0.2s ease;svg{display:block;}", " &:hover{transform:scale(1.06);}&:focus-visible{outline:2px solid ", ";outline-offset:1px;}"], function (_ref23) {
183
+ var $closeShown = _ref23.$closeShown;
144
184
  return $closeShown && css(["svg{animation:", " 0.24s ease forwards;}"], activeToolChipCloseIconIn);
145
185
  }, BLUE_IA_COLORS[500]);
146
186
  export var ActiveToolChipLabel = styled.span.withConfig({
147
187
  displayName: "styles__ActiveToolChipLabel",
148
- componentId: "sc-cs6u9w-18"
188
+ componentId: "sc-cs6u9w-24"
149
189
  })(["color:", ";font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;user-select:none;"], colors.text.primary);
150
190
  var stopPulse = keyframes(["0%,100%{transform:scale(1);}50%{transform:scale(0.9);}"]);
151
191
  export var StyledMAIAStopIcon = styled.div.withConfig({
152
192
  displayName: "styles__StyledMAIAStopIcon",
153
- componentId: "sc-cs6u9w-19"
193
+ componentId: "sc-cs6u9w-25"
154
194
  })(["width:13px;height:13px;background-color:#8c8c8c;border-radius:2px;animation:", " 1.6s ease-in-out infinite;"], stopPulse);
155
195
  export var StyledMAIAStopButton = styled.button.withConfig({
156
196
  displayName: "styles__StyledMAIAStopButton",
157
- componentId: "sc-cs6u9w-20"
197
+ componentId: "sc-cs6u9w-26"
158
198
  })(["background:none;border:none;padding:0;font:inherit;background-color:#f2f2f2 !important;height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;&:hover{background-color:", " !important;", "{background-color:", " !important;}}&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;opacity:0.6;}"], BLUE_IA_COLORS[50], StyledMAIAStopIcon, BLUE_IA_COLORS[500]);
159
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsImZsb3ciLCJhY3RpdmVUb29sQ2hpcENsb3NlSWNvbkluIiwiYWN0aXZlVG9vbENoaXBPdXQiLCJjdXN0b21JbnB1dFN0eWxlcyIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJkaXNhYmxlZCIsIl9yZWYyIiwiYWxpZ25CdXR0b25zIiwidGV4dCIsIl9yZWYzIiwiaGFzQXR0YWNobWVudHMiLCJTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkIiwiX3JlZjQiLCIkY29tcGFjdFJvdyIsIlN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwiLCJfcmVmNSIsIl9yZWY2IiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIl9yZWY3IiwiX3JlZjgiLCJTdHlsZWRNQUlBSW5wdXQiLCJ0ZXh0YXJlYSIsInNlY29uZGFyeSIsIl9yZWY5IiwiJHRvb2xiYXJMYXlvdXRWYXJpYW50IiwiX3JlZjAiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIl9yZWYxIiwiaGFzVmFsdWVzIiwiY29uY2F0IiwiX3JlZjEwIiwiX3JlZjExIiwiU0NNSVdyYXBwZXJBdHRhY2htZW50cyIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlNDTUlBdHRhY2htZW50IiwiX3JlZjEyIiwiaXNJbWFnZSIsIlBsdXNNZW51VG9vbHNSb3ciLCJQbHVzVG9nZ2xlQnV0dG9uIiwiYnV0dG9uIiwiX3JlZjEzIiwiJG1lbnVPcGVuIiwiYmFja2dyb3VuZCIsIndoaXRlIiwibWFpbiIsIlBsdXNNZW51UGFwZXIiLCJncmF5IiwibGlnaHQiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVEaXZpZGVyIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJzcGFuIiwiX3JlZjE0IiwiJHNlbGVjdGVkIiwidGV4dEJyYW5kQm9sZCIsInByaW1hcnkiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJfcmVmMTUiLCIkaG92ZXJlZCIsIl9yZWYxNiIsImNoaXBTdXJmYWNlSG92ZXIiLCJfcmVmMTciLCJfcmVmMTgiLCIkZXhpdGluZyIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIl9yZWYxOSIsIiRjbG9zZVNob3duIiwiQWN0aXZlVG9vbENoaXBMYWJlbCIsInN0b3BQdWxzZSIsIlN0eWxlZE1BSUFTdG9wSWNvbiIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQUlucHV0L3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG5pbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCB7IEJMVUVfSUFfQ09MT1JTLCBNQUlBX0NIQVRfSU5QVVRfVUkgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgc2Nyb2xsYWJsZVN0eWxlcyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zaGFyZWQvc2Nyb2xsYWJsZSdcbmltcG9ydCB7IENsZWFyQnV0dG9uIH0gZnJvbSAnLi4vQ2xlYXJCdXR0b24nXG5cbmV4cG9ydCBjb25zdCBmbG93ID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMTAwJSA1MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgyKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwT3V0ID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTIpIHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxuYFxuXG5jb25zdCBjdXN0b21JbnB1dFN0eWxlcyA9IGNzc2BcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM0ZDM1NjkgMCUsICM4NzQwYmYgNTkuNjIlLCAjMmQ3N2JkIDEwMCUpIGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6XG4gICAgMTAwJSAxMDAlLFxuICAgIDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiAke2Zsb3d9IDNzIGVhc2UgaW5maW5pdGU7XG4gIGJveC1zaGFkb3c6XG4gICAgM3B4IDRweCAxNHB4IDAgcmdiYSgxMzUsIDY0LCAxOTEsIDAuMTUpLFxuICAgIC0zcHggLTRweCAxNHB4IDAgcmdiYSg0NSwgMTE5LCAxODksIDAuMTUpO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0V3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICAvKiogRXN0YWRvIGluaWNpYWw6IHRvb2xiYXIgZW4gdW5hIHNvbGEgbMOtbmVhIHNpbiBhZGp1bnRvcyBuaSB0b29scyBkZWwgKyBuaSBtdWx0aWxpbmUgKi9cbiAgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXI/OiBib29sZWFuXG59PmBcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBwYWRkaW5nOiAxMnB4O1xuICBjdXJzb3I6ICR7KHsgZGlzYWJsZWQgfSkgPT4gKGRpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdhdXRvJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiBVbiBzb2xvIGZsb29yIGNvbXBhY3Qvc3RhY2tlZCBwYXJhIHF1ZSBhbCBwYXNhciBhIG11bHRpbGluZSBubyBjYW1iaWUgZWwgbWluLWhlaWdodCBkZWwgY29udGVuZWRvciBkZSBnb2xwZSAqL1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBnYXA6ICR7KHsgYWxpZ25CdXR0b25zIH0pID0+IChhbGlnbkJ1dHRvbnMgPT09ICd2ZXJ0aWNhbCcgPyAnOHB4JyA6ICcwJyl9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9O1xuICBib3gtc2hhZG93OiBub25lO1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICB9XG5cbiAgJHsoeyBoYXNBdHRhY2htZW50cyB9KSA9PlxuICAgIGhhc0F0dGFjaG1lbnRzICYmXG4gICAgY3NzYFxuICAgICAgJHtjdXN0b21JbnB1dFN0eWxlc31cbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCA9IHN0eWxlZC5kaXY8eyAkY29tcGFjdFJvdzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJHsoeyAkY29tcGFjdFJvdyB9KSA9PlxuICAgICRjb21wYWN0Um93XG4gICAgICA/IGNzc2BcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDhweDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgICAgICBgXG4gICAgICA6IGNzc2BcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgcm93LWdhcDogOHB4O1xuICAgICAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXY8eyAkY29tcGFjdFJvdzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG5cbiAgJHsoeyAkY29tcGFjdFJvdyB9KSA9PlxuICAgICEkY29tcGFjdFJvdyAmJlxuICAgIGNzc2BcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgIGB9XG5cbiAgJHsoeyAkY29tcGFjdFJvdyB9KSA9PlxuICAgICRjb21wYWN0Um93ICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwgPSBzdHlsZWQuZGl2PHsgJGNvbXBhY3RSb3c6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdyaWQtY29sdW1uOiAzO1xuICBqdXN0aWZ5LXNlbGY6IGVuZDtcblxuICAkeyh7ICRjb21wYWN0Um93IH0pID0+XG4gICAgISRjb21wYWN0Um93ICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgYH1cblxuICAkeyh7ICRjb21wYWN0Um93IH0pID0+XG4gICAgJGNvbXBhY3RSb3cgJiZcbiAgICBjc3NgXG4gICAgICBncmlkLXJvdzogMTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0ID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgYWxpZ25CdXR0b25zPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xuICAkdG9vbGJhckxheW91dFZhcmlhbnQ/OiAnY29tcGFjdFJvdycgfCAnc3RhY2tlZFJvd3MnXG59PmBcbiAgJHtzY3JvbGxhYmxlU3R5bGVzfVxuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAwO1xuICByZXNpemU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgbWF4LWhlaWdodDogMTIwcHg7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQuc2Vjb25kYXJ5fTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAkeyh7ICR0b29sYmFyTGF5b3V0VmFyaWFudCB9KSA9PlxuICAgICR0b29sYmFyTGF5b3V0VmFyaWFudCA9PT0gJ2NvbXBhY3RSb3cnICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gICAgICB9XG4gICAgYH1cblxuICAkeyh7ICR0b29sYmFyTGF5b3V0VmFyaWFudCB9KSA9PlxuICAgICR0b29sYmFyTGF5b3V0VmFyaWFudCA9PT0gJ3N0YWNrZWRSb3dzJyAmJlxuICAgIGNzc2BcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kQnV0dG9uID0gc3R5bGVkKENsZWFyQnV0dG9uKTx7IGhhc1ZhbHVlcz86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaGFzVmFsdWVzIH0pID0+IChoYXNWYWx1ZXMgPyBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWAgOiAnI2YyZjJmMicpfTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICBoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZyAqIHtcbiAgICAgICAgICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s3MDBdfSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICBzdmcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgIGcgKiB7XG4gICAgICAgIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcblxuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICAhaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIHN2ZyAqIHtcbiAgICAgICAgICBmaWxsOiAke2NvbG9ycy50ZXh0LmRpc2FibGVkfSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJBdHRhY2htZW50cyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudERlbGV0ZUljb24gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBzdmcgKjpub3QoLm5vLWZpbGwpIHtcbiAgICAgIGZpbGw6ICM2NjY2NjYgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50ID0gc3R5bGVkLmRpdjx7IGlzSW1hZ2U/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTEsIDE5MSwgMTkxLCAxKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTNweDtcbiAgJHsoeyBpc0ltYWdlIH0pID0+XG4gICAgaXNJbWFnZSAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIGB9XG5cbiAgJjpob3ZlciB7XG4gICAgJHtTQ01JQXR0YWNobWVudERlbGV0ZUljb259IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudVRvb2xzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzVG9nZ2xlQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICRtZW51T3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRtZW51T3BlbiB9KSA9PiAoJG1lbnVPcGVuID8gY29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5IDogY29sb3JzLndoaXRlLm1haW4pfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke2NvbG9ycy5iYWNrZ3JvdW5kLnNlY29uZGFyeX07XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51UGFwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDIwOXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9ycy5jb2xvcnMuZ3JheS5saWdodH07XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLndoaXRlLm1haW59O1xuICBib3gtc2hhZG93OlxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJbm5lckNvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51RGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxNzBweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLmNvbG9ycy5ncmF5LmxpZ2h0fTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUl0ZW1CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7Y29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51SXRlbUxhYmVsID0gc3R5bGVkLnNwYW48eyAkc2VsZWN0ZWQ6IGJvb2xlYW4gfT5gXG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgY29sb3I6ICR7KHsgJHNlbGVjdGVkIH0pID0+ICgkc2VsZWN0ZWQgPyBNQUlBX0NIQVRfSU5QVVRfVUkudGV4dEJyYW5kQm9sZCA6IGNvbG9ycy50ZXh0LnByaW1hcnkpfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwUm9vdCA9IHN0eWxlZC5kaXY8eyAkaG92ZXJlZDogYm9vbGVhbjsgJGV4aXRpbmc6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTQ0cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gJzE2cHgnIDogJzAnKX07XG4gIGJhY2tncm91bmQ6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gTUFJQV9DSEFUX0lOUFVUX1VJLmNoaXBTdXJmYWNlSG92ZXIgOiAndHJhbnNwYXJlbnQnKX07XG4gIGJveC1zaGFkb3c6ICR7KHsgJGhvdmVyZWQgfSkgPT4gKCRob3ZlcmVkID8gJzAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDcpJyA6ICdub25lJyl9O1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4yMnMgZWFzZSxcbiAgICBib3JkZXItcmFkaXVzIDAuMjJzIGVhc2UsXG4gICAgYm94LXNoYWRvdyAwLjIycyBlYXNlO1xuXG4gICR7KHsgJGV4aXRpbmcgfSkgPT5cbiAgICAkZXhpdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgYW5pbWF0aW9uOiAke2FjdGl2ZVRvb2xDaGlwT3V0fSAwLjIycyBlYXNlIGZvcndhcmRzO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBBY3RpdmVUb29sQ2hpcEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGNsb3NlU2hvd246IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAkeyh7ICRjbG9zZVNob3duIH0pID0+XG4gICAgJGNsb3NlU2hvd24gJiZcbiAgICBjc3NgXG4gICAgICBzdmcge1xuICAgICAgICBhbmltYXRpb246ICR7YWN0aXZlVG9vbENoaXBDbG9zZUljb25Jbn0gMC4yNHMgZWFzZSBmb3J3YXJkcztcbiAgICAgIH1cbiAgICBgfVxuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuYFxuY29uc3Qgc3RvcFB1bHNlID0ga2V5ZnJhbWVzYFxuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YzhjOGM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYW5pbWF0aW9uOiAke3N0b3BQdWxzZX0gMS42cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbmBcbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU3RvcEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MF19ICFpbXBvcnRhbnQ7XG5cbiAgICAke1N0eWxlZE1BSUFTdG9wSWNvbn0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsU0FBU0MsY0FBYyxFQUFFQyxrQkFBa0IsUUFBUSx3QkFBd0I7QUFDM0UsU0FBU0MsZ0JBQWdCLFFBQVEsbUNBQW1DO0FBQ3BFLFNBQVNDLFdBQVcsUUFBUSxnQkFBZ0I7QUFFNUMsT0FBTyxJQUFNQyxJQUFJLEdBQUdOLFNBQVMsMEhBZ0I1QjtBQUVELElBQU1PLHlCQUF5QixHQUFHUCxTQUFTLGdGQVMxQztBQUVELElBQU1RLGlCQUFpQixHQUFHUixTQUFTLDJHQVNsQztBQUVELElBQU1TLGlCQUFpQixHQUFHVixHQUFHLHlVQVNkTyxJQUFJLENBSWxCO0FBRUQsT0FBTyxJQUFNSSxzQkFBc0IsR0FBR1osTUFBTSxDQUFDYSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc1FBY3BDLFVBQUFDLElBQUE7RUFBQSxJQUFHQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRyxhQUFhLEdBQUcsTUFBTTtBQUFBLENBQUMsRUFJeEQsVUFBQUMsS0FBQTtFQUFBLElBQUdDLFlBQVksR0FBQUQsS0FBQSxDQUFaQyxZQUFZO0VB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
199
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsImZsb3ciLCJhY3RpdmVUb29sQ2hpcENsb3NlSWNvbkluIiwiYWN0aXZlVG9vbENoaXBPdXQiLCJjdXN0b21JbnB1dFN0eWxlcyIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJkaXNhYmxlZCIsIl9yZWYyIiwiYWxpZ25CdXR0b25zIiwidGV4dCIsIl9yZWYzIiwiaGFzQXR0YWNobWVudHMiLCJTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkIiwiX3JlZjQiLCIkY29tcGFjdFJvdyIsIlN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwiLCJfcmVmNSIsIl9yZWY2IiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIl9yZWY3IiwiX3JlZjgiLCJTdHlsZWRNQUlBSW5wdXQiLCJ0ZXh0YXJlYSIsInNlY29uZGFyeSIsIl9yZWY5IiwiJHRvb2xiYXJMYXlvdXRWYXJpYW50IiwiX3JlZjAiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIl9yZWYxIiwiaGFzVmFsdWVzIiwiY29uY2F0IiwiX3JlZjEwIiwiX3JlZjExIiwiU0NNSVdyYXBwZXJBdHRhY2htZW50cyIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlNDTUlBdHRhY2htZW50IiwiX3JlZjEyIiwiaXNJbWFnZSIsIlBsdXNNZW51VG9vbHNSb3ciLCJQbHVzVG9nZ2xlQnV0dG9uIiwiYnV0dG9uIiwiX3JlZjEzIiwiJG1lbnVPcGVuIiwiYmFja2dyb3VuZCIsIndoaXRlIiwibWFpbiIsIkhpdGxNb2RlQnV0dG9uIiwiX3JlZjE0IiwiX3JlZjE1IiwiJGZ1bGxBY2Nlc3MiLCJwcmltYXJ5IiwiSGl0bE1vZGVNZW51UGFwZXIiLCJncmF5IiwibGlnaHQiLCJIaXRsTW9kZU1lbnVUaXRsZSIsIkhpdGxNb2RlTWVudUl0ZW0iLCJfcmVmMTYiLCIkc2VsZWN0ZWQiLCJIaXRsTW9kZU1lbnVEZXNjcmlwdGlvbiIsInNwYW4iLCJnZXRIaXRsTW9kZU9wdGlvbkxhYmVsQ29sb3IiLCJfcmVmMTciLCIkd2FybmluZyIsInRleHRCcmFuZEJvbGQiLCJIaXRsTW9kZU9wdGlvbkxhYmVsIiwiUGx1c01lbnVQYXBlciIsIlBsdXNNZW51SW5uZXJDb2x1bW4iLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUl0ZW1CdXR0b24iLCJQbHVzTWVudUl0ZW1MYWJlbCIsIl9yZWYxOCIsIkFjdGl2ZVRvb2xDaGlwUm9vdCIsIl9yZWYxOSIsIiRob3ZlcmVkIiwiX3JlZjIwIiwiY2hpcFN1cmZhY2VIb3ZlciIsIl9yZWYyMSIsIl9yZWYyMiIsIiRleGl0aW5nIiwiQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uIiwiX3JlZjIzIiwiJGNsb3NlU2hvd24iLCJBY3RpdmVUb29sQ2hpcExhYmVsIiwic3RvcFB1bHNlIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCBzdHlsZWQsIHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMsIE1BSUFfQ0hBVF9JTlBVVF9VSSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQgeyBzY3JvbGxhYmxlU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3NoYXJlZC9zY3JvbGxhYmxlJ1xuaW1wb3J0IHsgQ2xlYXJCdXR0b24gfSBmcm9tICcuLi9DbGVhckJ1dHRvbidcblxuZXhwb3J0IGNvbnN0IGZsb3cgPSBrZXlmcmFtZXNgXG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAwJSA1MCU7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAxMDAlIDUwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAwJSA1MCU7XG4gIH1cbmBcblxuY29uc3QgYWN0aXZlVG9vbENoaXBDbG9zZUljb25JbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODIpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbmBcblxuY29uc3QgYWN0aXZlVG9vbENoaXBPdXQgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45MikgdHJhbnNsYXRlWSgzcHgpO1xuICB9XG5gXG5cbmNvbnN0IGN1c3RvbUlucHV0U3R5bGVzID0gY3NzYFxuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUpIHBhZGRpbmctYm94LFxuICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzRkMzU2OSAwJSwgIzg3NDBiZiA1OS42MiUsICMyZDc3YmQgMTAwJSkgYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTpcbiAgICAxMDAlIDEwMCUsXG4gICAgMjAwJSAxMDAlO1xuICBhbmltYXRpb246ICR7Zmxvd30gM3MgZWFzZSBpbmZpbml0ZTtcbiAgYm94LXNoYWRvdzpcbiAgICAzcHggNHB4IDE0cHggMCByZ2JhKDEzNSwgNjQsIDE5MSwgMC4xNSksXG4gICAgLTNweCAtNHB4IDE0cHggMCByZ2JhKDQ1LCAxMTksIDE4OSwgMC4xNSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdjx7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBhbGlnbkJ1dHRvbnM/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnXG4gIGhhc0F0dGFjaG1lbnRzOiBib29sZWFuXG4gIC8qKiBFc3RhZG8gaW5pY2lhbDogdG9vbGJhciBlbiB1bmEgc29sYSBsw61uZWEgc2luIGFkanVudG9zIG5pIHRvb2xzIGRlbCArIG5pIG11bHRpbGluZSAqL1xuICBjb21wYWN0U2luZ2xlUm93VG9vbGJhcj86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB0cmFuc2l0aW9uOlxuICAgIGJvcmRlci1jb2xvciAwLjJzIGVhc2UsXG4gICAgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGN1cnNvcjogJHsoeyBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ2F1dG8nKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIFVuIHNvbG8gZmxvb3IgY29tcGFjdC9zdGFja2VkIHBhcmEgcXVlIGFsIHBhc2FyIGEgbXVsdGlsaW5lIG5vIGNhbWJpZSBlbCBtaW4taGVpZ2h0IGRlbCBjb250ZW5lZG9yIGRlIGdvbHBlICovXG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGdhcDogJHsoeyBhbGlnbkJ1dHRvbnMgfSkgPT4gKGFsaWduQnV0dG9ucyA9PT0gJ3ZlcnRpY2FsJyA/ICc4cHgnIDogJzAnKX07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvcnMudGV4dC5kaXNhYmxlZH07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gIH1cblxuICAkeyh7IGhhc0F0dGFjaG1lbnRzIH0pID0+XG4gICAgaGFzQXR0YWNobWVudHMgJiZcbiAgICBjc3NgXG4gICAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBTWFpblRvb2xiYXJHcmlkID0gc3R5bGVkLmRpdjx7ICRjb21wYWN0Um93OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBncmlkO1xuICB3aWR0aDogMTAwJTtcblxuICAkeyh7ICRjb21wYWN0Um93IH0pID0+XG4gICAgJGNvbXBhY3RSb3dcbiAgICAgID8gY3NzYFxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgY29sdW1uLWdhcDogOHB4O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGBcbiAgICAgIDogY3NzYFxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICByb3ctZ2FwOiA4cHg7XG4gICAgICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsID0gc3R5bGVkLmRpdjx7ICRjb21wYWN0Um93OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBncmlkLWNvbHVtbjogMTtcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcblxuICAkeyh7ICRjb21wYWN0Um93IH0pID0+XG4gICAgISRjb21wYWN0Um93ICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgYH1cblxuICAkeyh7ICRjb21wYWN0Um93IH0pID0+XG4gICAgJGNvbXBhY3RSb3cgJiZcbiAgICBjc3NgXG4gICAgICBncmlkLXJvdzogMTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXY8eyAkY29tcGFjdFJvdzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW46IDM7XG4gIGp1c3RpZnktc2VsZjogZW5kO1xuXG4gICR7KHsgJGNvbXBhY3RSb3cgfSkgPT5cbiAgICAhJGNvbXBhY3RSb3cgJiZcbiAgICBjc3NgXG4gICAgICBncmlkLXJvdzogMjtcbiAgICBgfVxuXG4gICR7KHsgJGNvbXBhY3RSb3cgfSkgPT5cbiAgICAkY29tcGFjdFJvdyAmJlxuICAgIGNzc2BcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBSW5wdXQgPSBzdHlsZWQudGV4dGFyZWE8e1xuICBhbGlnbkJ1dHRvbnM/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnXG4gICR0b29sYmFyTGF5b3V0VmFyaWFudD86ICdjb21wYWN0Um93JyB8ICdzdGFja2VkUm93cydcbn0+YFxuICAke3Njcm9sbGFibGVTdHlsZXN9XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHJlc2l6ZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gICR7KHsgJHRvb2xiYXJMYXlvdXRWYXJpYW50IH0pID0+XG4gICAgJHRvb2xiYXJMYXlvdXRWYXJpYW50ID09PSAnY29tcGFjdFJvdycgJiZcbiAgICBjc3NgXG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgICAgIH1cbiAgICBgfVxuXG4gICR7KHsgJHRvb2xiYXJMYXlvdXRWYXJpYW50IH0pID0+XG4gICAgJHRvb2xiYXJMYXlvdXRWYXJpYW50ID09PSAnc3RhY2tlZFJvd3MnICYmXG4gICAgY3NzYFxuICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgICAgIH1cbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRCdXR0b24gPSBzdHlsZWQoQ2xlYXJCdXR0b24pPHsgaGFzVmFsdWVzPzogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBoYXNWYWx1ZXMgfSkgPT4gKGhhc1ZhbHVlcyA/IGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YCA6ICcjZjJmMmYyJyl9O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgIGhhc1ZhbHVlcyAmJlxuICAgICAgY3NzYFxuICAgICAgICBnICoge1xuICAgICAgICAgIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzcwMF19ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgZyAqIHtcbiAgICAgICAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuXG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgICFoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgc3ZnICoge1xuICAgICAgICAgIGZpbGw6ICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckF0dGFjaG1lbnRzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIHN2ZyAqOm5vdCgubm8tZmlsbCkge1xuICAgICAgZmlsbDogIzY2NjY2NiAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnQgPSBzdHlsZWQuZGl2PHsgaXNJbWFnZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5MSwgMTkxLCAxOTEsIDEpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxM3B4O1xuICAkeyh7IGlzSW1hZ2UgfSkgPT5cbiAgICBpc0ltYWdlICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgYH1cblxuICAmOmhvdmVyIHtcbiAgICAke1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbn0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51VG9vbHNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNUb2dnbGVCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJG1lbnVPcGVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgJG1lbnVPcGVuIH0pID0+ICgkbWVudU9wZW4gPyBjb2xvcnMuYmFja2dyb3VuZC5zZWNvbmRhcnkgOiBjb2xvcnMud2hpdGUubWFpbil9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7Y29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgSGl0bE1vZGVCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJG1lbnVPcGVuOiBib29sZWFuOyAkZnVsbEFjY2VzczogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRtZW51T3BlbiB9KSA9PiAoJG1lbnVPcGVuID8gY29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5IDogY29sb3JzLndoaXRlLm1haW4pfTtcbiAgY29sb3I6ICR7KHsgJGZ1bGxBY2Nlc3MgfSkgPT4gKCRmdWxsQWNjZXNzID8gJyNGRjhBM0QnIDogY29sb3JzLnRleHQucHJpbWFyeSl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7Y29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgSGl0bE1vZGVNZW51UGFwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMzAwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEwcHggNnB4IDZweDtcbiAgZ2FwOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvcnMuY29sb3JzLmdyYXkubGlnaHR9O1xuICBiYWNrZ3JvdW5kOiAke2NvbG9ycy53aGl0ZS5tYWlufTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbmBcblxuZXhwb3J0IGNvbnN0IEhpdGxNb2RlTWVudVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMCA3cHggNXB4O1xuICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuYFxuXG5leHBvcnQgY29uc3QgSGl0bE1vZGVNZW51SXRlbSA9IHN0eWxlZC5idXR0b248eyAkc2VsZWN0ZWQ6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggbWlubWF4KDAsIDFmcikgMTZweDtcbiAgcGFkZGluZzogOHB4IDdweDtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBnYXA6IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgJHNlbGVjdGVkIH0pID0+ICgkc2VsZWN0ZWQgPyBjb2xvcnMuYmFja2dyb3VuZC5zZWNvbmRhcnkgOiAndHJhbnNwYXJlbnQnKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYmFja2dyb3VuZC5zZWNvbmRhcnl9O1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgSGl0bE1vZGVNZW51RGVzY3JpcHRpb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgY29sb3I6ICR7Y29sb3JzLnRleHQuc2Vjb25kYXJ5fTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbmBcblxuY29uc3QgZ2V0SGl0bE1vZGVPcHRpb25MYWJlbENvbG9yID0gKHsgJHNlbGVjdGVkLCAkd2FybmluZyB9OiB7ICRzZWxlY3RlZDogYm9vbGVhbjsgJHdhcm5pbmc/OiBib29sZWFuIH0pID0+IHtcbiAgaWYgKCEkc2VsZWN0ZWQpIHJldHVybiBjb2xvcnMudGV4dC5wcmltYXJ5XG4gIGlmICgkd2FybmluZykgcmV0dXJuICcjRkY4QTNEJ1xuICByZXR1cm4gTUFJQV9DSEFUX0lOUFVUX1VJLnRleHRCcmFuZEJvbGRcbn1cblxuZXhwb3J0IGNvbnN0IEhpdGxNb2RlT3B0aW9uTGFiZWwgPSBzdHlsZWQuc3Bhbjx7ICRzZWxlY3RlZDogYm9vbGVhbjsgJHdhcm5pbmc/OiBib29sZWFuIH0+YFxuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGNvbG9yOiAke2dldEhpdGxNb2RlT3B0aW9uTGFiZWxDb2xvcn07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudVBhcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAyMDlweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMTJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvcnMuY29sb3JzLmdyYXkubGlnaHR9O1xuICBiYWNrZ3JvdW5kOiAke2NvbG9ycy53aGl0ZS5tYWlufTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA4KSxcbiAgICAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51SW5uZXJDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudURpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTcwcHg7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAke2NvbG9ycy5jb2xvcnMuZ3JheS5saWdodH07XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJdGVtQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke2NvbG9ycy5iYWNrZ3JvdW5kLnNlY29uZGFyeX07XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUl0ZW1MYWJlbCA9IHN0eWxlZC5zcGFuPHsgJHNlbGVjdGVkOiBib29sZWFuIH0+YFxuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGNvbG9yOiAkeyh7ICRzZWxlY3RlZCB9KSA9PiAoJHNlbGVjdGVkID8gTUFJQV9DSEFUX0lOUFVUX1VJLnRleHRCcmFuZEJvbGQgOiBjb2xvcnMudGV4dC5wcmltYXJ5KX07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBBY3RpdmVUb29sQ2hpcFJvb3QgPSBzdHlsZWQuZGl2PHsgJGhvdmVyZWQ6IGJvb2xlYW47ICRleGl0aW5nOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDE0NHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAkeyh7ICRob3ZlcmVkIH0pID0+ICgkaG92ZXJlZCA/ICcxNnB4JyA6ICcwJyl9O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRob3ZlcmVkIH0pID0+ICgkaG92ZXJlZCA/IE1BSUFfQ0hBVF9JTlBVVF9VSS5jaGlwU3VyZmFjZUhvdmVyIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBib3gtc2hhZG93OiAkeyh7ICRob3ZlcmVkIH0pID0+ICgkaG92ZXJlZCA/ICcwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA3KScgOiAnbm9uZScpfTtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjJzIGVhc2UsXG4gICAgYm9yZGVyLXJhZGl1cyAwLjIycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4yMnMgZWFzZTtcblxuICAkeyh7ICRleGl0aW5nIH0pID0+XG4gICAgJGV4aXRpbmcgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGFuaW1hdGlvbjogJHthY3RpdmVUb29sQ2hpcE91dH0gMC4yMnMgZWFzZSBmb3J3YXJkcztcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICRjbG9zZVNob3duOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJHsoeyAkY2xvc2VTaG93biB9KSA9PlxuICAgICRjbG9zZVNob3duICYmXG4gICAgY3NzYFxuICAgICAgc3ZnIHtcbiAgICAgICAgYW5pbWF0aW9uOiAke2FjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW59IDAuMjRzIGVhc2UgZm9yd2FyZHM7XG4gICAgICB9XG4gICAgYH1cblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBBY3RpdmVUb29sQ2hpcExhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0LnByaW1hcnl9O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbmBcbmNvbnN0IHN0b3BQdWxzZSA9IGtleWZyYW1lc2BcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbmBcbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU3RvcEljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGM4YzhjO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGFuaW1hdGlvbjogJHtzdG9wUHVsc2V9IDEuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5gXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVN0b3BCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNTBdfSAhaW1wb3J0YW50O1xuXG4gICAgJHtTdHlsZWRNQUlBU3RvcEljb259IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNTAwXX0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUMxRCxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBQ3RELFNBQVNDLGNBQWMsRUFBRUMsa0JBQWtCLFFBQVEsd0JBQXdCO0FBQzNFLFNBQVNDLGdCQUFnQixRQUFRLG1DQUFtQztBQUNwRSxTQUFTQyxXQUFXLFFBQVEsZ0JBQWdCO0FBRTVDLE9BQU8sSUFBTUMsSUFBSSxHQUFHTixTQUFTLDBIQWdCNUI7QUFFRCxJQUFNTyx5QkFBeUIsR0FBR1AsU0FBUyxnRkFTMUM7QUFFRCxJQUFNUSxpQkFBaUIsR0FBR1IsU0FBUywyR0FTbEM7QUFFRCxJQUFNUyxpQkFBaUIsR0FBR1YsR0FBRyx5VUFTZE8sSUFBSSxDQUlsQjtBQUVELE9BQU8sSUFBTUksc0JBQXNCLEdBQUdaLE1BQU0sQ0FBQ2EsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHNRQWNwQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUcsYUFBYSxHQUFHLE1BQU07QUFBQSxDQUFDLEVBSXhELFVBQUFDLEtBQUE7RUFBQSxJQUFHQyxZQUFZLEdBQUFELEtBQUEsQ0FBWkMsWUFBWTtFQUFBLE9BQVFBLFlBQVksS0FBSyxVQUFVLEdBQUcsS0FBSyxHQUFHLEdB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
@@ -1,5 +1,6 @@
1
1
  import { Streamdown } from 'streamdown';
2
2
  import { createCodePlugin } from '@streamdown/code';
3
+ import { MAIA_STREAMDOWN_RENDERERS } from '../../../utils/maiaStreamdownRenderers';
3
4
  import { StyledMAIAMessage } from './styles';
4
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
6
  var code = createCodePlugin({
@@ -18,7 +19,8 @@ export var MAIAMessage = function MAIAMessage(_ref) {
18
19
  children: [/*#__PURE__*/_jsx(Streamdown, {
19
20
  isAnimating: isAnimating,
20
21
  plugins: {
21
- code: code
22
+ code: code,
23
+ renderers: MAIA_STREAMDOWN_RENDERERS
22
24
  },
23
25
  shikiTheme: ['github-light', 'github-light'],
24
26
  linkSafety: {
@@ -33,4 +35,4 @@ export var MAIAMessage = function MAIAMessage(_ref) {
33
35
  })]
34
36
  });
35
37
  };
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdHJlYW1kb3duIiwiY3JlYXRlQ29kZVBsdWdpbiIsIlN0eWxlZE1BSUFNZXNzYWdlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImNvZGUiLCJ0aGVtZXMiLCJNQUlBTWVzc2FnZSIsIl9yZWYiLCJtZXNzYWdlIiwiY2xhc3NOYW1lIiwiaWNvbiIsIm1lc3NhZ2VFeHRyYUNvbnRlbnQiLCJpc0FuaW1hdGluZyIsImNoaWxkcmVuIiwicGx1Z2lucyIsInNoaWtpVGhlbWUiLCJsaW5rU2FmZXR5IiwiZW5hYmxlZCIsImNvbnRyb2xzIiwidGFibGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBTWVzc2FnZS9NQUlBTWVzc2FnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RyZWFtZG93biB9IGZyb20gJ3N0cmVhbWRvd24nXG5pbXBvcnQgeyBjcmVhdGVDb2RlUGx1Z2luIH0gZnJvbSAnQHN0cmVhbWRvd24vY29kZSdcblxuaW1wb3J0IHsgTUFJQU1lc3NhZ2VQcm9wcyB9IGZyb20gJy4vTUFJQU1lc3NhZ2UuaW50ZXJmYWNlcydcbmltcG9ydCB7IFN0eWxlZE1BSUFNZXNzYWdlIH0gZnJvbSAnLi9zdHlsZXMnXG5cbmNvbnN0IGNvZGUgPSBjcmVhdGVDb2RlUGx1Z2luKHsgdGhlbWVzOiBbJ2dpdGh1Yi1saWdodCcsICdnaXRodWItbGlnaHQnXSB9KVxuXG5leHBvcnQgY29uc3QgTUFJQU1lc3NhZ2UgPSAoeyBtZXNzYWdlLCBjbGFzc05hbWUsIGljb24sIG1lc3NhZ2VFeHRyYUNvbnRlbnQsIGlzQW5pbWF0aW5nIH06IE1BSUFNZXNzYWdlUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTUFJQU1lc3NhZ2UgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAge2ljb259XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIk1BSUFNZXNzYWdlLXRleHRcIj5cbiAgICAgICAgPFN0cmVhbWRvd25cbiAgICAgICAgICBpc0FuaW1hdGluZz17aXNBbmltYXRpbmd9XG4gICAgICAgICAgcGx1Z2lucz17eyBjb2RlIH19XG4gICAgICAgICAgc2hpa2lUaGVtZT17WydnaXRodWItbGlnaHQnLCAnZ2l0aHViLWxpZ2h0J119XG4gICAgICAgICAgbGlua1NhZmV0eT17eyBlbmFibGVkOiBmYWxzZSB9fVxuICAgICAgICAgIGNvbnRyb2xzPXt7IHRhYmxlOiBmYWxzZSwgY29kZTogZmFsc2UgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHttZXNzYWdlfVxuICAgICAgICA8L1N0cmVhbWRvd24+XG4gICAgICAgIHttZXNzYWdlRXh0cmFDb250ZW50fVxuICAgICAgPC9kaXY+XG4gICAgPC9TdHlsZWRNQUlBTWVzc2FnZT5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsWUFBWTtBQUN2QyxTQUFTQyxnQkFBZ0IsUUFBUSxrQkFBa0I7QUFHbkQsU0FBU0MsaUJBQWlCLFFBQVEsVUFBVTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFNUMsSUFBTUMsSUFBSSxHQUFHTixnQkFBZ0IsQ0FBQztFQUFFTyxNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYztBQUFFLENBQUMsQ0FBQztBQUUzRSxPQUFPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBLEVBQXlGO0VBQUEsSUFBbkZDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQUVDLFNBQVMsR0FBQUYsSUFBQSxDQUFURSxTQUFTO0lBQUVDLElBQUksR0FBQUgsSUFBQSxDQUFKRyxJQUFJO0lBQUVDLG1CQUFtQixHQUFBSixJQUFBLENBQW5CSSxtQkFBbUI7SUFBRUMsV0FBVyxHQUFBTCxJQUFBLENBQVhLLFdBQVc7RUFDdEYsb0JBQ0VULEtBQUEsQ0FBQ0osaUJBQWlCO0lBQUNVLFNBQVMsRUFBRUEsU0FBVTtJQUFBSSxRQUFBLEdBQ3JDSCxJQUFJLGVBQ0xQLEtBQUE7TUFBS00sU0FBUyxFQUFDLGtCQUFrQjtNQUFBSSxRQUFBLGdCQUMvQlosSUFBQSxDQUFDSixVQUFVO1FBQ1RlLFdBQVcsRUFBRUEsV0FBWTtRQUN6QkUsT0FBTyxFQUFFO1VBQUVWLElBQUksRUFBSkE7UUFBSyxDQUFFO1FBQ2xCVyxVQUFVLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFFO1FBQzdDQyxVQUFVLEVBQUU7VUFBRUMsT0FBTyxFQUFFO1FBQU0sQ0FBRTtRQUMvQkMsUUFBUSxFQUFFO1VBQUVDLEtBQUssRUFBRSxLQUFLO1VBQUVmLElBQUksRUFBRTtRQUFNLENBQUU7UUFBQVMsUUFBQSxFQUV2Q0w7TUFBTyxDQUNFLENBQUMsRUFDWkcsbUJBQW1CO0lBQUEsQ0FDakIsQ0FBQztFQUFBLENBQ1csQ0FBQztBQUV4QixDQUFDIiwiaWdub3JlTGlzdCI6W119
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdHJlYW1kb3duIiwiY3JlYXRlQ29kZVBsdWdpbiIsIk1BSUFfU1RSRUFNRE9XTl9SRU5ERVJFUlMiLCJTdHlsZWRNQUlBTWVzc2FnZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJjb2RlIiwidGhlbWVzIiwiTUFJQU1lc3NhZ2UiLCJfcmVmIiwibWVzc2FnZSIsImNsYXNzTmFtZSIsImljb24iLCJtZXNzYWdlRXh0cmFDb250ZW50IiwiaXNBbmltYXRpbmciLCJjaGlsZHJlbiIsInBsdWdpbnMiLCJyZW5kZXJlcnMiLCJzaGlraVRoZW1lIiwibGlua1NhZmV0eSIsImVuYWJsZWQiLCJjb250cm9scyIsInRhYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQU1lc3NhZ2UvTUFJQU1lc3NhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0cmVhbWRvd24gfSBmcm9tICdzdHJlYW1kb3duJ1xuaW1wb3J0IHsgY3JlYXRlQ29kZVBsdWdpbiB9IGZyb20gJ0BzdHJlYW1kb3duL2NvZGUnXG5cbmltcG9ydCB7IE1BSUFfU1RSRUFNRE9XTl9SRU5ERVJFUlMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9tYWlhU3RyZWFtZG93blJlbmRlcmVycydcbmltcG9ydCB7IE1BSUFNZXNzYWdlUHJvcHMgfSBmcm9tICcuL01BSUFNZXNzYWdlLmludGVyZmFjZXMnXG5pbXBvcnQgeyBTdHlsZWRNQUlBTWVzc2FnZSB9IGZyb20gJy4vc3R5bGVzJ1xuXG5jb25zdCBjb2RlID0gY3JlYXRlQ29kZVBsdWdpbih7IHRoZW1lczogWydnaXRodWItbGlnaHQnLCAnZ2l0aHViLWxpZ2h0J10gfSlcblxuZXhwb3J0IGNvbnN0IE1BSUFNZXNzYWdlID0gKHsgbWVzc2FnZSwgY2xhc3NOYW1lLCBpY29uLCBtZXNzYWdlRXh0cmFDb250ZW50LCBpc0FuaW1hdGluZyB9OiBNQUlBTWVzc2FnZVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE1BSUFNZXNzYWdlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIHtpY29ufVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJNQUlBTWVzc2FnZS10ZXh0XCI+XG4gICAgICAgIDxTdHJlYW1kb3duXG4gICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgIHBsdWdpbnM9e3sgY29kZSwgcmVuZGVyZXJzOiBNQUlBX1NUUkVBTURPV05fUkVOREVSRVJTIH19XG4gICAgICAgICAgc2hpa2lUaGVtZT17WydnaXRodWItbGlnaHQnLCAnZ2l0aHViLWxpZ2h0J119XG4gICAgICAgICAgbGlua1NhZmV0eT17eyBlbmFibGVkOiBmYWxzZSB9fVxuICAgICAgICAgIGNvbnRyb2xzPXt7IHRhYmxlOiBmYWxzZSwgY29kZTogZmFsc2UgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHttZXNzYWdlfVxuICAgICAgICA8L1N0cmVhbWRvd24+XG4gICAgICAgIHttZXNzYWdlRXh0cmFDb250ZW50fVxuICAgICAgPC9kaXY+XG4gICAgPC9TdHlsZWRNQUlBTWVzc2FnZT5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsWUFBWTtBQUN2QyxTQUFTQyxnQkFBZ0IsUUFBUSxrQkFBa0I7QUFFbkQsU0FBU0MseUJBQXlCLFFBQVEsd0NBQXdDO0FBRWxGLFNBQVNDLGlCQUFpQixRQUFRLFVBQVU7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRTVDLElBQU1DLElBQUksR0FBR1AsZ0JBQWdCLENBQUM7RUFBRVEsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWM7QUFBRSxDQUFDLENBQUM7QUFFM0UsT0FBTyxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQUMsSUFBQSxFQUF5RjtFQUFBLElBQW5GQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztJQUFFQyxTQUFTLEdBQUFGLElBQUEsQ0FBVEUsU0FBUztJQUFFQyxJQUFJLEdBQUFILElBQUEsQ0FBSkcsSUFBSTtJQUFFQyxtQkFBbUIsR0FBQUosSUFBQSxDQUFuQkksbUJBQW1CO0lBQUVDLFdBQVcsR0FBQUwsSUFBQSxDQUFYSyxXQUFXO0VBQ3RGLG9CQUNFVCxLQUFBLENBQUNKLGlCQUFpQjtJQUFDVSxTQUFTLEVBQUVBLFNBQVU7SUFBQUksUUFBQSxHQUNyQ0gsSUFBSSxlQUNMUCxLQUFBO01BQUtNLFNBQVMsRUFBQyxrQkFBa0I7TUFBQUksUUFBQSxnQkFDL0JaLElBQUEsQ0FBQ0wsVUFBVTtRQUNUZ0IsV0FBVyxFQUFFQSxXQUFZO1FBQ3pCRSxPQUFPLEVBQUU7VUFBRVYsSUFBSSxFQUFKQSxJQUFJO1VBQUVXLFNBQVMsRUFBRWpCO1FBQTBCLENBQUU7UUFDeERrQixVQUFVLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFFO1FBQzdDQyxVQUFVLEVBQUU7VUFBRUMsT0FBTyxFQUFFO1FBQU0sQ0FBRTtRQUMvQkMsUUFBUSxFQUFFO1VBQUVDLEtBQUssRUFBRSxLQUFLO1VBQUVoQixJQUFJLEVBQUU7UUFBTSxDQUFFO1FBQUFTLFFBQUEsRUFFdkNMO01BQU8sQ0FDRSxDQUFDLEVBQ1pHLG1CQUFtQjtJQUFBLENBQ2pCLENBQUM7RUFBQSxDQUNXLENBQUM7QUFFeEIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,97 @@
1
+ import { Skeleton } from '../Skeleton/Skeleton';
2
+ import { parseMaiaVizSpec, parseMaiaVizProgressive } from './MAIAViz.parse';
3
+ import { MAIAVizKpis } from './MAIAVizKpis';
4
+ import { MAIAVizBar } from './MAIAVizBar';
5
+ import { MAIAVizDonut } from './MAIAVizDonut';
6
+ import { MAIAVizSkeleton } from './MAIAViz.skeleton';
7
+ import { StyledMAIAViz } from './MAIAViz.styles';
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ var blockInner = function blockInner(block) {
10
+ switch (block.type) {
11
+ case 'kpis':
12
+ return /*#__PURE__*/_jsx(MAIAVizKpis, {
13
+ spec: block
14
+ });
15
+ case 'bar':
16
+ return /*#__PURE__*/_jsx(MAIAVizBar, {
17
+ spec: block
18
+ });
19
+ case 'donut':
20
+ return /*#__PURE__*/_jsx(MAIAVizDonut, {
21
+ spec: block
22
+ });
23
+ default:
24
+ return null;
25
+ }
26
+ };
27
+ var renderBlock = function renderBlock(block, index) {
28
+ var inner = blockInner(block);
29
+ if (!inner) return null;
30
+ return (
31
+ /*#__PURE__*/
32
+ // El índice es estable: los bloques solo se agregan al final mientras stremea.
33
+ // eslint-disable-next-line react/no-array-index-key
34
+ _jsx("div", {
35
+ className: "MAIAViz-block",
36
+ children: inner
37
+ }, index)
38
+ );
39
+ };
40
+ var renderSpec = function renderSpec(spec) {
41
+ if (spec.type === 'report') {
42
+ return /*#__PURE__*/_jsxs(_Fragment, {
43
+ children: [(spec.title || spec.subtitle) && /*#__PURE__*/_jsxs("header", {
44
+ className: "MAIAViz-header",
45
+ children: [spec.title && /*#__PURE__*/_jsx("h3", {
46
+ className: "MAIAViz-title",
47
+ children: spec.title
48
+ }), spec.subtitle && /*#__PURE__*/_jsx("p", {
49
+ className: "MAIAViz-subtitle",
50
+ children: spec.subtitle
51
+ })]
52
+ }), (Array.isArray(spec.blocks) ? spec.blocks : []).map(function (block, i) {
53
+ return renderBlock(block, i);
54
+ })]
55
+ });
56
+ }
57
+ return renderBlock(spec, 0);
58
+ };
59
+
60
+ /**
61
+ * Renderer que Streamdown invoca para los bloques ```maia-viz.
62
+ * Mientras el bloque se transmite (`isIncomplete`) renderiza en vivo cada
63
+ * widget apenas su `{…}` queda balanceado; al cerrar el fence hace el parseo
64
+ * estricto final.
65
+ */
66
+ export var MAIAViz = function MAIAViz(_ref) {
67
+ var code = _ref.code,
68
+ isIncomplete = _ref.isIncomplete;
69
+ if (isIncomplete) {
70
+ var partial = parseMaiaVizProgressive(code);
71
+ if (!partial) {
72
+ return /*#__PURE__*/_jsx(StyledMAIAViz, {
73
+ children: /*#__PURE__*/_jsx(MAIAVizSkeleton, {})
74
+ });
75
+ }
76
+ return /*#__PURE__*/_jsxs(StyledMAIAViz, {
77
+ children: [renderSpec(partial), /*#__PURE__*/_jsx(Skeleton, {
78
+ variant: "rectangular",
79
+ height: 120,
80
+ borderRadius: 12
81
+ })]
82
+ });
83
+ }
84
+ var spec = parseMaiaVizSpec(code);
85
+ if (!spec) {
86
+ return /*#__PURE__*/_jsx(StyledMAIAViz, {
87
+ children: /*#__PURE__*/_jsx("p", {
88
+ className: "MAIAViz-error",
89
+ children: "No se pudo interpretar la visualizaci\xF3n."
90
+ })
91
+ });
92
+ }
93
+ return /*#__PURE__*/_jsx(StyledMAIAViz, {
94
+ children: renderSpec(spec)
95
+ });
96
+ };
97
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTa2VsZXRvbiIsInBhcnNlTWFpYVZpelNwZWMiLCJwYXJzZU1haWFWaXpQcm9ncmVzc2l2ZSIsIk1BSUFWaXpLcGlzIiwiTUFJQVZpekJhciIsIk1BSUFWaXpEb251dCIsIk1BSUFWaXpTa2VsZXRvbiIsIlN0eWxlZE1BSUFWaXoiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJibG9ja0lubmVyIiwiYmxvY2siLCJ0eXBlIiwic3BlYyIsInJlbmRlckJsb2NrIiwiaW5kZXgiLCJpbm5lciIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwicmVuZGVyU3BlYyIsInRpdGxlIiwic3VidGl0bGUiLCJBcnJheSIsImlzQXJyYXkiLCJibG9ja3MiLCJtYXAiLCJpIiwiTUFJQVZpeiIsIl9yZWYiLCJjb2RlIiwiaXNJbmNvbXBsZXRlIiwicGFydGlhbCIsInZhcmlhbnQiLCJoZWlnaHQiLCJib3JkZXJSYWRpdXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBVml6L01BSUFWaXoudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVJlbmRlcmVyUHJvcHMgfSBmcm9tICdzdHJlYW1kb3duJ1xuXG5pbXBvcnQgeyBTa2VsZXRvbiB9IGZyb20gJy4uL1NrZWxldG9uL1NrZWxldG9uJ1xuaW1wb3J0IHsgcGFyc2VNYWlhVml6U3BlYywgcGFyc2VNYWlhVml6UHJvZ3Jlc3NpdmUgfSBmcm9tICcuL01BSUFWaXoucGFyc2UnXG5pbXBvcnQgeyBNYWlhVml6U3BlYywgUmVwb3J0QmxvY2sgfSBmcm9tICcuL01BSUFWaXoudHlwZXMnXG5pbXBvcnQgeyBNQUlBVml6S3BpcyB9IGZyb20gJy4vTUFJQVZpektwaXMnXG5pbXBvcnQgeyBNQUlBVml6QmFyIH0gZnJvbSAnLi9NQUlBVml6QmFyJ1xuaW1wb3J0IHsgTUFJQVZpekRvbnV0IH0gZnJvbSAnLi9NQUlBVml6RG9udXQnXG5pbXBvcnQgeyBNQUlBVml6U2tlbGV0b24gfSBmcm9tICcuL01BSUFWaXouc2tlbGV0b24nXG5pbXBvcnQgeyBTdHlsZWRNQUlBVml6IH0gZnJvbSAnLi9NQUlBVml6LnN0eWxlcydcblxuY29uc3QgYmxvY2tJbm5lciA9IChibG9jazogUmVwb3J0QmxvY2spID0+IHtcbiAgc3dpdGNoIChibG9jay50eXBlKSB7XG4gICAgY2FzZSAna3Bpcyc6XG4gICAgICByZXR1cm4gPE1BSUFWaXpLcGlzIHNwZWM9e2Jsb2NrfSAvPlxuICAgIGNhc2UgJ2Jhcic6XG4gICAgICByZXR1cm4gPE1BSUFWaXpCYXIgc3BlYz17YmxvY2t9IC8+XG4gICAgY2FzZSAnZG9udXQnOlxuICAgICAgcmV0dXJuIDxNQUlBVml6RG9udXQgc3BlYz17YmxvY2t9IC8+XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuY29uc3QgcmVuZGVyQmxvY2sgPSAoYmxvY2s6IFJlcG9ydEJsb2NrLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gIGNvbnN0IGlubmVyID0gYmxvY2tJbm5lcihibG9jaylcbiAgaWYgKCFpbm5lcikgcmV0dXJuIG51bGxcbiAgcmV0dXJuIChcbiAgICAvLyBFbCDDrW5kaWNlIGVzIGVzdGFibGU6IGxvcyBibG9xdWVzIHNvbG8gc2UgYWdyZWdhbiBhbCBmaW5hbCBtaWVudHJhcyBzdHJlbWVhLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXlcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIk1BSUFWaXotYmxvY2tcIiBrZXk9e2luZGV4fT5cbiAgICAgIHtpbm5lcn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5jb25zdCByZW5kZXJTcGVjID0gKHNwZWM6IE1haWFWaXpTcGVjKSA9PiB7XG4gIGlmIChzcGVjLnR5cGUgPT09ICdyZXBvcnQnKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHsoc3BlYy50aXRsZSB8fCBzcGVjLnN1YnRpdGxlKSAmJiAoXG4gICAgICAgICAgPGhlYWRlciBjbGFzc05hbWU9XCJNQUlBVml6LWhlYWRlclwiPlxuICAgICAgICAgICAge3NwZWMudGl0bGUgJiYgPGgzIGNsYXNzTmFtZT1cIk1BSUFWaXotdGl0bGVcIj57c3BlYy50aXRsZX08L2gzPn1cbiAgICAgICAgICAgIHtzcGVjLnN1YnRpdGxlICYmIDxwIGNsYXNzTmFtZT1cIk1BSUFWaXotc3VidGl0bGVcIj57c3BlYy5zdWJ0aXRsZX08L3A+fVxuICAgICAgICAgIDwvaGVhZGVyPlxuICAgICAgICApfVxuICAgICAgICB7KEFycmF5LmlzQXJyYXkoc3BlYy5ibG9ja3MpID8gc3BlYy5ibG9ja3MgOiBbXSkubWFwKChibG9jaywgaSkgPT4gcmVuZGVyQmxvY2soYmxvY2ssIGkpKX1cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuICByZXR1cm4gcmVuZGVyQmxvY2soc3BlYywgMClcbn1cblxuLyoqXG4gKiBSZW5kZXJlciBxdWUgU3RyZWFtZG93biBpbnZvY2EgcGFyYSBsb3MgYmxvcXVlcyBgYGBtYWlhLXZpei5cbiAqIE1pZW50cmFzIGVsIGJsb3F1ZSBzZSB0cmFuc21pdGUgKGBpc0luY29tcGxldGVgKSByZW5kZXJpemEgZW4gdml2byBjYWRhXG4gKiB3aWRnZXQgYXBlbmFzIHN1IGB74oCmfWAgcXVlZGEgYmFsYW5jZWFkbzsgYWwgY2VycmFyIGVsIGZlbmNlIGhhY2UgZWwgcGFyc2VvXG4gKiBlc3RyaWN0byBmaW5hbC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BSUFWaXogPSAoeyBjb2RlLCBpc0luY29tcGxldGUgfTogQ3VzdG9tUmVuZGVyZXJQcm9wcykgPT4ge1xuICBpZiAoaXNJbmNvbXBsZXRlKSB7XG4gICAgY29uc3QgcGFydGlhbCA9IHBhcnNlTWFpYVZpelByb2dyZXNzaXZlKGNvZGUpXG4gICAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTUFJQVZpej5cbiAgICAgICAgICA8TUFJQVZpelNrZWxldG9uIC8+XG4gICAgICAgIDwvU3R5bGVkTUFJQVZpej5cbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNQUlBVml6PlxuICAgICAgICB7cmVuZGVyU3BlYyhwYXJ0aWFsKX1cbiAgICAgICAgPFNrZWxldG9uIHZhcmlhbnQ9XCJyZWN0YW5ndWxhclwiIGhlaWdodD17MTIwfSBib3JkZXJSYWRpdXM9ezEyfSAvPlxuICAgICAgPC9TdHlsZWRNQUlBVml6PlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNwZWMgPSBwYXJzZU1haWFWaXpTcGVjKGNvZGUpXG4gIGlmICghc3BlYykge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTUFJQVZpej5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiTUFJQVZpei1lcnJvclwiPk5vIHNlIHB1ZG8gaW50ZXJwcmV0YXIgbGEgdmlzdWFsaXphY2nDs24uPC9wPlxuICAgICAgPC9TdHlsZWRNQUlBVml6PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkTUFJQVZpej57cmVuZGVyU3BlYyhzcGVjKX08L1N0eWxlZE1BSUFWaXo+XG59XG4iXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLFFBQVEsUUFBUSxzQkFBc0I7QUFDL0MsU0FBU0MsZ0JBQWdCLEVBQUVDLHVCQUF1QixRQUFRLGlCQUFpQjtBQUUzRSxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQUMzQyxTQUFTQyxVQUFVLFFBQVEsY0FBYztBQUN6QyxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBQzdDLFNBQVNDLGVBQWUsUUFBUSxvQkFBb0I7QUFDcEQsU0FBU0MsYUFBYSxRQUFRLGtCQUFrQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBO0FBRWhELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxLQUFrQixFQUFLO0VBQ3pDLFFBQVFBLEtBQUssQ0FBQ0Ms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
@@ -0,0 +1,131 @@
1
+ import _typeof from "@babel/runtime/helpers/typeof";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ var VALID_TYPES = ['kpis', 'bar', 'donut', 'report'];
6
+ var BLOCK_TYPES = ['kpis', 'bar', 'donut'];
7
+ export var normalizeSeries = function normalizeSeries(data) {
8
+ return (Array.isArray(data) ? data : []).map(function (d) {
9
+ return _objectSpread(_objectSpread({}, d), {}, {
10
+ value: Number(d.value)
11
+ });
12
+ }).filter(function (d) {
13
+ return !Number.isNaN(d.value) && d.value >= 0;
14
+ });
15
+ };
16
+ var isRecord = function isRecord(value) {
17
+ return _typeof(value) === 'object' && value !== null && !Array.isArray(value);
18
+ };
19
+ var isValidBlock = function isValidBlock(value) {
20
+ return isRecord(value) && typeof value.type === 'string' && BLOCK_TYPES.includes(value.type);
21
+ };
22
+
23
+ /**
24
+ * Parsea el contenido COMPLETO de un bloque ```maia-viz a un spec tipado.
25
+ * Devuelve `null` ante JSON inválido. Se usa cuando el fence ya cerró.
26
+ */
27
+ export var parseMaiaVizSpec = function parseMaiaVizSpec(code) {
28
+ var trimmed = code.trim();
29
+ if (!trimmed) return null;
30
+ var parsed;
31
+ try {
32
+ parsed = JSON.parse(trimmed);
33
+ } catch (_unused) {
34
+ return null;
35
+ }
36
+ if (!isRecord(parsed)) return null;
37
+ if (typeof parsed.type !== 'string' || !VALID_TYPES.includes(parsed.type)) return null;
38
+ return parsed;
39
+ };
40
+
41
+ /**
42
+ * Extrae el valor string de una clave de primer nivel (p. ej. "title") desde
43
+ * un fragmento de JSON, aunque el JSON todavía esté incompleto. Respeta los
44
+ * escapes. Devuelve `undefined` si no aparece todavía.
45
+ */
46
+ var matchString = function matchString(text, key) {
47
+ var match = text.match(new RegExp("\"".concat(key, "\"\\s*:\\s*\"((?:[^\"\\\\]|\\\\.)*)\"")));
48
+ if (!match) return undefined;
49
+ try {
50
+ return JSON.parse("\"".concat(match[1], "\""));
51
+ } catch (_unused2) {
52
+ return match[1];
53
+ }
54
+ };
55
+
56
+ /**
57
+ * Recorre un texto y devuelve cada objeto `{…}` de primer nivel que ya esté
58
+ * balanceado (llave abierta y cerrada), ignorando llaves dentro de strings.
59
+ * Los objetos a medio transmitir simplemente no aparecen todavía.
60
+ */
61
+ var extractCompleteObjects = function extractCompleteObjects(text) {
62
+ var objects = [];
63
+ var depth = 0;
64
+ var start = -1;
65
+ var inString = false;
66
+ var escaped = false;
67
+ for (var i = 0; i < text.length; i += 1) {
68
+ var ch = text[i];
69
+ if (inString) {
70
+ if (escaped) escaped = false;else if (ch === '\\') escaped = true;else if (ch === '"') inString = false;
71
+ } else if (ch === '"') {
72
+ inString = true;
73
+ } else if (ch === '{') {
74
+ if (depth === 0) start = i;
75
+ depth += 1;
76
+ } else if (ch === '}') {
77
+ depth -= 1;
78
+ if (depth === 0 && start !== -1) {
79
+ try {
80
+ objects.push(JSON.parse(text.slice(start, i + 1)));
81
+ } catch (_unused3) {
82
+ // objeto balanceado pero aún no parseable: lo ignoramos
83
+ }
84
+ start = -1;
85
+ }
86
+ }
87
+ }
88
+ return objects;
89
+ };
90
+
91
+ /**
92
+ * Parser PROGRESIVO para usar mientras el bloque todavía se transmite.
93
+ * - Si el JSON ya es válido completo, devuelve el spec final.
94
+ * - Si es un `report` parcial, devuelve el header (title/subtitle) más los
95
+ * bloques cuyo `{…}` ya cerró — así se renderizan de a uno, en vivo.
96
+ * - Para charts sueltos (kpis/bar/donut) devuelve `null` hasta que cierren
97
+ * (no tiene sentido dibujar medio gráfico).
98
+ */
99
+ export var parseMaiaVizProgressive = function parseMaiaVizProgressive(code) {
100
+ var trimmed = code.trim();
101
+ if (!trimmed) return null;
102
+
103
+ // 1. ¿Ya es JSON completo y válido?
104
+ var full = parseMaiaVizSpec(trimmed);
105
+ if (full) return full;
106
+
107
+ // 2. Solo los reportes tienen render parcial significativo.
108
+ if (matchString(trimmed, 'type') !== 'report') return null;
109
+ var blocksMatch = trimmed.match(/"blocks"\s*:\s*\[/);
110
+ var head = (blocksMatch === null || blocksMatch === void 0 ? void 0 : blocksMatch.index) !== undefined ? trimmed.slice(0, blocksMatch.index) : trimmed;
111
+ var title = matchString(head, 'title');
112
+ var subtitle = matchString(head, 'subtitle');
113
+ var blocks = [];
114
+ if ((blocksMatch === null || blocksMatch === void 0 ? void 0 : blocksMatch.index) !== undefined) {
115
+ var arrStart = trimmed.indexOf('[', blocksMatch.index);
116
+ if (arrStart !== -1) {
117
+ blocks = extractCompleteObjects(trimmed.slice(arrStart + 1)).filter(isValidBlock);
118
+ }
119
+ }
120
+
121
+ // Nada que mostrar todavía (ni header ni bloques): que siga el skeleton.
122
+ if (!title && !subtitle && !blocks.length) return null;
123
+ var spec = {
124
+ type: 'report',
125
+ blocks: blocks
126
+ };
127
+ if (title) spec.title = title;
128
+ if (subtitle) spec.subtitle = subtitle;
129
+ return spec;
130
+ };
131
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWQUxJRF9UWVBFUyIsIkJMT0NLX1RZUEVTIiwibm9ybWFsaXplU2VyaWVzIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImQiLCJfb2JqZWN0U3ByZWFkIiwidmFsdWUiLCJOdW1iZXIiLCJmaWx0ZXIiLCJpc05hTiIsImlzUmVjb3JkIiwiX3R5cGVvZiIsImlzVmFsaWRCbG9jayIsInR5cGUiLCJpbmNsdWRlcyIsInBhcnNlTWFpYVZpelNwZWMiLCJjb2RlIiwidHJpbW1lZCIsInRyaW0iLCJwYXJzZWQiLCJKU09OIiwicGFyc2UiLCJfdW51c2VkIiwibWF0Y2hTdHJpbmciLCJ0ZXh0Iiwia2V5IiwibWF0Y2giLCJSZWdFeHAiLCJjb25jYXQiLCJ1bmRlZmluZWQiLCJfdW51c2VkMiIsImV4dHJhY3RDb21wbGV0ZU9iamVjdHMiLCJvYmplY3RzIiwiZGVwdGgiLCJzdGFydCIsImluU3RyaW5nIiwiZXNjYXBlZCIsImkiLCJsZW5ndGgiLCJjaCIsInB1c2giLCJzbGljZSIsIl91bnVzZWQzIiwicGFyc2VNYWlhVml6UHJvZ3Jlc3NpdmUiLCJmdWxsIiwiYmxvY2tzTWF0Y2giLCJoZWFkIiwiaW5kZXgiLCJ0aXRsZSIsInN1YnRpdGxlIiwiYmxvY2tzIiwiYXJyU3RhcnQiLCJpbmRleE9mIiwic3BlYyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFWaXovTUFJQVZpei5wYXJzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYWlhVml6U3BlYywgUmVwb3J0QmxvY2ssIFJlcG9ydFNwZWMsIFNlcmllc1BvaW50IH0gZnJvbSAnLi9NQUlBVml6LnR5cGVzJ1xuXG5jb25zdCBWQUxJRF9UWVBFUyA9IFsna3BpcycsICdiYXInLCAnZG9udXQnLCAncmVwb3J0J11cbmNvbnN0IEJMT0NLX1RZUEVTID0gWydrcGlzJywgJ2JhcicsICdkb251dCddXG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVTZXJpZXMgPSAoZGF0YTogU2VyaWVzUG9pbnRbXSB8IHVuZGVmaW5lZCk6IFNlcmllc1BvaW50W10gPT5cbiAgKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW10pXG4gICAgLm1hcChkID0+ICh7IC4uLmQsIHZhbHVlOiBOdW1iZXIoZC52YWx1ZSkgfSkpXG4gICAgLmZpbHRlcihkID0+ICFOdW1iZXIuaXNOYU4oZC52YWx1ZSkgJiYgZC52YWx1ZSA+PSAwKVxuXG5jb25zdCBpc1JlY29yZCA9ICh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+XG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpXG5cbmNvbnN0IGlzVmFsaWRCbG9jayA9ICh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlcG9ydEJsb2NrID0+XG4gIGlzUmVjb3JkKHZhbHVlKSAmJiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgQkxPQ0tfVFlQRVMuaW5jbHVkZXModmFsdWUudHlwZSlcblxuLyoqXG4gKiBQYXJzZWEgZWwgY29udGVuaWRvIENPTVBMRVRPIGRlIHVuIGJsb3F1ZSBgYGBtYWlhLXZpeiBhIHVuIHNwZWMgdGlwYWRvLlxuICogRGV2dWVsdmUgYG51bGxgIGFudGUgSlNPTiBpbnbDoWxpZG8uIFNlIHVzYSBjdWFuZG8gZWwgZmVuY2UgeWEgY2VycsOzLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VNYWlhVml6U3BlYyA9IChjb2RlOiBzdHJpbmcpOiBNYWlhVml6U3BlYyB8IG51bGwgPT4ge1xuICBjb25zdCB0cmltbWVkID0gY29kZS50cmltKClcbiAgaWYgKCF0cmltbWVkKSByZXR1cm4gbnVsbFxuXG4gIGxldCBwYXJzZWQ6IHVua25vd25cbiAgdHJ5IHtcbiAgICBwYXJzZWQgPSBKU09OLnBhcnNlKHRyaW1tZWQpXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBpZiAoIWlzUmVjb3JkKHBhcnNlZCkpIHJldHVybiBudWxsXG4gIGlmICh0eXBlb2YgcGFyc2VkLnR5cGUgIT09ICdzdHJpbmcnIHx8ICFWQUxJRF9UWVBFUy5pbmNsdWRlcyhwYXJzZWQudHlwZSkpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIHBhcnNlZCBhcyB1bmtub3duIGFzIE1haWFWaXpTcGVjXG59XG5cbi8qKlxuICogRXh0cmFlIGVsIHZhbG9yIHN0cmluZyBkZSB1bmEgY2xhdmUgZGUgcHJpbWVyIG5pdmVsIChwLiBlai4gXCJ0aXRsZVwiKSBkZXNkZVxuICogdW4gZnJhZ21lbnRvIGRlIEpTT04sIGF1bnF1ZSBlbCBKU09OIHRvZGF2w61hIGVzdMOpIGluY29tcGxldG8uIFJlc3BldGEgbG9zXG4gKiBlc2NhcGVzLiBEZXZ1ZWx2ZSBgdW5kZWZpbmVkYCBzaSBubyBhcGFyZWNlIHRvZGF2w61hLlxuICovXG5jb25zdCBtYXRjaFN0cmluZyA9ICh0ZXh0OiBzdHJpbmcsIGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgbWF0Y2ggPSB0ZXh0Lm1hdGNoKG5ldyBSZWdFeHAoYFwiJHtrZXl9XCJcXFxccyo6XFxcXHMqXCIoKD86W15cIlxcXFxcXFxcXXxcXFxcXFxcXC4pKilcImApKVxuICBpZiAoIW1hdGNoKSByZXR1cm4gdW5kZWZpbmVkXG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoYFwiJHttYXRjaFsxXX1cImApIGFzIHN0cmluZ1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbWF0Y2hbMV1cbiAgfVxufVxuXG4vKipcbiAqIFJlY29ycmUgdW4gdGV4dG8geSBkZXZ1ZWx2ZSBjYWRhIG9iamV0byBge+KApn1gIGRlIHByaW1lciBuaXZlbCBxdWUgeWEgZXN0w6lcbiAqIGJhbGFuY2VhZG8gKGxsYXZlIGFiaWVydGEgeSBjZXJyYWRhKSwgaWdub3JhbmRvIGxsYXZlcyBkZW50cm8gZGUgc3RyaW5ncy5cbiAqIExvcyBvYmpldG9zIGEgbWVkaW8gdHJhbnNtaXRpciBzaW1wbGVtZW50ZSBubyBhcGFyZWNlbiB0b2RhdsOtYS5cbiAqL1xuY29uc3QgZXh0cmFjdENvbXBsZXRlT2JqZWN0cyA9ICh0ZXh0OiBzdHJpbmcpOiB1bmtub3duW10gPT4ge1xuICBjb25zdCBvYmplY3RzOiB1bmtub3duW10gPSBbXVxuICBsZXQgZGVwdGggPSAwXG4gIGxldCBzdGFydCA9IC0xXG4gIGxldCBpblN0cmluZyA9IGZhbHNlXG4gIGxldCBlc2NhcGVkID0gZmFsc2VcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBjb25zdCBjaCA9IHRleHRbaV1cbiAgICBpZiAoaW5TdHJpbmcpIHtcbiAgICAgIGlmIChlc2NhcGVkKSBlc2NhcGVkID0gZmFsc2VcbiAgICAgIGVsc2UgaWYgKGNoID09PSAnXFxcXCcpIGVzY2FwZWQgPSB0cnVlXG4gICAgICBlbHNlIGlmIChjaCA9PT0gJ1wiJykgaW5TdHJpbmcgPSBmYWxzZVxuICAgIH0gZWxzZSBpZiAoY2ggPT09ICdcIicpIHtcbiAgICAgIGluU3RyaW5nID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoY2ggPT09ICd7Jykge1xuICAgICAgaWYgKGRlcHRoID09PSAwKSBzdGFydCA9IGlcbiAgICAgIGRlcHRoICs9IDFcbiAgICB9IGVsc2UgaWYgKGNoID09PSAnfScpIHtcbiAgICAgIGRlcHRoIC09IDFcbiAgICAgIGlmIChkZXB0aCA9PT0gMCAmJiBzdGFydCAhPT0gLTEpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBvYmplY3RzLnB1c2goSlNPTi5wYXJzZSh0ZXh0LnNsaWNlKHN0YXJ0LCBpICsgMSkpIGFzIHVua25vd24pXG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIG9iamV0byBiYWxhbmNlYWRvIHBlcm8gYcO6biBubyBwYXJzZWFibGU6IGxvIGlnbm9yYW1vc1xuICAgICAgICB9XG4gICAgICAgIHN0YXJ0ID0gLTFcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqZWN0c1xufVxuXG4vKipcbiAqIFBhcnNlciBQUk9HUkVTSVZPIHBhcmEgdXNhciBtaWVudHJhcyBlbCBibG9xdWUgdG9kYXbDrWEgc2UgdHJhbnNtaXRlLlxuICogLSBTaSBlbCBKU09OIHlhIGVzIHbDoWxpZG8gY29tcGxldG8sIGRldnVlbHZlIGVsIHNwZWMgZmluYWwuXG4gKiAtIFNpIGVzIHVuIGByZXBvcnRgIHBhcmNpYWwsIGRldnVlbHZlIGVsIGhlYWRlciAodGl0bGUvc3VidGl0bGUpIG3DoXMgbG9zXG4gKiAgIGJsb3F1ZXMgY3V5byBge+KApn1gIHlhIGNlcnLDsyDigJQgYXPDrSBzZSByZW5kZXJpemFuIGRlIGEgdW5vLCBlbiB2aXZvLlxuICogLSBQYXJhIGNoYXJ0cyBzdWVsdG9zIChrcGlzL2Jhci9kb251dCkgZGV2dWVsdmUgYG51bGxgIGhhc3RhIHF1ZSBjaWVycmVuXG4gKiAgIChubyB0aWVuZSBzZW50aWRvIGRpYnVqYXIgbWVkaW8gZ3LDoWZpY28pLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VNYWlhVml6UHJvZ3Jlc3NpdmUgPSAoY29kZTogc3RyaW5nKTogTWFpYVZpelNwZWMgfCBudWxsID0+IHtcbiAgY29uc3QgdHJpbW1lZCA9IGNvZGUudHJpbSgpXG4gIGlmICghdHJpbW1lZCkgcmV0dXJuIG51bGxcblxuICAvLyAxLiDCv1lhIGVzIEpTT04gY29tcGxldG8geSB2w6FsaWRvP1xuICBjb25zdCBmdWxsID0gcGFyc2VNYWlhVml6U3BlYyh0cmltbWVkKVxuICBpZiAoZnVsbCkgcmV0dXJuIGZ1bGxcblxuICAvLyAyLiBTb2xvIGxvcyByZXBvcnRlcyB0aWVuZW4gcmVuZGVyIHBhcmNpYWwgc2lnbmlmaWNhdGl2by5cbiAgaWYgKG1hdGNoU3RyaW5nKHRyaW1tZWQsICd0eXBlJykgIT09ICdyZXBvcnQnKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGJsb2Nrc01hdGNoID0gdHJpbW1lZC5tYXRjaCgvXCJibG9ja3NcIlxccyo6XFxzKlxcWy8pXG4gIGNvbnN0IGhlYWQgPSBibG9ja3NNYXRjaD8uaW5kZXggIT09IHVuZGVmaW5lZCA/IHRyaW1tZWQuc2xpY2UoMCwgYmxvY2tzTWF0Y2guaW5kZXgpIDogdHJpbW1lZFxuICBjb25zdCB0aXRsZSA9IG1hdGNoU3RyaW5nKGhlYWQsICd0aXRsZScpXG4gIGNvbnN0IHN1YnRpdGxlID0gbWF0Y2hTdHJpbmcoaGVhZCwgJ3N1YnRpdGxlJylcblxuICBsZXQgYmxvY2tzOiBSZXBvcnRCbG9ja1tdID0gW11cbiAgaWYgKGJsb2Nrc01hdGNoPy5pbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYXJyU3RhcnQgPSB0cmltbWVkLmluZGV4T2YoJ1snLCBibG9ja3NNYXRjaC5pbmRleClcbiAgICBpZiAoYXJyU3RhcnQgIT09IC0xKSB7XG4gICAgICBibG9ja3MgPSBleHRyYWN0Q29tcGxldGVPYmplY3RzKHRyaW1tZWQuc2xpY2UoYXJyU3RhcnQgKyAxKSkuZmlsdGVyKGlzVmFsaWRCbG9jaylcbiAgICB9XG4gIH1cblxuICAvLyBOYWRhIHF1ZSBtb3N0cmFyIHRvZGF2w61hIChuaSBoZWFkZXIgbmkgYmxvcXVlcyk6IHF1ZSBzaWdhIGVsIHNrZWxldG9uLlxuICBpZiAoIXRpdGxlICYmICFzdWJ0aXRsZSAmJiAhYmxvY2tzLmxlbmd0aCkgcmV0dXJuIG51bGxcblxuICBjb25zdCBzcGVjOiBSZXBvcnRTcGVjID0geyB0eXBlOiAncmVwb3J0JywgYmxvY2tzIH1cbiAgaWYgKHRpdGxlKSBzcGVjLnRpdGxlID0gdGl0bGVcbiAgaWYgKHN1YnRpdGxlKSBzcGVjLnN1YnRpdGxlID0gc3VidGl0bGVcbiAgcmV0dXJuIHNwZWNcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQU1BLFdBQVcsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztBQUN0RCxJQUFNQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFF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
@@ -0,0 +1,40 @@
1
+ import { Skeleton } from '../Skeleton/Skeleton';
2
+
3
+ /**
4
+ * Placeholder mientras el bloque ```maia-viz todavía se está transmitiendo
5
+ * (JSON parcial). Replica el layout: fila de KPIs + área de gráfico.
6
+ */
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export var MAIAVizSkeleton = function MAIAVizSkeleton() {
9
+ return /*#__PURE__*/_jsxs("div", {
10
+ style: {
11
+ display: 'flex',
12
+ flexDirection: 'column',
13
+ gap: 16,
14
+ width: '100%'
15
+ },
16
+ children: [/*#__PURE__*/_jsx(Skeleton, {
17
+ variant: "text",
18
+ width: "40%",
19
+ height: 18
20
+ }), /*#__PURE__*/_jsx("div", {
21
+ style: {
22
+ display: 'grid',
23
+ gridTemplateColumns: 'repeat(auto-fill, minmax(150px, 1fr))',
24
+ gap: 12
25
+ },
26
+ children: ['kpi-a', 'kpi-b', 'kpi-c', 'kpi-d'].map(function (id) {
27
+ return /*#__PURE__*/_jsx(Skeleton, {
28
+ variant: "rectangular",
29
+ height: 92,
30
+ borderRadius: 12
31
+ }, id);
32
+ })
33
+ }), /*#__PURE__*/_jsx(Skeleton, {
34
+ variant: "rectangular",
35
+ height: 200,
36
+ borderRadius: 12
37
+ })]
38
+ });
39
+ };
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTa2VsZXRvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNQUlBVml6U2tlbGV0b24iLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwid2lkdGgiLCJjaGlsZHJlbiIsInZhcmlhbnQiLCJoZWlnaHQiLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwibWFwIiwiaWQiLCJib3JkZXJSYWRpdXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBVml6L01BSUFWaXouc2tlbGV0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi4vU2tlbGV0b24vU2tlbGV0b24nXG5cbi8qKlxuICogUGxhY2Vob2xkZXIgbWllbnRyYXMgZWwgYmxvcXVlIGBgYG1haWEtdml6IHRvZGF2w61hIHNlIGVzdMOhIHRyYW5zbWl0aWVuZG9cbiAqIChKU09OIHBhcmNpYWwpLiBSZXBsaWNhIGVsIGxheW91dDogZmlsYSBkZSBLUElzICsgw6FyZWEgZGUgZ3LDoWZpY28uXG4gKi9cbmV4cG9ydCBjb25zdCBNQUlBVml6U2tlbGV0b24gPSAoKSA9PiAoXG4gIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAxNiwgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICA8U2tlbGV0b24gdmFyaWFudD1cInRleHRcIiB3aWR0aD1cIjQwJVwiIGhlaWdodD17MTh9IC8+XG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZ3JpZCcsIGdyaWRUZW1wbGF0ZUNvbHVtbnM6ICdyZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTUwcHgsIDFmcikpJywgZ2FwOiAxMiB9fT5cbiAgICAgIHtbJ2twaS1hJywgJ2twaS1iJywgJ2twaS1jJywgJ2twaS1kJ10ubWFwKGlkID0+IChcbiAgICAgICAgPFNrZWxldG9uIGtleT17aWR9IHZhcmlhbnQ9XCJyZWN0YW5ndWxhclwiIGhlaWdodD17OTJ9IGJvcmRlclJhZGl1cz17MTJ9IC8+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgICA8U2tlbGV0b24gdmFyaWFudD1cInJlY3Rhbmd1bGFyXCIgaGVpZ2h0PXsyMDB9IGJvcmRlclJhZGl1cz17MTJ9IC8+XG4gIDwvZGl2PlxuKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsc0JBQXNCOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUhBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFJQSxPQUFPLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQTtFQUFBLG9CQUMxQkQsS0FBQTtJQUFLRSxLQUFLLEVBQUU7TUFBRUMsT0FBTyxFQUFFLE1BQU07TUFBRUMsYUFBYSxFQUFFLFFBQVE7TUFBRUMsR0FBRyxFQUFFLEVBQUU7TUFBRUMsS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUFBQyxRQUFBLGdCQUMvRVQsSUFBQSxDQUFDRixRQUFRO01BQUNZLE9BQU8sRUFBQyxNQUFNO01BQUNGLEtBQUssRUFBQyxLQUFLO01BQUNHLE1BQU0sRUFBRTtJQUFHLENBQUUsQ0FBQyxlQUNuRFgsSUFBQTtNQUFLSSxLQUFLLEVBQUU7UUFBRUMsT0FBTyxFQUFFLE1BQU07UUFBRU8sbUJBQW1CLEVBQUUsdUNBQXVDO1FBQUVMLEdBQUcsRUFBRTtNQUFHLENBQUU7TUFBQUUsUUFBQSxFQUNwRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDSSxHQUFHLENBQUMsVUFBQUMsRUFBRTtRQUFBLG9CQUMxQ2QsSUFBQSxDQUFDRixRQUFRO1VBQVVZLE9BQU8sRUFBQyxhQUFhO1VBQUNDLE1BQU0sRUFBRSxFQUFHO1VBQUNJLFlBQVksRUFBRTtRQUFHLEdBQXZERCxFQUF5RCxDQUFDO01BQUEsQ0FDMUU7SUFBQyxDQUNDLENBQUMsZUFDTmQsSUFBQSxDQUFDRixRQUFRO01BQUNZLE9BQU8sRUFBQyxhQUFhO01BQUNDLE1BQU0sRUFBRSxHQUFJO01BQUNJLFlBQVksRUFBRTtJQUFHLENBQUUsQ0FBQztFQUFBLENBQzlELENBQUM7QUFBQSxDQUNQIiwiaWdub3JlTGlzdCI6W119