@dcl/asset-packs 2.16.2 → 2.16.3

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 (47) hide show
  1. package/bin/index.js +445 -325
  2. package/dist/admin-toolkit-ui/Active.d.ts +3 -2
  3. package/dist/admin-toolkit-ui/Active.js +1 -1
  4. package/dist/admin-toolkit-ui/Card.d.ts +2 -1
  5. package/dist/admin-toolkit-ui/Card.js +1 -1
  6. package/dist/admin-toolkit-ui/FeedbackButton.js +2 -2
  7. package/dist/admin-toolkit-ui/Loading.d.ts +3 -2
  8. package/dist/admin-toolkit-ui/Loading.js +1 -1
  9. package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.d.ts +1 -1
  10. package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.js +1 -1
  11. package/dist/admin-toolkit-ui/ModerationControl/BanUserDescription.js +1 -1
  12. package/dist/admin-toolkit-ui/ModerationControl/RemoveAdminConfirmation.js +4 -4
  13. package/dist/admin-toolkit-ui/ModerationControl/UsersList.js +16 -14
  14. package/dist/admin-toolkit-ui/ModerationControl/index.d.ts +0 -7
  15. package/dist/admin-toolkit-ui/ModerationControl/index.js +4 -9
  16. package/dist/admin-toolkit-ui/SmartItemsControl.js +15 -33
  17. package/dist/admin-toolkit-ui/TextAnnouncementsControl.js +14 -12
  18. package/dist/admin-toolkit-ui/VideoControl/DclCast/CompactDclCast.js +7 -9
  19. package/dist/admin-toolkit-ui/VideoControl/DclCast/DclCastInfo.js +4 -3
  20. package/dist/admin-toolkit-ui/VideoControl/DclCast/index.d.ts +0 -14
  21. package/dist/admin-toolkit-ui/VideoControl/DclCast/index.js +32 -136
  22. package/dist/admin-toolkit-ui/VideoControl/DclCast/presentation-detector.d.ts +2 -0
  23. package/dist/admin-toolkit-ui/VideoControl/DclCast/presentation-detector.js +116 -0
  24. package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.d.ts +1 -1
  25. package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.js +2 -2
  26. package/dist/admin-toolkit-ui/VideoControl/LiveStream/GenerateStreamKey.d.ts +1 -1
  27. package/dist/admin-toolkit-ui/VideoControl/LiveStream/GenerateStreamKey.js +2 -2
  28. package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.js +5 -4
  29. package/dist/admin-toolkit-ui/VideoControl/LiveStream/index.js +2 -2
  30. package/dist/admin-toolkit-ui/VideoControl/api.d.ts +5 -2
  31. package/dist/admin-toolkit-ui/VideoControl/api.js +22 -12
  32. package/dist/admin-toolkit-ui/VideoControl/index.js +14 -15
  33. package/dist/admin-toolkit-ui/VideoControl/utils.d.ts +2 -0
  34. package/dist/admin-toolkit-ui/VideoControl/utils.js +15 -3
  35. package/dist/admin-toolkit-ui/actions.d.ts +42 -0
  36. package/dist/admin-toolkit-ui/actions.js +138 -0
  37. package/dist/admin-toolkit-ui/admin-message-bus.js +17 -2
  38. package/dist/admin-toolkit-ui/index.d.ts +0 -3
  39. package/dist/admin-toolkit-ui/index.js +20 -93
  40. package/dist/admin-toolkit-ui/store.d.ts +2 -0
  41. package/dist/admin-toolkit-ui/store.js +45 -0
  42. package/dist/admin-toolkit-ui/types.d.ts +22 -5
  43. package/dist/admin-toolkit-ui/types.js +1 -2
  44. package/dist/bin/index.js +445 -325
  45. package/package.json +1 -1
  46. package/dist/admin-toolkit-ui/RewardsControl.d.ts +0 -7
  47. package/dist/admin-toolkit-ui/RewardsControl.js +0 -95
@@ -6,6 +6,7 @@ import { Button } from './Button';
6
6
  import { getContentUrl } from './constants';
7
7
  import { Header } from './Header';
8
8
  import { Card } from './Card';
9
+ import { selectSmartItem, setSmartItemAction, setSmartItemVisibility } from './actions';
9
10
  import { getSmartItems } from '.';
