@kando-env/kando-ui 1.2.466-alpha.17 → 1.2.466-alpha.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/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.466-alpha.17",
3
+ "version": "1.2.466-alpha.3",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {
7
- "start": "cross-env PORT=3005 NODE_OPTIONS=--openssl-legacy-provider react-scripts start",
7
+ "start": "cross-env PORT=3005 react-scripts start",
8
8
  "test": "react-scripts test",
9
9
  "test:once": "react-scripts test --watchAll=false",
10
- "build-demo": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts build",
10
+ "build-demo": "cross-env react-scripts build",
11
11
  "serve-demo": "nodemon demo-server.js",
12
12
  "pre-build": "rimraf lib",
13
13
  "post-build": "node ./node_modules/.bin/jscodeshift -t ./jscodeshift/require-strip-src-bundles.js ./lib",
@@ -17,7 +17,7 @@
17
17
  "build-watch": "npm run babel-watch",
18
18
  "build": "npm run pre-build && npm run babel && npm run post-build",
19
19
  "storybook": "start-storybook -p 6006 -s ./public",
20
- "build-storybook": "cross-env NODE_OPTIONS=--openssl-legacy-provider build-storybook -s ./public",
20
+ "build-storybook": "build-storybook -s ./public",
21
21
  "lint-staged": "cross-env NODE_ENV=production lint-staged ",
22
22
  "lint-fix": "eslint ./src",
23
23
  "pretty-staged": "pretty-quick --staged",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "proxy": "http://localhost:3000",
29
29
  "engines": {
30
- "node": "18"
30
+ "node": "14"
31
31
  },
32
32
  "dependencies": {
33
33
  "@babel/plugin-proposal-private-methods": "^7.18.6",
@@ -146,10 +146,12 @@
146
146
  "@types/webpack-env": "^1.16.0",
147
147
  "@typescript-eslint/eslint-plugin": "^4.0.0",
148
148
  "@typescript-eslint/parser": "^4.0.0",
149
+ "babel-eslint": "^10.0.0",
149
150
  "babel-loader": "8.1.0",
150
151
  "babel-plugin-module-resolver": "^4.1.0",
151
152
  "babel-plugin-named-asset-import": "^0.3.7",
152
153
  "babel-plugin-styled-components": "^1.13.2",
154
+ "babel-preset-react": "^6.24.1",
153
155
  "babel-preset-react-app": "^10.0.0",
154
156
  "cache-loader": "^4.1.0",
155
157
  "cross-env": "^7.0.3",
@@ -167,7 +169,7 @@
167
169
  "jscodeshift": "^0.13.0",
168
170
  "lint-staged": "^11.0.0",
169
171
  "msw-storybook-addon": "^1.2.0",
170
- "sass": "^1.77.0",
172
+ "node-sass": "^6.0.1",
171
173
  "nodemon": "^2.0.8",
172
174
  "perenv.macro": "^0.0.4",
173
175
  "prettier": "^2.3.1",
@@ -188,11 +190,6 @@
188
190
  "workerDirectory": "public"
189
191
  },
190
192
  "resolutions": {
191
- "@types/react": "^18.2.38",
192
- "minimatch": "^9.0.5",
193
- "glob": "^10.3.10",
194
- "globby": "^11.1.0",
195
- "globby@^6.1.0": "^11.1.0",
196
- "pify": "^3.0.0"
193
+ "@types/react": "^18.2.38"
197
194
  }
198
195
  }
