@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.
- package/bin/index.js +445 -325
- package/dist/admin-toolkit-ui/Active.d.ts +3 -2
- package/dist/admin-toolkit-ui/Active.js +1 -1
- package/dist/admin-toolkit-ui/Card.d.ts +2 -1
- package/dist/admin-toolkit-ui/Card.js +1 -1
- package/dist/admin-toolkit-ui/FeedbackButton.js +2 -2
- package/dist/admin-toolkit-ui/Loading.d.ts +3 -2
- package/dist/admin-toolkit-ui/Loading.js +1 -1
- package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.d.ts +1 -1
- package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.js +1 -1
- package/dist/admin-toolkit-ui/ModerationControl/BanUserDescription.js +1 -1
- package/dist/admin-toolkit-ui/ModerationControl/RemoveAdminConfirmation.js +4 -4
- package/dist/admin-toolkit-ui/ModerationControl/UsersList.js +16 -14
- package/dist/admin-toolkit-ui/ModerationControl/index.d.ts +0 -7
- package/dist/admin-toolkit-ui/ModerationControl/index.js +4 -9
- package/dist/admin-toolkit-ui/SmartItemsControl.js +15 -33
- package/dist/admin-toolkit-ui/TextAnnouncementsControl.js +14 -12
- package/dist/admin-toolkit-ui/VideoControl/DclCast/CompactDclCast.js +7 -9
- package/dist/admin-toolkit-ui/VideoControl/DclCast/DclCastInfo.js +4 -3
- package/dist/admin-toolkit-ui/VideoControl/DclCast/index.d.ts +0 -14
- package/dist/admin-toolkit-ui/VideoControl/DclCast/index.js +32 -136
- package/dist/admin-toolkit-ui/VideoControl/DclCast/presentation-detector.d.ts +2 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/presentation-detector.js +116 -0
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.d.ts +1 -1
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.js +2 -2
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/GenerateStreamKey.d.ts +1 -1
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/GenerateStreamKey.js +2 -2
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.js +5 -4
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/index.js +2 -2
- package/dist/admin-toolkit-ui/VideoControl/api.d.ts +5 -2
- package/dist/admin-toolkit-ui/VideoControl/api.js +22 -12
- package/dist/admin-toolkit-ui/VideoControl/index.js +14 -15
- package/dist/admin-toolkit-ui/VideoControl/utils.d.ts +2 -0
- package/dist/admin-toolkit-ui/VideoControl/utils.js +15 -3
- package/dist/admin-toolkit-ui/actions.d.ts +42 -0
- package/dist/admin-toolkit-ui/actions.js +138 -0
- package/dist/admin-toolkit-ui/admin-message-bus.js +17 -2
- package/dist/admin-toolkit-ui/index.d.ts +0 -3
- package/dist/admin-toolkit-ui/index.js +20 -93
- package/dist/admin-toolkit-ui/store.d.ts +2 -0
- package/dist/admin-toolkit-ui/store.js +45 -0
- package/dist/admin-toolkit-ui/types.d.ts +22 -5
- package/dist/admin-toolkit-ui/types.js +1 -2
- package/dist/bin/index.js +445 -325
- package/package.json +1 -1
- package/dist/admin-toolkit-ui/RewardsControl.d.ts +0 -7
- package/dist/admin-toolkit-ui/RewardsControl.js +0 -95
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/asset-packs",
|
|
3
3
|
"description": "Decentraland Asset Packs - curated collections of 3D assets for Decentraland scenes",
|
|
4
|
-
"version": "2.16.
|
|
4
|
+
"version": "2.16.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "hello@decentraland.org",
|
|
7
7
|
"name": "Decentraland Foundation",
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import ReactEcs, { UiEntity, Label, Dropdown } from '@dcl/react-ecs';
|
|
2
|
-
import { Color4 } from '@dcl/sdk/math';
|
|
3
|
-
import { getActionEvents, getComponents, getPayload, } from '../definitions';
|
|
4
|
-
import { Button } from './Button';
|
|
5
|
-
import { getContentUrl } from './constants';
|
|
6
|
-
const ICONS = {
|
|
7
|
-
get REWARDS_CONTROL() {
|
|
8
|
-
return `${getContentUrl()}/admin_toolkit/assets/icons/rewards-control.png`;
|
|
9
|
-
},
|
|
10
|
-
get SEND() {
|
|
11
|
-
return `${getContentUrl()}/admin_toolkit/assets/icons/rewards-send.png`;
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
function getAdminToolkitRewardsControl(engine) {
|
|
15
|
-
const { AdminTools } = getComponents(engine);
|
|
16
|
-
const adminToolkitEntities = Array.from(engine.getEntitiesWith(AdminTools));
|
|
17
|
-
return adminToolkitEntities.length > 0 ? adminToolkitEntities[0][1].rewardsControl : null;
|
|
18
|
-
}
|
|
19
|
-
function getRewardItems(engine) {
|
|
20
|
-
const adminToolkitRewardsControl = getAdminToolkitRewardsControl(engine);
|
|
21
|
-
if (!adminToolkitRewardsControl ||
|
|
22
|
-
!adminToolkitRewardsControl.rewardItems ||
|
|
23
|
-
adminToolkitRewardsControl.rewardItems.length === 0)
|
|
24
|
-
return [];
|
|
25
|
-
return Array.from(adminToolkitRewardsControl.rewardItems);
|
|
26
|
-
}
|
|
27
|
-
export function RewardsControl({ engine, state }) {
|
|
28
|
-
const rewardItems = getRewardItems(engine);
|
|
29
|
-
return (ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
30
|
-
width: '100%',
|
|
31
|
-
height: '100%',
|
|
32
|
-
flexDirection: 'column',
|
|
33
|
-
} },
|
|
34
|
-
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
35
|
-
flexDirection: 'row',
|
|
36
|
-
margin: { bottom: 32 },
|
|
37
|
-
height: 30,
|
|
38
|
-
} },
|
|
39
|
-
ReactEcs.createElement(UiEntity, { uiTransform: { width: 30, height: 30 }, uiBackground: {
|
|
40
|
-
color: Color4.White(),
|
|
41
|
-
textureMode: 'stretch',
|
|
42
|
-
texture: { src: ICONS.REWARDS_CONTROL },
|
|
43
|
-
} }),
|
|
44
|
-
ReactEcs.createElement(Label, { value: "<b>AIRDROPS</b>", fontSize: 24, color: Color4.White() })),
|
|
45
|
-
ReactEcs.createElement(UiEntity, { uiTransform: {
|
|
46
|
-
flexDirection: 'column',
|
|
47
|
-
margin: { bottom: 32 },
|
|
48
|
-
} },
|
|
49
|
-
ReactEcs.createElement(Label, { value: "<b>Selected Airdrop</b>", fontSize: 16, color: Color4.White(), uiTransform: { margin: { bottom: 16 } } }),
|
|
50
|
-
ReactEcs.createElement(Dropdown, { key: "RewardsItemSelector", acceptEmpty: true, emptyLabel: "Select your airdrop", options: [
|
|
51
|
-
...rewardItems.map((item) => item.customName),
|
|
52
|
-
], selectedIndex: state.rewardsControl.selectedRewardItem ?? -1, onChange: idx => (state.rewardsControl.selectedRewardItem = idx), textAlign: "middle-left", fontSize: 14, uiTransform: {
|
|
53
|
-
width: '100%',
|
|
54
|
-
height: 40,
|
|
55
|
-
}, uiBackground: { color: Color4.White() }, color: Color4.Black() })),
|
|
56
|
-
ReactEcs.createElement(UiEntity, { uiTransform: { flexDirection: 'column' } },
|
|
57
|
-
ReactEcs.createElement(Label, { value: "<b>Actions</b>", fontSize: 16, color: Color4.White(), uiTransform: { margin: { bottom: 16 } } }),
|
|
58
|
-
ReactEcs.createElement(UiEntity, { uiTransform: { flexDirection: 'row' } },
|
|
59
|
-
ReactEcs.createElement(Button, { id: "rewards_control_release", value: "<b>Release</b>", fontSize: 16, uiTransform: {
|
|
60
|
-
margin: { right: 16 },
|
|
61
|
-
alignItems: 'center',
|
|
62
|
-
justifyContent: 'center',
|
|
63
|
-
}, icon: ICONS.SEND, iconTransform: {
|
|
64
|
-
height: 25,
|
|
65
|
-
width: 25,
|
|
66
|
-
}, onMouseDown: () => handleRelease(engine, state), disabled: state.rewardsControl.selectedRewardItem === undefined }),
|
|
67
|
-
ReactEcs.createElement(Button, { id: "rewards_control_clear", value: "<b>Clear</b>", fontSize: 16, onMouseDown: () => handleClear(engine, state), disabled: state.rewardsControl.selectedRewardItem === undefined })))));
|
|
68
|
-
}
|
|
69
|
-
function handleRelease(engine, state) {
|
|
70
|
-
const { Actions, Rewards } = getComponents(engine);
|
|
71
|
-
const rewardItems = getRewardItems(engine);
|
|
72
|
-
const selectedRewardItem = rewardItems[state.rewardsControl.selectedRewardItem];
|
|
73
|
-
const rewardItem = Rewards.getOrNull(selectedRewardItem.entity);
|
|
74
|
-
if (!rewardItem)
|
|
75
|
-
return;
|
|
76
|
-
const action = Actions.getOrNull(selectedRewardItem.entity)?.value.find(($) => $.name === 'Airdrop');
|
|
77
|
-
if (action) {
|
|
78
|
-
const actionEvents = getActionEvents(selectedRewardItem.entity);
|
|
79
|
-
actionEvents.emit(action.name, getPayload(action));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
function handleClear(engine, state) {
|
|
83
|
-
const { Actions, Rewards } = getComponents(engine);
|
|
84
|
-
const rewardItems = getRewardItems(engine);
|
|
85
|
-
const selectedRewardItem = rewardItems[state.rewardsControl.selectedRewardItem];
|
|
86
|
-
const rewardItem = Rewards.getOrNull(selectedRewardItem.entity);
|
|
87
|
-
if (!rewardItem)
|
|
88
|
-
return;
|
|
89
|
-
const action = Actions.getOrNull(selectedRewardItem.entity)?.value.find(($) => $.name === 'Invisible');
|
|
90
|
-
if (action) {
|
|
91
|
-
const actionEvents = getActionEvents(selectedRewardItem.entity);
|
|
92
|
-
actionEvents.emit(action.name, getPayload(action));
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV3YXJkc0NvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9SZXdhcmRzQ29udHJvbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxHQUdYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE1BQU0sS0FBSyxHQUFHO0lBQ1osSUFBSSxlQUFlO1FBQ2pCLE9BQU8sR0FBRyxhQUFhLEVBQUUsaURBQWlELENBQUM7SUFDN0UsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sR0FBRyxhQUFhLEVBQUUsOENBQThDLENBQUM7SUFDMUUsQ0FBQztDQUNGLENBQUM7QUFHRixTQUFTLDZCQUE2QixDQUFDLE1BQWU7SUFDcEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzVFLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDNUYsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLE1BQWU7SUFDckMsTUFBTSwwQkFBMEIs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QUksQ0FDL0UsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUN0QyxDQUFDO0lBRUYsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFnQixDQUFDLENBQUM7UUFDMUUsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbnRpdHksIElFbmdpbmUgfSBmcm9tICdAZGNsL2Vjcyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgUmVhY3RFY3MsIHsgVWlFbnRpdHksIExhYmVsLCBEcm9wZG93biB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHtcbiAgZ2V0QWN0aW9uRXZlbnRzLFxuICBnZXRDb21wb25lbnRzLFxuICBnZXRQYXlsb2FkLFxuICB0eXBlIEFjdGlvbixcbiAgdHlwZSBBZG1pblRvb2xzLFxufSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuL0J1dHRvbic7XG5pbXBvcnQgeyBnZXRDb250ZW50VXJsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdHlwZSBTdGF0ZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBJQ09OUyA9IHtcbiAgZ2V0IFJFV0FSRFNfQ09OVFJPTCgpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9yZXdhcmRzLWNvbnRyb2wucG5nYDtcbiAgfSxcbiAgZ2V0IFNFTkQoKSB7XG4gICAgcmV0dXJuIGAke2dldENvbnRlbnRVcmwoKX0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvcmV3YXJkcy1zZW5kLnBuZ2A7XG4gIH0sXG59O1xuXG4vLyBIZWxwZXIgRnVuY3Rpb25zXG5mdW5jdGlvbiBnZXRBZG1pblRvb2xraXRSZXdhcmRzQ29udHJvbChlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgeyBBZG1pblRvb2xzIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG4gIGNvbnN0IGFkbWluVG9vbGtpdEVudGl0aWVzID0gQXJyYXkuZnJvbShlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKEFkbWluVG9vbHMpKTtcbiAgcmV0dXJuIGFkbWluVG9vbGtpdEVudGl0aWVzLmxlbmd0aCA+IDAgPyBhZG1pblRvb2xraXRFbnRpdGllc1swXVsxXS5yZXdhcmRzQ29udHJvbCA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldFJld2FyZEl0ZW1zKGVuZ2luZTogSUVuZ2luZSk6IE5vbk51bGxhYmxlPEFkbWluVG9vbHNbJ3Jld2FyZHNDb250cm9sJ11bJ3Jld2FyZEl0ZW1zJ10+IHtcbiAgY29uc3QgYWRtaW5Ub29sa2l0UmV3YXJkc0NvbnRyb2wgPSBnZXRBZG1pblRvb2xraXRSZXdhcmRzQ29udHJvbChlbmdpbmUpO1xuXG4gIGlmIChcbiAgICAhYWRtaW5Ub29sa2l0UmV3YXJkc0NvbnRyb2wgfHxcbiAgICAhYWRtaW5Ub29sa2l0UmV3YXJkc0NvbnRyb2wucmV3YXJkSXRlbXMgfHxcbiAgICBhZG1pblRvb2xraXRSZXdhcmRzQ29udHJvbC5yZXdhcmRJdGVtcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybiBbXTtcblxuICByZXR1cm4gQXJyYXkuZnJvbShhZG1pblRvb2xraXRSZXdhcmRzQ29udHJvbC5yZXdhcmRJdGVtcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZXdhcmRzQ29udHJvbCh7IGVuZ2luZSwgc3RhdGUgfTogeyBlbmdpbmU6IElFbmdpbmU7IHN0YXRlOiBTdGF0ZSB9KSB7XG4gIGNvbnN0IHJld2FyZEl0ZW1zID0gZ2V0UmV3YXJkSXRlbXMoZW5naW5lKTtcblxuICByZXR1cm4gKFxuICAgIDxVaUVudGl0eVxuICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7LyogSGVhZGVyICovfVxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogMzIgfSxcbiAgICAgICAgICBoZWlnaHQ6IDMwLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICB1aVRyYW5zZm9ybT17eyB3aWR0aDogMzAsIGhlaWdodDogMzAgfX1cbiAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgIGNvbG9yOiBDb2xvcjQuV2hpdGUoKSxcbiAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICB0ZXh0dXJlOiB7IHNyYzogSUNPTlMuUkVXQVJEU19DT05UUk9MIH0sXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgdmFsdWU9XCI8Yj5BSVJEUk9QUzwvYj5cIlxuICAgICAgICAgIGZvbnRTaXplPXsyNH1cbiAgICAgICAgICBjb2xvcj17Q29sb3I0LldoaXRlKCl9XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuXG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBtYXJnaW46IHsgYm90dG9tOiAzMiB9LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8TGFiZWxcbiAgICAgICAgICB2YWx1ZT1cIjxiPlNlbGVjdGVkIEFpcmRyb3A8L2I+XCJcbiAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IG1hcmdpbjogeyBib3R0b206IDE2IH0gfX1cbiAgICAgICAgLz5cblxuICAgICAgICA8RHJvcGRvd25cbiAgICAgICAgICBrZXk9XCJSZXdhcmRzSXRlbVNlbGVjdG9yXCJcbiAgICAgICAgICBhY2NlcHRFbXB0eVxuICAgICAgICAgIGVtcHR5TGFiZWw9XCJTZWxlY3QgeW91ciBhaXJkcm9wXCJcbiAgICAgICAgICBvcHRpb25zPXtbXG4gICAgICAgICAgICAuLi5yZXdhcmRJdGVtcy5tYXAoXG4gICAgICAgICAgICAgIChpdGVtOiBOb25OdWxsYWJsZTxBZG1pblRvb2xzWydyZXdhcmRzQ29udHJvbCddWydyZXdhcmRJdGVtcyddPlswXSkgPT5cbiAgICAgICAgICAgICAgICBpdGVtLmN1c3RvbU5hbWUsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIF19XG4gICAgICAgICAgc2VsZWN0ZWRJbmRleD17c3RhdGUucmV3YXJkc0NvbnRyb2wuc2VsZWN0ZWRSZXdhcmRJdGVtID8/IC0xfVxuICAgICAgICAgIG9uQ2hhbmdlPXtpZHggPT4gKHN0YXRlLnJld2FyZHNDb250cm9sLnNlbGVjdGVkUmV3YXJkSXRlbSA9IGlkeCl9XG4gICAgICAgICAgdGV4dEFsaWduPVwibWlkZGxlLWxlZnRcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIGhlaWdodDogNDAsXG4gICAgICAgICAgfX1cbiAgICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICAgICAgY29sb3I9e0NvbG9yNC5CbGFjaygpfVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nIH19PlxuICAgICAgICA8TGFiZWxcbiAgICAgICAgICB2YWx1ZT1cIjxiPkFjdGlvbnM8L2I+XCJcbiAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IG1hcmdpbjogeyBib3R0b206IDE2IH0gfX1cbiAgICAgICAgLz5cblxuICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgZmxleERpcmVjdGlvbjogJ3JvdycgfX0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJyZXdhcmRzX2NvbnRyb2xfcmVsZWFzZVwiXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPlJlbGVhc2U8L2I+XCJcbiAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogMTYgfSxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBpY29uPXtJQ09OUy5TRU5EfVxuICAgICAgICAgICAgaWNvblRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICB3aWR0aDogMjUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IGhhbmRsZVJlbGVhc2UoZW5naW5lLCBzdGF0ZSl9XG4gICAgICAgICAgICBkaXNhYmxlZD17c3RhdGUucmV3YXJkc0NvbnRyb2wuc2VsZWN0ZWRSZXdhcmRJdGVtID09PSB1bmRlZmluZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBpZD1cInJld2FyZHNfY29udHJvbF9jbGVhclwiXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPkNsZWFyPC9iPlwiXG4gICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4gaGFuZGxlQ2xlYXIoZW5naW5lLCBzdGF0ZSl9XG4gICAgICAgICAgICBkaXNhYmxlZD17c3RhdGUucmV3YXJkc0NvbnRyb2wuc2VsZWN0ZWRSZXdhcmRJdGVtID09PSB1bmRlZmluZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgICB7LyogVE9ETzogR2V0IHN1cHBseSB2YWx1ZXMgZnJvbSByZXdhcmRzLXNlcnZlciwgaXQgcmVxdWlyZWQgYSBzaWduZWRGZXRjaCBidXQgdGhlIG9uZSBzZW50IGJ5IHRoZSBleHBsb3JlciBpcyByZWplY3RlZCAqL31cbiAgICAgICAgey8qIDxMYWJlbFxuICAgICAgICAgIHZhbHVlPXtgUmVkZWVtZWQ6ICR7c3RhdGUucmV3YXJkc0NvbnRyb2wucmVkZWVtZWRDb3VudH0vYH1cbiAgICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgICAgY29sb3I9e0NvbG9yNC5jcmVhdGUoMTg3IC8gMjU1LCAxODcgLyAyNTUsIDE4NyAvIDI1NSwgMSl9XG4gICAgICAgIC8+ICovfVxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L1VpRW50aXR5PlxuICApO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVSZWxlYXNlKGVuZ2luZTogSUVuZ2luZSwgc3RhdGU6IFN0YXRlKSB7XG4gIGNvbnN0IHsgQWN0aW9ucywgUmV3YXJkcyB9ID0gZ2V0Q29tcG9uZW50cyhlbmdpbmUpO1xuICBjb25zdCByZXdhcmRJdGVtcyA9IGdldFJld2FyZEl0ZW1zKGVuZ2luZSk7XG4gIGNvbnN0IHNlbGVjdGVkUmV3YXJkSXRlbSA9IHJld2FyZEl0ZW1zW3N0YXRlLnJld2FyZHNDb250cm9sLnNlbGVjdGVkUmV3YXJkSXRlbSFdO1xuICBjb25zdCByZXdhcmRJdGVtID0gUmV3YXJkcy5nZXRPck51bGwoc2VsZWN0ZWRSZXdhcmRJdGVtLmVudGl0eSBhcyBFbnRpdHkpO1xuXG4gIGlmICghcmV3YXJkSXRlbSkgcmV0dXJuO1xuXG4gIGNvbnN0IGFjdGlvbiA9IEFjdGlvbnMuZ2V0T3JOdWxsKHNlbGVjdGVkUmV3YXJkSXRlbS5lbnRpdHkgYXMgRW50aXR5KT8udmFsdWUuZmluZChcbiAgICAoJDogQWN0aW9uKSA9PiAkLm5hbWUgPT09ICdBaXJkcm9wJyxcbiAgKTtcbiAgaWYgKGFjdGlvbikge1xuICAgIGNvbnN0IGFjdGlvbkV2ZW50cyA9IGdldEFjdGlvbkV2ZW50cyhzZWxlY3RlZFJld2FyZEl0ZW0uZW50aXR5IGFzIEVudGl0eSk7XG4gICAgYWN0aW9uRXZlbnRzLmVtaXQoYWN0aW9uLm5hbWUsIGdldFBheWxvYWQoYWN0aW9uKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlQ2xlYXIoZW5naW5lOiBJRW5naW5lLCBzdGF0ZTogU3RhdGUpIHtcbiAgY29uc3QgeyBBY3Rpb25zLCBSZXdhcmRzIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG4gIGNvbnN0IHJld2FyZEl0ZW1zID0gZ2V0UmV3YXJkSXRlbXMoZW5naW5lKTtcbiAgY29uc3Qgc2VsZWN0ZWRSZXdhcmRJdGVtID0gcmV3YXJkSXRlbXNbc3RhdGUucmV3YXJkc0NvbnRyb2wuc2VsZWN0ZWRSZXdhcmRJdGVtIV07XG4gIGNvbnN0IHJld2FyZEl0ZW0gPSBSZXdhcmRzLmdldE9yTnVsbChzZWxlY3RlZFJld2FyZEl0ZW0uZW50aXR5IGFzIEVudGl0eSk7XG4gIGlmICghcmV3YXJkSXRlbSkgcmV0dXJuO1xuXG4gIGNvbnN0IGFjdGlvbiA9IEFjdGlvbnMuZ2V0T3JOdWxsKHNlbGVjdGVkUmV3YXJkSXRlbS5lbnRpdHkgYXMgRW50aXR5KT8udmFsdWUuZmluZChcbiAgICAoJDogQWN0aW9uKSA9PiAkLm5hbWUgPT09ICdJbnZpc2libGUnLFxuICApO1xuXG4gIGlmIChhY3Rpb24pIHtcbiAgICBjb25zdCBhY3Rpb25FdmVudHMgPSBnZXRBY3Rpb25FdmVudHMoc2VsZWN0ZWRSZXdhcmRJdGVtLmVudGl0eSBhcyBFbnRpdHkpO1xuICAgIGFjdGlvbkV2ZW50cy5lbWl0KGFjdGlvbi5uYW1lLCBnZXRQYXlsb2FkKGFjdGlvbikpO1xuICB9XG59XG4iXX0=
|