10
11
  const ICONS = {
11
12
  get SMART_ITEM_CONTROL() {
@@ -23,42 +24,23 @@ function handleExecuteAction(smartItem, action) {
23
24
  const actionEvents = getActionEvents(smartItem.entity);
24
25
  actionEvents.emit(action.name, getPayload(action));
25
26
  }
26
- function handleSelectSmartItem(state, smartItems, idx) {
27
- state.smartItemsControl.selectedSmartItem = idx;
27
+ function handleSelectSmartItem(smartItems, idx) {
28
28
  const smartItem = smartItems[idx];
29
- if (!state.smartItemsControl.smartItems.has(smartItem.entity)) {
30
- const stateSmartItems = new Map(state.smartItemsControl.smartItems);
31
- stateSmartItems.set(smartItem.entity, {
32
- visible: true,
33
- selectedAction: smartItem.defaultAction,
34
- });
35
- state.smartItemsControl = {
36
- ...state.smartItemsControl,
37
- smartItems: new Map(stateSmartItems),
38
- };
39
- }
29
+ selectSmartItem(idx, smartItem.entity, smartItem.defaultAction);
40
30
  }
41
- function handleSelectAction(state, smartItem, action) {
42
- const stateSmartItems = new Map(state.smartItemsControl.smartItems);
43
- stateSmartItems.set(smartItem.entity, {
44
- ...stateSmartItems.get(smartItem.entity),
45
- selectedAction: action.name,
46
- });
47
- state.smartItemsControl = {
48
- ...state.smartItemsControl,
49
- smartItems: new Map(stateSmartItems),
50
- };
31
+ function handleSelectAction(smartItem, action) {
32
+ setSmartItemAction(smartItem.entity, action.name);
51
33
  }
52
34
  function handleHideShowEntity(engine, state, smartItems) {
53
35
  const { VisibilityComponent } = getExplorerComponents(engine);
54
36
  const smartItemEntity = smartItems[state.smartItemsControl.selectedSmartItem].entity;
55
37
  const smartItem = state.smartItemsControl.smartItems.get(smartItemEntity);
56
38
  const toggleVisibility = !smartItem.visible;
57
- state.smartItemsControl.smartItems.get(smartItemEntity).visible = toggleVisibility;
39
+ setSmartItemVisibility(smartItemEntity, toggleVisibility);
58
40
  const visibility = VisibilityComponent.getOrCreateMutable(smartItemEntity);
59
41
  visibility.visible = toggleVisibility;
60
42
  }
61
- function SmartItemSelector({ engine, smartItems, selectedIndex, onSelect, }) {
43
+ function SmartItemSelector({ smartItems, selectedIndex, onSelect, }) {
62
44
  return (ReactEcs.createElement(UiEntity, { key: "SmartItemsControlDropdownWrapper", uiTransform: {
63
45
  flexDirection: 'column',
64
46
  margin: { bottom: 32 },
@@ -71,7 +53,7 @@ function SmartItemSelector({ engine, smartItems, selectedIndex, onSelect, }) {
71
53
  width: '100%',
72
54
  }, uiBackground: { color: Color4.White() }, color: Color4.Black() })));
73
55
  }
74
- function ActionSelector({ engine, actions, selectedIndex, disabled, onChange, }) {
56
+ function ActionSelector({ actions, selectedIndex, disabled, onChange, }) {
75
57
  return (ReactEcs.createElement(UiEntity, { uiTransform: {
76
58
  flexDirection: 'column',
77
59
  margin: { bottom: 32 },
@@ -86,7 +68,7 @@ function ActionSelector({ engine, actions, selectedIndex, disabled, onChange, })
86
68
  color: disabled ? Color4.Gray() : Color4.White(),
87
69
  }, color: Color4.Black() })) : (ReactEcs.createElement(UiEntity, null))));
88
70
  }
89
- function ActionButtons({ engine, state, smartItems, actions, selectedAction, }) {
71
+ function ActionButtons({ engine, state, smartItems, selectedAction, }) {
90
72
  const selectedSmartItem = state.smartItemsControl.selectedSmartItem !== undefined
91
73
  ? smartItems[state.smartItemsControl.selectedSmartItem]
92
74
  : undefined;
@@ -128,14 +110,14 @@ export function SmartItemsControl({ engine, state }) {
128
110
  flexDirection: 'column',
129
111
  } },
130
112
  ReactEcs.createElement(Header, { iconSrc: ICONS.SMART_ITEM_CONTROL, title: "SMART ITEM ACTIONS" }),
131
- ReactEcs.createElement(SmartItemSelector, { engine: engine, smartItems: smartItems, selectedIndex: state.smartItemsControl.selectedSmartItem, onSelect: idx => {
132
- handleSelectSmartItem(state, smartItems, idx);
113
+ ReactEcs.createElement(SmartItemSelector, { smartItems: smartItems, selectedIndex: state.smartItemsControl.selectedSmartItem, onSelect: idx => {
114
+ handleSelectSmartItem(smartItems, idx);
133
115
  } }),
134
- ReactEcs.createElement(ActionSelector, { engine: engine, actions: actions, selectedIndex: selectedActionIndex, disabled: state.smartItemsControl.selectedSmartItem === undefined, onChange: idx => {
116
+ ReactEcs.createElement(ActionSelector, { actions: actions, selectedIndex: selectedActionIndex, disabled: state.smartItemsControl.selectedSmartItem === undefined, onChange: idx => {
135
117
  if (state.smartItemsControl.selectedSmartItem !== undefined) {
136
- handleSelectAction(state, smartItems[state.smartItemsControl.selectedSmartItem], actions[idx]);
118
+ handleSelectAction(smartItems[state.smartItemsControl.selectedSmartItem], actions[idx]);
137
119
  }
138
120
  } }),
139
- ReactEcs.createElement(ActionButtons, { engine: engine, state: state, smartItems: smartItems, actions: actions, selectedAction: selectedActionIndex !== undefined ? actions[selectedActionIndex] : undefined }))));
121
+ ReactEcs.createElement(ActionButtons, { engine: engine, state: state, smartItems: smartItems, selectedAction: selectedActionIndex !== undefined ? actions[selectedActionIndex] : undefined }))));
140
122
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU21hcnRJdGVtc0NvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9TbWFydEl0ZW1zQ29udHJvbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxHQUdYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEdBQUcsQ0FBQztBQUdsQyxNQUFNLEtBQUssR0FBRztJQUNaLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sR0FBRyxhQUFhLEVBQUUsb0RBQW9ELENBQUM7SUFDaEYsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLG1CQUFtQixDQUMxQixNQUFlLEVBQ2YsU0FBd0U7SUFFeEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBZ0IsQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBRXRFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxD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QUFVLEVBQUUsVUFBVSxFQUN0QixPQUFPLEVBQUUsT0FBTyxFQUNoQixjQUFjLEVBQ1osbUJBQW1CLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUU5RSxDQUNPLENBQ04sQ0FDUixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5LCBJRW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IFJlYWN0RWNzLCB7IERyb3Bkb3duLCBMYWJlbCwgVWlFbnRpdHkgfSBmcm9tICdAZGNsL3JlYWN0LWVjcyc7XG5pbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL3Nkay9tYXRoJztcbmltcG9ydCB7XG4gIGdldEFjdGlvbkV2ZW50cyxcbiAgZ2V0Q29tcG9uZW50cyxcbiAgZ2V0UGF5bG9hZCxcbiAgdHlwZSBBY3Rpb24sXG4gIHR5cGUgQWRtaW5Ub29scyxcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgZ2V0RXhwbG9yZXJDb21wb25lbnRzIH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuL0J1dHRvbic7XG5pbXBvcnQgeyBnZXRDb250ZW50VXJsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdHlwZSBTdGF0ZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSAnLi9IZWFkZXInO1xuaW1wb3J0IHsgQ2FyZCB9IGZyb20gJy4vQ2FyZCc7XG5pbXBvcnQgeyBnZXRTbWFydEl0ZW1zIH0gZnJvbSAnLic7XG5cbi8vIENvbnN0YW50c1xuY29uc3QgSUNPTlMgPSB7XG4gIGdldCBTTUFSVF9JVEVNX0NPTlRST0woKSB7XG4gICAgcmV0dXJuIGAke2dldENvbnRlbnRVcmwoKX0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvc21hcnQtaXRlbS1jb250cm9sLnBuZ2A7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBnZXRTbWFydEl0ZW1BY3Rpb25zKFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIHNtYXJ0SXRlbTogTm9uTnVsbGFibGU8QWRtaW5Ub29sc1snc21hcnRJdGVtc0NvbnRyb2wnXVsnc21hcnRJdGVtcyddPlswXSxcbikge1xuICBjb25zdCB7IEFjdGlvbnMgfSA9IGdldENvbXBvbmVudHMoZW5naW5lKTtcbiAgaWYgKCFzbWFydEl0ZW0gfHwgIUFjdGlvbnMuaGFzKHNtYXJ0SXRlbS5lbnRpdHkgYXMgRW50aXR5KSkgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IGFjdGlvbnMgPSBBcnJheS5mcm9tKEFjdGlvbnMuZ2V0KHNtYXJ0SXRlbS5lbnRpdHkgYXMgRW50aXR5KS52YWx1ZSk7XG4gIHJldHVybiBhY3Rpb25zO1xufVxuXG4vLyBFdmVudCBIYW5kbGVyc1xuZnVuY3Rpb24gaGFuZGxlRXhlY3V0ZUFjdGlvbihcbiAgc21hcnRJdGVtOiBOb25OdWxsYWJsZTxBZG1pblRvb2xzWydzbWFydEl0ZW1zQ29udHJvbCddWydzbWFydEl0ZW1zJ10+WzBdLFxuICBhY3Rpb246IEFjdGlvbixcbikge1xuICBjb25zdCBhY3Rpb25FdmVudHMgPSBnZXRBY3Rpb25FdmVudHMoc21hcnRJdGVtLmVudGl0eSBhcyBFbnRpdHkpO1xuICBhY3Rpb25FdmVudHMuZW1pdChhY3Rpb24ubmFtZSwgZ2V0UGF5bG9hZChhY3Rpb24pKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlU2VsZWN0U21hcnRJdGVtKFxuICBzdGF0ZTogU3RhdGUsXG4gIHNtYXJ0SXRlbXM6IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3NtYXJ0SXRlbXNDb250cm9sJ11bJ3NtYXJ0SXRlbXMnXT4sXG4gIGlkeDogbnVtYmVyLFxuKSB7XG4gIHN0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNlbGVjdGVkU21hcnRJdGVtID0gaWR4O1xuICBjb25zdCBzbWFydEl0ZW0gPSBzbWFydEl0ZW1zW2lkeF07XG5cbiAgaWYgKCFzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zbWFydEl0ZW1zLmhhcyhzbWFydEl0ZW0uZW50aXR5IGFzIEVudGl0eSkpIHtcbiAgICBjb25zdCBzdGF0ZVNtYXJ0SXRlbXMgPSBuZXcgTWFwKHN0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNtYXJ0SXRlbXMpO1xuICAgIHN0YXRlU21hcnRJdGVtcy5zZXQoc21hcnRJdGVtLmVudGl0eSBhcyBFbnRpdHksIHtcbiAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICBzZWxlY3RlZEFjdGlvbjogc21hcnRJdGVtLmRlZmF1bHRBY3Rpb24sXG4gICAgfSk7XG4gICAgc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wgPSB7XG4gICAgICAuLi5zdGF0ZS5zbWFydEl0ZW1zQ29udHJvbCxcbiAgICAgIHNtYXJ0SXRlbXM6IG5ldyBNYXAoc3RhdGVTbWFydEl0ZW1zKSxcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVNlbGVjdEFjdGlvbihcbiAgc3RhdGU6IFN0YXRlLFxuICBzbWFydEl0ZW06IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3NtYXJ0SXRlbXNDb250cm9sJ11bJ3NtYXJ0SXRlbXMnXT5bMF0sXG4gIGFjdGlvbjogQWN0aW9uLFxuKSB7XG4gIGNvbnN0IHN0YXRlU21hcnRJdGVtcyA9IG5ldyBNYXAoc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc21hcnRJdGVtcyk7XG4gIHN0YXRlU21hcnRJdGVtcy5zZXQoc21hcnRJdGVtLmVudGl0eSBhcyBFbnRpdHksIHtcbiAgICAuLi5zdGF0ZVNtYXJ0SXRlbXMuZ2V0KHNtYXJ0SXRlbS5lbnRpdHkgYXMgRW50aXR5KSEsXG4gICAgc2VsZWN0ZWRBY3Rpb246IGFjdGlvbi5uYW1lLFxuICB9KTtcblxuICBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbCA9IHtcbiAgICAuLi5zdGF0ZS5zbWFydEl0ZW1zQ29udHJvbCxcbiAgICBzbWFydEl0ZW1zOiBuZXcgTWFwKHN0YXRlU21hcnRJdGVtcyksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUhpZGVTaG93RW50aXR5KFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIHN0YXRlOiBTdGF0ZSxcbiAgc21hcnRJdGVtczogTm9uTnVsbGFibGU8QWRtaW5Ub29sc1snc21hcnRJdGVtc0NvbnRyb2wnXVsnc21hcnRJdGVtcyddPixcbikge1xuICBjb25zdCB7IFZpc2liaWxpdHlDb21wb25lbnQgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpO1xuXG4gIGNvbnN0IHNtYXJ0SXRlbUVudGl0eSA9IHNtYXJ0SXRlbXNbc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW0hXS5lbnRpdHkgYXMgRW50aXR5O1xuICBjb25zdCBzbWFydEl0ZW0gPSBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zbWFydEl0ZW1zLmdldChzbWFydEl0ZW1FbnRpdHkpO1xuXG4gIGNvbnN0IHRvZ2dsZVZpc2liaWxpdHkgPSAhc21hcnRJdGVtIS52aXNpYmxlO1xuICBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zbWFydEl0ZW1zLmdldChzbWFydEl0ZW1FbnRpdHkpIS52aXNpYmxlID0gdG9nZ2xlVmlzaWJpbGl0eTtcblxuICBjb25zdCB2aXNpYmlsaXR5ID0gVmlzaWJpbGl0eUNvbXBvbmVudC5nZXRPckNyZWF0ZU11dGFibGUoc21hcnRJdGVtRW50aXR5KTtcbiAgdmlzaWJpbGl0eS52aXNpYmxlID0gdG9nZ2xlVmlzaWJpbGl0eTtcbn1cblxuZnVuY3Rpb24gU21hcnRJdGVtU2VsZWN0b3Ioe1xuICBlbmdpbmUsXG4gIHNtYXJ0SXRlbXMsXG4gIHNlbGVjdGVkSW5kZXgsXG4gIG9uU2VsZWN0LFxufToge1xuICBlbmdpbmU6IElFbmdpbmU7XG4gIHNtYXJ0SXRlbXM6IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3NtYXJ0SXRlbXNDb250cm9sJ11bJ3NtYXJ0SXRlbXMnXT47XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgb25TZWxlY3Q6IChpZHg6IG51bWJlcikgPT4gdm9pZDtcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIGtleT1cIlNtYXJ0SXRlbXNDb250cm9sRHJvcGRvd25XcmFwcGVyXCJcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICBtYXJnaW46IHsgYm90dG9tOiAzMiB9LFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8TGFiZWxcbiAgICAgICAgdmFsdWU9XCI8Yj5TZWxlY3RlZCBTbWFydCBJdGVtPC9iPlwiXG4gICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIG1hcmdpbjogeyBib3R0b206IDE2IH0sXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICAgPERyb3Bkb3duXG4gICAgICAgIGtleT1cIlNtYXJ0SXRlbXNDb250cm9sRHJvcGRvd25TZWxlY3RvclwiXG4gICAgICAgIGFjY2VwdEVtcHR5XG4gICAgICAgIGVtcHR5TGFiZWw9XCJTZWxlY3QgU21hcnQgSXRlbVwiXG4gICAgICAgIG9wdGlvbnM9e3NtYXJ0SXRlbXMubWFwKFxuICAgICAgICAgIChpdGVtOiBOb25OdWxsYWJsZTxBZG1pblRvb2xzWydzbWFydEl0ZW1zQ29udHJvbCddWydzbWFydEl0ZW1zJ10+WzBdKSA9PiBpdGVtLmN1c3RvbU5hbWUsXG4gICAgICAgICl9XG4gICAgICAgIHNlbGVjdGVkSW5kZXg9e3NlbGVjdGVkSW5kZXggPz8gLTF9XG4gICAgICAgIG9uQ2hhbmdlPXtvblNlbGVjdH1cbiAgICAgICAgdGV4dEFsaWduPVwibWlkZGxlLWxlZnRcIlxuICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICAgIGNvbG9yPXtDb2xvcjQuQmxhY2soKX1cbiAgICAgIC8+XG4gICAgPC9VaUVudGl0eT5cbiAgKTtcbn1cblxuZnVuY3Rpb24gQWN0aW9uU2VsZWN0b3Ioe1xuICBlbmdpbmUsXG4gIGFjdGlvbnMsXG4gIHNlbGVjdGVkSW5kZXgsXG4gIGRpc2FibGVkLFxuICBvbkNoYW5nZSxcbn06IHtcbiAgZW5naW5lOiBJRW5naW5lO1xuICBhY3Rpb25zOiBBY3Rpb25bXTtcbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgb25DaGFuZ2U6IChpZHg6IG51bWJlcikgPT4gdm9pZDtcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICBtYXJnaW46IHsgYm90dG9tOiAzMiB9LFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8TGFiZWxcbiAgICAgICAgdmFsdWU9XCI8Yj5BY3Rpb25zPC9iPlwiXG4gICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIG1hcmdpbjogeyBib3R0b206IDE2IH0sXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICAge2FjdGlvbnMubGVuZ3RoID8gKFxuICAgICAgICA8RHJvcGRvd25cbiAgICAgICAgICBhY2NlcHRFbXB0eVxuICAgICAgICAgIGVtcHR5TGFiZWw9XCJTZWxlY3QgQWN0aW9uXCJcbiAgICAgICAgICBvcHRpb25zPXthY3Rpb25zLm1hcCgoYWN0aW9uOiBBY3Rpb24pID0+IGFjdGlvbi5uYW1lKX1cbiAgICAgICAgICBzZWxlY3RlZEluZGV4PXtzZWxlY3RlZEluZGV4fVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgdGV4dEFsaWduPVwibWlkZGxlLWxlZnRcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgfX1cbiAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZCA/IENvbG9yNC5HcmF5KCkgOiBDb2xvcjQuV2hpdGUoKSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNvbG9yPXtDb2xvcjQuQmxhY2soKX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxVaUVudGl0eSAvPlxuICAgICAgKX1cbiAgICA8L1VpRW50aXR5PlxuICApO1xufVxuXG5mdW5jdGlvbiBBY3Rpb25CdXR0b25zKHtcbiAgZW5naW5lLFxuICBzdGF0ZSxcbiAgc21hcnRJdGVtcyxcbiAgYWN0aW9ucyxcbiAgc2VsZWN0ZWRBY3Rpb24sXG59OiB7XG4gIGVuZ2luZTogSUVuZ2luZTtcbiAgc3RhdGU6IFN0YXRlO1xuICBzbWFydEl0ZW1zOiBOb25OdWxsYWJsZTxBZG1pblRvb2xzWydzbWFydEl0ZW1zQ29udHJvbCddWydzbWFydEl0ZW1zJ10+O1xuICBhY3Rpb25zOiBBY3Rpb25bXTtcbiAgc2VsZWN0ZWRBY3Rpb246IEFjdGlvbiB8IHVuZGVmaW5lZDtcbn0pIHtcbiAgY29uc3Qgc2VsZWN0ZWRTbWFydEl0ZW0gPVxuICAgIHN0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNlbGVjdGVkU21hcnRJdGVtICE9PSB1bmRlZmluZWRcbiAgICAgID8gc21hcnRJdGVtc1tzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zZWxlY3RlZFNtYXJ0SXRlbV1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGlzVmlzaWJsZSA9XG4gICAgc2VsZWN0ZWRTbWFydEl0ZW0gJiZcbiAgICBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zbWFydEl0ZW1zLmdldChzZWxlY3RlZFNtYXJ0SXRlbS5lbnRpdHkgYXMgRW50aXR5KT8udmlzaWJsZTtcblxuICByZXR1cm4gKFxuICAgIDxVaUVudGl0eVxuICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxCdXR0b25cbiAgICAgICAgaWQ9XCJzbWFydF9pdGVtc19jb250cm9sX3Jlc3RhcnRcIlxuICAgICAgICB2YWx1ZT1cIjxiPlBsYXkgQWN0aW9uPC9iPlwiXG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiA4IH0sXG4gICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgfX1cbiAgICAgICAgbGFiZWxUcmFuc2Zvcm09e3tcbiAgICAgICAgICBtYXJnaW46IHsgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LFxuICAgICAgICB9fVxuICAgICAgICBkaXNhYmxlZD17IXNlbGVjdGVkU21hcnRJdGVtIHx8ICFzZWxlY3RlZEFjdGlvbn1cbiAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRTbWFydEl0ZW0gJiYgc2VsZWN0ZWRBY3Rpb24pIHtcbiAgICAgICAgICAgIGhhbmRsZUV4ZWN1dGVBY3Rpb24oc2VsZWN0ZWRTbWFydEl0ZW0sIHNlbGVjdGVkQWN0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICAgPEJ1dHRvblxuICAgICAgICBpZD1cInNtYXJ0X2l0ZW1zX2NvbnRyb2xfaGlkZV9zaG93XCJcbiAgICAgICAgdmFsdWU9e2A8Yj4ke2lzVmlzaWJsZSA/ICdIaWRlJyA6ICdTaG93J30gRW50aXR5PC9iPmB9XG4gICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiBoYW5kbGVIaWRlU2hvd0VudGl0eShlbmdpbmUsIHN0YXRlLCBzbWFydEl0ZW1zKX1cbiAgICAgICAgZGlzYWJsZWQ9eyFzZWxlY3RlZFNtYXJ0SXRlbX1cbiAgICAgICAgdWlUcmFuc2Zvcm09e3sgbWFyZ2luOiB7IHJpZ2h0OiA4IH0gfX1cbiAgICAgICAgbGFiZWxUcmFuc2Zvcm09e3tcbiAgICAgICAgICBtYXJnaW46IHsgbGVmdDogMTAsIHJpZ2h0OiAxMCB9LFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICA8L1VpRW50aXR5PlxuICApO1xufVxuXG4vLyBNYWluIENvbXBvbmVudFxuZXhwb3J0IGZ1bmN0aW9uIFNtYXJ0SXRlbXNDb250cm9sKHsgZW5naW5lLCBzdGF0ZSB9OiB7IGVuZ2luZTogSUVuZ2luZTsgc3RhdGU6IFN0YXRlIH0pIHtcbiAgY29uc3Qgc21hcnRJdGVtcyA9IGdldFNtYXJ0SXRlbXMoZW5naW5lKTtcbiAgY29uc3QgYWN0aW9ucyA9XG4gICAgc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW0gIT09IHVuZGVmaW5lZFxuICAgICAgPyBnZXRTbWFydEl0ZW1BY3Rpb25zKGVuZ2luZSwgc21hcnRJdGVtc1tzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zZWxlY3RlZFNtYXJ0SXRlbV0pXG4gICAgICA6IFtdO1xuXG4gIGNvbnN0IHNlbGVjdGVkQWN0aW9uSW5kZXggPVxuICAgIHN0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNlbGVjdGVkU21hcnRJdGVtICE9PSB1bmRlZmluZWRcbiAgICAgID8gYWN0aW9ucy5maW5kSW5kZXgoKGFjdGlvbjogQWN0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRTbWFydEl0ZW06IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3NtYXJ0SXRlbXNDb250cm9sJ11bJ3NtYXJ0SXRlbXMnXT5bMF0gPVxuICAgICAgICAgICAgc21hcnRJdGVtc1tzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zZWxlY3RlZFNtYXJ0SXRlbSFdO1xuICAgICAgICAgIGNvbnN0IHN0YXRlU2VsZWN0ZWRBY3Rpb24gPSBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zbWFydEl0ZW1zLmdldChcbiAgICAgICAgICAgIHNlbGVjdGVkU21hcnRJdGVtLmVudGl0eSBhcyBFbnRpdHksXG4gICAgICAgICAgKT8uc2VsZWN0ZWRBY3Rpb247XG5cbiAgICAgICAgICByZXR1cm4gYWN0aW9uLm5hbWUgPT09IChzdGF0ZVNlbGVjdGVkQWN0aW9uID8/IHNlbGVjdGVkU21hcnRJdGVtLmRlZmF1bHRBY3Rpb24pO1xuICAgICAgICB9KVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIHJldHVybiAoXG4gICAgPENhcmQ+XG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAga2V5PVwiU21hcnRJdGVtc0NvbnRyb2xcIlxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxIZWFkZXJcbiAgICAgICAgICBpY29uU3JjPXtJQ09OUy5TTUFSVF9JVEVNX0NPTlRST0x9XG4gICAgICAgICAgdGl0bGU9XCJTTUFSVCBJVEVNIEFDVElPTlNcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxTbWFydEl0ZW1TZWxlY3RvclxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgIHNtYXJ0SXRlbXM9e3NtYXJ0SXRlbXN9XG4gICAgICAgICAgc2VsZWN0ZWRJbmRleD17c3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW19XG4gICAgICAgICAgb25TZWxlY3Q9e2lkeCA9PiB7XG4gICAgICAgICAgICBoYW5kbGVTZWxlY3RTbWFydEl0ZW0oc3RhdGUsIHNtYXJ0SXRlbXMsIGlkeCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cblxuICAgICAgICA8QWN0aW9uU2VsZWN0b3JcbiAgICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgICBhY3Rpb25zPXthY3Rpb25zfVxuICAgICAgICAgIHNlbGVjdGVkSW5kZXg9e3NlbGVjdGVkQWN0aW9uSW5kZXh9XG4gICAgICAgICAgZGlzYWJsZWQ9e3N0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNlbGVjdGVkU21hcnRJdGVtID09PSB1bmRlZmluZWR9XG4gICAgICAgICAgb25DaGFuZ2U9e2lkeCA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBY3Rpb24oXG4gICAgICAgICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgICAgICAgc21hcnRJdGVtc1tzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zZWxlY3RlZFNtYXJ0SXRlbV0sXG4gICAgICAgICAgICAgICAgYWN0aW9uc1tpZHhdLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG5cbiAgICAgICAgPEFjdGlvbkJ1dHRvbnNcbiAgICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgICBzdGF0ZT17c3RhdGV9XG4gICAgICAgICAgc21hcnRJdGVtcz17c21hcnRJdGVtc31cbiAgICAgICAgICBhY3Rpb25zPXthY3Rpb25zfVxuICAgICAgICAgIHNlbGVjdGVkQWN0aW9uPXtcbiAgICAgICAgICAgIHNlbGVjdGVkQWN0aW9uSW5kZXggIT09IHVuZGVmaW5lZCA/IGFjdGlvbnNbc2VsZWN0ZWRBY3Rpb25JbmRleF0gOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuICAgIDwvQ2FyZD5cbiAgKTtcbn1cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU21hcnRJdGVtc0NvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9TbWFydEl0ZW1zQ29udHJvbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxHQUdYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sR0FBRyxDQUFDO0FBR2xDLE1BQU0sS0FBSyxHQUFHO0lBQ1osSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxHQUFHLGFBQWEsRUFBRSxvREFBb0QsQ0FBQztJQUNoRixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsbUJBQW1CLENBQzFCLE1BQWUsRUFDZixTQUF3RTtJQUV4RSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFnQixDQUFDO1FB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RCxrQkFBa0IsQ0FDaEIsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQ2IsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUMsR0FDRDtZQUVGLHVCQUFDLGFBQWEsSUFDWixNQUFNLEVBQUUsTUFBTSxFQUNkLEtBQUssRUFBRSxLQUFLLEVBQ1osVUFBVSxFQUFFLFVBQVUsRUFDdEIsY0FBYyxFQUNaLG1CQUFtQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FFOUUsQ0FDTyxDQUNOLENBQ1IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eSwgSUVuZ2luZSB9IGZyb20gJ0BkY2wvZWNzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmltcG9ydCBSZWFjdEVjcywgeyBEcm9wZG93biwgTGFiZWwsIFVpRW50aXR5IH0gZnJvbSAnQGRjbC9yZWFjdC1lY3MnO1xuaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9zZGsvbWF0aCc7XG5pbXBvcnQge1xuICBnZXRBY3Rpb25FdmVudHMsXG4gIGdldENvbXBvbmVudHMsXG4gIGdldFBheWxvYWQsXG4gIHR5cGUgQWN0aW9uLFxuICB0eXBlIEFkbWluVG9vbHMsXG59IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IGdldEV4cGxvcmVyQ29tcG9uZW50cyB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi9CdXR0b24nO1xuaW1wb3J0IHsgZ2V0Q29udGVudFVybCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHR5cGUgU3RhdGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gJy4vSGVhZGVyJztcbmltcG9ydCB7IENhcmQgfSBmcm9tICcuL0NhcmQnO1xuaW1wb3J0IHsgc2VsZWN0U21hcnRJdGVtLCBzZXRTbWFydEl0ZW1BY3Rpb24sIHNldFNtYXJ0SXRlbVZpc2liaWxpdHkgfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgZ2V0U21hcnRJdGVtcyB9IGZyb20gJy4nO1xuXG4vLyBDb25zdGFudHNcbmNvbnN0IElDT05TID0ge1xuICBnZXQgU01BUlRfSVRFTV9DT05UUk9MKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3NtYXJ0LWl0ZW0tY29udHJvbC5wbmdgO1xuICB9LFxufTtcblxuZnVuY3Rpb24gZ2V0U21hcnRJdGVtQWN0aW9ucyhcbiAgZW5naW5lOiBJRW5naW5lLFxuICBzbWFydEl0ZW06IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3NtYXJ0SXRlbXNDb250cm9sJ11bJ3NtYXJ0SXRlbXMnXT5bMF0sXG4pIHtcbiAgY29uc3QgeyBBY3Rpb25zIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG4gIGlmICghc21hcnRJdGVtIHx8ICFBY3Rpb25zLmhhcyhzbWFydEl0ZW0uZW50aXR5IGFzIEVudGl0eSkpIHJldHVybiBbXTtcblxuICBjb25zdCBhY3Rpb25zID0gQXJyYXkuZnJvbShBY3Rpb25zLmdldChzbWFydEl0ZW0uZW50aXR5IGFzIEVudGl0eSkudmFsdWUpO1xuICByZXR1cm4gYWN0aW9ucztcbn1cblxuLy8gRXZlbnQgSGFuZGxlcnNcbmZ1bmN0aW9uIGhhbmRsZUV4ZWN1dGVBY3Rpb24oXG4gIHNtYXJ0SXRlbTogTm9uTnVsbGFibGU8QWRtaW5Ub29sc1snc21hcnRJdGVtc0NvbnRyb2wnXVsnc21hcnRJdGVtcyddPlswXSxcbiAgYWN0aW9uOiBBY3Rpb24sXG4pIHtcbiAgY29uc3QgYWN0aW9uRXZlbnRzID0gZ2V0QWN0aW9uRXZlbnRzKHNtYXJ0SXRlbS5lbnRpdHkgYXMgRW50aXR5KTtcbiAgYWN0aW9uRXZlbnRzLmVtaXQoYWN0aW9uLm5hbWUsIGdldFBheWxvYWQoYWN0aW9uKSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVNlbGVjdFNtYXJ0SXRlbShcbiAgc21hcnRJdGVtczogTm9uTnVsbGFibGU8QWRtaW5Ub29sc1snc21hcnRJdGVtc0NvbnRyb2wnXVsnc21hcnRJdGVtcyddPixcbiAgaWR4OiBudW1iZXIsXG4pIHtcbiAgY29uc3Qgc21hcnRJdGVtID0gc21hcnRJdGVtc1tpZHhdO1xuICBzZWxlY3RTbWFydEl0ZW0oaWR4LCBzbWFydEl0ZW0uZW50aXR5IGFzIEVudGl0eSwgc21hcnRJdGVtLmRlZmF1bHRBY3Rpb24pO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVTZWxlY3RBY3Rpb24oXG4gIHNtYXJ0SXRlbTogTm9uTnVsbGFibGU8QWRtaW5Ub29sc1snc21hcnRJdGVtc0NvbnRyb2wnXVsnc21hcnRJdGVtcyddPlswXSxcbiAgYWN0aW9uOiBBY3Rpb24sXG4pIHtcbiAgc2V0U21hcnRJdGVtQWN0aW9uKHNtYXJ0SXRlbS5lbnRpdHkgYXMgRW50aXR5LCBhY3Rpb24ubmFtZSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUhpZGVTaG93RW50aXR5KFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIHN0YXRlOiBTdGF0ZSxcbiAgc21hcnRJdGVtczogTm9uTnVsbGFibGU8QWRtaW5Ub29sc1snc21hcnRJdGVtc0NvbnRyb2wnXVsnc21hcnRJdGVtcyddPixcbikge1xuICBjb25zdCB7IFZpc2liaWxpdHlDb21wb25lbnQgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpO1xuXG4gIGNvbnN0IHNtYXJ0SXRlbUVudGl0eSA9IHNtYXJ0SXRlbXNbc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW0hXS5lbnRpdHkgYXMgRW50aXR5O1xuICBjb25zdCBzbWFydEl0ZW0gPSBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zbWFydEl0ZW1zLmdldChzbWFydEl0ZW1FbnRpdHkpO1xuXG4gIGNvbnN0IHRvZ2dsZVZpc2liaWxpdHkgPSAhc21hcnRJdGVtIS52aXNpYmxlO1xuICBzZXRTbWFydEl0ZW1WaXNpYmlsaXR5KHNtYXJ0SXRlbUVudGl0eSwgdG9nZ2xlVmlzaWJpbGl0eSk7XG5cbiAgY29uc3QgdmlzaWJpbGl0eSA9IFZpc2liaWxpdHlDb21wb25lbnQuZ2V0T3JDcmVhdGVNdXRhYmxlKHNtYXJ0SXRlbUVudGl0eSk7XG4gIHZpc2liaWxpdHkudmlzaWJsZSA9IHRvZ2dsZVZpc2liaWxpdHk7XG59XG5cbmZ1bmN0aW9uIFNtYXJ0SXRlbVNlbGVjdG9yKHtcbiAgc21hcnRJdGVtcyxcbiAgc2VsZWN0ZWRJbmRleCxcbiAgb25TZWxlY3QsXG59OiB7XG4gIHNtYXJ0SXRlbXM6IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3NtYXJ0SXRlbXNDb250cm9sJ11bJ3NtYXJ0SXRlbXMnXT47XG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgb25TZWxlY3Q6IChpZHg6IG51bWJlcikgPT4gdm9pZDtcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIGtleT1cIlNtYXJ0SXRlbXNDb250cm9sRHJvcGRvd25XcmFwcGVyXCJcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICBtYXJnaW46IHsgYm90dG9tOiAzMiB9LFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8TGFiZWxcbiAgICAgICAgdmFsdWU9XCI8Yj5TZWxlY3RlZCBTbWFydCBJdGVtPC9iPlwiXG4gICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIG1hcmdpbjogeyBib3R0b206IDE2IH0sXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICAgPERyb3Bkb3duXG4gICAgICAgIGtleT1cIlNtYXJ0SXRlbXNDb250cm9sRHJvcGRvd25TZWxlY3RvclwiXG4gICAgICAgIGFjY2VwdEVtcHR5XG4gICAgICAgIGVtcHR5TGFiZWw9XCJTZWxlY3QgU21hcnQgSXRlbVwiXG4gICAgICAgIG9wdGlvbnM9e3NtYXJ0SXRlbXMubWFwKFxuICAgICAgICAgIChpdGVtOiBOb25OdWxsYWJsZTxBZG1pblRvb2xzWydzbWFydEl0ZW1zQ29udHJvbCddWydzbWFydEl0ZW1zJ10+WzBdKSA9PiBpdGVtLmN1c3RvbU5hbWUsXG4gICAgICAgICl9XG4gICAgICAgIHNlbGVjdGVkSW5kZXg9e3NlbGVjdGVkSW5kZXggPz8gLTF9XG4gICAgICAgIG9uQ2hhbmdlPXtvblNlbGVjdH1cbiAgICAgICAgdGV4dEFsaWduPVwibWlkZGxlLWxlZnRcIlxuICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICAgIGNvbG9yPXtDb2xvcjQuQmxhY2soKX1cbiAgICAgIC8+XG4gICAgPC9VaUVudGl0eT5cbiAgKTtcbn1cblxuZnVuY3Rpb24gQWN0aW9uU2VsZWN0b3Ioe1xuICBhY3Rpb25zLFxuICBzZWxlY3RlZEluZGV4LFxuICBkaXNhYmxlZCxcbiAgb25DaGFuZ2UsXG59OiB7XG4gIGFjdGlvbnM6IEFjdGlvbltdO1xuICBzZWxlY3RlZEluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBvbkNoYW5nZTogKGlkeDogbnVtYmVyKSA9PiB2b2lkO1xufSkge1xuICByZXR1cm4gKFxuICAgIDxVaUVudGl0eVxuICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIG1hcmdpbjogeyBib3R0b206IDMyIH0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxMYWJlbFxuICAgICAgICB2YWx1ZT1cIjxiPkFjdGlvbnM8L2I+XCJcbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogMTYgfSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICB7YWN0aW9ucy5sZW5ndGggPyAoXG4gICAgICAgIDxEcm9wZG93blxuICAgICAgICAgIGFjY2VwdEVtcHR5XG4gICAgICAgICAgZW1wdHlMYWJlbD1cIlNlbGVjdCBBY3Rpb25cIlxuICAgICAgICAgIG9wdGlvbnM9e2FjdGlvbnMubWFwKChhY3Rpb246IEFjdGlvbikgPT4gYWN0aW9uLm5hbWUpfVxuICAgICAgICAgIHNlbGVjdGVkSW5kZXg9e3NlbGVjdGVkSW5kZXh9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICB0ZXh0QWxpZ249XCJtaWRkbGUtbGVmdFwiXG4gICAgICAgICAgZm9udFNpemU9ezE0fVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICB9fVxuICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkID8gQ29sb3I0LkdyYXkoKSA6IENvbG9yNC5XaGl0ZSgpLFxuICAgICAgICAgIH19XG4gICAgICAgICAgY29sb3I9e0NvbG9yNC5CbGFjaygpfVxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFVpRW50aXR5IC8+XG4gICAgICApfVxuICAgIDwvVWlFbnRpdHk+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEFjdGlvbkJ1dHRvbnMoe1xuICBlbmdpbmUsXG4gIHN0YXRlLFxuICBzbWFydEl0ZW1zLFxuICBzZWxlY3RlZEFjdGlvbixcbn06IHtcbiAgZW5naW5lOiBJRW5naW5lO1xuICBzdGF0ZTogU3RhdGU7XG4gIHNtYXJ0SXRlbXM6IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3NtYXJ0SXRlbXNDb250cm9sJ11bJ3NtYXJ0SXRlbXMnXT47XG4gIHNlbGVjdGVkQWN0aW9uOiBBY3Rpb24gfCB1bmRlZmluZWQ7XG59KSB7XG4gIGNvbnN0IHNlbGVjdGVkU21hcnRJdGVtID1cbiAgICBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zZWxlY3RlZFNtYXJ0SXRlbSAhPT0gdW5kZWZpbmVkXG4gICAgICA/IHNtYXJ0SXRlbXNbc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW1dXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBpc1Zpc2libGUgPVxuICAgIHNlbGVjdGVkU21hcnRJdGVtICYmXG4gICAgc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc21hcnRJdGVtcy5nZXQoc2VsZWN0ZWRTbWFydEl0ZW0uZW50aXR5IGFzIEVudGl0eSk/LnZpc2libGU7XG5cbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8QnV0dG9uXG4gICAgICAgIGlkPVwic21hcnRfaXRlbXNfY29udHJvbF9yZXN0YXJ0XCJcbiAgICAgICAgdmFsdWU9XCI8Yj5QbGF5IEFjdGlvbjwvYj5cIlxuICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIG1hcmdpbjogeyByaWdodDogOCB9LFxuICAgICAgICAgIGhlaWdodDogNDAsXG4gICAgICAgIH19XG4gICAgICAgIGxhYmVsVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IGxlZnQ6IDEwLCByaWdodDogMTAgfSxcbiAgICAgICAgfX1cbiAgICAgICAgZGlzYWJsZWQ9eyFzZWxlY3RlZFNtYXJ0SXRlbSB8fCAhc2VsZWN0ZWRBY3Rpb259XG4gICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgaWYgKHNlbGVjdGVkU21hcnRJdGVtICYmIHNlbGVjdGVkQWN0aW9uKSB7XG4gICAgICAgICAgICBoYW5kbGVFeGVjdXRlQWN0aW9uKHNlbGVjdGVkU21hcnRJdGVtLCBzZWxlY3RlZEFjdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIDxCdXR0b25cbiAgICAgICAgaWQ9XCJzbWFydF9pdGVtc19jb250cm9sX2hpZGVfc2hvd1wiXG4gICAgICAgIHZhbHVlPXtgPGI+JHtpc1Zpc2libGUgPyAnSGlkZScgOiAnU2hvdyd9IEVudGl0eTwvYj5gfVxuICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4gaGFuZGxlSGlkZVNob3dFbnRpdHkoZW5naW5lLCBzdGF0ZSwgc21hcnRJdGVtcyl9XG4gICAgICAgIGRpc2FibGVkPXshc2VsZWN0ZWRTbWFydEl0ZW19XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7IG1hcmdpbjogeyByaWdodDogOCB9IH19XG4gICAgICAgIGxhYmVsVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IGxlZnQ6IDEwLCByaWdodDogMTAgfSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgPC9VaUVudGl0eT5cbiAgKTtcbn1cblxuLy8gTWFpbiBDb21wb25lbnRcbmV4cG9ydCBmdW5jdGlvbiBTbWFydEl0ZW1zQ29udHJvbCh7IGVuZ2luZSwgc3RhdGUgfTogeyBlbmdpbmU6IElFbmdpbmU7IHN0YXRlOiBTdGF0ZSB9KSB7XG4gIGNvbnN0IHNtYXJ0SXRlbXMgPSBnZXRTbWFydEl0ZW1zKGVuZ2luZSk7XG4gIGNvbnN0IGFjdGlvbnMgPVxuICAgIHN0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNlbGVjdGVkU21hcnRJdGVtICE9PSB1bmRlZmluZWRcbiAgICAgID8gZ2V0U21hcnRJdGVtQWN0aW9ucyhlbmdpbmUsIHNtYXJ0SXRlbXNbc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW1dKVxuICAgICAgOiBbXTtcblxuICBjb25zdCBzZWxlY3RlZEFjdGlvbkluZGV4ID1cbiAgICBzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zZWxlY3RlZFNtYXJ0SXRlbSAhPT0gdW5kZWZpbmVkXG4gICAgICA/IGFjdGlvbnMuZmluZEluZGV4KChhY3Rpb246IEFjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkU21hcnRJdGVtOiBOb25OdWxsYWJsZTxBZG1pblRvb2xzWydzbWFydEl0ZW1zQ29udHJvbCddWydzbWFydEl0ZW1zJ10+WzBdID1cbiAgICAgICAgICAgIHNtYXJ0SXRlbXNbc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW0hXTtcbiAgICAgICAgICBjb25zdCBzdGF0ZVNlbGVjdGVkQWN0aW9uID0gc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc21hcnRJdGVtcy5nZXQoXG4gICAgICAgICAgICBzZWxlY3RlZFNtYXJ0SXRlbS5lbnRpdHkgYXMgRW50aXR5LFxuICAgICAgICAgICk/LnNlbGVjdGVkQWN0aW9uO1xuXG4gICAgICAgICAgcmV0dXJuIGFjdGlvbi5uYW1lID09PSAoc3RhdGVTZWxlY3RlZEFjdGlvbiA/PyBzZWxlY3RlZFNtYXJ0SXRlbS5kZWZhdWx0QWN0aW9uKTtcbiAgICAgICAgfSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICByZXR1cm4gKFxuICAgIDxDYXJkPlxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIGtleT1cIlNtYXJ0SXRlbXNDb250cm9sXCJcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8SGVhZGVyXG4gICAgICAgICAgaWNvblNyYz17SUNPTlMuU01BUlRfSVRFTV9DT05UUk9MfVxuICAgICAgICAgIHRpdGxlPVwiU01BUlQgSVRFTSBBQ1RJT05TXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8U21hcnRJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzbWFydEl0ZW1zPXtzbWFydEl0ZW1zfVxuICAgICAgICAgIHNlbGVjdGVkSW5kZXg9e3N0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNlbGVjdGVkU21hcnRJdGVtfVxuICAgICAgICAgIG9uU2VsZWN0PXtpZHggPT4ge1xuICAgICAgICAgICAgaGFuZGxlU2VsZWN0U21hcnRJdGVtKHNtYXJ0SXRlbXMsIGlkeCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cblxuICAgICAgICA8QWN0aW9uU2VsZWN0b3JcbiAgICAgICAgICBhY3Rpb25zPXthY3Rpb25zfVxuICAgICAgICAgIHNlbGVjdGVkSW5kZXg9e3NlbGVjdGVkQWN0aW9uSW5kZXh9XG4gICAgICAgICAgZGlzYWJsZWQ9e3N0YXRlLnNtYXJ0SXRlbXNDb250cm9sLnNlbGVjdGVkU21hcnRJdGVtID09PSB1bmRlZmluZWR9XG4gICAgICAgICAgb25DaGFuZ2U9e2lkeCA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdGUuc21hcnRJdGVtc0NvbnRyb2wuc2VsZWN0ZWRTbWFydEl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBY3Rpb24oXG4gICAgICAgICAgICAgICAgc21hcnRJdGVtc1tzdGF0ZS5zbWFydEl0ZW1zQ29udHJvbC5zZWxlY3RlZFNtYXJ0SXRlbV0sXG4gICAgICAgICAgICAgICAgYWN0aW9uc1tpZHhdLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG5cbiAgICAgICAgPEFjdGlvbkJ1dHRvbnNcbiAgICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgICBzdGF0ZT17c3RhdGV9XG4gICAgICAgICAgc21hcnRJdGVtcz17c21hcnRJdGVtc31cbiAgICAgICAgICBzZWxlY3RlZEFjdGlvbj17XG4gICAgICAgICAgICBzZWxlY3RlZEFjdGlvbkluZGV4ICE9PSB1bmRlZmluZWQgPyBhY3Rpb25zW3NlbGVjdGVkQWN0aW9uSW5kZXhdIDogdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L0NhcmQ+XG4gICk7XG59XG4iXX0=
@@ -5,6 +5,7 @@ import { getContentUrl } from './constants';
5
5
  import { Header } from './Header';
6
6
  import { Card } from './Card';
7
7
  import { getAdminMessageBus } from './admin-message-bus';
8
+ import { showAnnouncementBanner, clearAnnouncementBanner, setAnnouncementText, clearAnnouncements, } from './actions';
8
9
  const ICONS = {
9
10
  get TEXT_ANNOUNCEMENT_CONTROL() {
10
11
  return `${getContentUrl()}/admin_toolkit/assets/icons/text-announcement-control.png`;
@@ -19,8 +20,8 @@ const ICONS = {
19
20
  return `${getContentUrl()}/admin_toolkit/assets/icons/text-announcement-chat-message.png`;
20
21
  },
21
22
  };
22
- let ANNOUNCEMENT_STATE;
23
23
  export function TextAnnouncementsControl({ engine, state, player, }) {
24
+ const banner = state.textAnnouncementControl.banner;
24
25
  return (ReactEcs.createElement(Card, null,
25
26
  ReactEcs.createElement(UiEntity, { uiTransform: {
26
27
  width: '100%',
@@ -33,7 +34,8 @@ export function TextAnnouncementsControl({ engine, state, player, }) {
33
34
  ReactEcs.createElement(Input, { onSubmit: value => {
34
35
  handleSendTextAnnouncement(engine, state, value, player);
35
36
  }, onChange: value => {
36
- state.textAnnouncementControl.text = value;
37
+ setAnnouncementText(value);
38
+ clearAnnouncementBanner();
37
39
  }, fontSize: 16, placeholder: 'Write your announcement here', placeholderColor: Color4.create(160 / 255, 155 / 255, 168 / 255, 1), color: Color4.Black(), uiBackground: { color: Color4.White() }, uiTransform: {
38
40
  width: '100%',
39
41
  height: 80,
@@ -64,7 +66,7 @@ export function TextAnnouncementsControl({ engine, state, player, }) {
64
66
  } }))),
65
67
  ReactEcs.createElement(UiEntity, { uiTransform: { minHeight: 30 } },
66
68
  ReactEcs.createElement(UiEntity, { uiTransform: {
67
- display: ANNOUNCEMENT_STATE !== undefined ? 'flex' : 'none',
69
+ display: banner !== undefined ? 'flex' : 'none',
68
70
  width: 30,
69
71
  height: 30,
70
72
  }, uiBackground: {
@@ -72,22 +74,22 @@ export function TextAnnouncementsControl({ engine, state, player, }) {
72
74
  textureMode: 'stretch',
73
75
  } }),
74
76
  ReactEcs.createElement(Label, { uiTransform: {
75
- display: ANNOUNCEMENT_STATE !== undefined ? 'flex' : 'none',
76
- }, value: `Message ${ANNOUNCEMENT_STATE === 'sent' ? 'sent' : 'cleared'}!`, fontSize: 14, color: Color4.create(187 / 255, 187 / 255, 187 / 255, 1) })))));
77
+ display: banner !== undefined ? 'flex' : 'none',
78
+ }, value: `Message ${banner === 'sent' ? 'sent' : 'cleared'}!`, fontSize: 14, color: Color4.create(187 / 255, 187 / 255, 187 / 255, 1) })))));
77
79
  }
78
- function handleClearTextAnnouncement(_engine, state) {
80
+ function handleClearTextAnnouncement(_engine, _state) {
79
81
  getAdminMessageBus().emitClearAnnouncement();
80
- state.textAnnouncementControl.announcements = [];
81
- ANNOUNCEMENT_STATE = 'cleared';
82
+ clearAnnouncements();
83
+ showAnnouncementBanner('cleared');
82
84
  }
83
- function handleSendTextAnnouncement(_engine, state, text, player) {
85
+ function handleSendTextAnnouncement(_engine, _state, text, player) {
84
86
  if (!text) {
85
87
  return;
86
88
  }
87
89
  const author = player?.name;
88
90
  const timestamp = Date.now();
89
91
  getAdminMessageBus().emitSetAnnouncement(text.slice(0, 90), author, `${timestamp}-${author}`);
90
- state.textAnnouncementControl.text = '';
91
- ANNOUNCEMENT_STATE = 'sent';
92
+ setAnnouncementText('');
93
+ showAnnouncementBanner('sent');
92
94
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dEFubm91bmNlbWVudHNDb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVGV4dEFubm91bmNlbWVudHNDb250cm9sLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXpELE1BQU0sS0FBSyxHQUFHO0lBQ1osSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxHQUFHLGFBQWEsRUFBRSwyREFBMkQsQ0FBQztJQUN2RixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxHQUFHLGFBQWEsRUFBRSx5REFBeUQsQ0FBQztJQUNyRixDQUFDO0lBQ0QsSUFBSSwyQkFBMkI7UUFDN0IsT0FBTyxHQUFHLGFBQWEsRUFBRSxnRUFBZ0UsQ0FBQztJQUM1RixDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxHQUFHLGFBQWEsRUFBRSxnRUFBZ0UsQ0FBQztJQUM1RixDQUFDO0NBQ0YsQ0FBQztBQUVGLElBQUksa0JBQXNDLENBQUM7QUFFM0MsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEVBQ3ZDLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUtQO0lBQ0MsT0FBTyxDQUNMLHVCQUFDLElBQUk7UUFDSCx1QkFBQyxRQUFR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QUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUN4RCxDQUNPLENBQ0YsQ0FDTixDQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxPQUFnQixFQUFFLEtBQVk7SUFDakUsa0JBQWtCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzdDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ2pELGtCQUFrQixHQUFHLFNBQVMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FDakMsT0FBZ0IsRUFDaEIsS0FBWSxFQUNaLElBQXdCLEVBQ3hCLE1BQWdDO0lBRWhDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQztJQUM1QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0Isa0JBQWtCLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztJQUU5RixLQUFLLENBQUMsdUJBQXVCLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN4QyxrQkFBa0IsR0FBRyxNQUFNLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgSUVuZ2luZSB9IGZyb20gJ0BkY2wvZWNzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmltcG9ydCBSZWFjdEVjcywgeyBMYWJlbCwgVWlFbnRpdHksIElucHV0IH0gZnJvbSAnQGRjbC9yZWFjdC1lY3MnO1xuaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9zZGsvbWF0aCc7XG5pbXBvcnQgeyB0eXBlIEdldFBsYXllckRhdGFSZXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuL0J1dHRvbic7XG5pbXBvcnQgeyBnZXRDb250ZW50VXJsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSAnLi9IZWFkZXInO1xuaW1wb3J0IHsgQ2FyZCB9IGZyb20gJy4vQ2FyZCc7XG5pbXBvcnQgeyB0eXBlIFN0YXRlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRBZG1pbk1lc3NhZ2VCdXMgfSBmcm9tICcuL2FkbWluLW1lc3NhZ2UtYnVzJztcblxuY29uc3QgSUNPTlMgPSB7XG4gIGdldCBURVhUX0FOTk9VTkNFTUVOVF9DT05UUk9MKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3RleHQtYW5ub3VuY2VtZW50LWNvbnRyb2wucG5nYDtcbiAgfSxcbiAgZ2V0IENIRUNLKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3RleHQtYW5ub3VuY2VtZW50LWNoZWNrLnBuZ2A7XG4gIH0sXG4gIGdldCBCVE5fQ0xPU0VfVEVYVF9BTk5PVU5DRU1FTlQoKSB7XG4gICAgcmV0dXJuIGAke2dldENvbnRlbnRVcmwoKX0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvdGV4dC1hbm5vdW5jZW1lbnQtY2xvc2UtYnV0dG9uLnBuZ2A7XG4gIH0sXG4gIGdldCBDSEFUX01FU1NBR0VfSUNPTigpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy90ZXh0LWFubm91bmNlbWVudC1jaGF0LW1lc3NhZ2UucG5nYDtcbiAgfSxcbn07XG5cbmxldCBBTk5PVU5DRU1FTlRfU1RBVEU6ICdzZW50JyB8ICdjbGVhcmVkJztcblxuZXhwb3J0IGZ1bmN0aW9uIFRleHRBbm5vdW5jZW1lbnRzQ29udHJvbCh7XG4gIGVuZ2luZSxcbiAgc3RhdGUsXG4gIHBsYXllcixcbn06IHtcbiAgZW5naW5lOiBJRW5naW5lO1xuICBzdGF0ZTogU3RhdGU7XG4gIHBsYXllcj86IEdldFBsYXllckRhdGFSZXMgfCBudWxsO1xufSkge1xuICByZXR1cm4gKFxuICAgIDxDYXJkPlxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgPEhlYWRlclxuICAgICAgICAgIGljb25TcmM9e0lDT05TLlRFWFRfQU5OT1VOQ0VNRU5UX0NPTlRST0x9XG4gICAgICAgICAgdGl0bGU9XCJURVhUIEFOTk9VTkNFTUVOVFNcIlxuICAgICAgICAvPlxuICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgZmxleERpcmVjdGlvbjogJ2NvbHVtbicgfX0+XG4gICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPk1lc3NhZ2Ugd2luZG93PC9iPlwiXG4gICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBtYXJnaW46IHsgYm90dG9tOiAxNiB9IH19XG4gICAgICAgICAgLz5cblxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgb25TdWJtaXQ9e3ZhbHVlID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VuZFRleHRBbm5vdW5jZW1lbnQoZW5naW5lLCBzdGF0ZSwgdmFsdWUsIHBsYXllcik7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IHtcbiAgICAgICAgICAgICAgc3RhdGUudGV4dEFubm91bmNlbWVudENvbnRyb2wudGV4dCA9IHZhbHVlO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXsnV3JpdGUgeW91ciBhbm5vdW5jZW1lbnQgaGVyZSd9XG4gICAgICAgICAgICBwbGFjZWhvbGRlckNvbG9yPXtDb2xvcjQuY3JlYXRlKDE2MCAvIDI1NSwgMTU1IC8gMjU1LCAxNjggLyAyNTUsIDEpfVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5CbGFjaygpfVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7IGNvbG9yOiBDb2xvcjQuV2hpdGUoKSB9fVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiA4MCxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogMTYgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cblxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICB2YWx1ZT17YCR7c3RhdGUudGV4dEFubm91bmNlbWVudENvbnRyb2wudGV4dD8ubGVuZ3RoID8/IDB9IC8gOTBgfVxuICAgICAgICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuY3JlYXRlKDE4NyAvIDI1NSwgMTg3IC8gMjU1LCAxODcgLyAyNTUsIDEpfVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBmbGV4R3JvdzogMSB9fVxuICAgICAgICAgICAgICB0ZXh0QWxpZ249XCJ0b3AtbGVmdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cInRleHRfYW5ub3VuY2VtZW50X2NvbnRyb2xfY2xlYXJcIlxuICAgICAgICAgICAgICB2YWx1ZT1cIjxiPkNsZWFyIEFubm91bmNlbWVudHM8L2I+XCJcbiAgICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogOCB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUNsZWFyVGV4dEFubm91bmNlbWVudChlbmdpbmUsIHN0YXRlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwidGV4dF9hbm5vdW5jZW1lbnRfY29udHJvbF9zaGFyZVwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiPGI+U2hhcmU8L2I+XCJcbiAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICAgIGxhYmVsVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7IGxlZnQ6IDIwLCByaWdodDogMjAgfSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3sgaGVpZ2h0OiA0MCB9fVxuICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZVNlbmRUZXh0QW5ub3VuY2VtZW50KFxuICAgICAgICAgICAgICAgICAgZW5naW5lLFxuICAgICAgICAgICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgICAgICAgICBzdGF0ZS50ZXh0QW5ub3VuY2VtZW50Q29udHJvbC50ZXh0LFxuICAgICAgICAgICAgICAgICAgcGxheWVyLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IG1pbkhlaWdodDogMzAgfX0+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBBTk5PVU5DRU1FTlRfU1RBVEUgIT09IHVuZGVmaW5lZCA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICAgICAgd2lkdGg6IDMwLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDMwLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICB0ZXh0dXJlOiB7IHNyYzogSUNPTlMuQ0hFQ0sgfSxcbiAgICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IEFOTk9VTkNFTUVOVF9TVEFURSAhPT0gdW5kZWZpbmVkID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHZhbHVlPXtgTWVzc2FnZSAke0FOTk9VTkNFTUVOVF9TVEFURSA9PT0gJ3NlbnQnID8gJ3NlbnQnIDogJ2NsZWFyZWQnfSFgfVxuICAgICAgICAgICAgZm9udFNpemU9ezE0fVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5jcmVhdGUoMTg3IC8gMjU1LCAxODcgLyAyNTUsIDE4NyAvIDI1NSwgMSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgIDwvVWlFbnRpdHk+XG4gICAgPC9DYXJkPlxuICApO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVDbGVhclRleHRBbm5vdW5jZW1lbnQoX2VuZ2luZTogSUVuZ2luZSwgc3RhdGU6IFN0YXRlKSB7XG4gIGdldEFkbWluTWVzc2FnZUJ1cygpLmVtaXRDbGVhckFubm91bmNlbWVudCgpO1xuICBzdGF0ZS50ZXh0QW5ub3VuY2VtZW50Q29udHJvbC5hbm5vdW5jZW1lbnRzID0gW107XG4gIEFOTk9VTkNFTUVOVF9TVEFURSA9ICdjbGVhcmVkJztcbn1cblxuZnVuY3Rpb24gaGFuZGxlU2VuZFRleHRBbm5vdW5jZW1lbnQoXG4gIF9lbmdpbmU6IElFbmdpbmUsXG4gIHN0YXRlOiBTdGF0ZSxcbiAgdGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBwbGF5ZXI/OiBHZXRQbGF5ZXJEYXRhUmVzIHwgbnVsbCxcbikge1xuICBpZiAoIXRleHQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhdXRob3IgPSBwbGF5ZXI/Lm5hbWU7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gIGdldEFkbWluTWVzc2FnZUJ1cygpLmVtaXRTZXRBbm5vdW5jZW1lbnQodGV4dC5zbGljZSgwLCA5MCksIGF1dGhvciwgYCR7dGltZXN0YW1wfS0ke2F1dGhvcn1gKTtcblxuICBzdGF0ZS50ZXh0QW5ub3VuY2VtZW50Q29udHJvbC50ZXh0ID0gJyc7XG4gIEFOTk9VTkNFTUVOVF9TVEFURSA9ICdzZW50Jztcbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dEFubm91bmNlbWVudHNDb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVGV4dEFubm91bmNlbWVudHNDb250cm9sLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixrQkFBa0IsR0FDbkIsTUFBTSxXQUFXLENBQUM7QUFFbkIsTUFBTSxLQUFLLEdBQUc7SUFDWixJQUFJLHlCQUF5QjtRQUMzQixPQUFPLEdBQUcsYUFBYSxFQUFFLDJEQUEyRCxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLEdBQUcsYUFBYSxFQUFFLHlEQUF5RCxDQUFDO0lBQ3JGLENBQUM7SUFDRCxJQUFJLDJCQUEyQjtRQUM3QixPQUFPLEdBQUcsYUFBYSxFQUFFLGdFQUFnRSxDQUFDO0lBQzVGLENBQUM7SUFDRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLEdBQUcsYUFBYSxFQUFFLGdFQUFnRSxDQUFDO0lBQzVGLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEVBQ3ZDLE1BQU0sRUFDTixL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QUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQzNELFFBQVEsRUFBRSxFQUFFLEVBQ1osS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQ3hELENBQ08sQ0FDRixDQUNOLENBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLE9BQWdCLEVBQUUsTUFBYTtJQUNsRSxrQkFBa0IsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDN0Msa0JBQWtCLEVBQUUsQ0FBQztJQUNyQixzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FDakMsT0FBZ0IsRUFDaEIsTUFBYSxFQUNiLElBQXdCLEVBQ3hCLE1BQWdDO0lBRWhDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNWLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQztJQUM1QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0Isa0JBQWtCLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztJQUU5RixtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJRW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IFJlYWN0RWNzLCB7IExhYmVsLCBVaUVudGl0eSwgSW5wdXQgfSBmcm9tICdAZGNsL3JlYWN0LWVjcyc7XG5pbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL3Nkay9tYXRoJztcbmltcG9ydCB7IHR5cGUgR2V0UGxheWVyRGF0YVJlcyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4vQnV0dG9uJztcbmltcG9ydCB7IGdldENvbnRlbnRVcmwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tICcuL0hlYWRlcic7XG5pbXBvcnQgeyBDYXJkIH0gZnJvbSAnLi9DYXJkJztcbmltcG9ydCB7IHR5cGUgU3RhdGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldEFkbWluTWVzc2FnZUJ1cyB9IGZyb20gJy4vYWRtaW4tbWVzc2FnZS1idXMnO1xuaW1wb3J0IHtcbiAgc2hvd0Fubm91bmNlbWVudEJhbm5lcixcbiAgY2xlYXJBbm5vdW5jZW1lbnRCYW5uZXIsXG4gIHNldEFubm91bmNlbWVudFRleHQsXG4gIGNsZWFyQW5ub3VuY2VtZW50cyxcbn0gZnJvbSAnLi9hY3Rpb25zJztcblxuY29uc3QgSUNPTlMgPSB7XG4gIGdldCBURVhUX0FOTk9VTkNFTUVOVF9DT05UUk9MKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3RleHQtYW5ub3VuY2VtZW50LWNvbnRyb2wucG5nYDtcbiAgfSxcbiAgZ2V0IENIRUNLKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3RleHQtYW5ub3VuY2VtZW50LWNoZWNrLnBuZ2A7XG4gIH0sXG4gIGdldCBCVE5fQ0xPU0VfVEVYVF9BTk5PVU5DRU1FTlQoKSB7XG4gICAgcmV0dXJuIGAke2dldENvbnRlbnRVcmwoKX0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvdGV4dC1hbm5vdW5jZW1lbnQtY2xvc2UtYnV0dG9uLnBuZ2A7XG4gIH0sXG4gIGdldCBDSEFUX01FU1NBR0VfSUNPTigpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy90ZXh0LWFubm91bmNlbWVudC1jaGF0LW1lc3NhZ2UucG5nYDtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBUZXh0QW5ub3VuY2VtZW50c0NvbnRyb2woe1xuICBlbmdpbmUsXG4gIHN0YXRlLFxuICBwbGF5ZXIsXG59OiB7XG4gIGVuZ2luZTogSUVuZ2luZTtcbiAgc3RhdGU6IFN0YXRlO1xuICBwbGF5ZXI/OiBHZXRQbGF5ZXJEYXRhUmVzIHwgbnVsbDtcbn0pIHtcbiAgY29uc3QgYmFubmVyID0gc3RhdGUudGV4dEFubm91bmNlbWVudENvbnRyb2wuYmFubmVyO1xuICByZXR1cm4gKFxuICAgIDxDYXJkPlxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgPEhlYWRlclxuICAgICAgICAgIGljb25TcmM9e0lDT05TLlRFWFRfQU5OT1VOQ0VNRU5UX0NPTlRST0x9XG4gICAgICAgICAgdGl0bGU9XCJURVhUIEFOTk9VTkNFTUVOVFNcIlxuICAgICAgICAvPlxuICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgZmxleERpcmVjdGlvbjogJ2NvbHVtbicgfX0+XG4gICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPk1lc3NhZ2Ugd2luZG93PC9iPlwiXG4gICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBtYXJnaW46IHsgYm90dG9tOiAxNiB9IH19XG4gICAgICAgICAgLz5cblxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgb25TdWJtaXQ9e3ZhbHVlID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VuZFRleHRBbm5vdW5jZW1lbnQoZW5naW5lLCBzdGF0ZSwgdmFsdWUsIHBsYXllcik7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IHtcbiAgICAgICAgICAgICAgc2V0QW5ub3VuY2VtZW50VGV4dCh2YWx1ZSk7XG4gICAgICAgICAgICAgIGNsZWFyQW5ub3VuY2VtZW50QmFubmVyKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9eydXcml0ZSB5b3VyIGFubm91bmNlbWVudCBoZXJlJ31cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyQ29sb3I9e0NvbG9yNC5jcmVhdGUoMTYwIC8gMjU1LCAxNTUgLyAyNTUsIDE2OCAvIDI1NSwgMSl9XG4gICAgICAgICAgICBjb2xvcj17Q29sb3I0LkJsYWNrKCl9XG4gICAgICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDgwLFxuICAgICAgICAgICAgICBtYXJnaW46IHsgYm90dG9tOiAxNiB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDQwLFxuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMCxcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgIHZhbHVlPXtgJHtzdGF0ZS50ZXh0QW5ub3VuY2VtZW50Q29udHJvbC50ZXh0Py5sZW5ndGggPz8gMH0gLyA5MGB9XG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5jcmVhdGUoMTg3IC8gMjU1LCAxODcgLyAyNTUsIDE4NyAvIDI1NSwgMSl9XG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IGZsZXhHcm93OiAxIH19XG4gICAgICAgICAgICAgIHRleHRBbGlnbj1cInRvcC1sZWZ0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwidGV4dF9hbm5vdW5jZW1lbnRfY29udHJvbF9jbGVhclwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiPGI+Q2xlYXIgQW5ub3VuY2VtZW50czwvYj5cIlxuICAgICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDAsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiA4IH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2xlYXJUZXh0QW5ub3VuY2VtZW50KGVuZ2luZSwgc3RhdGUpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJ0ZXh0X2Fubm91bmNlbWVudF9jb250cm9sX3NoYXJlXCJcbiAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5TaGFyZTwvYj5cIlxuICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgICAgbGFiZWxUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICBtYXJnaW46IHsgbGVmdDogMjAsIHJpZ2h0OiAyMCB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBoZWlnaHQ6IDQwIH19XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlU2VuZFRleHRBbm5vdW5jZW1lbnQoXG4gICAgICAgICAgICAgICAgICBlbmdpbmUsXG4gICAgICAgICAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICAgICAgICAgIHN0YXRlLnRleHRBbm5vdW5jZW1lbnRDb250cm9sLnRleHQsXG4gICAgICAgICAgICAgICAgICBwbGF5ZXIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgbWluSGVpZ2h0OiAzMCB9fT5cbiAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJhbm5lciAhPT0gdW5kZWZpbmVkID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgICAgICB3aWR0aDogMzAsXG4gICAgICAgICAgICAgIGhlaWdodDogMzAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmU6IHsgc3JjOiBJQ09OUy5DSEVDSyB9LFxuICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogYmFubmVyICE9PSB1bmRlZmluZWQgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdmFsdWU9e2BNZXNzYWdlICR7YmFubmVyID09PSAnc2VudCcgPyAnc2VudCcgOiAnY2xlYXJlZCd9IWB9XG4gICAgICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgICAgICBjb2xvcj17Q29sb3I0LmNyZWF0ZSgxODcgLyAyNTUsIDE4NyAvIDI1NSwgMTg3IC8gMjU1LCAxKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L0NhcmQ+XG4gICk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUNsZWFyVGV4dEFubm91bmNlbWVudChfZW5naW5lOiBJRW5naW5lLCBfc3RhdGU6IFN0YXRlKSB7XG4gIGdldEFkbWluTWVzc2FnZUJ1cygpLmVtaXRDbGVhckFubm91bmNlbWVudCgpO1xuICBjbGVhckFubm91bmNlbWVudHMoKTtcbiAgc2hvd0Fubm91bmNlbWVudEJhbm5lcignY2xlYXJlZCcpO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVTZW5kVGV4dEFubm91bmNlbWVudChcbiAgX2VuZ2luZTogSUVuZ2luZSxcbiAgX3N0YXRlOiBTdGF0ZSxcbiAgdGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBwbGF5ZXI/OiBHZXRQbGF5ZXJEYXRhUmVzIHwgbnVsbCxcbikge1xuICBpZiAoIXRleHQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBhdXRob3IgPSBwbGF5ZXI/Lm5hbWU7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gIGdldEFkbWluTWVzc2FnZUJ1cygpLmVtaXRTZXRBbm5vdW5jZW1lbnQodGV4dC5zbGljZSgwLCA5MCksIGF1dGhvciwgYCR7dGltZXN0YW1wfS0ke2F1dGhvcn1gKTtcblxuICBzZXRBbm5vdW5jZW1lbnRUZXh0KCcnKTtcbiAgc2hvd0Fubm91bmNlbWVudEJhbm5lcignc2VudCcpO1xufVxuIl19
@@ -6,7 +6,7 @@ import { LIVEKIT_STREAM_SRC } from '../LiveStream';
6
6
  import { isPresentationBot, stopPresentation } from '../api';
7
7
  import { VideoControlVolume } from '../VolumeControl';
8
8
  import { createVideoPlayerControls, isDclCast } from '../utils';
9
- import { showcaseState } from '.';
9
+ import { setStream, dismissPresentation, expandCast } from '../../actions';
10
10
  import PresentationPanel from './PresentationPanel';
11
11
  import { getCompactBarStyles, getDclCastBackgrounds, getDclCastColors } from './styles';
12
12
  const ICONS = {
@@ -27,14 +27,14 @@ const CompactDclCast = ({ engine, state, entity, video, onShowShowcaseModal, })
27
27
  const controls = createVideoPlayerControls(entity, engine);
28
28
  const isActive = !!(video?.src && isDclCast(video.src));
29
29
  const presentationState = state.videoControl.presentationState;
30
- const presentationBotInRoom = showcaseState.participants.some(p => isPresentationBot(p.name));
30
+ const presentationBotInRoom = state.videoControl.participants.some(p => isPresentationBot(p.name));
31
31
  const hasPresentation = isActive && (!!presentationState || presentationBotInRoom);
32
32
  const handleExpand = () => {
33
- state.videoControl.isMinimized = false;
33
+ expandCast();
34
34
  };
35
35
  const handleActivate = () => {
36
36
  controls.setSource(LIVEKIT_STREAM_SRC);
37
- state.videoControl.selectedStream = 'dcl-cast';
37
+ setStream('dcl-cast');
38
38
  };
39
39
  return (ReactEcs.createElement(UiEntity, { uiTransform: styles.outerContainer },
40
40
  ReactEcs.createElement(UiEntity, { uiTransform: styles.container },
@@ -63,9 +63,7 @@ const CompactDclCast = ({ engine, state, entity, video, onShowShowcaseModal, })
63
63
  width: '100%',
64
64
  margin: { top: 16 },
65
65
  } },
66
- ReactEcs.createElement(PresentationPanel, { presentationState: presentationState, compact: true, hideStopSharing: true, idPrefix: "compact_dcl_cast", onStopSharing: () => {
67
- state.videoControl.presentationState = undefined;
68
- } })),
66
+ ReactEcs.createElement(PresentationPanel, { presentationState: presentationState, compact: true, hideStopSharing: true, idPrefix: "compact_dcl_cast", onStopSharing: () => dismissPresentation() })),
69
67
  ReactEcs.createElement(UiEntity, { uiTransform: {
70
68
  display: isActive ? 'flex' : 'none',
71
69
  ...styles.showcaseRow,
@@ -83,8 +81,8 @@ const CompactDclCast = ({ engine, state, entity, video, onShowShowcaseModal, })
83
81
  } },
84
82
  ReactEcs.createElement(Button, { id: "compact_dcl_cast_stop_sharing", value: "<b>Stop Sharing</b>", variant: "text", fontSize: 16, color: colors.danger, uiTransform: { height: 42, padding: { left: 8, right: 8 } }, onMouseDown: () => {
85
83
  stopPresentation();
86
- state.videoControl.presentationState = undefined;
84
+ dismissPresentation();
87
85
  } }))));
88
86
  };
89
87
  export default CompactDclCast;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdERjbENhc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvRGNsQ2FzdC9Db21wYWN0RGNsQ2FzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEdBQUcsQ0FBQztBQUNsQyxPQUFPLGlCQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4RixNQUFNLEtBQUssR0FBRztJQUNaLElBQUksYUFBYTtRQUNmLE9BQU8sR0FBRyxhQUFhLEVBQUUsd0RBQXdELENBQUM7SUFDcEYsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sR0FBRyxhQUFhLEVBQUUsOENBQThDLENBQUM7SUFDMUUsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sR0FBRyxhQUFhLEVBQUUsc0NBQXNDLENBQUM7SUFDbEUsQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLEVBQ3RCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxtQkFBbUIsR0FPcEIsRUFBRSxFQUFFO0lBQ0gsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixFQUFFLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcseUJBQXlCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTNELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztJQUMvRCxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUYsTUFBTSxlQUFlLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLHFCQUFxQixDQUFDLENBQUM7SUFFbkYsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO1FBQ3hCLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUN6QyxDQUFDLENBQUM7SUFFRixNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7UUFDMUIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUNqRCxDQUFDLENBQUM7SUFFRixPQUFPLENBQ0wsdUJBQUMsUUFBUSxJQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsY0FBYztRQUUxQyx1QkFBQyxRQUFRLElBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQ3JDLHVCQUFDLFFBQVEsSUFBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7Z0JBQ3ZDLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksRUFDeEIsWUFBWSxFQUFFO3dCQUNaLFdBQVcsRUFBRSxTQUFTO3dCQUN0QixPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRTtxQkFDdEMsR0FDRDtnQkFDRix1QkFBQyxLQUFLLElBQ0osS0FBSyxFQUFFLGlCQUFpQixFQUN4QixRQUFRLEVBQUUsRUFBRSxFQUNaLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUNuQixDQUNPO1lBQ1gsdUJBQUMsUUFBUSxJQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsWUFBWTtnQkFFeEMsdUJBQUMsUUFBUSxJQUFDLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUM1RCx1QkFBQyxNQUFNLElBQ0wsRUFBRSxFQUFDLDJCQUEyQixFQUM5QixLQUFLLEVBQUMsaUJBQWlCLEVBQ3ZCLGNBQWMsRUFBRSxNQUFNLENBQUMsbUJBQW1CLEVBQzFDLFdBQVcsRUFBRSxNQUFNLENBQUMsY0FBYyxFQUNsQyxRQUFRLEVBQUUsRUFBRSxFQUNaLFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTyxFQUNqQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFDbkIsV0FBVyxFQUFFLGNBQWMsR0FDM0IsQ0FDTztnQkFFWCx1QkFBQyxRQUFRLElBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtvQkFDL0UsdUJBQUMsS0FBSyxJQUNKLEtBQUssRUFDSCxpQkFBaUI7NEJBQ2YsQ0FBQyxDQUFDLFNBQVMsaUJBQWlCLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUU7NEJBQ2pGLENBQUMsQ0FBQyxFQUFFLEVBRVIsUUFBUSxFQUFFLEVBQUUsRUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksRUFDbEIsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQzFDLENBQ087Z0JBQ1gsdUJBQUMsUUFBUSxJQUNQLFdBQVcsRUFBRSxZQUFZLEVBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsYUFBYSxFQUNqQyxZQUFZLEVBQUU7d0JBQ1osV0FBVyxFQUFFLFNBQVM7d0JBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFO3dCQUNyQixPQUFPLEVBQUU7NEJBQ1AsR0FBRyxFQUFFLEtBQUssQ0FBQyxZQUFZO3lCQUN4QjtxQkFDRixHQUNELENBQ08sQ0FDRjtRQUdYLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO2dCQUMxQyxLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFO2FBQ3BCO1lBRUQsdUJBQUMsaUJBQWlCLElBQ2hCLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxPQUFPLFFBQ1AsZUFBZSxRQUNmLFFBQVEsRUFBQyxrQkFBa0IsRUFDM0IsYUFBYSxFQUFFLEdBQUcsRUFBRTtvQkFDbEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7Z0JBQ25ELENBQUMsR0FDRCxDQUNPO1FBR1gsdUJBQUMsUUFBUSxJQUNQLFdBQVcsRUFBRTtnQkFDWCxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQ25DLEdBQUcsTUFBTSxDQUFDLFdBQVc7YUFDdEI7WUFFRCx1QkFBQyxNQUFNLElBQ0wsRUFBRSxFQUFDLDJCQUEyQixFQUM5QixLQUFLLEVBQUMsaUJBQWlCLEVBQ3ZCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUNoQixhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFDOUIsT0FBTyxFQUFDLFdBQVcsRUFDbkIsUUFBUSxFQUFFLEVBQUUsRUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFDbkIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxjQUFjLEVBQ2xDLFdBQVcsRUFBRSxtQkFBbUIsR0FDaEMsQ0FDTztRQUdYLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO2dCQUNuQyxLQUFLLEVBQUUsTUFBTTthQUNkO1lBRUQsdUJBQUMsa0JBQWtCLElBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLE1BQU0sRUFDZCxLQUFLLEVBQUUsS0FBSyxFQUNaLEtBQUssRUFBQyxlQUFlLEVBQ3JCLFFBQVEsRUFBQyw4QkFBOEIsR0FDdkMsQ0FDTztRQUdYLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO2dCQUMxQyxLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFO2FBQ3BCO1lBRUQsdUJBQUMsTUFBTSxJQUNMLEVBQUUsRUFBQywrQkFBK0IsRUFDbEMsS0FBSyxFQUFDLHFCQUFxQixFQUMzQixPQUFPLEVBQUMsTUFBTSxFQUNkLFFBQVEsRUFBRSxFQUFFLEVBQ1osS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQ3BCLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFDM0QsV0FBVyxFQUFFLEdBQUcsRUFBRTtvQkFDaEIsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDbkIsS0FBSyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7Z0JBQ25ELENBQUMsR0FDRCxDQUNPLENBQ0YsQ0FDWixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsZUFBZSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERlZXBSZWFkb25seU9iamVjdCwgRW50aXR5LCBJRW5naW5lLCBQQlZpZGVvUGxheWVyIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IFJlYWN0RWNzLCB7IExhYmVsLCBVaUVudGl0eSB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHsgZ2V0Q29udGVudFVybCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi9CdXR0b24nO1xuaW1wb3J0IHR5cGUgeyBTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IExJVkVLSVRfU1RSRUFNX1NSQyB9IGZyb20gJy4uL0xpdmVTdHJlYW0nO1xuaW1wb3J0IHsgaXNQcmVzZW50YXRpb25Cb3QsIHN0b3BQcmVzZW50YXRpb24gfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgVmlkZW9Db250cm9sVm9sdW1lIH0gZnJvbSAnLi4vVm9sdW1lQ29udHJvbCc7XG5pbXBvcnQgeyBjcmVhdGVWaWRlb1BsYXllckNvbnRyb2xzLCBpc0RjbENhc3QgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBzaG93Y2FzZVN0YXRlIH0gZnJvbSAnLic7XG5pbXBvcnQgUHJlc2VudGF0aW9uUGFuZWwgZnJvbSAnLi9QcmVzZW50YXRpb25QYW5lbCc7XG5pbXBvcnQgeyBnZXRDb21wYWN0QmFyU3R5bGVzLCBnZXREY2xDYXN0QmFja2dyb3VuZHMsIGdldERjbENhc3RDb2xvcnMgfSBmcm9tICcuL3N0eWxlcyc7XG5cbmNvbnN0IElDT05TID0ge1xuICBnZXQgRENMX0NBU1RfSUNPTigpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy92aWRlby1jb250cm9sLWRjbC1jYXN0LnBuZ2A7XG4gIH0sXG4gIGdldCBDSEVWUk9OX0RPV04oKSB7XG4gICAgcmV0dXJuIGAke2dldENvbnRlbnRVcmwoKX0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvY2hldnJvbi1kb3duLnBuZ2A7XG4gIH0sXG4gIGdldCBTVEFSKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3N0YXIucG5nYDtcbiAgfSxcbn07XG5cbmNvbnN0IENvbXBhY3REY2xDYXN0ID0gKHtcbiAgZW5naW5lLFxuICBzdGF0ZSxcbiAgZW50aXR5LFxuICB2aWRlbyxcbiAgb25TaG93U2hvd2Nhc2VNb2RhbCxcbn06IHtcbiAgZW5naW5lOiBJRW5naW5lO1xuICBzdGF0ZTogU3RhdGU7XG4gIGVudGl0eTogRW50aXR5O1xuICB2aWRlbzogRGVlcFJlYWRvbmx5T2JqZWN0PFBCVmlkZW9QbGF5ZXI+IHwgdW5kZWZpbmVkO1xuICBvblNob3dTaG93Y2FzZU1vZGFsOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xufSkgPT4ge1xuICBjb25zdCBzdHlsZXMgPSBnZXRDb21wYWN0QmFyU3R5bGVzKCk7XG4gIGNvbnN0IGNvbG9ycyA9IGdldERjbENhc3RDb2xvcnMoKTtcbiAgY29uc3QgYmFja2dyb3VuZHMgPSBnZXREY2xDYXN0QmFja2dyb3VuZHMoKTtcbiAgY29uc3QgY29udHJvbHMgPSBjcmVhdGVWaWRlb1BsYXllckNvbnRyb2xzKGVudGl0eSwgZW5naW5lKTtcblxuICBjb25zdCBpc0FjdGl2ZSA9ICEhKHZpZGVvPy5zcmMgJiYgaXNEY2xDYXN0KHZpZGVvLnNyYykpO1xuICBjb25zdCBwcmVzZW50YXRpb25TdGF0ZSA9IHN0YXRlLnZpZGVvQ29udHJvbC5wcmVzZW50YXRpb25TdGF0ZTtcbiAgY29uc3QgcHJlc2VudGF0aW9uQm90SW5Sb29tID0gc2hvd2Nhc2VTdGF0ZS5wYXJ0aWNpcGFudHMuc29tZShwID0+IGlzUHJlc2VudGF0aW9uQm90KHAubmFtZSkpO1xuICBjb25zdCBoYXNQcmVzZW50YXRpb24gPSBpc0FjdGl2ZSAmJiAoISFwcmVzZW50YXRpb25TdGF0ZSB8fCBwcmVzZW50YXRpb25Cb3RJblJvb20pO1xuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZCA9ICgpID0+IHtcbiAgICBzdGF0ZS52aWRlb0NvbnRyb2wuaXNNaW5pbWl6ZWQgPSBmYWxzZTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVBY3RpdmF0ZSA9ICgpID0+IHtcbiAgICBjb250cm9scy5zZXRTb3VyY2UoTElWRUtJVF9TVFJFQU1fU1JDKTtcbiAgICBzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRTdHJlYW0gPSAnZGNsLWNhc3QnO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMub3V0ZXJDb250YWluZXJ9PlxuICAgICAgey8qIFJvdyAxOiBJY29uICsgVGl0bGUgKyAocmlnaHQgc2lkZTogQWN0aXZhdGUgb3IgU2xpZGUgaW5mbyArIGNoZXZyb24pICovfVxuICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMuY29udGFpbmVyfT5cbiAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMubGVmdFNlY3Rpb259PlxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5pY29ufVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHsgc3JjOiBJQ09OUy5EQ0xfQ0FTVF9JQ09OIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICB2YWx1ZT17JzxiPkRDTCBDYXN0PC9iPid9XG4gICAgICAgICAgICBmb250U2l6ZT17MjR9XG4gICAgICAgICAgICBjb2xvcj17Y29sb3JzLndoaXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLnJpZ2h0U2VjdGlvbn0+XG4gICAgICAgICAgey8qIEFjdGl2YXRlIGJ1dHRvbiDigJQgdmlzaWJsZSB3aGVuIGluYWN0aXZlICovfVxuICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyBkaXNwbGF5OiBpc0FjdGl2ZSA/ICdub25lJyA6ICdmbGV4JyB9fT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJjb21wYWN0X2RjbF9jYXN0X2FjdGl2YXRlXCJcbiAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5BY3RpdmF0ZTwvYj5cIlxuICAgICAgICAgICAgICBsYWJlbFRyYW5zZm9ybT17c3R5bGVzLmFjdGl2YXRlQnV0dG9uTGFiZWx9XG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMuYWN0aXZhdGVCdXR0b259XG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXtiYWNrZ3JvdW5kcy5zdWNjZXNzfVxuICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLmJsYWNrfVxuICAgICAgICAgICAgICBvbk1vdXNlRG93bj17aGFuZGxlQWN0aXZhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgey8qIFNsaWRlIGluZm8g4oCUIHZpc2libGUgd2hlbiBwcmVzZW50YXRpb24gYWN0aXZlICovfVxuICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyBkaXNwbGF5OiBoYXNQcmVzZW50YXRpb24gPyAnZmxleCcgOiAnbm9uZScsIGhlaWdodDogMjQgfX0+XG4gICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgICAgIHByZXNlbnRhdGlvblN0YXRlXG4gICAgICAgICAgICAgICAgICA/IGBTbGlkZSAke3ByZXNlbnRhdGlvblN0YXRlLmN1cnJlbnRTbGlkZSArIDF9IC8gJHtwcmVzZW50YXRpb25TdGF0ZS5zbGlkZUNvdW50fWBcbiAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMuZ3JheX1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3sgaGVpZ2h0OiAyNCwgbWluV2lkdGg6IDEyMCB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgb25Nb3VzZURvd249e2hhbmRsZUV4cGFuZH1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMuY2hldnJvbkJ1dHRvbn1cbiAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICBjb2xvcjogQ29sb3I0LldoaXRlKCksXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IElDT05TLkNIRVZST05fRE9XTixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIHsvKiBSb3cgMjogUHJlc2VudGF0aW9uIGNvbnRyb2xzIOKAlCB2aXNpYmxlIHdoZW4gcHJlc2VudGF0aW9uIGFjdGl2ZSAqL31cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6IGhhc1ByZXNlbnRhdGlvbiA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDE2IH0sXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxQcmVzZW50YXRpb25QYW5lbFxuICAgICAgICAgIHByZXNlbnRhdGlvblN0YXRlPXtwcmVzZW50YXRpb25TdGF0ZX1cbiAgICAgICAgICBjb21wYWN0XG4gICAgICAgICAgaGlkZVN0b3BTaGFyaW5nXG4gICAgICAgICAgaWRQcmVmaXg9XCJjb21wYWN0X2RjbF9jYXN0XCJcbiAgICAgICAgICBvblN0b3BTaGFyaW5nPXsoKSA9PiB7XG4gICAgICAgICAgICBzdGF0ZS52aWRlb0NvbnRyb2wucHJlc2VudGF0aW9uU3RhdGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIHsvKiBSb3cgMzogU3BlYWtlcnMg4oCUIHZpc2libGUgd2hlbiBhY3RpdmUgKHdpdGggb3Igd2l0aG91dCBwcmVzZW50YXRpb24pICovfVxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZGlzcGxheTogaXNBY3RpdmUgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgLi4uc3R5bGVzLnNob3djYXNlUm93LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgaWQ9XCJjb21wYWN0X2RjbF9jYXN0X3Nob3djYXNlXCJcbiAgICAgICAgICB2YWx1ZT1cIjxiPlNwZWFrZXJzPC9iPlwiXG4gICAgICAgICAgaWNvbj17SUNPTlMuU1RBUn1cbiAgICAgICAgICBpY29uVHJhbnNmb3JtPXtzdHlsZXMuc3Rhckljb259XG4gICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5zaG93Y2FzZUJ1dHRvbn1cbiAgICAgICAgICBvbk1vdXNlRG93bj17b25TaG93U2hvd2Nhc2VNb2RhbH1cbiAgICAgICAgLz5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIHsvKiBSb3cgNDogVm9sdW1lIOKAlCB2aXNpYmxlIHdoZW4gYWN0aXZlICovfVxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZGlzcGxheTogaXNBY3RpdmUgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFZpZGVvQ29udHJvbFZvbHVtZVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgIGVudGl0eT17ZW50aXR5fVxuICAgICAgICAgIHZpZGVvPXt2aWRlb31cbiAgICAgICAgICBsYWJlbD1cIjxiPlZvbHVtZTwvYj5cIlxuICAgICAgICAgIGlkUHJlZml4PVwiY29tcGFjdF92aWRlb19jb250cm9sX3ZvbHVtZVwiXG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuXG4gICAgICB7LyogUm93IDU6IFN0b3AgU2hhcmluZyDigJQgdmlzaWJsZSB3aGVuIHByZXNlbnRhdGlvbiBhY3RpdmUsIHBsYWNlZCBsYXN0IHRvIGF2b2lkIG1pc2NsaWNrcyAqL31cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6IGhhc1ByZXNlbnRhdGlvbiA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDE2IH0sXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBpZD1cImNvbXBhY3RfZGNsX2Nhc3Rfc3RvcF9zaGFyaW5nXCJcbiAgICAgICAgICB2YWx1ZT1cIjxiPlN0b3AgU2hhcmluZzwvYj5cIlxuICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgY29sb3I9e2NvbG9ycy5kYW5nZXJ9XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3sgaGVpZ2h0OiA0MiwgcGFkZGluZzogeyBsZWZ0OiA4LCByaWdodDogOCB9IH19XG4gICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgIHN0b3BQcmVzZW50YXRpb24oKTtcbiAgICAgICAgICAgIHN0YXRlLnZpZGVvQ29udHJvbC5wcmVzZW50YXRpb25TdGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L1VpRW50aXR5PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tcGFjdERjbENhc3Q7XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdERjbENhc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvRGNsQ2FzdC9Db21wYWN0RGNsQ2FzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxpQkFBaUIsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEYsTUFBTSxLQUFLLEdBQUc7SUFDWixJQUFJLGFBQWE7UUFDZixPQUFPLEdBQUcsYUFBYSxFQUFFLHdEQUF3RCxDQUFDO0lBQ3BGLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEdBQUcsYUFBYSxFQUFFLDhDQUE4QyxDQUFDO0lBQzFFLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLEdBQUcsYUFBYSxFQUFF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QkFDbkIsbUJBQW1CLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxHQUNELENBQ08sQ0FDRixDQUNaLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixlQUFlLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVlcFJlYWRvbmx5T2JqZWN0LCBFbnRpdHksIElFbmdpbmUsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2Vjcyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFJlYWN0RWNzIGlzIHJlcXVpcmVkIGZvciBKU1ggZmFjdG9yeVxuaW1wb3J0IFJlYWN0RWNzLCB7IExhYmVsLCBVaUVudGl0eSB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHsgZ2V0Q29udGVudFVybCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi9CdXR0b24nO1xuaW1wb3J0IHR5cGUgeyBTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IExJVkVLSVRfU1RSRUFNX1NSQyB9IGZyb20gJy4uL0xpdmVTdHJlYW0nO1xuaW1wb3J0IHsgaXNQcmVzZW50YXRpb25Cb3QsIHN0b3BQcmVzZW50YXRpb24gfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgVmlkZW9Db250cm9sVm9sdW1lIH0gZnJvbSAnLi4vVm9sdW1lQ29udHJvbCc7XG5pbXBvcnQgeyBjcmVhdGVWaWRlb1BsYXllckNvbnRyb2xzLCBpc0RjbENhc3QgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBzZXRTdHJlYW0sIGRpc21pc3NQcmVzZW50YXRpb24sIGV4cGFuZENhc3QgfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCBQcmVzZW50YXRpb25QYW5lbCBmcm9tICcuL1ByZXNlbnRhdGlvblBhbmVsJztcbmltcG9ydCB7IGdldENvbXBhY3RCYXJTdHlsZXMsIGdldERjbENhc3RCYWNrZ3JvdW5kcywgZ2V0RGNsQ2FzdENvbG9ycyB9IGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgSUNPTlMgPSB7XG4gIGdldCBEQ0xfQ0FTVF9JQ09OKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3ZpZGVvLWNvbnRyb2wtZGNsLWNhc3QucG5nYDtcbiAgfSxcbiAgZ2V0IENIRVZST05fRE9XTigpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9jaGV2cm9uLWRvd24ucG5nYDtcbiAgfSxcbiAgZ2V0IFNUQVIoKSB7XG4gICAgcmV0dXJuIGAke2dldENvbnRlbnRVcmwoKX0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvc3Rhci5wbmdgO1xuICB9LFxufTtcblxuY29uc3QgQ29tcGFjdERjbENhc3QgPSAoe1xuICBlbmdpbmUsXG4gIHN0YXRlLFxuICBlbnRpdHksXG4gIHZpZGVvLFxuICBvblNob3dTaG93Y2FzZU1vZGFsLFxufToge1xuICBlbmdpbmU6IElFbmdpbmU7XG4gIHN0YXRlOiBTdGF0ZTtcbiAgZW50aXR5OiBFbnRpdHk7XG4gIHZpZGVvOiBEZWVwUmVhZG9ubHlPYmplY3Q8UEJWaWRlb1BsYXllcj4gfCB1bmRlZmluZWQ7XG4gIG9uU2hvd1Nob3djYXNlTW9kYWw6ICgpID0+IFByb21pc2U8dm9pZD47XG59KSA9PiB7XG4gIGNvbnN0IHN0eWxlcyA9IGdldENvbXBhY3RCYXJTdHlsZXMoKTtcbiAgY29uc3QgY29sb3JzID0gZ2V0RGNsQ2FzdENvbG9ycygpO1xuICBjb25zdCBiYWNrZ3JvdW5kcyA9IGdldERjbENhc3RCYWNrZ3JvdW5kcygpO1xuICBjb25zdCBjb250cm9scyA9IGNyZWF0ZVZpZGVvUGxheWVyQ29udHJvbHMoZW50aXR5LCBlbmdpbmUpO1xuXG4gIGNvbnN0IGlzQWN0aXZlID0gISEodmlkZW8/LnNyYyAmJiBpc0RjbENhc3QodmlkZW8uc3JjKSk7XG4gIGNvbnN0IHByZXNlbnRhdGlvblN0YXRlID0gc3RhdGUudmlkZW9Db250cm9sLnByZXNlbnRhdGlvblN0YXRlO1xuICBjb25zdCBwcmVzZW50YXRpb25Cb3RJblJvb20gPSBzdGF0ZS52aWRlb0NvbnRyb2wucGFydGljaXBhbnRzLnNvbWUocCA9PlxuICAgIGlzUHJlc2VudGF0aW9uQm90KHAubmFtZSksXG4gICk7XG4gIGNvbnN0IGhhc1ByZXNlbnRhdGlvbiA9IGlzQWN0aXZlICYmICghIXByZXNlbnRhdGlvblN0YXRlIHx8IHByZXNlbnRhdGlvbkJvdEluUm9vbSk7XG5cbiAgY29uc3QgaGFuZGxlRXhwYW5kID0gKCkgPT4ge1xuICAgIGV4cGFuZENhc3QoKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVBY3RpdmF0ZSA9ICgpID0+IHtcbiAgICBjb250cm9scy5zZXRTb3VyY2UoTElWRUtJVF9TVFJFQU1fU1JDKTtcbiAgICBzZXRTdHJlYW0oJ2RjbC1jYXN0Jyk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5vdXRlckNvbnRhaW5lcn0+XG4gICAgICB7LyogUm93IDE6IEljb24gKyBUaXRsZSArIChyaWdodCBzaWRlOiBBY3RpdmF0ZSBvciBTbGlkZSBpbmZvICsgY2hldnJvbikgKi99XG4gICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5jb250YWluZXJ9PlxuICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5sZWZ0U2VjdGlvbn0+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17c3R5bGVzLmljb259XG4gICAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgICAgdGV4dHVyZTogeyBzcmM6IElDT05TLkRDTF9DQVNUX0lDT04gfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgIHZhbHVlPXsnPGI+RENMIENhc3Q8L2I+J31cbiAgICAgICAgICAgIGZvbnRTaXplPXsyNH1cbiAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMucmlnaHRTZWN0aW9ufT5cbiAgICAgICAgICB7LyogQWN0aXZhdGUgYnV0dG9uIOKAlCB2aXNpYmxlIHdoZW4gaW5hY3RpdmUgKi99XG4gICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGRpc3BsYXk6IGlzQWN0aXZlID8gJ25vbmUnIDogJ2ZsZXgnIH19PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cImNvbXBhY3RfZGNsX2Nhc3RfYWN0aXZhdGVcIlxuICAgICAgICAgICAgICB2YWx1ZT1cIjxiPkFjdGl2YXRlPC9iPlwiXG4gICAgICAgICAgICAgIGxhYmVsVHJhbnNmb3JtPXtzdHlsZXMuYWN0aXZhdGVCdXR0b25MYWJlbH1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5hY3RpdmF0ZUJ1dHRvbn1cbiAgICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgICB1aUJhY2tncm91bmQ9e2JhY2tncm91bmRzLnN1Y2Nlc3N9XG4gICAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMuYmxhY2t9XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXtoYW5kbGVBY3RpdmF0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICB7LyogU2xpZGUgaW5mbyDigJQgdmlzaWJsZSB3aGVuIHByZXNlbnRhdGlvbiBhY3RpdmUgKi99XG4gICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGRpc3BsYXk6IGhhc1ByZXNlbnRhdGlvbiA/ICdmbGV4JyA6ICdub25lJywgaGVpZ2h0OiAyNCB9fT5cbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgcHJlc2VudGF0aW9uU3RhdGVcbiAgICAgICAgICAgICAgICAgID8gYFNsaWRlICR7cHJlc2VudGF0aW9uU3RhdGUuY3VycmVudFNsaWRlICsgMX0gLyAke3ByZXNlbnRhdGlvblN0YXRlLnNsaWRlQ291bnR9YFxuICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy5ncmF5fVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBoZWlnaHQ6IDI0LCBtaW5XaWR0aDogMTIwIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17aGFuZGxlRXhwYW5kfVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5jaGV2cm9uQnV0dG9ufVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIGNvbG9yOiBDb2xvcjQuV2hpdGUoKSxcbiAgICAgICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgICAgIHNyYzogSUNPTlMuQ0hFVlJPTl9ET1dOLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgey8qIFJvdyAyOiBQcmVzZW50YXRpb24gY29udHJvbHMg4oCUIHZpc2libGUgd2hlbiBwcmVzZW50YXRpb24gYWN0aXZlICovfVxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZGlzcGxheTogaGFzUHJlc2VudGF0aW9uID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbWFyZ2luOiB7IHRvcDogMTYgfSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFByZXNlbnRhdGlvblBhbmVsXG4gICAgICAgICAgcHJlc2VudGF0aW9uU3RhdGU9e3ByZXNlbnRhdGlvblN0YXRlfVxuICAgICAgICAgIGNvbXBhY3RcbiAgICAgICAgICBoaWRlU3RvcFNoYXJpbmdcbiAgICAgICAgICBpZFByZWZpeD1cImNvbXBhY3RfZGNsX2Nhc3RcIlxuICAgICAgICAgIG9uU3RvcFNoYXJpbmc9eygpID0+IGRpc21pc3NQcmVzZW50YXRpb24oKX1cbiAgICAgICAgLz5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIHsvKiBSb3cgMzogU3BlYWtlcnMg4oCUIHZpc2libGUgd2hlbiBhY3RpdmUgKHdpdGggb3Igd2l0aG91dCBwcmVzZW50YXRpb24pICovfVxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZGlzcGxheTogaXNBY3RpdmUgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgLi4uc3R5bGVzLnNob3djYXNlUm93LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgaWQ9XCJjb21wYWN0X2RjbF9jYXN0X3Nob3djYXNlXCJcbiAgICAgICAgICB2YWx1ZT1cIjxiPlNwZWFrZXJzPC9iPlwiXG4gICAgICAgICAgaWNvbj17SUNPTlMuU1RBUn1cbiAgICAgICAgICBpY29uVHJhbnNmb3JtPXtzdHlsZXMuc3Rhckljb259XG4gICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5zaG93Y2FzZUJ1dHRvbn1cbiAgICAgICAgICBvbk1vdXNlRG93bj17b25TaG93U2hvd2Nhc2VNb2RhbH1cbiAgICAgICAgLz5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIHsvKiBSb3cgNDogVm9sdW1lIOKAlCB2aXNpYmxlIHdoZW4gYWN0aXZlICovfVxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZGlzcGxheTogaXNBY3RpdmUgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFZpZGVvQ29udHJvbFZvbHVtZVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgIGVudGl0eT17ZW50aXR5fVxuICAgICAgICAgIHZpZGVvPXt2aWRlb31cbiAgICAgICAgICBsYWJlbD1cIjxiPlZvbHVtZTwvYj5cIlxuICAgICAgICAgIGlkUHJlZml4PVwiY29tcGFjdF92aWRlb19jb250cm9sX3ZvbHVtZVwiXG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuXG4gICAgICB7LyogUm93IDU6IFN0b3AgU2hhcmluZyDigJQgdmlzaWJsZSB3aGVuIHByZXNlbnRhdGlvbiBhY3RpdmUsIHBsYWNlZCBsYXN0IHRvIGF2b2lkIG1pc2NsaWNrcyAqL31cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6IGhhc1ByZXNlbnRhdGlvbiA/ICdmbGV4JyA6ICdub25lJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDE2IH0sXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBpZD1cImNvbXBhY3RfZGNsX2Nhc3Rfc3RvcF9zaGFyaW5nXCJcbiAgICAgICAgICB2YWx1ZT1cIjxiPlN0b3AgU2hhcmluZzwvYj5cIlxuICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgY29sb3I9e2NvbG9ycy5kYW5nZXJ9XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3sgaGVpZ2h0OiA0MiwgcGFkZGluZzogeyBsZWZ0OiA4LCByaWdodDogOCB9IH19XG4gICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgIHN0b3BQcmVzZW50YXRpb24oKTtcbiAgICAgICAgICAgIGRpc21pc3NQcmVzZW50YXRpb24oKTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L1VpRW50aXR5PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tcGFjdERjbENhc3Q7XG4iXX0=
@@ -7,6 +7,7 @@ import { FeedbackButton } from '../../FeedbackButton';
7
7
  import { LIVEKIT_STREAM_SRC } from '../LiveStream';
8
8
  import { VideoControlVolume } from '../VolumeControl';
9
9
  import { createVideoPlayerControls, isDclCast } from '../utils';
10
+ import { setStream } from '../../actions';
10
11
  import { getDclCastStyles, getDclCastColors, getDclCastBackgrounds } from './styles';
11
12
  const ICONS = {
12
13
  get COPY_TO_CLIPBOARD_ICON() {
@@ -30,10 +31,10 @@ const DclCastInfo = ({ state, engine, onResetRoomId, onShowShowcaseModal, onShar
30
31
  ReactEcs.createElement(Label, { value: `Expires in ${state.videoControl.dclCast?.expiresInDays} days`, fontSize: 14, color: colors.gray, uiTransform: styles.marginTopSmall })),
31
32
  video?.src && isDclCast(video.src) ? (ReactEcs.createElement(Button, { id: "dcl_cast_deactivate", value: "<b>Deactivate</b>", variant: "text", fontSize: 16, color: colors.white, uiTransform: styles.activateButton, onMouseDown: () => {
32
33
  controls.setSource('');
33
- state.videoControl.selectedStream = undefined;
34
+ setStream(undefined);
34
35
  } })) : (ReactEcs.createElement(Button, { id: "dcl_cast_activate", value: "<b>Activate</b>", labelTransform: styles.activateButtonLabel, uiTransform: styles.activateButton, fontSize: 16, uiBackground: backgrounds.success, color: colors.black, onMouseDown: () => {
35
36
  controls.setSource(LIVEKIT_STREAM_SRC);
36
- state.videoControl.selectedStream = 'dcl-cast';
37
+ setStream('dcl-cast');
37
38
  } }))),
38
39
  ReactEcs.createElement(UiEntity, { uiTransform: styles.columnContainer },
39
40
  ReactEcs.createElement(UiEntity, { uiTransform: styles.rowCenterSpaceBetween },
@@ -84,4 +85,4 @@ const DclCastInfo = ({ state, engine, onResetRoomId, onShowShowcaseModal, onShar
84
85
  ReactEcs.createElement(Button, { id: "dcl_cast_reset_room_id", value: "<b>Reset Room</b>", variant: "text", fontSize: 16, color: colors.danger, uiTransform: styles.resetButton, onMouseDown: onResetRoomId }))))));
85
86
  };
86
87
  export default DclCastInfo;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGNsQ2FzdEluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvRGNsQ2FzdC9EY2xDYXN0SW5mby50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVyRixNQUFNLEtBQUssR0FBRztJQUNaLElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sR0FBRyxhQUFhLEVBQUUsbURBQW1ELENBQUM7SUFDL0UsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sR0FBRyxhQUFhLEVBQUUsc0NBQXNDLENBQUM7SUFDbEUsQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLEVBQ25CLEtBQUssRUFDTCxNQUFNLEVBQ04sYUFBYSxFQUNiLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsTUFBTSxFQUNOLEtB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QUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFDbkIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxjQUFjLEVBQ2xDLFdBQVcsRUFBRSxtQkFBbUIsR0FDaEMsQ0FDSCxDQUNRO2dCQUNYLHVCQUFDLFFBQVEsSUFBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLGVBQWU7b0JBQzNDLHVCQUFDLE1BQU0sSUFDTCxFQUFFLEVBQUMsZ0NBQWdDLEVBQ25DLEtBQUssRUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLGlCQUFpQjs0QkFDbEMsQ0FBQyxDQUFDLDZCQUE2Qjs0QkFDL0IsQ0FBQyxDQUFDLDJCQUEyQixFQUVqQyxPQUFPLEVBQUMsTUFBTSxFQUNkLFFBQVEsRUFBRSxFQUFFLEVBQ1osS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQ25CLFdBQVcsRUFBRTs0QkFDWCxHQUFHLE1BQU0sQ0FBQyxXQUFXOzRCQUNyQixPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07eUJBQzlELEVBQ0QsV0FBVyxFQUFFLG1CQUFtQixHQUNoQztvQkFDRix1QkFBQyxNQUFNLElBQ0wsRUFBRSxFQUFDLHdCQUF3QixFQUMzQixLQUFLLEVBQUMsbUJBQW1CLEVBQ3pCLE9BQU8sRUFBQyxNQUFNLEVBQ2QsUUFBUSxFQUFFLEVBQUUsRUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFDcEIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQy9CLFdBQVcsRUFBRSxhQUFhLEdBQzFCLENBQ08sQ0FDRixDQUNGLENBQ0YsQ0FDWixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsZUFBZSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eSwgSUVuZ2luZSB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB0eXBlIHsgRGVlcFJlYWRvbmx5T2JqZWN0LCBQQlZpZGVvUGxheWVyIH0gZnJvbSAnQGRjbC9lY3MnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBSZWFjdEVjcyBpcyByZXF1aXJlZCBmb3IgSlNYIGZhY3RvcnlcbmltcG9ydCBSZWFjdEVjcywgeyBMYWJlbCwgVWlFbnRpdHkgfSBmcm9tICdAZGNsL3JlYWN0LWVjcyc7XG5pbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL3Nkay9tYXRoJztcbmltcG9ydCB7IGNvcHlUb0NsaXBib2FyZCB9IGZyb20gJ35zeXN0ZW0vUmVzdHJpY3RlZEFjdGlvbnMnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vQnV0dG9uJztcbmltcG9ydCB7IGdldENvbnRlbnRVcmwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRmVlZGJhY2tCdXR0b24gfSBmcm9tICcuLi8uLi9GZWVkYmFja0J1dHRvbic7XG5pbXBvcnQgdHlwZSB7IFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTElWRUtJVF9TVFJFQU1fU1JDIH0gZnJvbSAnLi4vTGl2ZVN0cmVhbSc7XG5pbXBvcnQgeyBWaWRlb0NvbnRyb2xWb2x1bWUgfSBmcm9tICcuLi9Wb2x1bWVDb250cm9sJztcbmltcG9ydCB7IGNyZWF0ZVZpZGVvUGxheWVyQ29udHJvbHMsIGlzRGNsQ2FzdCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldERjbENhc3RTdHlsZXMsIGdldERjbENhc3RDb2xvcnMsIGdldERjbENhc3RCYWNrZ3JvdW5kcyB9IGZyb20gJy4vc3R5bGVzJztcblxuY29uc3QgSUNPTlMgPSB7XG4gIGdldCBDT1BZX1RPX0NMSVBCT0FSRF9JQ09OKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL2NvcHktdG8tY2xpcGJvYXJkLnBuZ2A7XG4gIH0sXG4gIGdldCBTVEFSKCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL3N0YXIucG5nYDtcbiAgfSxcbn07XG5cbmNvbnN0IERjbENhc3RJbmZvID0gKHtcbiAgc3RhdGUsXG4gIGVuZ2luZSxcbiAgb25SZXNldFJvb21JZCxcbiAgb25TaG93U2hvd2Nhc2VNb2RhbCxcbiAgb25TaGFyZVByZXNlbnRhdGlvbixcbiAgZW50aXR5LFxuICB2aWRlbyxcbn06IHtcbiAgc3RhdGU6IFN0YXRlO1xuICBlbmdpbmU6IElFbmdpbmU7XG4gIG9uUmVzZXRSb29tSWQ6ICgpID0+IFByb21pc2U8dm9pZD47XG4gIG9uU2hvd1Nob3djYXNlTW9kYWw6ICgpID0+IFByb21pc2U8dm9pZD47XG4gIG9uU2hhcmVQcmVzZW50YXRpb246ICgpID0+IHZvaWQ7XG4gIGVudGl0eTogRW50aXR5O1xuICB2aWRlbzogRGVlcFJlYWRvbmx5T2JqZWN0PFBCVmlkZW9QbGF5ZXI+IHwgdW5kZWZpbmVkO1xufSkgPT4ge1xuICBjb25zdCBjb250cm9scyA9IGNyZWF0ZVZpZGVvUGxheWVyQ29udHJvbHMoZW50aXR5LCBlbmdpbmUpO1xuICBjb25zdCBzdHlsZXMgPSBnZXREY2xDYXN0U3R5bGVzKCk7XG4gIGNvbnN0IGNvbG9ycyA9IGdldERjbENhc3RDb2xvcnMoKTtcbiAgY29uc3QgYmFja2dyb3VuZHMgPSBnZXREY2xDYXN0QmFja2dyb3VuZHMoKTtcbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgZmxleERpcmVjdGlvbjogJ2NvbHVtbicgfX0+XG4gICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5mdWxsQ29udGFpbmVyfT5cbiAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMubWFpbkJvcmRlcmVkQ29udGFpbmVyfT5cbiAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5oZWFkZXJSb3d9PlxuICAgICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMuY29sdW1uRmxleFN0YXJ0fT5cbiAgICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgICAgdmFsdWU9eyc8Yj5Sb29tIElEPC9iPid9XG4gICAgICAgICAgICAgICAgZm9udFNpemU9ezI0fVxuICAgICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgICAgdmFsdWU9e2BFeHBpcmVzIGluICR7c3RhdGUudmlkZW9Db250cm9sLmRjbENhc3Q/LmV4cGlyZXNJbkRheXN9IGRheXNgfVxuICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLmdyYXl9XG4gICAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5tYXJnaW5Ub3BTbWFsbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgICB7dmlkZW8/LnNyYyAmJiBpc0RjbENhc3QodmlkZW8uc3JjKSA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiZGNsX2Nhc3RfZGVhY3RpdmF0ZVwiXG4gICAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5EZWFjdGl2YXRlPC9iPlwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLndoaXRlfVxuICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMuYWN0aXZhdGVCdXR0b259XG4gICAgICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2xzLnNldFNvdXJjZSgnJyk7XG4gICAgICAgICAgICAgICAgICBzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRTdHJlYW0gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRjbF9jYXN0X2FjdGl2YXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT1cIjxiPkFjdGl2YXRlPC9iPlwiXG4gICAgICAgICAgICAgICAgbGFiZWxUcmFuc2Zvcm09e3N0eWxlcy5hY3RpdmF0ZUJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMuYWN0aXZhdGVCdXR0b259XG4gICAgICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgICAgIHVpQmFja2dyb3VuZD17YmFja2dyb3VuZHMuc3VjY2Vzc31cbiAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLmJsYWNrfVxuICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb250cm9scy5zZXRTb3VyY2UoTElWRUtJVF9TVFJFQU1fU1JDKTtcbiAgICAgICAgICAgICAgICAgIHN0YXRlLnZpZGVvQ29udHJvbC5zZWxlY3RlZFN0cmVhbSA9ICdkY2wtY2FzdCc7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5jb2x1bW5Db250YWluZXJ9PlxuICAgICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMucm93Q2VudGVyU3BhY2VCZXR3ZWVufT5cbiAgICAgICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXsnPGI+Q2FzdCBzcGVha2VyczwvYj4nfVxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezE4fVxuICAgICAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy53aGl0ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICAgICAgdWlUZXh0PXt7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnVGhpcyBsaW5rIGdyYW50cyBzdHJlYW1pbmcgYWNjZXNzLicsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAxNCxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5ncmF5LFxuICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICd0b3AtbGVmdCcsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgICAgIDxGZWVkYmFja0J1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiZGNsX2Nhc3RfY29weV9zdHJlYW1fbGlua1wiXG4gICAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5Db3B5IExpbms8L2I+XCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9udFNpemU9ezE4fVxuICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgICAgICAgaWNvblJpZ2h0PXtJQ09OUy5DT1BZX1RPX0NMSVBCT0FSRF9JQ09OfVxuICAgICAgICAgICAgICAgIGljb25SaWdodFRyYW5zZm9ybT17c3R5bGVzLmljb25TbWFsbH1cbiAgICAgICAgICAgICAgICBsYWJlbFRyYW5zZm9ybT17c3R5bGVzLm1hcmdpblJpZ2h0U21hbGx9XG4gICAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5jb3B5TGlua0J1dHRvbn1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc3RhdGUudmlkZW9Db250cm9sLmRjbENhc3Q/LnN0cmVhbUxpbmsgJiZcbiAgICAgICAgICAgICAgICAgICAgY29weVRvQ2xpcGJvYXJkKHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzdGF0ZS52aWRlb0NvbnRyb2wuZGNsQ2FzdC5zdHJlYW1MaW5rLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLnNlcGFyYXRvckxpbmV9IC8+XG4gICAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5yb3dDZW50ZXJTcGFjZUJldHdlZW59PlxuICAgICAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy50ZXh0SW5mb0NvbnRhaW5lcn0+XG4gICAgICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17JzxiPlZpZXdlcnM8L2I+J31cbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxOH1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgICAgIHVpVGV4dD17e1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1RoaXMgbGluayBncmFudHMgdmlld2luZyBhY2Nlc3MuJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLmdyYXksXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ3RvcC1sZWZ0JyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICAgICAgPEZlZWRiYWNrQnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJkY2xfY2FzdF9jb3B5X3dhdGNoZXJfbGlua1wiXG4gICAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5Db3B5IExpbms8L2I+XCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9udFNpemU9ezE4fVxuICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgICAgICAgaWNvblJpZ2h0PXtJQ09OUy5DT1BZX1RPX0NMSVBCT0FSRF9JQ09OfVxuICAgICAgICAgICAgICAgIGljb25SaWdodFRyYW5zZm9ybT17c3R5bGVzLmljb25TbWFsbH1cbiAgICAgICAgICAgICAgICBsYWJlbFRyYW5zZm9ybT17c3R5bGVzLm1hcmdpblJpZ2h0U21hbGx9XG4gICAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5jb3B5TGlua0J1dHRvbn1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc3RhdGUudmlkZW9Db250cm9sLmRjbENhc3Q/LndhdGNoZXJMaW5rICYmXG4gICAgICAgICAgICAgICAgICAgIGNvcHlUb0NsaXBib2FyZCh7XG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogc3RhdGUudmlkZW9Db250cm9sLmRjbENhc3Qud2F0Y2hlckxpbmssXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLmNvbHVtbldpdGhNYXJnaW5Ub3B9PlxuICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLnZvbHVtZVNob3djYXNlUm93fT5cbiAgICAgICAgICAgIDxWaWRlb0NvbnRyb2xWb2x1bWVcbiAgICAgICAgICAgICAgZW5naW5lPXtlbmdpbmV9XG4gICAgICAgICAgICAgIGVudGl0eT17ZW50aXR5fVxuICAgICAgICAgICAgICB2aWRlbz17dmlkZW99XG4gICAgICAgICAgICAgIGxhYmVsPVwiPGI+Q2FzdCBjb250cm9sczwvYj5cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHt2aWRlbz8uc3JjICYmIGlzRGNsQ2FzdCh2aWRlby5zcmMpICYmIChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiZGNsX2Nhc3Rfc2hvd2Nhc2VfbGlzdFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5TcGVha2VyczwvYj5cIlxuICAgICAgICAgICAgICAgIGljb249e0lDT05TLlNUQVJ9XG4gICAgICAgICAgICAgICAgaWNvblRyYW5zZm9ybT17c3R5bGVzLnN0YXJJY29ufVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLndoaXRlfVxuICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMuc2hvd2Nhc2VCdXR0b259XG4gICAgICAgICAgICAgICAgb25Nb3VzZURvd249e29uU2hvd1Nob3djYXNlTW9kYWx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMuY2FzdENvbnRyb2xzUm93fT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJkY2xfY2FzdF9zaGFyZV9wcmVzZW50YXRpb25faWRcIlxuICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgc3RhdGUudmlkZW9Db250cm9sLnByZXNlbnRhdGlvblN0YXRlXG4gICAgICAgICAgICAgICAgICA/ICc8Yj5SZXBsYWNlIFByZXNlbnRhdGlvbjwvYj4nXG4gICAgICAgICAgICAgICAgICA6ICc8Yj5TaGFyZSBQcmVzZW50YXRpb248L2I+J1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLndoaXRlfVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIC4uLnN0eWxlcy5yZXNldEJ1dHRvbixcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB2aWRlbz8uc3JjICYmIGlzRGNsQ2FzdCh2aWRlby5zcmMpID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbk1vdXNlRG93bj17b25TaGFyZVByZXNlbnRhdGlvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwiZGNsX2Nhc3RfcmVzZXRfcm9vbV9pZFwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiPGI+UmVzZXQgUm9vbTwvYj5cIlxuICAgICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy5kYW5nZXJ9XG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMucmVzZXRCdXR0b259XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXtvblJlc2V0Um9vbUlkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L1VpRW50aXR5PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGNsQ2FzdEluZm87XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGNsQ2FzdEluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvRGNsQ2FzdC9EY2xDYXN0SW5mby50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXJGLE1BQU0sS0FBSyxHQUFHO0lBQ1osSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxHQUFHLGFBQWEsRUFBRSxtREFBbUQsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLGFBQWEsRUFBRSxzQ0FBc0MsQ0FBQztJQUNsRSxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFDbkIsS0FBSyxFQUNMLE1BQU0sRUFDTixhQUFhLEVB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RUFBRSxFQUNaLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUNuQixXQUFXLEVBQUUsTUFBTSxDQUFDLGNBQWMsRUFDbEMsV0FBVyxFQUFFLG1CQUFtQixHQUNoQyxDQUNILENBQ1E7Z0JBQ1gsdUJBQUMsUUFBUSxJQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsZUFBZTtvQkFDM0MsdUJBQUMsTUFBTSxJQUNMLEVBQUUsRUFBQyxnQ0FBZ0MsRUFDbkMsS0FBSyxFQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsaUJBQWlCOzRCQUNsQyxDQUFDLENBQUMsNkJBQTZCOzRCQUMvQixDQUFDLENBQUMsMkJBQTJCLEVBRWpDLE9BQU8sRUFBQyxNQUFNLEVBQ2QsUUFBUSxFQUFFLEVBQUUsRUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFDbkIsV0FBVyxFQUFFOzRCQUNYLEdBQUcsTUFBTSxDQUFDLFdBQVc7NEJBQ3JCLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTt5QkFDOUQsRUFDRCxXQUFXLEVBQUUsbUJBQW1CLEdBQ2hDO29CQUNGLHVCQUFDLE1BQU0sSUFDTCxFQUFFLEVBQUMsd0JBQXdCLEVBQzNCLEtBQUssRUFBQyxtQkFBbUIsRUFDekIsT0FBTyxFQUFDLE1BQU0sRUFDZCxRQUFRLEVBQUUsRUFBRSxFQUNaLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUNwQixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFDL0IsV0FBVyxFQUFFLGFBQWEsR0FDMUIsQ0FDTyxDQUNGLENBQ0YsQ0FDRixDQUNaLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixlQUFlLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5LCBJRW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHR5cGUgeyBEZWVwUmVhZG9ubHlPYmplY3QsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2Vjcyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFJlYWN0RWNzIGlzIHJlcXVpcmVkIGZvciBKU1ggZmFjdG9yeVxuaW1wb3J0IFJlYWN0RWNzLCB7IExhYmVsLCBVaUVudGl0eSB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHsgY29weVRvQ2xpcGJvYXJkIH0gZnJvbSAnfnN5c3RlbS9SZXN0cmljdGVkQWN0aW9ucyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi9CdXR0b24nO1xuaW1wb3J0IHsgZ2V0Q29udGVudFVybCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGZWVkYmFja0J1dHRvbiB9IGZyb20gJy4uLy4uL0ZlZWRiYWNrQnV0dG9uJztcbmltcG9ydCB0eXBlIHsgU3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBMSVZFS0lUX1NUUkVBTV9TUkMgfSBmcm9tICcuLi9MaXZlU3RyZWFtJztcbmltcG9ydCB7IFZpZGVvQ29udHJvbFZvbHVtZSB9IGZyb20gJy4uL1ZvbHVtZUNvbnRyb2wnO1xuaW1wb3J0IHsgY3JlYXRlVmlkZW9QbGF5ZXJDb250cm9scywgaXNEY2xDYXN0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgc2V0U3RyZWFtIH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREY2xDYXN0U3R5bGVzLCBnZXREY2xDYXN0Q29sb3JzLCBnZXREY2xDYXN0QmFja2dyb3VuZHMgfSBmcm9tICcuL3N0eWxlcyc7XG5cbmNvbnN0IElDT05TID0ge1xuICBnZXQgQ09QWV9UT19DTElQQk9BUkRfSUNPTigpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9jb3B5LXRvLWNsaXBib2FyZC5wbmdgO1xuICB9LFxuICBnZXQgU1RBUigpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9zdGFyLnBuZ2A7XG4gIH0sXG59O1xuXG5jb25zdCBEY2xDYXN0SW5mbyA9ICh7XG4gIHN0YXRlLFxuICBlbmdpbmUsXG4gIG9uUmVzZXRSb29tSWQsXG4gIG9uU2hvd1Nob3djYXNlTW9kYWwsXG4gIG9uU2hhcmVQcmVzZW50YXRpb24sXG4gIGVudGl0eSxcbiAgdmlkZW8sXG59OiB7XG4gIHN0YXRlOiBTdGF0ZTtcbiAgZW5naW5lOiBJRW5naW5lO1xuICBvblJlc2V0Um9vbUlkOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBvblNob3dTaG93Y2FzZU1vZGFsOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBvblNoYXJlUHJlc2VudGF0aW9uOiAoKSA9PiB2b2lkO1xuICBlbnRpdHk6IEVudGl0eTtcbiAgdmlkZW86IERlZXBSZWFkb25seU9iamVjdDxQQlZpZGVvUGxheWVyPiB8IHVuZGVmaW5lZDtcbn0pID0+IHtcbiAgY29uc3QgY29udHJvbHMgPSBjcmVhdGVWaWRlb1BsYXllckNvbnRyb2xzKGVudGl0eSwgZW5naW5lKTtcbiAgY29uc3Qgc3R5bGVzID0gZ2V0RGNsQ2FzdFN0eWxlcygpO1xuICBjb25zdCBjb2xvcnMgPSBnZXREY2xDYXN0Q29sb3JzKCk7XG4gIGNvbnN0IGJhY2tncm91bmRzID0gZ2V0RGNsQ2FzdEJhY2tncm91bmRzKCk7XG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nIH19PlxuICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMuZnVsbENvbnRhaW5lcn0+XG4gICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLm1haW5Cb3JkZXJlZENvbnRhaW5lcn0+XG4gICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMuaGVhZGVyUm93fT5cbiAgICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLmNvbHVtbkZsZXhTdGFydH0+XG4gICAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICAgIHZhbHVlPXsnPGI+Um9vbSBJRDwvYj4nfVxuICAgICAgICAgICAgICAgIGZvbnRTaXplPXsyNH1cbiAgICAgICAgICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICAgIHZhbHVlPXtgRXhwaXJlcyBpbiAke3N0YXRlLnZpZGVvQ29udHJvbC5kY2xDYXN0Py5leHBpcmVzSW5EYXlzfSBkYXlzYH1cbiAgICAgICAgICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy5ncmF5fVxuICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMubWFyZ2luVG9wU21hbGx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgICAge3ZpZGVvPy5zcmMgJiYgaXNEY2xDYXN0KHZpZGVvLnNyYykgPyAoXG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRjbF9jYXN0X2RlYWN0aXZhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPVwiPGI+RGVhY3RpdmF0ZTwvYj5cIlxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy53aGl0ZX1cbiAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17c3R5bGVzLmFjdGl2YXRlQnV0dG9ufVxuICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb250cm9scy5zZXRTb3VyY2UoJycpO1xuICAgICAgICAgICAgICAgICAgc2V0U3RyZWFtKHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRjbF9jYXN0X2FjdGl2YXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT1cIjxiPkFjdGl2YXRlPC9iPlwiXG4gICAgICAgICAgICAgICAgbGFiZWxUcmFuc2Zvcm09e3N0eWxlcy5hY3RpdmF0ZUJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXtzdHlsZXMuYWN0aXZhdGVCdXR0b259XG4gICAgICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgICAgIHVpQmFja2dyb3VuZD17YmFja2dyb3VuZHMuc3VjY2Vzc31cbiAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLmJsYWNrfVxuICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb250cm9scy5zZXRTb3VyY2UoTElWRUtJVF9TVFJFQU1fU1JDKTtcbiAgICAgICAgICAgICAgICAgIHNldFN0cmVhbSgnZGNsLWNhc3QnKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLmNvbHVtbkNvbnRhaW5lcn0+XG4gICAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5yb3dDZW50ZXJTcGFjZUJldHdlZW59PlxuICAgICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICAgICAgdmFsdWU9eyc8Yj5DYXN0IHNwZWFrZXJzPC9iPid9XG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTh9XG4gICAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLndoaXRlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICAgICAgICB1aVRleHQ9e3tcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdUaGlzIGxpbmsgZ3JhbnRzIHN0cmVhbWluZyBhY2Nlc3MuJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDE0LFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLmdyYXksXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ3RvcC1sZWZ0JyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICAgICAgPEZlZWRiYWNrQnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJkY2xfY2FzdF9jb3B5X3N0cmVhbV9saW5rXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT1cIjxiPkNvcHkgTGluazwvYj5cIlxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb250U2l6ZT17MTh9XG4gICAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy53aGl0ZX1cbiAgICAgICAgICAgICAgICBpY29uUmlnaHQ9e0lDT05TLkNPUFlfVE9fQ0xJUEJPQVJEX0lDT059XG4gICAgICAgICAgICAgICAgaWNvblJpZ2h0VHJhbnNmb3JtPXtzdHlsZXMuaWNvblNtYWxsfVxuICAgICAgICAgICAgICAgIGxhYmVsVHJhbnNmb3JtPXtzdHlsZXMubWFyZ2luUmlnaHRTbWFsbH1cbiAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17c3R5bGVzLmNvcHlMaW5rQnV0dG9ufVxuICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzdGF0ZS52aWRlb0NvbnRyb2wuZGNsQ2FzdD8uc3RyZWFtTGluayAmJlxuICAgICAgICAgICAgICAgICAgICBjb3B5VG9DbGlwYm9hcmQoe1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHN0YXRlLnZpZGVvQ29udHJvbC5kY2xDYXN0LnN0cmVhbUxpbmssXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMuc2VwYXJhdG9yTGluZX0gLz5cbiAgICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLnJvd0NlbnRlclNwYWNlQmV0d2Vlbn0+XG4gICAgICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17c3R5bGVzLnRleHRJbmZvQ29udGFpbmVyfT5cbiAgICAgICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXsnPGI+Vmlld2VyczwvYj4nfVxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezE4fVxuICAgICAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy53aGl0ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICAgICAgdWlUZXh0PXt7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnVGhpcyBsaW5rIGdyYW50cyB2aWV3aW5nIGFjY2Vzcy4nLFxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogMTQsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuZ3JheSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAndG9wLWxlZnQnLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgICAgICA8RmVlZGJhY2tCdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRjbF9jYXN0X2NvcHlfd2F0Y2hlcl9saW5rXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT1cIjxiPkNvcHkgTGluazwvYj5cIlxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb250U2l6ZT17MTh9XG4gICAgICAgICAgICAgICAgY29sb3I9e2NvbG9ycy53aGl0ZX1cbiAgICAgICAgICAgICAgICBpY29uUmlnaHQ9e0lDT05TLkNPUFlfVE9fQ0xJUEJPQVJEX0lDT059XG4gICAgICAgICAgICAgICAgaWNvblJpZ2h0VHJhbnNmb3JtPXtzdHlsZXMuaWNvblNtYWxsfVxuICAgICAgICAgICAgICAgIGxhYmVsVHJhbnNmb3JtPXtzdHlsZXMubWFyZ2luUmlnaHRTbWFsbH1cbiAgICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17c3R5bGVzLmNvcHlMaW5rQnV0dG9ufVxuICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzdGF0ZS52aWRlb0NvbnRyb2wuZGNsQ2FzdD8ud2F0Y2hlckxpbmsgJiZcbiAgICAgICAgICAgICAgICAgICAgY29weVRvQ2xpcGJvYXJkKHtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBzdGF0ZS52aWRlb0NvbnRyb2wuZGNsQ2FzdC53YXRjaGVyTGluayxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMuY29sdW1uV2l0aE1hcmdpblRvcH0+XG4gICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXtzdHlsZXMudm9sdW1lU2hvd2Nhc2VSb3d9PlxuICAgICAgICAgICAgPFZpZGVvQ29udHJvbFZvbHVtZVxuICAgICAgICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgICAgICAgZW50aXR5PXtlbnRpdHl9XG4gICAgICAgICAgICAgIHZpZGVvPXt2aWRlb31cbiAgICAgICAgICAgICAgbGFiZWw9XCI8Yj5DYXN0IGNvbnRyb2xzPC9iPlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3ZpZGVvPy5zcmMgJiYgaXNEY2xDYXN0KHZpZGVvLnNyYykgJiYgKFxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJkY2xfY2FzdF9zaG93Y2FzZV9saXN0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT1cIjxiPlNwZWFrZXJzPC9iPlwiXG4gICAgICAgICAgICAgICAgaWNvbj17SUNPTlMuU1RBUn1cbiAgICAgICAgICAgICAgICBpY29uVHJhbnNmb3JtPXtzdHlsZXMuc3Rhckljb259XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5zaG93Y2FzZUJ1dHRvbn1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17b25TaG93U2hvd2Nhc2VNb2RhbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3N0eWxlcy5jYXN0Q29udHJvbHNSb3d9PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cImRjbF9jYXN0X3NoYXJlX3ByZXNlbnRhdGlvbl9pZFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICBzdGF0ZS52aWRlb0NvbnRyb2wucHJlc2VudGF0aW9uU3RhdGVcbiAgICAgICAgICAgICAgICAgID8gJzxiPlJlcGxhY2UgUHJlc2VudGF0aW9uPC9iPidcbiAgICAgICAgICAgICAgICAgIDogJzxiPlNoYXJlIFByZXNlbnRhdGlvbjwvYj4nXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICAgIGNvbG9yPXtjb2xvcnMud2hpdGV9XG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgLi4uc3R5bGVzLnJlc2V0QnV0dG9uLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHZpZGVvPy5zcmMgJiYgaXNEY2xDYXN0KHZpZGVvLnNyYykgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXtvblNoYXJlUHJlc2VudGF0aW9ufVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJkY2xfY2FzdF9yZXNldF9yb29tX2lkXCJcbiAgICAgICAgICAgICAgdmFsdWU9XCI8Yj5SZXNldCBSb29tPC9iPlwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgICBjb2xvcj17Y29sb3JzLmRhbmdlcn1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3N0eWxlcy5yZXNldEJ1dHRvbn1cbiAgICAgICAgICAgICAgb25Nb3VzZURvd249e29uUmVzZXRSb29tSWR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICA8L1VpRW50aXR5PlxuICAgIDwvVWlFbnRpdHk+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEY2xDYXN0SW5mbztcbiJdfQ==
@@ -1,20 +1,6 @@
1
1
  import ReactEcs from '@dcl/react-ecs';
2
2
  import type { DeepReadonlyObject, Entity, IEngine, PBVideoPlayer } from '@dcl/ecs';
3
3
  import type { State } from '../../types';
4
- import { type FlattenedTrack, type Participant } from '../api';
5
- export declare const showcaseState: {
6
- show: boolean;
7
- participants: Participant[];
8
- activeTrackSid: string | undefined;
9
- onSelectTrack: ((track: FlattenedTrack) => void) | undefined;
10
- onSetDefault: (() => void) | undefined;
11
- onClose: (() => void) | undefined;
12
- };
13
- export declare const sharePresentationState: {
14
- show: boolean;
15
- onClose: (() => void) | undefined;
16
- };
17
- export declare function handleGetDclCastInfo(state: State): Promise<import("../api").DclCastResponse | null | undefined>;
18
4
  declare const DclCast: ({ engine, state, entity, video, playerAddress, }: {
19
5
  engine: IEngine;
20
6
  state: State;