@@ -1,26 +0,0 @@
1
- <svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g filter="url(#filter0_d_435_1140)">
3
- <circle cx="40" cy="38" r="32" fill="white"/>
4
- </g>
5
- <circle cx="40" cy="38" r="32" fill="#F80153"/>
6
- <path d="M52.8 41.2C54.5673 41.2 56 39.7673 56 38C56 36.2327 54.5673 34.8 52.8 34.8C51.0327 34.8 49.6 36.2327 49.6 38C49.6 39.7673 51.0327 41.2 52.8 41.2Z" fill="#FBFBFB"/>
7
- <path d="M27.2 41.2C28.9673 41.2 30.4 39.7673 30.4 38C30.4 36.2327 28.9673 34.8 27.2 34.8C25.4327 34.8 24 36.2327 24 38C24 39.7673 25.4327 41.2 27.2 41.2Z" fill="#FBFBFB"/>
8
- <path d="M40 54C41.7673 54 43.2 52.5673 43.2 50.8C43.2 49.0327 41.7673 47.6 40 47.6C38.2327 47.6 36.8 49.0327 36.8 50.8C36.8 52.5673 38.2327 54 40 54Z" fill="#FBFBFB"/>
9
- <path d="M50.1559 25.5634L43.1089 32.5905L45.3685 34.8564L52.4155 27.8293L50.1559 25.5634Z" fill="#FBFBFB"/>
10
- <path d="M34.112 34.288L34.608 34.8L36.88 32.544L30.448 26.08H30.432L29.936 25.568L27.664 27.824L34.096 34.304L34.112 34.288Z" fill="#FBFBFB"/>
11
- <path d="M45.456 41.104L43.2 43.36L49.584 49.776L50.144 50.336L52.416 48.08L46.032 41.664L45.456 41.104Z" fill="#FBFBFB"/>
12
- <path d="M34.544 41.12L28.096 47.536L27.584 48.064L29.84 50.32L36.288 43.888L36.816 43.376L34.544 41.12Z" fill="#FBFBFB"/>
13
- <path d="M40 28.4C41.7673 28.4 43.2 26.9673 43.2 25.2C43.2 23.4327 41.7673 22 40 22C38.2327 22 36.8 23.4327 36.8 25.2C36.8 26.9673 38.2327 28.4 40 28.4Z" fill="#FBFBFB"/>
14
- <defs>
15
- <filter id="filter0_d_435_1140" x="0" y="0" width="80" height="80" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
16
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
17
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
18
- <feOffset dy="2"/>
19
- <feGaussianBlur stdDeviation="4"/>
20
- <feComposite in2="hardAlpha" operator="out"/>
21
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/>
22
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_435_1140"/>
23
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_435_1140" result="shape"/>
24
- </filter>
25
- </defs>
26
- </svg>
@@ -1,220 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
12
- var _styledComponents = _interopRequireDefault(require("styled-components"));
13
- var _i18next = _interopRequireDefault(require("i18next"));
14
- var _react = _interopRequireWildcard(require("react"));
15
- var _Sector = _interopRequireDefault(require("../Sector"));
16
- var _MoreInfoButton = require("pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton");
17
- var _streamiLogo = _interopRequireDefault(require("assets/streami-logo.svg"));
18
- var _useNavContext2 = require("hooks/useNavContext");
19
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
- var SeasonalInsights = function SeasonalInsights(_ref) {
22
- var apiEndpoint = _ref.apiEndpoint,
23
- dataProp = _ref.data,
24
- className = _ref.className,
25
- onLoaded = _ref.onLoaded;
26
- var _useState = (0, _react.useState)(dataProp !== null && dataProp !== void 0 ? dataProp : null),
27
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
28
- data = _useState2[0],
29
- setData = _useState2[1];
30
- var _useState3 = (0, _react.useState)(false),
31
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
32
- showDetails = _useState4[0],
33
- setShowDetails = _useState4[1];
34
-
35
- // If parent provides data, render it and skip fetching.
36
- (0, _react.useEffect)(function () {
37
- if (typeof dataProp === 'undefined') return;
38
- setData(dataProp !== null && dataProp !== void 0 ? dataProp : null);
39
- }, [dataProp]);
40
- var risk = (0, _react.useMemo)(function () {
41
- var _data$insight_info;
42
- var risks = data === null || data === void 0 ? void 0 : (_data$insight_info = data.insight_info) === null || _data$insight_info === void 0 ? void 0 : _data$insight_info.risks;
43
- if (!risks) return null;
44
- var lang = (data === null || data === void 0 ? void 0 : data.locale) || 'en';
45
- return risks[lang] || null;
46
- }, [data]);
47
- var summary = (risk === null || risk === void 0 ? void 0 : risk.risk_summary) || '';
48
- var detailed = (risk === null || risk === void 0 ? void 0 : risk.detailed_risks) || [];
49
- var hasDetails = detailed.length > 0;
50
- var _useNavContext = (0, _useNavContext2.useNavContext)(),
51
- isRtl = _useNavContext.isRtl;
52
- (0, _react.useEffect)(function () {
53
- // If parent provides data, do not fetch.
54
- if (typeof dataProp !== 'undefined') return;
55
- if (!apiEndpoint) return;
56
- var controller = new AbortController();
57
- fetch(apiEndpoint, {
58
- signal: controller.signal
59
- }).then( /*#__PURE__*/function () {
60
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {
61
- return _regenerator.default.wrap(function _callee$(_context) {
62
- while (1) {
63
- switch (_context.prev = _context.next) {
64
- case 0:
65
- if (res.ok) {
66
- _context.next = 2;
67
- break;
68
- }
69
- throw new Error("Request failed (".concat(res.status, ")"));
70
- case 2:
71
- _context.next = 4;
72
- return res.json();
73
- case 4:
74
- return _context.abrupt("return", _context.sent);
75
- case 5:
76
- case "end":
77
- return _context.stop();
78
- }
79
- }
80
- }, _callee);
81
- }));
82
- return function (_x) {
83
- return _ref2.apply(this, arguments);
84
- };
85
- }()).then(function (payload) {
86
- setData(payload);
87
- if (onLoaded) onLoaded(payload);
88
- }).catch(function (err) {
89
- if ((err === null || err === void 0 ? void 0 : err.name) === 'AbortError') return;
90
- setData(null);
91
- });
92
- return function () {
93
- return controller.abort();
94
- };
95
- }, [apiEndpoint, dataProp, onLoaded]);
96
- return /*#__PURE__*/_react.default.createElement(Container, {
97
- isRtl: isRtl
98
- }, /*#__PURE__*/_react.default.createElement(SummarySection, null, /*#__PURE__*/_react.default.createElement(SummaryHeader, {
99
- isRtl: isRtl
100
- }, /*#__PURE__*/_react.default.createElement(SummaryTitle, null, _i18next.default.t('seasonal_insights.summary_heading'))), /*#__PURE__*/_react.default.createElement(SummaryText, null, summary)), /*#__PURE__*/_react.default.createElement(ToggleRow, null, /*#__PURE__*/_react.default.createElement(Attribution, null, /*#__PURE__*/_react.default.createElement(BrandLogoSmall, {
101
- src: _streamiLogo.default,
102
- alt: "Streami"
103
- }), /*#__PURE__*/_react.default.createElement(PoweredBy, null, 'Powered by STREAMi')), hasDetails ? /*#__PURE__*/_react.default.createElement(MoreInfoWrap, null, /*#__PURE__*/_react.default.createElement(_MoreInfoButton.MoreInfoDiv, null, /*#__PURE__*/_react.default.createElement("a", {
104
- href: "#",
105
- className: "more-info-button",
106
- onClick: function onClick(e) {
107
- e.preventDefault();
108
- setShowDetails(function (prev) {
109
- return !prev;
110
- });
111
- },
112
- "aria-expanded": showDetails
113
- }, showDetails ? _i18next.default.t('seasonal_insights.show_less') : _i18next.default.t('seasonal_insights.show_more')))) : null), hasDetails ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showDetails ? /*#__PURE__*/_react.default.createElement(CardList, null, detailed.map(function (r, idx) {
114
- var _r$expected_pollution;
115
- return /*#__PURE__*/_react.default.createElement(Card, {
116
- key: idx
117
- }, /*#__PURE__*/_react.default.createElement(CardHeader, null, /*#__PURE__*/_react.default.createElement(TitleBlock, null, formatSectorIconName(r.sector) ? /*#__PURE__*/_react.default.createElement(_Sector.default, {
118
- sectorIconName: formatSectorIconName(r.sector) || 'Missing',
119
- sectorName: r.sector,
120
- showLabel: false,
121
- withTooltip: true
122
- }) : null, /*#__PURE__*/_react.default.createElement(CardTitle, null, r.siu_name))), ((_r$expected_pollution = r.expected_pollution_types) === null || _r$expected_pollution === void 0 ? void 0 : _r$expected_pollution.length) ? /*#__PURE__*/_react.default.createElement(CardSection, null, /*#__PURE__*/_react.default.createElement(SectionLabel, null, _i18next.default.t('seasonal_insights.key_risks')), /*#__PURE__*/_react.default.createElement(ChipRow, null, r.expected_pollution_types.map(function (p, chipIdx) {
123
- return /*#__PURE__*/_react.default.createElement(Chip, {
124
- key: "".concat(p, "-").concat(chipIdx)
125
- }, p);
126
- }))) : null, r.seasonal_or_location_factors ? /*#__PURE__*/_react.default.createElement(CardSection, null, /*#__PURE__*/_react.default.createElement(SectionLabel, null, _i18next.default.t('seasonal_insights.seasonal_factors')), /*#__PURE__*/_react.default.createElement(SectionText, null, r.seasonal_or_location_factors)) : null);
127
- })) : null) : null);
128
- };
129
- var Container = _styledComponents.default.div.withConfig({
130
- displayName: "SeasonalInsights__Container",
131
- componentId: "sc-jrd7ho-0"
132
- })(["padding:16px;margin:16px;display:flex;flex-direction:column;gap:12px;text-align:", ";min-width:320px;border-radius:12px;"], function (_ref3) {
133
- var isRtl = _ref3.isRtl;
134
- return isRtl ? 'right' : 'left';
135
- });
136
- var SummarySection = _styledComponents.default.div.withConfig({
137
- displayName: "SeasonalInsights__SummarySection",
138
- componentId: "sc-jrd7ho-1"
139
- })(["display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;"]);
140
- var SummaryHeader = _styledComponents.default.div.withConfig({
141
- displayName: "SeasonalInsights__SummaryHeader",
142
- componentId: "sc-jrd7ho-2"
143
- })(["display:flex;align-items:center;justify-content:space-between;gap:12px;flex-direction:", ";"], function (_ref4) {
144
- var isRtl = _ref4.isRtl;
145
- return isRtl ? 'row-reverse' : 'row';
146
- });
147
- var SummaryTitle = _styledComponents.default.div.withConfig({
148
- displayName: "SeasonalInsights__SummaryTitle",
149
- componentId: "sc-jrd7ho-3"
150
- })(["font-weight:600;font-size:16px;color:#1d1d1d;"]);
151
- var SummaryText = _styledComponents.default.div.withConfig({
152
- displayName: "SeasonalInsights__SummaryText",
153
- componentId: "sc-jrd7ho-4"
154
- })(["font-size:15px;color:#2b2b2b;line-height:1.5;"]);
155
- var ToggleRow = _styledComponents.default.div.withConfig({
156
- displayName: "SeasonalInsights__ToggleRow",
157
- componentId: "sc-jrd7ho-5"
158
- })(["display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:10px;flex-direction:row;.more-info-button:focus,.more-info-button:focus-visible{outline:none;box-shadow:none;}"]);
159
- var PoweredBy = _styledComponents.default.span.withConfig({
160
- displayName: "SeasonalInsights__PoweredBy",
161
- componentId: "sc-jrd7ho-6"
162
- })(["font-size:12px;color:#6b7280;white-space:nowrap;"]);
163
- var Attribution = _styledComponents.default.div.withConfig({
164
- displayName: "SeasonalInsights__Attribution",
165
- componentId: "sc-jrd7ho-7"
166
- })(["display:inline-flex;align-items:center;gap:6px;order:1;"]);
167
- var BrandLogoSmall = _styledComponents.default.img.withConfig({
168
- displayName: "SeasonalInsights__BrandLogoSmall",
169
- componentId: "sc-jrd7ho-8"
170
- })(["height:16px;width:auto;opacity:0.7;flex-shrink:0;"]);
171
- var MoreInfoWrap = _styledComponents.default.div.withConfig({
172
- displayName: "SeasonalInsights__MoreInfoWrap",
173
- componentId: "sc-jrd7ho-9"
174
- })(["order:2;"]);
175
- var CardList = _styledComponents.default.div.withConfig({
176
- displayName: "SeasonalInsights__CardList",
177
- componentId: "sc-jrd7ho-10"
178
- })(["display:flex;flex-direction:column;gap:12px;"]);
179
- var Card = _styledComponents.default.div.withConfig({
180
- displayName: "SeasonalInsights__Card",
181
- componentId: "sc-jrd7ho-11"
182
- })(["padding:14px;border-radius:10px;background:#ffffff;border:1px solid #e4e6ea;box-shadow:0 1px 4px rgba(0,0,0,0.05);display:flex;flex-direction:column;gap:10px;"]);
183
- var CardHeader = _styledComponents.default.div.withConfig({
184
- displayName: "SeasonalInsights__CardHeader",
185
- componentId: "sc-jrd7ho-12"
186
- })(["display:flex;align-items:center;gap:8px;justify-content:space-between;"]);
187
- var TitleBlock = _styledComponents.default.div.withConfig({
188
- displayName: "SeasonalInsights__TitleBlock",
189
- componentId: "sc-jrd7ho-13"
190
- })(["display:inline-flex;align-items:center;margin-inline-start:-14px;"]);
191
- var CardTitle = _styledComponents.default.div.withConfig({
192
- displayName: "SeasonalInsights__CardTitle",
193
- componentId: "sc-jrd7ho-14"
194
- })(["font-weight:600;font-size:15px;color:#1e1e1e;"]);
195
- var CardSection = _styledComponents.default.div.withConfig({
196
- displayName: "SeasonalInsights__CardSection",
197
- componentId: "sc-jrd7ho-15"
198
- })(["display:flex;flex-direction:column;gap:6px;"]);
199
- var SectionLabel = _styledComponents.default.div.withConfig({
200
- displayName: "SeasonalInsights__SectionLabel",
201
- componentId: "sc-jrd7ho-16"
202
- })(["font-weight:600;font-size:13px;color:#2f333a;"]);
203
- var SectionText = _styledComponents.default.div.withConfig({
204
- displayName: "SeasonalInsights__SectionText",
205
- componentId: "sc-jrd7ho-17"
206
- })(["font-size:14px;color:#3d3d3d;line-height:1.45;"]);
207
- var ChipRow = _styledComponents.default.div.withConfig({
208
- displayName: "SeasonalInsights__ChipRow",
209
- componentId: "sc-jrd7ho-18"
210
- })(["display:flex;gap:8px;flex-wrap:wrap;"]);
211
- var Chip = _styledComponents.default.span.withConfig({
212
- displayName: "SeasonalInsights__Chip",
213
- componentId: "sc-jrd7ho-19"
214
- })(["background:#f1f3f5;color:#1f2933;border-radius:12px;padding:6px 10px;font-size:12px;font-weight:500;border:1px solid #e0e4ea;"]);
215
- var formatSectorIconName = function formatSectorIconName(value) {
216
- return (value || '').toString().trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');
217
- };
218
- var _default = SeasonalInsights;
219
- exports.default = _default;
220
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4bmV4dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfU2VjdG9yIiwiX01vcmVJbmZvQnV0dG9uIiwiX3N0cmVhbWlMb2dvIiwiX3VzZU5hdkNvbnRleHQyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTZWFzb25hbEluc2lnaHRzIiwiX3JlZiIsImFwaUVuZHBvaW50IiwiZGF0YVByb3AiLCJkYXRhIiwiY2xhc3NOYW1lIiwib25Mb2FkZWQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZXREYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93RGV0YWlscyIsInNldFNob3dEZXRhaWxzIiwidXNlRWZmZWN0IiwicmlzayIsInVzZU1lbW8iLCJfZGF0YSRpbnNpZ2h0X2luZm8iLCJyaXNrcyIsImluc2lnaHRfaW5mbyIsImxhbmciLCJsb2NhbGUiLCJzdW1tYXJ5Iiwicmlza19zdW1tYXJ5IiwiZGV0YWlsZWQiLCJkZXRhaWxlZF9yaXNrcyIsImhhc0RldGFpbHMiLCJsZW5ndGgiLCJfdXNlTmF2Q29udGV4dCIsInVzZU5hdkNvbnRleHQiLCJpc1J0bCIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJmZXRjaCIsInNpZ25hbCIsInRoZW4iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwicmVzIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIm9rIiwiRXJyb3IiLCJjb25jYXQiLCJzdGF0dXMiLCJqc29uIiwiYWJydXB0Iiwic2VudCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicGF5bG9hZCIsImNhdGNoIiwiZXJyIiwibmFtZSIsImFib3J0IiwiY3JlYXRlRWxlbWVudCIsIkNvbnRhaW5lciIsIlN1bW1hcnlTZWN0aW9uIiwiU3VtbWFyeUhlYWRlciIsIlN1bW1hcnlUaXRsZSIsImkxOG5leHQiLCJ0IiwiU3VtbWFyeVRleHQiLCJUb2dnbGVSb3ciLCJBdHRyaWJ1dGlvbiIsIkJyYW5kTG9nb1NtYWxsIiwic3JjIiwiU3RyZWFtaUxvZ28iLCJhbHQiLCJQb3dlcmVkQnkiLCJNb3JlSW5mb1dyYXAiLCJNb3JlSW5mb0RpdiIsImhyZWYiLCJvbkNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0IiwiRnJhZ21lbnQiLCJDYXJkTGlzdCIsIm1hcCIsInIiLCJpZHgiLCJfciRleHBlY3RlZF9wb2xsdXRpb24iLCJDYXJkIiwiQ2FyZEhlYWRlciIsIlRpdGxlQmxvY2siLCJmb3JtYXRTZWN0b3JJY29uTmFtZSIsInNlY3RvciIsInNlY3Rvckljb25OYW1lIiwic2VjdG9yTmFtZSIsInNob3dMYWJlbCIsIndpdGhUb29sdGlwIiwiQ2FyZFRpdGxlIiwic2l1X25hbWUiLCJleHBlY3RlZF9wb2xsdXRpb25fdHlwZXMiLCJDYXJkU2VjdGlvbiIsIlNlY3Rpb25MYWJlbCIsIkNoaXBSb3ciLCJwIiwiY2hpcElkeCIsIkNoaXAiLCJzZWFzb25hbF9vcl9sb2NhdGlvbl9mYWN0b3JzIiwiU2VjdGlvblRleHQiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYzIiwiX3JlZjQiLCJzcGFuIiwiaW1nIiwidmFsdWUiLCJ0b1N0cmluZyIsInRyaW0iLCJ0b0xvd2VyQ2FzZSIsInJlcGxhY2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZWFzb25hbEluc2lnaHRzL1NlYXNvbmFsSW5zaWdodHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBTZWN0b3IgZnJvbSAnLi4vU2VjdG9yJztcbmltcG9ydCB7IE1vcmVJbmZvRGl2IH0gZnJvbSAnc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50X2luZm8vU291cmNlRGV0YWlscy9Nb3JlSW5mb0J1dHRvbic7XG5pbXBvcnQgU3RyZWFtaUxvZ28gZnJvbSAnc3JjL2Fzc2V0cy9zdHJlYW1pLWxvZ28uc3ZnJztcbmltcG9ydCB7IHVzZU5hdkNvbnRleHQgfSBmcm9tICdzcmMvaG9va3MvdXNlTmF2Q29udGV4dCc7XG5cbnR5cGUgRGV0YWlsZWRSaXNrID0ge1xuICBzZWN0b3I/OiBzdHJpbmc7XG4gIHNpdV9uYW1lPzogc3RyaW5nO1xuICBleHBlY3RlZF9wb2xsdXRpb25fdHlwZXM/OiBzdHJpbmdbXTtcbiAgc2Vhc29uYWxfb3JfbG9jYXRpb25fZmFjdG9ycz86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlID0ge1xuICBsb2NhbGU6IHN0cmluZztcbiAgaWQ/OiBudW1iZXI7XG4gIHN0YXJ0X3RpbWU/OiBzdHJpbmc7XG4gIGVuZF90aW1lPzogc3RyaW5nO1xuICBpbnNpZ2h0X2luZm8/OiB7XG4gICAgcmlza3M/OiB7XG4gICAgICBbbGFuZzogc3RyaW5nXToge1xuICAgICAgICByaXNrX3N1bW1hcnk/OiBzdHJpbmc7XG4gICAgICAgIGRldGFpbGVkX3Jpc2tzPzogRGV0YWlsZWRSaXNrW107XG4gICAgICB9O1xuICAgIH07XG4gICAgc3RhcnRfdGltZT86IHN0cmluZztcbiAgICBlbmRfdGltZT86IHN0cmluZztcbiAgICBvdmVyYWxsX2NvbmZpZGVuY2U/OiBzdHJpbmc7XG4gICAgd2F0ZXJfYXV0aG9yaXR5X2lkPzogc3RyaW5nIHwgbnVtYmVyO1xuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFzb25hbEluc2lnaHRzUHJvcHMge1xuICAvKiogSWYgcHJvdmlkZWQsIHRoZSBjb21wb25lbnQgd2lsbCBmZXRjaCB0aGUgaW5zaWdodCBwYXlsb2FkIGZyb20gdGhpcyBlbmRwb2ludC4gKi9cbiAgYXBpRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKiBJZiBwcm92aWRlZCwgdGhlIGNvbXBvbmVudCB3aWxsIHJlbmRlciB1c2luZyB0aGlzIGRhdGEgYW5kIHdpbGwgTk9UIGZldGNoLiAqL1xuICBkYXRhPzogU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2UgfCBudWxsO1xuICAvKiogT3B0aW9uYWwgb3ZlcnJpZGU6ICdoZScsICdlbicsIGV0Yy4gRGVmYXVsdHMgdG8gYXV0by1kZXRlY3QgYmFzZWQgb24gZG9jdW1lbnQgZGlyZWN0aW9uIC8gYnJvd3NlciBsYW5ndWFnZS4gKi9cbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBjbGFzc05hbWUgZm9yIG91dGVyIHdyYXBwZXIgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgY2FsbGJhY2sgdG8gcmVjZWl2ZSByYXcgcGF5bG9hZCAob25seSB3aGVuIGZldGNoaW5nKS4gKi9cbiAgb25Mb2FkZWQ/OiAoZGF0YTogU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2UpID0+IHZvaWQ7XG59XG5cbmNvbnN0IFNlYXNvbmFsSW5zaWdodHM6IFJlYWN0LkZDPFNlYXNvbmFsSW5zaWdodHNQcm9wcz4gPSAoe1xuICBhcGlFbmRwb2ludCxcbiAgZGF0YTogZGF0YVByb3AsXG4gIGNsYXNzTmFtZSxcbiAgb25Mb2FkZWQsXG59KSA9PiB7XG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbD4oXG4gICAgZGF0YVByb3AgPz8gbnVsbCxcbiAgKTtcbiAgY29uc3QgW3Nob3dEZXRhaWxzLCBzZXRTaG93RGV0YWlsc10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgLy8gSWYgcGFyZW50IHByb3ZpZGVzIGRhdGEsIHJlbmRlciBpdCBhbmQgc2tpcCBmZXRjaGluZy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGRhdGFQcm9wID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIHNldERhdGEoZGF0YVByb3AgPz8gbnVsbCk7XG4gIH0sIFtkYXRhUHJvcF0pO1xuXG4gIGNvbnN0IHJpc2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCByaXNrcyA9IGRhdGE/Lmluc2lnaHRfaW5mbz8ucmlza3M7XG4gICAgaWYgKCFyaXNrcykgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgbGFuZyA9IGRhdGE/LmxvY2FsZSB8fCAnZW4nO1xuICAgIHJldHVybiByaXNrc1tsYW5nXSB8fCBudWxsO1xuICB9LCBbZGF0YV0pO1xuXG4gIGNvbnN0IHN1bW1hcnkgPSByaXNrPy5yaXNrX3N1bW1hcnkgfHwgJyc7XG4gIGNvbnN0IGRldGFpbGVkID0gcmlzaz8uZGV0YWlsZWRfcmlza3MgfHwgW107XG4gIGNvbnN0IGhhc0RldGFpbHMgPSBkZXRhaWxlZC5sZW5ndGggPiAwO1xuICBjb25zdCB7IGlzUnRsIH0gPSB1c2VOYXZDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBJZiBwYXJlbnQgcHJvdmlkZXMgZGF0YSwgZG8gbm90IGZldGNoLlxuICAgIGlmICh0eXBlb2YgZGF0YVByb3AgIT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgaWYgKCFhcGlFbmRwb2ludCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIGZldGNoKGFwaUVuZHBvaW50LCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSlcbiAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkICgke3Jlcy5zdGF0dXN9KWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLnRoZW4oKHBheWxvYWQpID0+IHtcbiAgICAgICAgc2V0RGF0YShwYXlsb2FkKTtcbiAgICAgICAgaWYgKG9uTG9hZGVkKSBvbkxvYWRlZChwYXlsb2FkKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBpZiAoZXJyPy5uYW1lID09PSAnQWJvcnRFcnJvcicpIHJldHVybjtcbiAgICAgICAgc2V0RGF0YShudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuICgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfSwgW2FwaUVuZHBvaW50LCBkYXRhUHJvcCwgb25Mb2FkZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXIgaXNSdGw9e2lzUnRsfT5cbiAgICAgIDxTdW1tYXJ5U2VjdGlvbj5cbiAgICAgICAgPFN1bW1hcnlIZWFkZXIgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICA8U3VtbWFyeVRpdGxlPlxuICAgICAgICAgICAge2kxOG5leHQudCgnc2Vhc29uYWxfaW5zaWdodHMuc3VtbWFyeV9oZWFkaW5nJyl9XG4gICAgICAgICAgPC9TdW1tYXJ5VGl0bGU+XG4gICAgICAgIDwvU3VtbWFyeUhlYWRlcj5cbiAgICAgICAgPFN1bW1hcnlUZXh0PntzdW1tYXJ5fTwvU3VtbWFyeVRleHQ+XG4gICAgICA8L1N1bW1hcnlTZWN0aW9uPlxuICAgICAgPFRvZ2dsZVJvdz5cbiAgICAgICAgPEF0dHJpYnV0aW9uPlxuICAgICAgICAgIDxCcmFuZExvZ29TbWFsbCBzcmM9e1N0cmVhbWlMb2dvfSBhbHQ9XCJTdHJlYW1pXCIgLz5cbiAgICAgICAgICA8UG93ZXJlZEJ5PnsnUG93ZXJlZCBieSBTVFJFQU1pJ308L1Bvd2VyZWRCeT5cbiAgICAgICAgPC9BdHRyaWJ1dGlvbj5cbiAgICAgICAge2hhc0RldGFpbHMgPyAoXG4gICAgICAgICAgPE1vcmVJbmZvV3JhcD5cbiAgICAgICAgICAgIDxNb3JlSW5mb0Rpdj5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibW9yZS1pbmZvLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgIHNldFNob3dEZXRhaWxzKChwcmV2KSA9PiAhcHJldik7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtzaG93RGV0YWlsc31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtzaG93RGV0YWlsc1xuICAgICAgICAgICAgICAgICAgPyBpMThuZXh0LnQoJ3NlYXNvbmFsX2luc2lnaHRzLnNob3dfbGVzcycpXG4gICAgICAgICAgICAgICAgICA6IGkxOG5leHQudCgnc2Vhc29uYWxfaW5zaWdodHMuc2hvd19tb3JlJyl9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvTW9yZUluZm9EaXY+XG4gICAgICAgICAgPC9Nb3JlSW5mb1dyYXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub2dnbGVSb3c+XG5cbiAgICAgIHtoYXNEZXRhaWxzID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIHtzaG93RGV0YWlscyA/IChcbiAgICAgICAgICAgIDxDYXJkTGlzdD5cbiAgICAgICAgICAgICAge2RldGFpbGVkLm1hcCgociwgaWR4KSA9PiAoXG4gICAgICAgICAgICAgICAgPENhcmQga2V5PXtpZHh9PlxuICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxUaXRsZUJsb2NrPlxuICAgICAgICAgICAgICAgICAgICAgIHtmb3JtYXRTZWN0b3JJY29uTmFtZShyLnNlY3RvcikgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRTZWN0b3JJY29uTmFtZShyLnNlY3RvcikgfHwgJ01pc3NpbmcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdG9yTmFtZT17ci5zZWN0b3J9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dMYWJlbD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhUb29sdGlwPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlPntyLnNpdV9uYW1lfTwvQ2FyZFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8L1RpdGxlQmxvY2s+XG4gICAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgIHtyLmV4cGVjdGVkX3BvbGx1dGlvbl90eXBlcz8ubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgICA8Q2FyZFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlY3Rpb25MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuZXh0LnQoJ3NlYXNvbmFsX2luc2lnaHRzLmtleV9yaXNrcycpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU2VjdGlvbkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxDaGlwUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAge3IuZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzLm1hcCgocCwgY2hpcElkeCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hpcCBrZXk9e2Ake3B9LSR7Y2hpcElkeH1gfT57cH08L0NoaXA+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L0NoaXBSb3c+XG4gICAgICAgICAgICAgICAgICAgIDwvQ2FyZFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICAgICAgICAgICAge3Iuc2Vhc29uYWxfb3JfbG9jYXRpb25fZmFjdG9ycyA/IChcbiAgICAgICAgICAgICAgICAgICAgPENhcmRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZWN0aW9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aTE4bmV4dC50KCdzZWFzb25hbF9pbnNpZ2h0cy5zZWFzb25hbF9mYWN0b3JzJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TZWN0aW9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlY3Rpb25UZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAge3Iuc2Vhc29uYWxfb3JfbG9jYXRpb25fZmFjdG9yc31cbiAgICAgICAgICAgICAgICAgICAgICA8L1NlY3Rpb25UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8L0NhcmRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvQ2FyZExpc3Q+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgaXNSdGw6IGJvb2xlYW4gfT5gXG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1hcmdpbjogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMnB4O1xuICB0ZXh0LWFsaWduOiAkeyh7IGlzUnRsIH0pID0+IChpc1J0bCA/ICdyaWdodCcgOiAnbGVmdCcpfTtcbiAgLy8gYmFja2dyb3VuZDogI2Y3ZjhmYTtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbmA7XG5cbmNvbnN0IFN1bW1hcnlTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDEycHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLy8gYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgLy8gYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG5gO1xuXG5jb25zdCBTdW1tYXJ5SGVhZGVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTJweDtcbiAgZmxleC1kaXJlY3Rpb246ICR7KHsgaXNSdGwgfSkgPT4gKGlzUnRsID8gJ3Jvdy1yZXZlcnNlJyA6ICdyb3cnKX07XG5gO1xuXG5jb25zdCBTdW1tYXJ5VGl0bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMWQxZDFkO1xuYDtcblxuY29uc3QgU3VtbWFyeVRleHQgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiAjMmIyYjJiO1xuICBsaW5lLWhlaWdodDogMS41O1xuYDtcblxuY29uc3QgVG9nZ2xlUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGdhcDogMTBweDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAubW9yZS1pbmZvLWJ1dHRvbjpmb2N1cyxcbiAgLm1vcmUtaW5mby1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBQb3dlcmVkQnkgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzZiNzI4MDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbmA7XG5cbmNvbnN0IEF0dHJpYnV0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBvcmRlcjogMTtcbmA7XG5cbmNvbnN0IEJyYW5kTG9nb1NtYWxsID0gc3R5bGVkLmltZ2BcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogYXV0bztcbiAgb3BhY2l0eTogMC43O1xuICBmbGV4LXNocmluazogMDtcbmA7XG5cbmNvbnN0IE1vcmVJbmZvV3JhcCA9IHN0eWxlZC5kaXZgXG4gIG9yZGVyOiAyO1xuYDtcblxuY29uc3QgQ2FyZExpc3QgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG5gO1xuXG5jb25zdCBDYXJkID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTZlYTtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbmA7XG5cbmNvbnN0IENhcmRIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVGl0bGVCbG9jayA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvLyAgIGdhcDogOHB4O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMTRweDtcbmA7XG5cbmNvbnN0IENhcmRUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICMxZTFlMWU7XG5gO1xuXG5jb25zdCBDYXJkU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuYDtcblxuY29uc3QgU2VjdGlvbkxhYmVsID0gc3R5bGVkLmRpdmBcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzJmMzMzYTtcbmA7XG5cbmNvbnN0IFNlY3Rpb25UZXh0ID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzNkM2QzZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG5gO1xuXG5jb25zdCBDaGlwUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbmA7XG5cbmNvbnN0IENoaXAgPSBzdHlsZWQuc3BhbmBcbiAgYmFja2dyb3VuZDogI2YxZjNmNTtcbiAgY29sb3I6ICMxZjI5MzM7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMGU0ZWE7XG5gO1xuXG5jb25zdCBmb3JtYXRTZWN0b3JJY29uTmFtZSA9ICh2YWx1ZT86IHN0cmluZykgPT5cbiAgKHZhbHVlIHx8ICcnKVxuICAgIC50b1N0cmluZygpXG4gICAgLnRyaW0oKVxuICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgLnJlcGxhY2UoL1teYS16MC05XSsvZywgJ18nKVxuICAgIC5yZXBsYWNlKC9eXyt8XyskL2csICcnKTtcblxuZXhwb3J0IGRlZmF1bHQgU2Vhc29uYWxJbnNpZ2h0cztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsT0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQWtHLElBQUFLLFlBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUVsRyxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFBd0QsU0FBQU8seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxX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