@anansi/core 0.21.4 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/server.js +1 -37
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.server.d.ts +0 -1
- package/lib/index.server.d.ts.map +1 -1
- package/lib/index.server.js +1 -2
- package/lib/scripts/index.server.js +1 -2
- package/lib/scripts/spouts/antd.js +3 -6
- package/lib/scripts/spouts/antd.server.js +2 -2
- package/lib/spouts/antd.d.ts +1 -1
- package/lib/spouts/antd.d.ts.map +1 -1
- package/lib/spouts/antd.js +3 -6
- package/lib/spouts/antd.server.d.ts +1 -1
- package/lib/spouts/antd.server.d.ts.map +1 -1
- package/lib/spouts/antd.server.js +2 -2
- package/package.json +13 -1
- package/src/index.server.ts +0 -1
- package/src/index.ts +0 -1
- package/src/spouts/antd.server.tsx +1 -1
- package/src/spouts/antd.tsx +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,24 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.22.0](/github.com/ntucker/anansi/compare/@anansi/core@0.21.5...@anansi/core@0.22.0) (2025-12-14)
|
|
7
|
+
|
|
8
|
+
### ⚠ 💥 BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* // Client
|
|
11
|
+
import {antdSpout} from '@anansi/core/antd';
|
|
12
|
+
|
|
13
|
+
// Server
|
|
14
|
+
import {antdSpout} from '@anansi/core/antd/server';
|
|
15
|
+
|
|
16
|
+
* Move antd spouts to own path '@anansi/core/antd' ([11b7b6b](/github.com/ntucker/anansi/commit/11b7b6bd19046911e2ebe694f4ba8920860ea253))
|
|
17
|
+
|
|
18
|
+
## [0.21.5](/github.com/ntucker/anansi/compare/@anansi/core@0.21.4...@anansi/core@0.21.5) (2025-12-13)
|
|
19
|
+
|
|
20
|
+
### 🐛 Bug Fix
|
|
21
|
+
|
|
22
|
+
* Do not require @ant-design/cssinjs ([15c11ae](/github.com/ntucker/anansi/commit/15c11aec7ac7191092685410cda257f11e451b70))
|
|
23
|
+
|
|
6
24
|
## [0.21.4](/github.com/ntucker/anansi/compare/@anansi/core@0.21.3...@anansi/core@0.21.4) (2025-12-12)
|
|
7
25
|
|
|
8
26
|
### 📦 Package
|
package/dist/server.js
CHANGED
|
@@ -121,7 +121,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
121
121
|
// EXPORTS
|
|
122
122
|
__webpack_require__.d(__webpack_exports__, {
|
|
123
123
|
JSONSpout: () => (/* reexport */ JSONSpout),
|
|
124
|
-
antdSpout: () => (/* reexport */ antdSpout),
|
|
125
124
|
appSpout: () => (/* reexport */ app_server),
|
|
126
125
|
dataClientSpout: () => (/* reexport */ dataClientSpout),
|
|
127
126
|
documentSpout: () => (/* reexport */ DocumentSpout),
|
|
@@ -443,40 +442,6 @@ function dataClientSpout(options = {}) {
|
|
|
443
442
|
};
|
|
444
443
|
};
|
|
445
444
|
}
|
|
446
|
-
;// ./src/spouts/antd.server.tsx
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
function antdSpout() {
|
|
450
|
-
return next => async props => {
|
|
451
|
-
const {
|
|
452
|
-
createCache,
|
|
453
|
-
extractStyle,
|
|
454
|
-
StyleProvider
|
|
455
|
-
} = await import(/* webpackIgnore: true */'@ant-design/cssinjs');
|
|
456
|
-
const cache = createCache();
|
|
457
|
-
const AntdSheets = () => {
|
|
458
|
-
return /*#__PURE__*/(0,jsx_runtime_namespaceObject.jsx)("script", {
|
|
459
|
-
dangerouslySetInnerHTML: {
|
|
460
|
-
__html: `</script>${extractStyle(cache)}<script>`
|
|
461
|
-
}
|
|
462
|
-
});
|
|
463
|
-
};
|
|
464
|
-
const nextProps = await next(props);
|
|
465
|
-
const scripts = nextProps.scripts ?? [];
|
|
466
|
-
|
|
467
|
-
// unfortunately we have to inject this after the entire content has streamed in or it doesn't correctly populate
|
|
468
|
-
// see: https://github.com/ant-design/cssinjs/issues/79
|
|
469
|
-
scripts.push(/*#__PURE__*/(0,jsx_runtime_namespaceObject.jsx)(AntdSheets, {}, "antd-sheets"));
|
|
470
|
-
return {
|
|
471
|
-
...nextProps,
|
|
472
|
-
app: /*#__PURE__*/(0,jsx_runtime_namespaceObject.jsx)(StyleProvider, {
|
|
473
|
-
cache: cache,
|
|
474
|
-
children: nextProps.app
|
|
475
|
-
}),
|
|
476
|
-
scripts
|
|
477
|
-
};
|
|
478
|
-
};
|
|
479
|
-
}
|
|
480
445
|
;// external "@anansi/router"
|
|
481
446
|
const router_namespaceObject = require("@anansi/router");
|
|
482
447
|
;// external "history"
|
|
@@ -664,10 +629,9 @@ function navigatorSpout() {
|
|
|
664
629
|
|
|
665
630
|
|
|
666
631
|
|
|
667
|
-
|
|
668
632
|
})();
|
|
669
633
|
|
|
670
634
|
module.exports = __webpack_exports__;
|
|
671
635
|
/******/ })()
|
|
672
636
|
;
|
|
673
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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SUFDM0JtTCxTQUFTLEVBQUVuTCxNQUFNLENBQUNrRyxNQUFNLEdBQUcsQ0FBQyxHQUFHbEcsTUFBTSxHQUFHLENBQUMsSUFBSTtFQUMvQyxDQUFDO0FBQ0gsQzs7QUN6QzBCO0FBRXFEO0FBQUE7QUFPaEUsU0FBUzJMLGNBQWNBLENBQUEsRUFJcEM7RUFDQSxPQUFPOUYsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUM1QixNQUFNOEYsY0FBYyxHQUFHOUYsS0FBSyxDQUFDbEUsR0FBRyxDQUFDaUssT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQzNELE1BQU1aLE1BQU0sR0FDVixPQUFPVyxjQUFjLEtBQUssUUFBUSxHQUFHQSxjQUFjLEdBQUdBLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDM0UsTUFBTUUsY0FBYyxHQUFHZCxtQkFBbUIsQ0FBQ0MsTUFBTSxDQUFDO0lBRWxELE1BQU1sRixTQUFTLEdBQUcsTUFBTUYsSUFBSSxDQUFDO01BQzNCLEdBQUdDLEtBQUs7TUFDUixHQUFHZ0c7SUFDTCxDQUFDLENBQUM7SUFFRixPQUFPO01BQ0wsR0FBRy9GLFNBQVM7TUFDWixHQUFHK0YsY0FBYztNQUNqQmhFLFFBQVEsRUFBRTtRQUNSLEdBQUcvQixTQUFTLENBQUMrQixRQUFRO1FBQ3JCaUUsU0FBUyxFQUFFQSxDQUFBLEtBQU1EO01BQ25CLENBQUM7TUFDRDdKLEdBQUcsZUFDRDBDLG1DQUFBLENBQUNrRyxnQkFBZ0I7UUFBQ21CLEtBQUssRUFBRUYsY0FBZTtRQUFBM0gsUUFBQSxFQUNyQzRCLFNBQVMsQ0FBQzlEO01BQUcsQ0FDRTtJQUV0QixDQUFDO0VBQ0gsQ0FBQztBQUNILEM7O0FDdkNzRDtBQUNpQjtBQUNJO0FBQ1o7QUFDSTtBQUNJO0FBQ1I7QUFDRjtBQUNZO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJAZGF0YS1jbGllbnQvcmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJAZGF0YS1jbGllbnQvcmVhY3Qvc3NyXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvY29tcGF0IGdldCBkZWZhdWx0IGV4cG9ydCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2NyZWF0ZSBmYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcImNyeXB0b1wiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcInJlYWN0LWRvbS9zZXJ2ZXJcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc2NyaXB0cy9zc3JFcnJvckhhbmRsZXIudHMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL2xheVNwb3V0cy50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2NzcC50cyIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWFjdC9qc3gtcnVudGltZVwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvRG9jdW1lbnRDb21wb25lbnQudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvZG9jdW1lbnQuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2RhdGFDbGllbnQuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJAYW5hbnNpL3JvdXRlclwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcImhpc3RvcnlcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL3JvdXRlci5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvcHJlZmV0Y2guc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2pzb24uc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2FwcC5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvbmF2aWdhdG9yLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL2luZGV4LnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAZGF0YS1jbGllbnQvcmVhY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGRhdGEtY2xpZW50L3JlYWN0L3NzclwiKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCJ2YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgPyAob2JqKSA9PiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikpIDogKG9iaikgPT4gKG9iai5fX3Byb3RvX18pO1xudmFyIGxlYWZQcm90b3R5cGVzO1xuLy8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4vLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbi8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuLy8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4vLyBtb2RlICYgMTY6IHJldHVybiB2YWx1ZSB3aGVuIGl0J3MgUHJvbWlzZS1saWtlXG4vLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuXHRpZihtb2RlICYgMSkgdmFsdWUgPSB0aGlzKHZhbHVlKTtcblx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcblx0aWYodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSkge1xuXHRcdGlmKChtb2RlICYgNCkgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuXHRcdGlmKChtb2RlICYgMTYpICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gdmFsdWU7XG5cdH1cblx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcblx0dmFyIGRlZiA9IHt9O1xuXHRsZWFmUHJvdG90eXBlcyA9IGxlYWZQcm90b3R5cGVzIHx8IFtudWxsLCBnZXRQcm90byh7fSksIGdldFByb3RvKFtdKSwgZ2V0UHJvdG8oZ2V0UHJvdG8pXTtcblx0Zm9yKHZhciBjdXJyZW50ID0gbW9kZSAmIDIgJiYgdmFsdWU7ICh0eXBlb2YgY3VycmVudCA9PSAnb2JqZWN0JyB8fCB0eXBlb2YgY3VycmVudCA9PSAnZnVuY3Rpb24nKSAmJiAhfmxlYWZQcm90b3R5cGVzLmluZGV4T2YoY3VycmVudCk7IGN1cnJlbnQgPSBnZXRQcm90byhjdXJyZW50KSkge1xuXHRcdE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGN1cnJlbnQpLmZvckVhY2goKGtleSkgPT4gKGRlZltrZXldID0gKCkgPT4gKHZhbHVlW2tleV0pKSk7XG5cdH1cblx0ZGVmWydkZWZhdWx0J10gPSAoKSA9PiAodmFsdWUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGRlZik7XG5cdHJldHVybiBucztcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiY3J5cHRvXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwicmVhY3QtZG9tL3NlcnZlclwiKTsiLCIvKipcbiAqIFV0aWxpdGllcyBmb3IgaGFuZGxpbmcgU1NSIGVycm9ycyBncmFjZWZ1bGx5XG4gKi9cblxuLyoqXG4gKiBFeHRyYWN0IEhUVFAgc3RhdHVzIGNvZGUgZnJvbSBhbiBlcnJvciBvYmplY3QuXG4gKiBMb29rcyBmb3IgYSBgc3RhdHVzYCBwcm9wZXJ0eSB0aGF0IGlzIGEgbnVtYmVyIG9yIHBhcnNlYWJsZSBzdHJpbmcuXG4gKiBSZXR1cm5zIDUwMCBpZiBubyB2YWxpZCBzdGF0dXMgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvclN0YXR1cyhlcnJvcjogdW5rbm93bik6IG51bWJlciB7XG4gIGlmIChlcnJvciAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmICdzdGF0dXMnIGluIGVycm9yKSB7XG4gICAgY29uc3Qgc3RhdHVzID0gKGVycm9yIGFzIHsgc3RhdHVzOiB1bmtub3duIH0pLnN0YXR1cztcbiAgICBpZiAodHlwZW9mIHN0YXR1cyA9PT0gJ251bWJlcicgJiYgc3RhdHVzID49IDEwMCAmJiBzdGF0dXMgPCA2MDApIHtcbiAgICAgIHJldHVybiBzdGF0dXM7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygc3RhdHVzID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQoc3RhdHVzLCAxMCk7XG4gICAgICBpZiAoIWlzTmFOKHBhcnNlZCkgJiYgcGFyc2VkID49IDEwMCAmJiBwYXJzZWQgPCA2MDApIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIDUwMDtcbn1cblxuLyoqXG4gKiBFc2NhcGUgSFRNTCBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gcHJldmVudCBYU1NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUh0bWwoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyXG4gICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JylcbiAgICAucmVwbGFjZSgvPC9nLCAnJmx0OycpXG4gICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKVxuICAgIC5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7JylcbiAgICAucmVwbGFjZSgvJy9nLCAnJiMwMzk7Jyk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyRXJyb3JQYWdlT3B0aW9ucyB7XG4gIC8qKiBTaG93IHN0YWNrIHRyYWNlIGluIG91dHB1dCAqL1xuICBzaG93U3RhY2s/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBoaW50IG1lc3NhZ2UgdG8gZGlzcGxheSAqL1xuICBoaW50Pzogc3RyaW5nO1xuICAvKiogQmFkZ2UgdGV4dCB0byBkaXNwbGF5IChlLmcuLCBcIkRFViBNT0RFXCIpICovXG4gIGJhZGdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlbmRlciBhbiBIVE1MIGVycm9yIHBhZ2UgZm9yIFNTUiBmYWlsdXJlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRXJyb3JQYWdlKFxuICBlcnJvcjogdW5rbm93bixcbiAgdXJsOiBzdHJpbmcsXG4gIHN0YXR1c0NvZGU6IG51bWJlcixcbiAgb3B0aW9uczogUmVuZGVyRXJyb3JQYWdlT3B0aW9ucyA9IHt9LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICBjb25zdCBzdGFjayA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5zdGFjayA6IHVuZGVmaW5lZDtcbiAgY29uc3QgeyBzaG93U3RhY2sgPSBmYWxzZSwgaGludCwgYmFkZ2UgfSA9IG9wdGlvbnM7XG5cbiAgcmV0dXJuIGA8IURPQ1RZUEUgaHRtbD5cbjxodG1sIGxhbmc9XCJlblwiPlxuPGhlYWQ+XG4gIDxtZXRhIGNoYXJzZXQ9XCJVVEYtOFwiPlxuICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMFwiPlxuICA8dGl0bGU+JHtzdGF0dXNDb2RlfSAtIFNlcnZlciBFcnJvcjwvdGl0bGU+XG4gIDxzdHlsZT5cbiAgICAqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG4gICAgYm9keSB7IGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZDogIzFhMWEyZTsgY29sb3I6ICNlZWU7IG1pbi1oZWlnaHQ6IDEwMHZoOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogMnJlbTsgfVxuICAgIC5jb250YWluZXIgeyBtYXgtd2lkdGg6IDgwMHB4OyB3aWR0aDogMTAwJTsgfVxuICAgIGgxIHsgY29sb3I6ICNmZjZiNmI7IGZvbnQtc2l6ZTogMi41cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmJhZGdlIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiAjNGVjZGM0OyBjb2xvcjogIzFhMWEyZTsgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IGJvcmRlci1yYWRpdXM6IDRweDsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLnVybCB7IGNvbG9yOiAjODg4OyBmb250LXNpemU6IDAuOXJlbTsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgICAubWVzc2FnZSB7IGJhY2tncm91bmQ6ICMxNjIxM2U7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2ZmNmI2YjsgcGFkZGluZzogMXJlbSAxLjVyZW07IGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCAwOyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAubWVzc2FnZSBjb2RlIHsgY29sb3I6ICNmZjZiNmI7IGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgLnN0YWNrIHsgYmFja2dyb3VuZDogIzBmMGYyMzsgYm9yZGVyLXJhZGl1czogOHB4OyBwYWRkaW5nOiAxLjVyZW07IG92ZXJmbG93LXg6IGF1dG87IGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ01lbmxvJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDAuODVyZW07IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiAjYWFhOyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH1cbiAgICAucmV0cnkgeyBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgLnJldHJ5IGEgeyBjb2xvcjogIzRlY2RjNDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsgYm9yZGVyOiAycHggc29saWQgIzRlY2RjNDsgYm9yZGVyLXJhZGl1czogNnB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgLnJldHJ5IGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjNGVjZGM0OyBjb2xvcjogIzFhMWEyZTsgfVxuICAgIC5oaW50IHsgbWFyZ2luLXRvcDogMS41cmVtOyBjb2xvcjogIzg4ODsgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgPC9zdHlsZT5cbjwvaGVhZD5cbjxib2R5PlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgJHtiYWRnZSA/IGA8c3BhbiBjbGFzcz1cImJhZGdlXCI+JHtlc2NhcGVIdG1sKGJhZGdlKX08L3NwYW4+YCA6ICcnfVxuICAgIDxoMT4ke3N0YXR1c0NvZGV9IC0gU2VydmVyIEVycm9yPC9oMT5cbiAgICA8cCBjbGFzcz1cInVybFwiPkVycm9yIHJlbmRlcmluZzogJHtlc2NhcGVIdG1sKHVybCl9PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICA8Y29kZT4ke2VzY2FwZUh0bWwoZXJyb3JNZXNzYWdlKX08L2NvZGU+XG4gICAgPC9kaXY+XG4gICAgJHtzaG93U3RhY2sgJiYgc3RhY2sgPyBgPHByZSBjbGFzcz1cInN0YWNrXCI+JHtlc2NhcGVIdG1sKHN0YWNrKX08L3ByZT5gIDogJyd9XG4gICAgPGRpdiBjbGFzcz1cInJldHJ5XCI+XG4gICAgICA8YSBocmVmPVwiJHtlc2NhcGVIdG1sKHVybCl9XCI+UmV0cnk8L2E+XG4gICAgPC9kaXY+XG4gICAgJHtoaW50ID8gYDxwIGNsYXNzPVwiaGludFwiPiR7ZXNjYXBlSHRtbChoaW50KX08L3A+YCA6ICcnfVxuICA8L2Rpdj5cbjwvYm9keT5cbjwvaHRtbD5gO1xufVxuIiwiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHR5cGUgeyBKU1ggfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXJUb1BpcGVhYmxlU3RyZWFtIGFzIHJlYWN0UmVuZGVyIH0gZnJvbSAncmVhY3QtZG9tL3NlcnZlcic7XG5cbmltcG9ydCB7IGdldEVycm9yU3RhdHVzIH0gZnJvbSAnLi9zY3JpcHRzL3NzckVycm9ySGFuZGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFJlbmRlciB9IGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsYXlTcG91dHMoXG4gIHNwb3V0czogKHByb3BzOiBTZXJ2ZXJQcm9wcykgPT4gUHJvbWlzZTx7XG4gICAgYXBwOiBKU1guRWxlbWVudDtcbiAgfT4sXG4gIHtcbiAgICB0aW1lb3V0TVMgPSAxMDAwMCxcbiAgICBvbkVycm9yLFxuICB9OiB7IHRpbWVvdXRNUz86IG51bWJlcjsgb25FcnJvcj86IChlcnJvcjogdW5rbm93bikgPT4gdm9pZCB9ID0ge30sXG4pIHtcbiAgY29uc3QgcmVuZGVyOiBSZW5kZXIgPSBhc3luYyAoY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzKSA9PiB7XG4gICAgY29uc3Qgbm9uY2UgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMTYpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGFwcCB9ID0gYXdhaXQgc3BvdXRzKHsgY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzLCBub25jZSB9KTtcblxuICAgICAgbGV0IGRpZEVycm9yID0gZmFsc2U7XG4gICAgICBsZXQgbGFzdEVycm9yOiB1bmtub3duO1xuICAgICAgY29uc3QgeyBwaXBlLCBhYm9ydCB9ID0gcmVhY3RSZW5kZXIoYXBwLCB7XG4gICAgICAgIG5vbmNlLFxuICAgICAgICAvL2Jvb3RzdHJhcFNjcmlwdHM6IGFzc2V0cy5maWx0ZXIoYXNzZXQgPT4gYXNzZXQuZW5kc1dpdGgoJy5qcycpKSxcbiAgICAgICAgb25TaGVsbFJlYWR5KCkge1xuICAgICAgICAgIC8vbWFuYWdlcnMuZm9yRWFjaChtYW5hZ2VyID0+IG1hbmFnZXIuY2xlYW51cCgpKTtcbiAgICAgICAgICAvLyBJZiBzb21ldGhpbmcgZXJyb3JlZCBiZWZvcmUgd2Ugc3RhcnRlZCBzdHJlYW1pbmcsIHdlIHNldCB0aGUgZXJyb3IgY29kZSBhcHByb3ByaWF0ZWx5LlxuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gZGlkRXJyb3IgPyBnZXRFcnJvclN0YXR1cyhsYXN0RXJyb3IpIDogMjAwO1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICBwaXBlKHJlcyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2hlbGxFcnJvcihlOiB1bmtub3duKSB7XG4gICAgICAgICAgZGlkRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIGxhc3RFcnJvciA9IGU7XG4gICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSBnZXRFcnJvclN0YXR1cyhlKTtcbiAgICAgICAgICBwaXBlKHJlcyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uRXJyb3IoZTogdW5rbm93bikge1xuICAgICAgICAgIGRpZEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0RXJyb3IgPSBlO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSBnZXRFcnJvclN0YXR1cyhlKTtcbiAgICAgICAgICAvL3BpcGUocmVzKTsgUmVtb3ZpbmcgdGhpcyBhdm9pZHMsIFwiUmVhY3QgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgcGlwaW5nIHRvIG9uZSB3cml0YWJsZSBzdHJlYW0uXCJcbiAgICAgICAgICBpZiAob25FcnJvcikgb25FcnJvcihlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgLy8gQWJhbmRvbiBhbmQgc3dpdGNoIHRvIGNsaWVudCByZW5kZXJpbmcgaWYgZW5vdWdoIHRpbWUgcGFzc2VzLlxuICAgICAgLy8gVHJ5IGxvd2VyaW5nIHRoaXMgdG8gc2VlIHRoZSBjbGllbnQgcmVjb3Zlci5cbiAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IChhYm9ydCBhcyBhbnkpKGBUaW1lb3V0IG9mICR7dGltZW91dE1TfW1zIGV4Y2VlZGVkYCksXG4gICAgICAgIHRpbWVvdXRNUyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgaWYgKG9uRXJyb3IpIG9uRXJyb3IoZSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIHJlbmRlcjtcbn1cbiIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwicmVhY3RcIik7IiwiZXhwb3J0IGludGVyZmFjZSBQb2xpY3kge1xuICBbZGlyZWN0aXZlOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLy8gVE9ETzogbWVtb2l6ZSB0aGlzXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQb2xpY3kocG9saWN5T2JqOiBQb2xpY3kpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHBvbGljeU9iailcbiAgICAubWFwKGtleSA9PiB7XG4gICAgICBjb25zdCB2YWwgPVxuICAgICAgICBBcnJheS5pc0FycmF5KHBvbGljeU9ialtrZXldKSA/XG4gICAgICAgICAgWy4uLm5ldyBTZXQocG9saWN5T2JqW2tleV0pLnZhbHVlcygpXS5maWx0ZXIodiA9PiB2KS5qb2luKCcgJylcbiAgICAgICAgOiBwb2xpY3lPYmpba2V5XTtcblxuICAgICAgLy8gbW92ZSBzdHJpY3QgZHluYW1pYyB0byB0aGUgZW5kIG9mIHRoZSBwb2xpY3kgaWYgaXQgZXhpc3RzIHRvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggY3NwMlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL0NvbnRlbnQtU2VjdXJpdHktUG9saWN5L3NjcmlwdC1zcmMjc3RyaWN0LWR5bmFtaWNcbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyAmJiB2YWwuaW5jbHVkZXMoXCInc3RyaWN0LWR5bmFtaWMnXCIpKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbCA9IGAke3ZhbFxuICAgICAgICAgIC5yZXBsYWNlKC9cXHM/J3N0cmljdC1keW5hbWljJ1xccz8vZ2ksICcgJylcbiAgICAgICAgICAudHJpbSgpfSAnc3RyaWN0LWR5bmFtaWMnYDtcbiAgICAgICAgcmV0dXJuIGAke2tleX0gJHtuZXdWYWx9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGAke2tleX0gJHt2YWx9YDtcbiAgICB9KVxuICAgIC5qb2luKCc7ICcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gam9pbk5vbmNlKHBvbGljeU9iajogUG9saWN5LCBub25jZT86IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICBpZiAoIW5vbmNlKSByZXR1cm4gcG9saWN5T2JqO1xuICBjb25zdCBwb2xpY3kgPSB7XG4gICAgLi4ucG9saWN5T2JqLFxuICB9O1xuICBpZiAodHlwZW9mIHBvbGljeVsnc2NyaXB0LXNyYyddID09PSAnc3RyaW5nJykge1xuICAgIHBvbGljeVsnc2NyaXB0LXNyYyddID0gW3BvbGljeVsnc2NyaXB0LXNyYyddLCBgJ25vbmNlLSR7bm9uY2V9J2BdO1xuICB9IGVsc2Uge1xuICAgIHBvbGljeVsnc2NyaXB0LXNyYyddID0gWy4uLnBvbGljeVsnc2NyaXB0LXNyYyddLCBgJ25vbmNlLSR7bm9uY2V9J2BdO1xuICB9XG4gIHJldHVybiBwb2xpY3k7XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpOyIsInR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIGFzc2V0czogeyBocmVmOiBzdHJpbmc7IGFzPzogc3RyaW5nOyByZWw/OiBzdHJpbmcgfVtdO1xuICBoZWFkPzogUmVhY3QuUmVhY3ROb2RlO1xuICBleHRyYVN0eWxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHJvb3RJZD86IHN0cmluZztcbiAgY2hhclNldD86IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbn07XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudCh7XG4gIGFzc2V0cyxcbiAgaGVhZCA9IGRlZmF1bHRIZWFkLFxuICBjaGlsZHJlbixcbiAgdGl0bGUsXG4gIHJvb3RJZCA9ICdhbmFuc2ktcm9vdCcsXG4gIGNoYXJTZXQgPSAndXRmLTgnLFxuICBzY3JpcHRzID0gbnVsbCxcbiAgZXh0cmFTdHlsZSxcbiAgbGFuZyxcbn06IFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz17bGFuZ30+XG4gICAgICA8aGVhZD5cbiAgICAgICAgPG1ldGEgY2hhclNldD17Y2hhclNldH0gLz5cbiAgICAgICAge2hlYWR9XG4gICAgICAgIHtleHRyYVN0eWxlfVxuICAgICAgICB7YXNzZXRzLm1hcCgoYXNzZXQsIGkpID0+IChcbiAgICAgICAgICA8bGluayBrZXk9e2l9IHJlbD1cInByZWxvYWRcIiB7Li4uYXNzZXR9IC8+XG4gICAgICAgICkpfVxuICAgICAgICA8dGl0bGU+e3RpdGxlfTwvdGl0bGU+XG4gICAgICA8L2hlYWQ+XG4gICAgICA8Ym9keT5cbiAgICAgICAgPGRpdiBpZD17cm9vdElkfT57Y2hpbGRyZW59PC9kaXY+XG4gICAgICAgIHtzY3JpcHRzfVxuICAgICAgICB7YXNzZXRzXG4gICAgICAgICAgLmZpbHRlcigoeyBocmVmIH0pID0+IGhyZWYuZW5kc1dpdGgoJy5qcycpKVxuICAgICAgICAgIC5tYXAoKHsgaHJlZiB9LCBpKSA9PiAoXG4gICAgICAgICAgICA8c2NyaXB0IGtleT17aX0gc3JjPXtocmVmfSBhc3luYyAvPlxuICAgICAgICAgICkpfVxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn1cbmNvbnN0IGRlZmF1bHRIZWFkID0gKFxuICA8PlxuICAgIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiIC8+XG4gICAgPGxpbmtcbiAgICAgIHJlbD1cInNob3J0Y3V0IGljb25cIlxuICAgICAgaHJlZj17YCR7cHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCA/PyAnLyd9ZmF2aWNvbi5pY29gfVxuICAgIC8+XG4gIDwvPlxuKTtcbiIsImltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5pbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3RhdHNDaHVua0dyb3VwIH0gZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCB7IGJ1aWxkUG9saWN5LCBqb2luTm9uY2UsIFBvbGljeSB9IGZyb20gJy4vY3NwLmpzJztcbmltcG9ydCBEb2N1bWVudCBmcm9tICcuL0RvY3VtZW50Q29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxhbnk+W107XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERvY3VtZW50U3BvdXQob3B0aW9uczoge1xuICBoZWFkPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICBsYW5nPzogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGNzUG9saWN5PzogUG9saWN5O1xufSk6IFNlcnZlclNwb3V0PFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTmVlZGVkTmV4dD4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBwdWJsaWNQYXRoID0gcHJvcHMuY2xpZW50TWFuaWZlc3QucHVibGljUGF0aDtcblxuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkubGVuZ3RoIDwgMSB8fFxuICAgICAgcHVibGljUGF0aCA9PT0gdW5kZWZpbmVkXG4gICAgKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYW5pZmVzdCBtaXNzaW5nIGVudHJpZXMgbmVlZGVkJyk7XG5cbiAgICAvLyBUT0RPOiBjb25zaWRlciB1c2luZyB0aGlzIHBhY2thZ2UgZm9yIGJ1aWxkIHN0YXRzIGluIGZ1dHVyZTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvdHJlZS9tYWluL3BhY2thZ2VzL3JlYWN0LXNlcnZlci1kb20td2VicGFja1xuICAgIGNvbnN0IGFzc2V0TWFwID0gKGFzc2V0czogeyBuYW1lOiBzdHJpbmc7IHNpemU/OiBudW1iZXIgfVtdKSA9PlxuICAgICAgYXNzZXRzLm1hcCgoeyBuYW1lIH0pID0+IGAke3B1YmxpY1BhdGh9JHtuYW1lfWApO1xuXG4gICAgY29uc3QgYXNzZXRMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICAgIE9iamVjdC52YWx1ZXMocHJvcHMuY2xpZW50TWFuaWZlc3Q/LmVudHJ5cG9pbnRzID8/IHt9KS5mb3JFYWNoKFxuICAgICAgZW50cnlwb2ludCA9PiB7XG4gICAgICAgIGFzc2V0TGlzdC5wdXNoKC4uLmFzc2V0TWFwKGVudHJ5cG9pbnQuYXNzZXRzID8/IFtdKSk7XG4gICAgICB9LFxuICAgICk7XG4gICAgbmV3IFNldChcbiAgICAgIGFzc2V0TWFwKFxuICAgICAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Lm5hbWVkQ2h1bmtHcm91cHMgPz8ge30pXG4gICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+XG4gICAgICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5zb21lKHJvdXRlID0+IG5hbWU/LmluY2x1ZGVzKHJvdXRlLm5hbWUpKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLmZsYXRNYXAoY2h1bmsgPT4gW1xuICAgICAgICAgICAgLi4uKGNodW5rLmFzc2V0cyA/PyBbXSksXG4gICAgICAgICAgICAvLyBhbnkgY2h1bmsgcHJlbG9hZHNcbiAgICAgICAgICAgIC4uLmNoaWxkcmVuQXNzZXRzKGNodW5rKSxcbiAgICAgICAgICBdKSxcbiAgICAgICksXG4gICAgKS5mb3JFYWNoKGFzc2V0ID0+IGFzc2V0TGlzdC5wdXNoKGFzc2V0KSk7XG5cbiAgICAvLyBmaW5kIGFkZGl0aW9uYWwgYXNzZXRzIHRvIHByZWxvYWQgYmFzZWQgb24gbWF0Y2hlZCByb3V0ZVxuICAgIGNvbnN0IGFzc2V0czoge1xuICAgICAgaHJlZjogc3RyaW5nO1xuICAgICAgYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICByZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgfVtdID0gYXNzZXRMaXN0XG4gICAgICAuZmlsdGVyKGFzc2V0ID0+ICFhc3NldC5lbmRzV2l0aCgnLmhvdC11cGRhdGUuanMnKSlcbiAgICAgIC5tYXAoYXNzZXQgPT5cbiAgICAgICAgYXNzZXQuZW5kc1dpdGgoJy5jc3MnKSA/IHsgaHJlZjogYXNzZXQsIHJlbDogJ3N0eWxlc2hlZXQnIH1cbiAgICAgICAgOiBhc3NldC5lbmRzV2l0aCgnLmpzJykgPyB7IGhyZWY6IGFzc2V0LCBhczogJ3NjcmlwdCcgfVxuICAgICAgICA6IHsgaHJlZjogYXNzZXQgfSxcbiAgICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5jc1BvbGljeSkge1xuICAgICAgY29uc3QgaHR0cEVxdWl2ID1cbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyA/XG4gICAgICAgICAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5J1xuICAgICAgICA6ICdDb250ZW50LVNlY3VyaXR5LVBvbGljeS1SZXBvcnQtT25seSc7XG5cbiAgICAgIHByb3BzLnJlcy5zZXRIZWFkZXIoXG4gICAgICAgIGh0dHBFcXVpdixcbiAgICAgICAgYnVpbGRQb2xpY3koam9pbk5vbmNlKG9wdGlvbnMuY3NQb2xpY3ksIHByb3BzLm5vbmNlKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IChcbiAgICAgICAgPERvY3VtZW50XG4gICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgZXh0cmFTdHlsZT17bmV4dFByb3BzLmV4dHJhU3R5bGV9XG4gICAgICAgICAgdGl0bGU9e25leHRQcm9wcy50aXRsZSA/PyBvcHRpb25zLnRpdGxlfVxuICAgICAgICAgIGFzc2V0cz17YXNzZXRzfVxuICAgICAgICAgIHJvb3RJZD17b3B0aW9ucy5yb290SWR9XG4gICAgICAgICAgc2NyaXB0cz17bmV4dFByb3BzLnNjcmlwdHN9XG4gICAgICAgID5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9Eb2N1bWVudD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2hpbGRyZW5Bc3NldHMoY2h1bms6IFN0YXRzQ2h1bmtHcm91cCkge1xuICByZXR1cm4gY2h1bmsuY2hpbGRyZW4gP1xuICAgICAgT2JqZWN0LnZhbHVlcyhjaHVuay5jaGlsZHJlbikuZmxhdE1hcChwcmVsb2FkID0+XG4gICAgICAgIHByZWxvYWQuZmxhdE1hcChjID0+IGMuYXNzZXRzID8/IFtdKSxcbiAgICAgIClcbiAgICA6IFtdO1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDb250cm9sbGVyLFxuICB0eXBlIE1hbmFnZXIsXG4gIHR5cGUgU3RhdGUsXG4gIHR5cGUgU3RvcmUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGF0YUNsaWVudFNwb3V0KFxuICBvcHRpb25zOiB7XG4gICAgZ2V0TWFuYWdlcnM/OiAoKSA9PiBNYW5hZ2VyW107XG4gIH0gPSB7fSxcbik6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBjb250cm9sbGVyOiBDb250cm9sbGVyIH0gJiB7IHN0b3JlOiBTdG9yZTxTdGF0ZTx1bmtub3duPj4gfSxcbiAgeyBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+OyBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW10gfVxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBtYW5hZ2VycyA9IG9wdGlvbnM/LmdldE1hbmFnZXJzPy4oKSA/PyBbXG4gICAgICBuZXcgKGF3YWl0IGltcG9ydCgnQGRhdGEtY2xpZW50L3JlYWN0JykpLk5ldHdvcmtNYW5hZ2VyKCksXG4gICAgXTtcbiAgICBjb25zdCB7IGNyZWF0ZVBlcnNpc3RlZFN0b3JlIH0gPSBhd2FpdCBpbXBvcnQoJ0BkYXRhLWNsaWVudC9yZWFjdC9zc3InKTtcbiAgICBjb25zdCBbU2VydmVyRGF0YVByb3ZpZGVyLCB1c2VSZWFkeUNhY2hlU3RhdGUsIGNvbnRyb2xsZXIsIHN0b3JlXSA9XG4gICAgICBjcmVhdGVQZXJzaXN0ZWRTdG9yZShtYW5hZ2Vycyk7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBpbml0RGF0YToge1xuICAgICAgICAuLi5uZXh0UHJvcHMuaW5pdERhdGEsXG4gICAgICAgIGRhdGFjbGllbnQ6IHVzZVJlYWR5Q2FjaGVTdGF0ZSxcbiAgICAgIH0sXG4gICAgICBhcHA6IDxTZXJ2ZXJEYXRhUHJvdmlkZXI+e25leHRQcm9wcy5hcHB9PC9TZXJ2ZXJEYXRhUHJvdmlkZXI+LFxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gb25seSBpbmplY3QgaW4gbmV4dCBhbmQgbm90IGhhdmUgdG8gYWxzbyBwdXQgaGVyZVxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFudGRTcG91dCgpOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY3JlYXRlQ2FjaGUsIGV4dHJhY3RTdHlsZSwgU3R5bGVQcm92aWRlciB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyAnQGFudC1kZXNpZ24vY3NzaW5qcydcbiAgICApO1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcbiAgICBjb25zdCBBbnRkU2hlZXRzID0gKCk6IEpTWC5FbGVtZW50ID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzY3JpcHRcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiBgPC9zY3JpcHQ+JHtleHRyYWN0U3R5bGUoY2FjaGUpfTxzY3JpcHQ+YCxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IG5leHRQcm9wcy5zY3JpcHRzID8/IFtdO1xuXG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIGluamVjdCB0aGlzIGFmdGVyIHRoZSBlbnRpcmUgY29udGVudCBoYXMgc3RyZWFtZWQgaW4gb3IgaXQgZG9lc24ndCBjb3JyZWN0bHkgcG9wdWxhdGVcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2Nzc2luanMvaXNzdWVzLzc5XG4gICAgc2NyaXB0cy5wdXNoKDxBbnRkU2hlZXRzIGtleT1cImFudGQtc2hlZXRzXCIgLz4pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogPFN0eWxlUHJvdmlkZXIgY2FjaGU9e2NhY2hlfT57bmV4dFByb3BzLmFwcH08L1N0eWxlUHJvdmlkZXI+LFxuICAgICAgc2NyaXB0cyxcbiAgICB9O1xuICB9O1xufVxuIiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJAYW5hbnNpL3JvdXRlclwiKTsiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcImhpc3RvcnlcIik7IiwiaW1wb3J0IHsgUm91dGUsIFJvdXRlUHJvdmlkZXIsIFJvdXRlQ29udHJvbGxlciB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcbmltcG9ydCB7IGNyZWF0ZU1lbW9yeUhpc3RvcnkgfSBmcm9tICdoaXN0b3J5JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgQ3JlYXRlUm91dGVyLCBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByb3V0ZXJTcG91dDxSZXNvbHZlV2l0aD4ob3B0aW9uczoge1xuICByZXNvbHZlV2l0aD86IGFueTtcbiAgdXNlUmVzb2x2ZVdpdGg6ICgpID0+IFJlc29sdmVXaXRoO1xuICBjcmVhdGVSb3V0ZXI6IENyZWF0ZVJvdXRlcjxSZXNvbHZlV2l0aD47XG59KTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICB7XG4gICAgbWF0Y2hlZFJvdXRlczogUm91dGU8UmVzb2x2ZVdpdGg+W107XG4gICAgc2VhcmNoUGFyYW1zOiBVUkxTZWFyY2hQYXJhbXM7XG4gIH0gJiB7XG4gICAgcm91dGVyOiBSb3V0ZUNvbnRyb2xsZXI8Um91dGU8UmVzb2x2ZVdpdGgsIGFueT4+O1xuICB9XG4+IHtcbiAgY29uc3QgY3JlYXRlUm91dGVDb21wb25lbnQgPSAoXG4gICAgcm91dGVyOiBSb3V0ZUNvbnRyb2xsZXI8Um91dGU8UmVzb2x2ZVdpdGgsIGFueT4+LFxuICApID0+XG4gICAgZnVuY3Rpb24gUm91dGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICAgIGNvbnN0IHJlc29sdmVXaXRoID0gb3B0aW9ucy51c2VSZXNvbHZlV2l0aCgpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Um91dGVQcm92aWRlciByb3V0ZXI9e3JvdXRlcn0gcmVzb2x2ZVdpdGg9e3Jlc29sdmVXaXRofT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvUm91dGVQcm92aWRlcj5cbiAgICAgICk7XG4gICAgfTtcblxuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgdXJsID0gcHJvcHMucmVxLnVybCB8fCAnJztcbiAgICBjb25zdCBwYXJ0cyA9IHVybC5zcGxpdCgnPycsIDIpO1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocGFydHMubGVuZ3RoIDwgMiA/ICcnIDogcGFydHNbMV0pO1xuICAgIGNvbnN0IHJvdXRlciA9IG9wdGlvbnMuY3JlYXRlUm91dGVyKFxuICAgICAgY3JlYXRlTWVtb3J5SGlzdG9yeSh7IGluaXRpYWxFbnRyaWVzOiBbdXJsXSB9KSxcbiAgICApO1xuICAgIGNvbnN0IG1hdGNoZWRSb3V0ZXM6IFJvdXRlPFJlc29sdmVXaXRoPltdID0gcm91dGVyLmdldE1hdGNoZWRSb3V0ZXModXJsKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBtYXRjaGVkUm91dGVzLFxuICAgICAgcm91dGVyLFxuICAgICAgc2VhcmNoUGFyYW1zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgUm91dGVyID0gY3JlYXRlUm91dGVDb21wb25lbnQocm91dGVyKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxSb3V0ZXI+e25leHRQcm9wcy5hcHB9PC9Sb3V0ZXI+LFxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gb25seSBpbmplY3QgaW4gbmV4dCBhbmQgbm90IGhhdmUgdG8gYWxzbyBwdXQgaGVyZVxuICAgICAgbWF0Y2hlZFJvdXRlcyxcbiAgICAgIHJvdXRlcixcbiAgICAgIHNlYXJjaFBhcmFtcyxcbiAgICB9O1xuICB9O1xufVxuIiwiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5cbmltcG9ydCB0eXBlIHsgUmVzb2x2ZVByb3BzLCBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZFByb3BzPFJvdXRlV2l0aD4gPSB7XG4gIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPFJvdXRlV2l0aD5bXTtcbiAgc2VhcmNoUGFyYW1zOiBVUkxTZWFyY2hQYXJhbXM7XG59ICYgUmVzb2x2ZVByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwcmVmZXRjaFNwb3V0PEYgZXh0ZW5kcyBzdHJpbmc+KGZpZWxkOiBGKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8XG4gICAgUm91dGVXaXRoLFxuICAgIE4gZXh0ZW5kcyBOZWVkZWRQcm9wczxSb3V0ZVdpdGg+LFxuICAgIEkgZXh0ZW5kcyBTZXJ2ZXJQcm9wcyxcbiAgPihcbiAgICBuZXh0OiAocHJvcHM6IEkpID0+IFByb21pc2U8XG4gICAgICB7XG4gICAgICAgIFtLIGluIEZdOiBSb3V0ZVdpdGg7XG4gICAgICB9ICYgTlxuICAgID4sXG4gICkge1xuICAgIHJldHVybiBhc3luYyAocHJvcHM6IEkpID0+IHtcbiAgICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b0ZldGNoOiBQcm9taXNlPHVua25vd24+W10gPSBbXTtcbiAgICAgICAgbmV4dFByb3BzLm1hdGNoZWRSb3V0ZXMuZm9yRWFjaChyb3V0ZSA9PiB7XG4gICAgICAgICAgLy8gUHJlbG9hZCBsYXp5IGNvbXBvbmVudCBzbyBpdCdzIHJlYWR5IGZvciBTU1IgcmVuZGVyXG4gICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZS5jb21wb25lbnQ/LnByZWxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRvRmV0Y2gucHVzaChyb3V0ZS5jb21wb25lbnQucHJlbG9hZCgpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZS5yZXNvbHZlRGF0YSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdG9GZXRjaC5wdXNoKFxuICAgICAgICAgICAgICByb3V0ZS5yZXNvbHZlRGF0YShcbiAgICAgICAgICAgICAgICBuZXh0UHJvcHNbZmllbGRdLFxuICAgICAgICAgICAgICAgIHJvdXRlLFxuICAgICAgICAgICAgICAgIG5leHRQcm9wcy5zZWFyY2hQYXJhbXMsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRvRmV0Y2gpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHRQcm9wcztcbiAgICB9O1xuICB9O1xufVxuIiwiaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIE9iamVjdC5lbnRyaWVzKG5leHRQcm9wcy5pbml0RGF0YSA/PyB7fSkuZm9yRWFjaCgoW2tleSwgdXNlRGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICBjb25zdCBTY3JpcHQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHVzZURhdGEoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBlbmNvZGVkID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAgaWQ9e2dsb2JhbElkfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBUT0RPOiBVc2UgdW5pZmllZCBsb2dnaW5nXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igc2VyaWFsaXppbmcganNvbiBmb3IgJHtrZXl9YCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaChcbiAgICAgICAgPFN1c3BlbnNlIGtleT17Z2xvYmFsSWR9PlxuICAgICAgICAgIDxTY3JpcHQgLz5cbiAgICAgICAgPC9TdXNwZW5zZT4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiIsImltcG9ydCB0eXBlIHsgSlNYIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBhcHBTcG91dCA9XG4gIChhcHA6IEpTWC5FbGVtZW50KSA9PlxuICA8UCBleHRlbmRzIFNlcnZlclByb3BzPihwcm9wczogUCkgPT5cbiAgICBQcm9taXNlLnJlc29sdmUoeyAuLi5wcm9wcywgYXBwIH0pO1xuXG5leHBvcnQgZGVmYXVsdCBhcHBTcG91dDtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdG9yUHJvcGVydGllcyB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBOYXZpZ2F0b3JDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxOYXZpZ2F0b3JQcm9wZXJ0aWVzIHwgdW5kZWZpbmVkPihcbiAgdW5kZWZpbmVkLFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZU5hdmlnYXRvcigpOiBOYXZpZ2F0b3JQcm9wZXJ0aWVzIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTmF2aWdhdG9yQ29udGV4dCk7XG4gIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZU5hdmlnYXRvciBtdXN0IGJlIHVzZWQgd2l0aGluIGEgTmF2aWdhdG9yUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWNjZXB0TGFuZ3VhZ2UoaGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlczogcmVhZG9ubHkgc3RyaW5nW107XG59IHtcbiAgaWYgKCFoZWFkZXIpIHtcbiAgICByZXR1cm4geyBsYW5ndWFnZTogJ2VuJywgbGFuZ3VhZ2VzOiBbJ2VuJ10gfTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IGhlYWRlclxuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcChwYXJ0ID0+IHtcbiAgICAgIGNvbnN0IFtsYW5nLCBxUGFydF0gPSBwYXJ0LnRyaW0oKS5zcGxpdCgnOycpO1xuICAgICAgY29uc3QgcSA9IHFQYXJ0ID8gcGFyc2VGbG9hdChxUGFydC5yZXBsYWNlKCdxPScsICcnKSkgOiAxO1xuICAgICAgcmV0dXJuIHsgbGFuZzogbGFuZy50cmltKCksIHEgfTtcbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLnEgLSBhLnEpXG4gICAgLm1hcCgoeyBsYW5nIH0pID0+IGxhbmcpO1xuXG4gIHJldHVybiB7XG4gICAgbGFuZ3VhZ2U6IHBhcnNlZFswXSA/PyAnZW4nLFxuICAgIGxhbmd1YWdlczogcGFyc2VkLmxlbmd0aCA+IDAgPyBwYXJzZWQgOiBbJ2VuJ10sXG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0b3JDb250ZXh0LCBwYXJzZUFjY2VwdExhbmd1YWdlIH0gZnJvbSAnLi9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5hdmlnYXRvclNwb3V0KCk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBsYW5ndWFnZTogc3RyaW5nOyBsYW5ndWFnZXM6IHJlYWRvbmx5IHN0cmluZ1tdIH0sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgYWNjZXB0TGFuZ3VhZ2UgPSBwcm9wcy5yZXEuaGVhZGVyc1snYWNjZXB0LWxhbmd1YWdlJ107XG4gICAgY29uc3QgaGVhZGVyID1cbiAgICAgIHR5cGVvZiBhY2NlcHRMYW5ndWFnZSA9PT0gJ3N0cmluZycgPyBhY2NlcHRMYW5ndWFnZSA6IGFjY2VwdExhbmd1YWdlPy5bMF07XG4gICAgY29uc3QgbmF2aWdhdG9yUHJvcHMgPSBwYXJzZUFjY2VwdExhbmd1YWdlKGhlYWRlcik7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgLi4ubmF2aWdhdG9yUHJvcHMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgLi4ubmF2aWdhdG9yUHJvcHMsXG4gICAgICBpbml0RGF0YToge1xuICAgICAgICAuLi5uZXh0UHJvcHMuaW5pdERhdGEsXG4gICAgICAgIG5hdmlnYXRvcjogKCkgPT4gbmF2aWdhdG9yUHJvcHMsXG4gICAgICB9LFxuICAgICAgYXBwOiAoXG4gICAgICAgIDxOYXZpZ2F0b3JDb250ZXh0IHZhbHVlPXtuYXZpZ2F0b3JQcm9wc30+XG4gICAgICAgICAge25leHRQcm9wcy5hcHB9XG4gICAgICAgIDwvTmF2aWdhdG9yQ29udGV4dD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cbiIsImV4cG9ydCB7IGRlZmF1bHQgYXMgbGF5U3BvdXRzIH0gZnJvbSAnLi9sYXlTcG91dHMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkb2N1bWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZG9jdW1lbnQuc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGF0YUNsaWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZGF0YUNsaWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhbnRkU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9hbnRkLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJvdXRlclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcm91dGVyLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHByZWZldGNoU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBKU09OU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9qc29uLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvYXBwLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5hdmlnYXRvclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLnNlcnZlci5qcyc7XG5leHBvcnQgeyB1c2VOYXZpZ2F0b3IgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IE5hdmlnYXRvclByb3BlcnRpZXMgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCBhcyBTcG91dCB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG4iXSwibmFtZXMiOlsiZ2V0RXJyb3JTdGF0dXMiLCJlcnJvciIsInN0YXR1cyIsInBhcnNlZCIsInBhcnNlSW50IiwiaXNOYU4iLCJlc2NhcGVIdG1sIiwic3RyIiwicmVwbGFjZSIsInJlbmRlckVycm9yUGFnZSIsInVybCIsInN0YXR1c0NvZGUiLCJvcHRpb25zIiwiZXJyb3JNZXNzYWdlIiwiRXJyb3IiLCJtZXNzYWdlIiwiU3RyaW5nIiwic3RhY2siLCJ1bmRlZmluZWQiLCJzaG93U3RhY2siLCJoaW50IiwiYmFkZ2UiLCJjcnlwdG8iLCJyZW5kZXJUb1BpcGVhYmxlU3RyZWFtIiwicmVhY3RSZW5kZXIiLCJsYXlTcG91dHMiLCJzcG91dHMiLCJ0aW1lb3V0TVMiLCJvbkVycm9yIiwicmVuZGVyIiwiY2xpZW50TWFuaWZlc3QiLCJyZXEiLCJyZXMiLCJub25jZSIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJhcHAiLCJkaWRFcnJvciIsImxhc3RFcnJvciIsInBpcGUiLCJhYm9ydCIsIm9uU2hlbGxSZWFkeSIsInNldEhlYWRlciIsIm9uU2hlbGxFcnJvciIsImUiLCJjb25zb2xlIiwic2V0VGltZW91dCIsImJ1aWxkUG9saWN5IiwicG9saWN5T2JqIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbCIsIkFycmF5IiwiaXNBcnJheSIsIlNldCIsInZhbHVlcyIsImZpbHRlciIsInYiLCJqb2luIiwiaW5jbHVkZXMiLCJuZXdWYWwiLCJ0cmltIiwiam9pbk5vbmNlIiwicG9saWN5IiwiRG9jdW1lbnQiLCJhc3NldHMiLCJoZWFkIiwiZGVmYXVsdEhlYWQiLCJjaGlsZHJlbiIsInRpdGxlIiwicm9vdElkIiwiY2hhclNldCIsInNjcmlwdHMiLCJleHRyYVN0eWxlIiwibGFuZyIsIl9qc3hzIiwiX2pzeCIsImFzc2V0IiwiaSIsInJlbCIsImlkIiwiaHJlZiIsImVuZHNXaXRoIiwic3JjIiwiYXN5bmMiLCJfRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwiUmVhY3QiLCJqc3giLCJEb2N1bWVudFNwb3V0IiwibmV4dCIsInByb3BzIiwibmV4dFByb3BzIiwicHVibGljUGF0aCIsImVudHJ5cG9pbnRzIiwibGVuZ3RoIiwiYXNzZXRNYXAiLCJhc3NldExpc3QiLCJmb3JFYWNoIiwiZW50cnlwb2ludCIsInB1c2giLCJuYW1lZENodW5rR3JvdXBzIiwibWF0Y2hlZFJvdXRlcyIsInNvbWUiLCJyb3V0ZSIsImZsYXRNYXAiLCJjaHVuayIsImNoaWxkcmVuQXNzZXRzIiwiYXMiLCJjc1BvbGljeSIsImh0dHBFcXVpdiIsIk5PREVfRU5WIiwicHJlbG9hZCIsImMiLCJkYXRhQ2xpZW50U3BvdXQiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiTmV0d29ya01hbmFnZXIiLCJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIlNlcnZlckRhdGFQcm92aWRlciIsInVzZVJlYWR5Q2FjaGVTdGF0ZSIsImNvbnRyb2xsZXIiLCJzdG9yZSIsImluaXREYXRhIiwiZGF0YWNsaWVudCIsImFudGRTcG91dCIsImNyZWF0ZUNhY2hlIiwiZXh0cmFjdFN0eWxlIiwiU3R5bGVQcm92aWRlciIsImNhY2hlIiwiQW50ZFNoZWV0cyIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiUm91dGVQcm92aWRlciIsImNyZWF0ZU1lbW9yeUhpc3RvcnkiLCJyb3V0ZXJTcG91dCIsImNyZWF0ZVJvdXRlQ29tcG9uZW50Iiwicm91dGVyIiwiUm91dGVyIiwicmVzb2x2ZVdpdGgiLCJ1c2VSZXNvbHZlV2l0aCIsInBhcnRzIiwic3BsaXQiLCJzZWFyY2hQYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJjcmVhdGVSb3V0ZXIiLCJpbml0aWFsRW50cmllcyIsImdldE1hdGNoZWRSb3V0ZXMiLCJwcmVmZXRjaFNwb3V0IiwiZmllbGQiLCJ0b0ZldGNoIiwiY29tcG9uZW50IiwicmVzb2x2ZURhdGEiLCJQcm9taXNlIiwiYWxsIiwiU3VzcGVuc2UiLCJKU09OU3BvdXQiLCJlbnRyaWVzIiwidXNlRGF0YSIsImdsb2JhbElkIiwiU2NyaXB0IiwiZGF0YSIsImVuY29kZWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHlwZSIsImFwcFNwb3V0IiwicmVzb2x2ZSIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwiTmF2aWdhdG9yQ29udGV4dCIsInVzZU5hdmlnYXRvciIsImNvbnRleHQiLCJwYXJzZUFjY2VwdExhbmd1YWdlIiwiaGVhZGVyIiwibGFuZ3VhZ2UiLCJsYW5ndWFnZXMiLCJwYXJ0IiwicVBhcnQiLCJxIiwicGFyc2VGbG9hdCIsInNvcnQiLCJhIiwiYiIsIm5hdmlnYXRvclNwb3V0IiwiYWNjZXB0TGFuZ3VhZ2UiLCJoZWFkZXJzIiwibmF2aWdhdG9yUHJvcHMiLCJuYXZpZ2F0b3IiLCJ2YWx1ZSIsImRlZmF1bHQiLCJkb2N1bWVudFNwb3V0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=
|
|
637
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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SCxDQUFDO0FBQ0gsQzs7QUN2Q3NEO0FBQ2lCO0FBQ0k7QUFDUjtBQUNJO0FBQ1I7QUFDRjtBQUNZO0FBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJAZGF0YS1jbGllbnQvcmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJAZGF0YS1jbGllbnQvcmVhY3Qvc3NyXCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvY29tcGF0IGdldCBkZWZhdWx0IGV4cG9ydCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2NyZWF0ZSBmYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcImNyeXB0b1wiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcInJlYWN0LWRvbS9zZXJ2ZXJcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc2NyaXB0cy9zc3JFcnJvckhhbmRsZXIudHMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL2xheVNwb3V0cy50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2NzcC50cyIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJyZWFjdC9qc3gtcnVudGltZVwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvRG9jdW1lbnRDb21wb25lbnQudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvZG9jdW1lbnQuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2RhdGFDbGllbnQuc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJAYW5hbnNpL3JvdXRlclwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS9leHRlcm5hbCBjb21tb25qcyBcImhpc3RvcnlcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL3JvdXRlci5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvcHJlZmV0Y2guc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2pzb24uc2VydmVyLnRzeCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL2FwcC5zZXJ2ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvbmF2aWdhdG9yLnNlcnZlci50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL2luZGV4LnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAZGF0YS1jbGllbnQvcmVhY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQGRhdGEtY2xpZW50L3JlYWN0L3NzclwiKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCJ2YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgPyAob2JqKSA9PiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikpIDogKG9iaikgPT4gKG9iai5fX3Byb3RvX18pO1xudmFyIGxlYWZQcm90b3R5cGVzO1xuLy8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4vLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbi8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuLy8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4vLyBtb2RlICYgMTY6IHJldHVybiB2YWx1ZSB3aGVuIGl0J3MgUHJvbWlzZS1saWtlXG4vLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuXHRpZihtb2RlICYgMSkgdmFsdWUgPSB0aGlzKHZhbHVlKTtcblx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcblx0aWYodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSkge1xuXHRcdGlmKChtb2RlICYgNCkgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuXHRcdGlmKChtb2RlICYgMTYpICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSByZXR1cm4gdmFsdWU7XG5cdH1cblx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcblx0dmFyIGRlZiA9IHt9O1xuXHRsZWFmUHJvdG90eXBlcyA9IGxlYWZQcm90b3R5cGVzIHx8IFtudWxsLCBnZXRQcm90byh7fSksIGdldFByb3RvKFtdKSwgZ2V0UHJvdG8oZ2V0UHJvdG8pXTtcblx0Zm9yKHZhciBjdXJyZW50ID0gbW9kZSAmIDIgJiYgdmFsdWU7ICh0eXBlb2YgY3VycmVudCA9PSAnb2JqZWN0JyB8fCB0eXBlb2YgY3VycmVudCA9PSAnZnVuY3Rpb24nKSAmJiAhfmxlYWZQcm90b3R5cGVzLmluZGV4T2YoY3VycmVudCk7IGN1cnJlbnQgPSBnZXRQcm90byhjdXJyZW50KSkge1xuXHRcdE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGN1cnJlbnQpLmZvckVhY2goKGtleSkgPT4gKGRlZltrZXldID0gKCkgPT4gKHZhbHVlW2tleV0pKSk7XG5cdH1cblx0ZGVmWydkZWZhdWx0J10gPSAoKSA9PiAodmFsdWUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGRlZik7XG5cdHJldHVybiBucztcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiY3J5cHRvXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwicmVhY3QtZG9tL3NlcnZlclwiKTsiLCIvKipcbiAqIFV0aWxpdGllcyBmb3IgaGFuZGxpbmcgU1NSIGVycm9ycyBncmFjZWZ1bGx5XG4gKi9cblxuLyoqXG4gKiBFeHRyYWN0IEhUVFAgc3RhdHVzIGNvZGUgZnJvbSBhbiBlcnJvciBvYmplY3QuXG4gKiBMb29rcyBmb3IgYSBgc3RhdHVzYCBwcm9wZXJ0eSB0aGF0IGlzIGEgbnVtYmVyIG9yIHBhcnNlYWJsZSBzdHJpbmcuXG4gKiBSZXR1cm5zIDUwMCBpZiBubyB2YWxpZCBzdGF0dXMgZm91bmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvclN0YXR1cyhlcnJvcjogdW5rbm93bik6IG51bWJlciB7XG4gIGlmIChlcnJvciAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmICdzdGF0dXMnIGluIGVycm9yKSB7XG4gICAgY29uc3Qgc3RhdHVzID0gKGVycm9yIGFzIHsgc3RhdHVzOiB1bmtub3duIH0pLnN0YXR1cztcbiAgICBpZiAodHlwZW9mIHN0YXR1cyA9PT0gJ251bWJlcicgJiYgc3RhdHVzID49IDEwMCAmJiBzdGF0dXMgPCA2MDApIHtcbiAgICAgIHJldHVybiBzdGF0dXM7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygc3RhdHVzID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQoc3RhdHVzLCAxMCk7XG4gICAgICBpZiAoIWlzTmFOKHBhcnNlZCkgJiYgcGFyc2VkID49IDEwMCAmJiBwYXJzZWQgPCA2MDApIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIDUwMDtcbn1cblxuLyoqXG4gKiBFc2NhcGUgSFRNTCBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gcHJldmVudCBYU1NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUh0bWwoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyXG4gICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JylcbiAgICAucmVwbGFjZSgvPC9nLCAnJmx0OycpXG4gICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKVxuICAgIC5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7JylcbiAgICAucmVwbGFjZSgvJy9nLCAnJiMwMzk7Jyk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyRXJyb3JQYWdlT3B0aW9ucyB7XG4gIC8qKiBTaG93IHN0YWNrIHRyYWNlIGluIG91dHB1dCAqL1xuICBzaG93U3RhY2s/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBoaW50IG1lc3NhZ2UgdG8gZGlzcGxheSAqL1xuICBoaW50Pzogc3RyaW5nO1xuICAvKiogQmFkZ2UgdGV4dCB0byBkaXNwbGF5IChlLmcuLCBcIkRFViBNT0RFXCIpICovXG4gIGJhZGdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlbmRlciBhbiBIVE1MIGVycm9yIHBhZ2UgZm9yIFNTUiBmYWlsdXJlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRXJyb3JQYWdlKFxuICBlcnJvcjogdW5rbm93bixcbiAgdXJsOiBzdHJpbmcsXG4gIHN0YXR1c0NvZGU6IG51bWJlcixcbiAgb3B0aW9uczogUmVuZGVyRXJyb3JQYWdlT3B0aW9ucyA9IHt9LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICBjb25zdCBzdGFjayA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5zdGFjayA6IHVuZGVmaW5lZDtcbiAgY29uc3QgeyBzaG93U3RhY2sgPSBmYWxzZSwgaGludCwgYmFkZ2UgfSA9IG9wdGlvbnM7XG5cbiAgcmV0dXJuIGA8IURPQ1RZUEUgaHRtbD5cbjxodG1sIGxhbmc9XCJlblwiPlxuPGhlYWQ+XG4gIDxtZXRhIGNoYXJzZXQ9XCJVVEYtOFwiPlxuICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMFwiPlxuICA8dGl0bGU+JHtzdGF0dXNDb2RlfSAtIFNlcnZlciBFcnJvcjwvdGl0bGU+XG4gIDxzdHlsZT5cbiAgICAqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG4gICAgYm9keSB7IGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZDogIzFhMWEyZTsgY29sb3I6ICNlZWU7IG1pbi1oZWlnaHQ6IDEwMHZoOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogMnJlbTsgfVxuICAgIC5jb250YWluZXIgeyBtYXgtd2lkdGg6IDgwMHB4OyB3aWR0aDogMTAwJTsgfVxuICAgIGgxIHsgY29sb3I6ICNmZjZiNmI7IGZvbnQtc2l6ZTogMi41cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmJhZGdlIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiAjNGVjZGM0OyBjb2xvcjogIzFhMWEyZTsgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IGJvcmRlci1yYWRpdXM6IDRweDsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLnVybCB7IGNvbG9yOiAjODg4OyBmb250LXNpemU6IDAuOXJlbTsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgICAubWVzc2FnZSB7IGJhY2tncm91bmQ6ICMxNjIxM2U7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2ZmNmI2YjsgcGFkZGluZzogMXJlbSAxLjVyZW07IGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCAwOyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAubWVzc2FnZSBjb2RlIHsgY29sb3I6ICNmZjZiNmI7IGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgLnN0YWNrIHsgYmFja2dyb3VuZDogIzBmMGYyMzsgYm9yZGVyLXJhZGl1czogOHB4OyBwYWRkaW5nOiAxLjVyZW07IG92ZXJmbG93LXg6IGF1dG87IGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ01lbmxvJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDAuODVyZW07IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiAjYWFhOyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH1cbiAgICAucmV0cnkgeyBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgLnJldHJ5IGEgeyBjb2xvcjogIzRlY2RjNDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsgYm9yZGVyOiAycHggc29saWQgIzRlY2RjNDsgYm9yZGVyLXJhZGl1czogNnB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgLnJldHJ5IGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjNGVjZGM0OyBjb2xvcjogIzFhMWEyZTsgfVxuICAgIC5oaW50IHsgbWFyZ2luLXRvcDogMS41cmVtOyBjb2xvcjogIzg4ODsgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgPC9zdHlsZT5cbjwvaGVhZD5cbjxib2R5PlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgJHtiYWRnZSA/IGA8c3BhbiBjbGFzcz1cImJhZGdlXCI+JHtlc2NhcGVIdG1sKGJhZGdlKX08L3NwYW4+YCA6ICcnfVxuICAgIDxoMT4ke3N0YXR1c0NvZGV9IC0gU2VydmVyIEVycm9yPC9oMT5cbiAgICA8cCBjbGFzcz1cInVybFwiPkVycm9yIHJlbmRlcmluZzogJHtlc2NhcGVIdG1sKHVybCl9PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICA8Y29kZT4ke2VzY2FwZUh0bWwoZXJyb3JNZXNzYWdlKX08L2NvZGU+XG4gICAgPC9kaXY+XG4gICAgJHtzaG93U3RhY2sgJiYgc3RhY2sgPyBgPHByZSBjbGFzcz1cInN0YWNrXCI+JHtlc2NhcGVIdG1sKHN0YWNrKX08L3ByZT5gIDogJyd9XG4gICAgPGRpdiBjbGFzcz1cInJldHJ5XCI+XG4gICAgICA8YSBocmVmPVwiJHtlc2NhcGVIdG1sKHVybCl9XCI+UmV0cnk8L2E+XG4gICAgPC9kaXY+XG4gICAgJHtoaW50ID8gYDxwIGNsYXNzPVwiaGludFwiPiR7ZXNjYXBlSHRtbChoaW50KX08L3A+YCA6ICcnfVxuICA8L2Rpdj5cbjwvYm9keT5cbjwvaHRtbD5gO1xufVxuIiwiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHR5cGUgeyBKU1ggfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXJUb1BpcGVhYmxlU3RyZWFtIGFzIHJlYWN0UmVuZGVyIH0gZnJvbSAncmVhY3QtZG9tL3NlcnZlcic7XG5cbmltcG9ydCB7IGdldEVycm9yU3RhdHVzIH0gZnJvbSAnLi9zY3JpcHRzL3NzckVycm9ySGFuZGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFJlbmRlciB9IGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsYXlTcG91dHMoXG4gIHNwb3V0czogKHByb3BzOiBTZXJ2ZXJQcm9wcykgPT4gUHJvbWlzZTx7XG4gICAgYXBwOiBKU1guRWxlbWVudDtcbiAgfT4sXG4gIHtcbiAgICB0aW1lb3V0TVMgPSAxMDAwMCxcbiAgICBvbkVycm9yLFxuICB9OiB7IHRpbWVvdXRNUz86IG51bWJlcjsgb25FcnJvcj86IChlcnJvcjogdW5rbm93bikgPT4gdm9pZCB9ID0ge30sXG4pIHtcbiAgY29uc3QgcmVuZGVyOiBSZW5kZXIgPSBhc3luYyAoY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzKSA9PiB7XG4gICAgY29uc3Qgbm9uY2UgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMTYpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGFwcCB9ID0gYXdhaXQgc3BvdXRzKHsgY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzLCBub25jZSB9KTtcblxuICAgICAgbGV0IGRpZEVycm9yID0gZmFsc2U7XG4gICAgICBsZXQgbGFzdEVycm9yOiB1bmtub3duO1xuICAgICAgY29uc3QgeyBwaXBlLCBhYm9ydCB9ID0gcmVhY3RSZW5kZXIoYXBwLCB7XG4gICAgICAgIG5vbmNlLFxuICAgICAgICAvL2Jvb3RzdHJhcFNjcmlwdHM6IGFzc2V0cy5maWx0ZXIoYXNzZXQgPT4gYXNzZXQuZW5kc1dpdGgoJy5qcycpKSxcbiAgICAgICAgb25TaGVsbFJlYWR5KCkge1xuICAgICAgICAgIC8vbWFuYWdlcnMuZm9yRWFjaChtYW5hZ2VyID0+IG1hbmFnZXIuY2xlYW51cCgpKTtcbiAgICAgICAgICAvLyBJZiBzb21ldGhpbmcgZXJyb3JlZCBiZWZvcmUgd2Ugc3RhcnRlZCBzdHJlYW1pbmcsIHdlIHNldCB0aGUgZXJyb3IgY29kZSBhcHByb3ByaWF0ZWx5LlxuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gZGlkRXJyb3IgPyBnZXRFcnJvclN0YXR1cyhsYXN0RXJyb3IpIDogMjAwO1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICBwaXBlKHJlcyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2hlbGxFcnJvcihlOiB1bmtub3duKSB7XG4gICAgICAgICAgZGlkRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIGxhc3RFcnJvciA9IGU7XG4gICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSBnZXRFcnJvclN0YXR1cyhlKTtcbiAgICAgICAgICBwaXBlKHJlcyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uRXJyb3IoZTogdW5rbm93bikge1xuICAgICAgICAgIGRpZEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0RXJyb3IgPSBlO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSBnZXRFcnJvclN0YXR1cyhlKTtcbiAgICAgICAgICAvL3BpcGUocmVzKTsgUmVtb3ZpbmcgdGhpcyBhdm9pZHMsIFwiUmVhY3QgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgcGlwaW5nIHRvIG9uZSB3cml0YWJsZSBzdHJlYW0uXCJcbiAgICAgICAgICBpZiAob25FcnJvcikgb25FcnJvcihlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgLy8gQWJhbmRvbiBhbmQgc3dpdGNoIHRvIGNsaWVudCByZW5kZXJpbmcgaWYgZW5vdWdoIHRpbWUgcGFzc2VzLlxuICAgICAgLy8gVHJ5IGxvd2VyaW5nIHRoaXMgdG8gc2VlIHRoZSBjbGllbnQgcmVjb3Zlci5cbiAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IChhYm9ydCBhcyBhbnkpKGBUaW1lb3V0IG9mICR7dGltZW91dE1TfW1zIGV4Y2VlZGVkYCksXG4gICAgICAgIHRpbWVvdXRNUyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgaWYgKG9uRXJyb3IpIG9uRXJyb3IoZSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIHJlbmRlcjtcbn1cbiIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwicmVhY3RcIik7IiwiZXhwb3J0IGludGVyZmFjZSBQb2xpY3kge1xuICBbZGlyZWN0aXZlOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLy8gVE9ETzogbWVtb2l6ZSB0aGlzXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQb2xpY3kocG9saWN5T2JqOiBQb2xpY3kpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHBvbGljeU9iailcbiAgICAubWFwKGtleSA9PiB7XG4gICAgICBjb25zdCB2YWwgPVxuICAgICAgICBBcnJheS5pc0FycmF5KHBvbGljeU9ialtrZXldKSA/XG4gICAgICAgICAgWy4uLm5ldyBTZXQocG9saWN5T2JqW2tleV0pLnZhbHVlcygpXS5maWx0ZXIodiA9PiB2KS5qb2luKCcgJylcbiAgICAgICAgOiBwb2xpY3lPYmpba2V5XTtcblxuICAgICAgLy8gbW92ZSBzdHJpY3QgZHluYW1pYyB0byB0aGUgZW5kIG9mIHRoZSBwb2xpY3kgaWYgaXQgZXhpc3RzIHRvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggY3NwMlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL0NvbnRlbnQtU2VjdXJpdHktUG9saWN5L3NjcmlwdC1zcmMjc3RyaWN0LWR5bmFtaWNcbiAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyAmJiB2YWwuaW5jbHVkZXMoXCInc3RyaWN0LWR5bmFtaWMnXCIpKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbCA9IGAke3ZhbFxuICAgICAgICAgIC5yZXBsYWNlKC9cXHM/J3N0cmljdC1keW5hbWljJ1xccz8vZ2ksICcgJylcbiAgICAgICAgICAudHJpbSgpfSAnc3RyaWN0LWR5bmFtaWMnYDtcbiAgICAgICAgcmV0dXJuIGAke2tleX0gJHtuZXdWYWx9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGAke2tleX0gJHt2YWx9YDtcbiAgICB9KVxuICAgIC5qb2luKCc7ICcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gam9pbk5vbmNlKHBvbGljeU9iajogUG9saWN5LCBub25jZT86IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICBpZiAoIW5vbmNlKSByZXR1cm4gcG9saWN5T2JqO1xuICBjb25zdCBwb2xpY3kgPSB7XG4gICAgLi4ucG9saWN5T2JqLFxuICB9O1xuICBpZiAodHlwZW9mIHBvbGljeVsnc2NyaXB0LXNyYyddID09PSAnc3RyaW5nJykge1xuICAgIHBvbGljeVsnc2NyaXB0LXNyYyddID0gW3BvbGljeVsnc2NyaXB0LXNyYyddLCBgJ25vbmNlLSR7bm9uY2V9J2BdO1xuICB9IGVsc2Uge1xuICAgIHBvbGljeVsnc2NyaXB0LXNyYyddID0gWy4uLnBvbGljeVsnc2NyaXB0LXNyYyddLCBgJ25vbmNlLSR7bm9uY2V9J2BdO1xuICB9XG4gIHJldHVybiBwb2xpY3k7XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpOyIsInR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIGFzc2V0czogeyBocmVmOiBzdHJpbmc7IGFzPzogc3RyaW5nOyByZWw/OiBzdHJpbmcgfVtdO1xuICBoZWFkPzogUmVhY3QuUmVhY3ROb2RlO1xuICBleHRyYVN0eWxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHJvb3RJZD86IHN0cmluZztcbiAgY2hhclNldD86IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbn07XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudCh7XG4gIGFzc2V0cyxcbiAgaGVhZCA9IGRlZmF1bHRIZWFkLFxuICBjaGlsZHJlbixcbiAgdGl0bGUsXG4gIHJvb3RJZCA9ICdhbmFuc2ktcm9vdCcsXG4gIGNoYXJTZXQgPSAndXRmLTgnLFxuICBzY3JpcHRzID0gbnVsbCxcbiAgZXh0cmFTdHlsZSxcbiAgbGFuZyxcbn06IFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz17bGFuZ30+XG4gICAgICA8aGVhZD5cbiAgICAgICAgPG1ldGEgY2hhclNldD17Y2hhclNldH0gLz5cbiAgICAgICAge2hlYWR9XG4gICAgICAgIHtleHRyYVN0eWxlfVxuICAgICAgICB7YXNzZXRzLm1hcCgoYXNzZXQsIGkpID0+IChcbiAgICAgICAgICA8bGluayBrZXk9e2l9IHJlbD1cInByZWxvYWRcIiB7Li4uYXNzZXR9IC8+XG4gICAgICAgICkpfVxuICAgICAgICA8dGl0bGU+e3RpdGxlfTwvdGl0bGU+XG4gICAgICA8L2hlYWQ+XG4gICAgICA8Ym9keT5cbiAgICAgICAgPGRpdiBpZD17cm9vdElkfT57Y2hpbGRyZW59PC9kaXY+XG4gICAgICAgIHtzY3JpcHRzfVxuICAgICAgICB7YXNzZXRzXG4gICAgICAgICAgLmZpbHRlcigoeyBocmVmIH0pID0+IGhyZWYuZW5kc1dpdGgoJy5qcycpKVxuICAgICAgICAgIC5tYXAoKHsgaHJlZiB9LCBpKSA9PiAoXG4gICAgICAgICAgICA8c2NyaXB0IGtleT17aX0gc3JjPXtocmVmfSBhc3luYyAvPlxuICAgICAgICAgICkpfVxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn1cbmNvbnN0IGRlZmF1bHRIZWFkID0gKFxuICA8PlxuICAgIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiIC8+XG4gICAgPGxpbmtcbiAgICAgIHJlbD1cInNob3J0Y3V0IGljb25cIlxuICAgICAgaHJlZj17YCR7cHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCA/PyAnLyd9ZmF2aWNvbi5pY29gfVxuICAgIC8+XG4gIDwvPlxuKTtcbiIsImltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5hbnNpL3JvdXRlcic7XG5pbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3RhdHNDaHVua0dyb3VwIH0gZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCB7IGJ1aWxkUG9saWN5LCBqb2luTm9uY2UsIFBvbGljeSB9IGZyb20gJy4vY3NwLmpzJztcbmltcG9ydCBEb2N1bWVudCBmcm9tICcuL0RvY3VtZW50Q29tcG9uZW50LmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxhbnk+W107XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERvY3VtZW50U3BvdXQob3B0aW9uczoge1xuICBoZWFkPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICBsYW5nPzogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGNzUG9saWN5PzogUG9saWN5O1xufSk6IFNlcnZlclNwb3V0PFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTmVlZGVkTmV4dD4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBwdWJsaWNQYXRoID0gcHJvcHMuY2xpZW50TWFuaWZlc3QucHVibGljUGF0aDtcblxuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkubGVuZ3RoIDwgMSB8fFxuICAgICAgcHVibGljUGF0aCA9PT0gdW5kZWZpbmVkXG4gICAgKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYW5pZmVzdCBtaXNzaW5nIGVudHJpZXMgbmVlZGVkJyk7XG5cbiAgICAvLyBUT0RPOiBjb25zaWRlciB1c2luZyB0aGlzIHBhY2thZ2UgZm9yIGJ1aWxkIHN0YXRzIGluIGZ1dHVyZTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvdHJlZS9tYWluL3BhY2thZ2VzL3JlYWN0LXNlcnZlci1kb20td2VicGFja1xuICAgIGNvbnN0IGFzc2V0TWFwID0gKGFzc2V0czogeyBuYW1lOiBzdHJpbmc7IHNpemU/OiBudW1iZXIgfVtdKSA9PlxuICAgICAgYXNzZXRzLm1hcCgoeyBuYW1lIH0pID0+IGAke3B1YmxpY1BhdGh9JHtuYW1lfWApO1xuXG4gICAgY29uc3QgYXNzZXRMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICAgIE9iamVjdC52YWx1ZXMocHJvcHMuY2xpZW50TWFuaWZlc3Q/LmVudHJ5cG9pbnRzID8/IHt9KS5mb3JFYWNoKFxuICAgICAgZW50cnlwb2ludCA9PiB7XG4gICAgICAgIGFzc2V0TGlzdC5wdXNoKC4uLmFzc2V0TWFwKGVudHJ5cG9pbnQuYXNzZXRzID8/IFtdKSk7XG4gICAgICB9LFxuICAgICk7XG4gICAgbmV3IFNldChcbiAgICAgIGFzc2V0TWFwKFxuICAgICAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Lm5hbWVkQ2h1bmtHcm91cHMgPz8ge30pXG4gICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+XG4gICAgICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5zb21lKHJvdXRlID0+IG5hbWU/LmluY2x1ZGVzKHJvdXRlLm5hbWUpKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLmZsYXRNYXAoY2h1bmsgPT4gW1xuICAgICAgICAgICAgLi4uKGNodW5rLmFzc2V0cyA/PyBbXSksXG4gICAgICAgICAgICAvLyBhbnkgY2h1bmsgcHJlbG9hZHNcbiAgICAgICAgICAgIC4uLmNoaWxkcmVuQXNzZXRzKGNodW5rKSxcbiAgICAgICAgICBdKSxcbiAgICAgICksXG4gICAgKS5mb3JFYWNoKGFzc2V0ID0+IGFzc2V0TGlzdC5wdXNoKGFzc2V0KSk7XG5cbiAgICAvLyBmaW5kIGFkZGl0aW9uYWwgYXNzZXRzIHRvIHByZWxvYWQgYmFzZWQgb24gbWF0Y2hlZCByb3V0ZVxuICAgIGNvbnN0IGFzc2V0czoge1xuICAgICAgaHJlZjogc3RyaW5nO1xuICAgICAgYXM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICByZWw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgfVtdID0gYXNzZXRMaXN0XG4gICAgICAuZmlsdGVyKGFzc2V0ID0+ICFhc3NldC5lbmRzV2l0aCgnLmhvdC11cGRhdGUuanMnKSlcbiAgICAgIC5tYXAoYXNzZXQgPT5cbiAgICAgICAgYXNzZXQuZW5kc1dpdGgoJy5jc3MnKSA/IHsgaHJlZjogYXNzZXQsIHJlbDogJ3N0eWxlc2hlZXQnIH1cbiAgICAgICAgOiBhc3NldC5lbmRzV2l0aCgnLmpzJykgPyB7IGhyZWY6IGFzc2V0LCBhczogJ3NjcmlwdCcgfVxuICAgICAgICA6IHsgaHJlZjogYXNzZXQgfSxcbiAgICAgICk7XG5cbiAgICBpZiAob3B0aW9ucy5jc1BvbGljeSkge1xuICAgICAgY29uc3QgaHR0cEVxdWl2ID1cbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyA/XG4gICAgICAgICAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5J1xuICAgICAgICA6ICdDb250ZW50LVNlY3VyaXR5LVBvbGljeS1SZXBvcnQtT25seSc7XG5cbiAgICAgIHByb3BzLnJlcy5zZXRIZWFkZXIoXG4gICAgICAgIGh0dHBFcXVpdixcbiAgICAgICAgYnVpbGRQb2xpY3koam9pbk5vbmNlKG9wdGlvbnMuY3NQb2xpY3ksIHByb3BzLm5vbmNlKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IChcbiAgICAgICAgPERvY3VtZW50XG4gICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgZXh0cmFTdHlsZT17bmV4dFByb3BzLmV4dHJhU3R5bGV9XG4gICAgICAgICAgdGl0bGU9e25leHRQcm9wcy50aXRsZSA/PyBvcHRpb25zLnRpdGxlfVxuICAgICAgICAgIGFzc2V0cz17YXNzZXRzfVxuICAgICAgICAgIHJvb3RJZD17b3B0aW9ucy5yb290SWR9XG4gICAgICAgICAgc2NyaXB0cz17bmV4dFByb3BzLnNjcmlwdHN9XG4gICAgICAgID5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9Eb2N1bWVudD5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2hpbGRyZW5Bc3NldHMoY2h1bms6IFN0YXRzQ2h1bmtHcm91cCkge1xuICByZXR1cm4gY2h1bmsuY2hpbGRyZW4gP1xuICAgICAgT2JqZWN0LnZhbHVlcyhjaHVuay5jaGlsZHJlbikuZmxhdE1hcChwcmVsb2FkID0+XG4gICAgICAgIHByZWxvYWQuZmxhdE1hcChjID0+IGMuYXNzZXRzID8/IFtdKSxcbiAgICAgIClcbiAgICA6IFtdO1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDb250cm9sbGVyLFxuICB0eXBlIE1hbmFnZXIsXG4gIHR5cGUgU3RhdGUsXG4gIHR5cGUgU3RvcmUsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGF0YUNsaWVudFNwb3V0KFxuICBvcHRpb25zOiB7XG4gICAgZ2V0TWFuYWdlcnM/OiAoKSA9PiBNYW5hZ2VyW107XG4gIH0gPSB7fSxcbik6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgeyBjb250cm9sbGVyOiBDb250cm9sbGVyIH0gJiB7IHN0b3JlOiBTdG9yZTxTdGF0ZTx1bmtub3duPj4gfSxcbiAgeyBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+OyBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW10gfVxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBtYW5hZ2VycyA9IG9wdGlvbnM/LmdldE1hbmFnZXJzPy4oKSA/PyBbXG4gICAgICBuZXcgKGF3YWl0IGltcG9ydCgnQGRhdGEtY2xpZW50L3JlYWN0JykpLk5ldHdvcmtNYW5hZ2VyKCksXG4gICAgXTtcbiAgICBjb25zdCB7IGNyZWF0ZVBlcnNpc3RlZFN0b3JlIH0gPSBhd2FpdCBpbXBvcnQoJ0BkYXRhLWNsaWVudC9yZWFjdC9zc3InKTtcbiAgICBjb25zdCBbU2VydmVyRGF0YVByb3ZpZGVyLCB1c2VSZWFkeUNhY2hlU3RhdGUsIGNvbnRyb2xsZXIsIHN0b3JlXSA9XG4gICAgICBjcmVhdGVQZXJzaXN0ZWRTdG9yZShtYW5hZ2Vycyk7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBpbml0RGF0YToge1xuICAgICAgICAuLi5uZXh0UHJvcHMuaW5pdERhdGEsXG4gICAgICAgIGRhdGFjbGllbnQ6IHVzZVJlYWR5Q2FjaGVTdGF0ZSxcbiAgICAgIH0sXG4gICAgICBhcHA6IDxTZXJ2ZXJEYXRhUHJvdmlkZXI+e25leHRQcm9wcy5hcHB9PC9TZXJ2ZXJEYXRhUHJvdmlkZXI+LFxuICAgICAgLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gb25seSBpbmplY3QgaW4gbmV4dCBhbmQgbm90IGhhdmUgdG8gYWxzbyBwdXQgaGVyZVxuICAgICAgY29udHJvbGxlcixcbiAgICAgIHN0b3JlLFxuICAgIH07XG4gIH07XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcIkBhbmFuc2kvcm91dGVyXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiaGlzdG9yeVwiKTsiLCJpbXBvcnQgeyBSb3V0ZSwgUm91dGVQcm92aWRlciwgUm91dGVDb250cm9sbGVyIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSB9IGZyb20gJ2hpc3RvcnknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDcmVhdGVSb3V0ZXIsIFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJvdXRlclNwb3V0PFJlc29sdmVXaXRoPihvcHRpb25zOiB7XG4gIHJlc29sdmVXaXRoPzogYW55O1xuICB1c2VSZXNvbHZlV2l0aDogKCkgPT4gUmVzb2x2ZVdpdGg7XG4gIGNyZWF0ZVJvdXRlcjogQ3JlYXRlUm91dGVyPFJlc29sdmVXaXRoPjtcbn0pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHtcbiAgICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSZXNvbHZlV2l0aD5bXTtcbiAgICBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcztcbiAgfSAmIHtcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj47XG4gIH1cbj4ge1xuICBjb25zdCBjcmVhdGVSb3V0ZUNvbXBvbmVudCA9IChcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj4sXG4gICkgPT5cbiAgICBmdW5jdGlvbiBSb3V0ZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICAgICAgY29uc3QgcmVzb2x2ZVdpdGggPSBvcHRpb25zLnVzZVJlc29sdmVXaXRoKCk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSb3V0ZVByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSByZXNvbHZlV2l0aD17cmVzb2x2ZVdpdGh9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9Sb3V0ZVByb3ZpZGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCB1cmwgPSBwcm9wcy5yZXEudXJsIHx8ICcnO1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCc/JywgMik7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJ0cy5sZW5ndGggPCAyID8gJycgOiBwYXJ0c1sxXSk7XG4gICAgY29uc3Qgcm91dGVyID0gb3B0aW9ucy5jcmVhdGVSb3V0ZXIoXG4gICAgICBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFt1cmxdIH0pLFxuICAgICk7XG4gICAgY29uc3QgbWF0Y2hlZFJvdXRlczogUm91dGU8UmVzb2x2ZVdpdGg+W10gPSByb3V0ZXIuZ2V0TWF0Y2hlZFJvdXRlcyh1cmwpO1xuXG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dCh7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIG1hdGNoZWRSb3V0ZXMsXG4gICAgICByb3V0ZXIsXG4gICAgICBzZWFyY2hQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBSb3V0ZXIgPSBjcmVhdGVSb3V0ZUNvbXBvbmVudChyb3V0ZXIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogPFJvdXRlcj57bmV4dFByb3BzLmFwcH08L1JvdXRlcj4sXG4gICAgICAvLyBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBvbmx5IGluamVjdCBpbiBuZXh0IGFuZCBub3QgaGF2ZSB0byBhbHNvIHB1dCBoZXJlXG4gICAgICBtYXRjaGVkUm91dGVzLFxuICAgICAgcm91dGVyLFxuICAgICAgc2VhcmNoUGFyYW1zLFxuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvbHZlUHJvcHMsIFNlcnZlclByb3BzIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkUHJvcHM8Um91dGVXaXRoPiA9IHtcbiAgbWF0Y2hlZFJvdXRlczogUm91dGU8Um91dGVXaXRoPltdO1xuICBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcztcbn0gJiBSZXNvbHZlUHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHByZWZldGNoU3BvdXQ8RiBleHRlbmRzIHN0cmluZz4oZmllbGQ6IEYpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxcbiAgICBSb3V0ZVdpdGgsXG4gICAgTiBleHRlbmRzIE5lZWRlZFByb3BzPFJvdXRlV2l0aD4sXG4gICAgSSBleHRlbmRzIFNlcnZlclByb3BzLFxuICA+KFxuICAgIG5leHQ6IChwcm9wczogSSkgPT4gUHJvbWlzZTxcbiAgICAgIHtcbiAgICAgICAgW0sgaW4gRl06IFJvdXRlV2l0aDtcbiAgICAgIH0gJiBOXG4gICAgPixcbiAgKSB7XG4gICAgcmV0dXJuIGFzeW5jIChwcm9wczogSSkgPT4ge1xuICAgICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRvRmV0Y2g6IFByb21pc2U8dW5rbm93bj5bXSA9IFtdO1xuICAgICAgICBuZXh0UHJvcHMubWF0Y2hlZFJvdXRlcy5mb3JFYWNoKHJvdXRlID0+IHtcbiAgICAgICAgICAvLyBQcmVsb2FkIGxhenkgY29tcG9uZW50IHNvIGl0J3MgcmVhZHkgZm9yIFNTUiByZW5kZXJcbiAgICAgICAgICBpZiAodHlwZW9mIHJvdXRlLmNvbXBvbmVudD8ucHJlbG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdG9GZXRjaC5wdXNoKHJvdXRlLmNvbXBvbmVudC5wcmVsb2FkKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIHJvdXRlLnJlc29sdmVEYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0b0ZldGNoLnB1c2goXG4gICAgICAgICAgICAgIHJvdXRlLnJlc29sdmVEYXRhKFxuICAgICAgICAgICAgICAgIG5leHRQcm9wc1tmaWVsZF0sXG4gICAgICAgICAgICAgICAgcm91dGUsXG4gICAgICAgICAgICAgICAgbmV4dFByb3BzLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwodG9GZXRjaCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dFByb3BzO1xuICAgIH07XG4gIH07XG59XG4iLCJpbXBvcnQgUmVhY3QsIHsgU3VzcGVuc2UgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKU09OU3BvdXQoe1xuICBpZCA9ICdhbmFuc2ktanNvbicsXG59OiB7IGlkPzogc3RyaW5nIH0gPSB7fSk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICBjb25zdCBzY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGVbXSA9IG5leHRQcm9wcy5zY3JpcHRzID8/IFtdO1xuXG4gICAgT2JqZWN0LmVudHJpZXMobmV4dFByb3BzLmluaXREYXRhID8/IHt9KS5mb3JFYWNoKChba2V5LCB1c2VEYXRhXSkgPT4ge1xuICAgICAgY29uc3QgZ2xvYmFsSWQgPSBgJHtpZH0uJHtrZXl9YDtcbiAgICAgIGNvbnN0IFNjcmlwdCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YTogYW55ID0gdXNlRGF0YSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGVuY29kZWQgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPHNjcmlwdFxuICAgICAgICAgICAgICBpZD17Z2xvYmFsSWR9XG4gICAgICAgICAgICAgIHR5cGU9XCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgICAgICBfX2h0bWw6IGVuY29kZWQsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG5vbmNlPXtwcm9wcy5ub25jZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIFRPRE86IFVzZSB1bmlmaWVkIGxvZ2dpbmdcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBzZXJpYWxpemluZyBqc29uIGZvciAke2tleX1gKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgc2NyaXB0cy5wdXNoKFxuICAgICAgICA8U3VzcGVuc2Uga2V5PXtnbG9iYWxJZH0+XG4gICAgICAgICAgPFNjcmlwdCAvPlxuICAgICAgICA8L1N1c3BlbnNlPixcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgc2NyaXB0cyxcbiAgICB9O1xuICB9O1xufVxuIiwiaW1wb3J0IHR5cGUgeyBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmNvbnN0IGFwcFNwb3V0ID1cbiAgKGFwcDogSlNYLkVsZW1lbnQpID0+XG4gIDxQIGV4dGVuZHMgU2VydmVyUHJvcHM+KHByb3BzOiBQKSA9PlxuICAgIFByb21pc2UucmVzb2x2ZSh7IC4uLnByb3BzLCBhcHAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGFwcFNwb3V0O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0b3JQcm9wZXJ0aWVzIHtcbiAgbGFuZ3VhZ2U6IHN0cmluZztcbiAgbGFuZ3VhZ2VzOiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRvckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PE5hdmlnYXRvclByb3BlcnRpZXMgfCB1bmRlZmluZWQ+KFxuICB1bmRlZmluZWQsXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlTmF2aWdhdG9yKCk6IE5hdmlnYXRvclByb3BlcnRpZXMge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChOYXZpZ2F0b3JDb250ZXh0KTtcbiAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlTmF2aWdhdG9yIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBOYXZpZ2F0b3JQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBY2NlcHRMYW5ndWFnZShoZWFkZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHtcbiAgbGFuZ3VhZ2U6IHN0cmluZztcbiAgbGFuZ3VhZ2VzOiByZWFkb25seSBzdHJpbmdbXTtcbn0ge1xuICBpZiAoIWhlYWRlcikge1xuICAgIHJldHVybiB7IGxhbmd1YWdlOiAnZW4nLCBsYW5ndWFnZXM6IFsnZW4nXSB9O1xuICB9XG5cbiAgY29uc3QgcGFyc2VkID0gaGVhZGVyXG4gICAgLnNwbGl0KCcsJylcbiAgICAubWFwKHBhcnQgPT4ge1xuICAgICAgY29uc3QgW2xhbmcsIHFQYXJ0XSA9IHBhcnQudHJpbSgpLnNwbGl0KCc7Jyk7XG4gICAgICBjb25zdCBxID0gcVBhcnQgPyBwYXJzZUZsb2F0KHFQYXJ0LnJlcGxhY2UoJ3E9JywgJycpKSA6IDE7XG4gICAgICByZXR1cm4geyBsYW5nOiBsYW5nLnRyaW0oKSwgcSB9O1xuICAgIH0pXG4gICAgLnNvcnQoKGEsIGIpID0+IGIucSAtIGEucSlcbiAgICAubWFwKCh7IGxhbmcgfSkgPT4gbGFuZyk7XG5cbiAgcmV0dXJuIHtcbiAgICBsYW5ndWFnZTogcGFyc2VkWzBdID8/ICdlbicsXG4gICAgbGFuZ3VhZ2VzOiBwYXJzZWQubGVuZ3RoID4gMCA/IHBhcnNlZCA6IFsnZW4nXSxcbiAgfTtcbn1cbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IE5hdmlnYXRvckNvbnRleHQsIHBhcnNlQWNjZXB0TGFuZ3VhZ2UgfSBmcm9tICcuL25hdmlnYXRvci5jb250ZXh0LmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbmF2aWdhdG9yU3BvdXQoKTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICB7IGxhbmd1YWdlOiBzdHJpbmc7IGxhbmd1YWdlczogcmVhZG9ubHkgc3RyaW5nW10gfSxcbiAgTmVlZGVkTmV4dFxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBhY2NlcHRMYW5ndWFnZSA9IHByb3BzLnJlcS5oZWFkZXJzWydhY2NlcHQtbGFuZ3VhZ2UnXTtcbiAgICBjb25zdCBoZWFkZXIgPVxuICAgICAgdHlwZW9mIGFjY2VwdExhbmd1YWdlID09PSAnc3RyaW5nJyA/IGFjY2VwdExhbmd1YWdlIDogYWNjZXB0TGFuZ3VhZ2U/LlswXTtcbiAgICBjb25zdCBuYXZpZ2F0b3JQcm9wcyA9IHBhcnNlQWNjZXB0TGFuZ3VhZ2UoaGVhZGVyKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICAuLi5uYXZpZ2F0b3JQcm9wcyxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICAuLi5uYXZpZ2F0b3JQcm9wcyxcbiAgICAgIGluaXREYXRhOiB7XG4gICAgICAgIC4uLm5leHRQcm9wcy5pbml0RGF0YSxcbiAgICAgICAgbmF2aWdhdG9yOiAoKSA9PiBuYXZpZ2F0b3JQcm9wcyxcbiAgICAgIH0sXG4gICAgICBhcHA6IChcbiAgICAgICAgPE5hdmlnYXRvckNvbnRleHQgdmFsdWU9e25hdmlnYXRvclByb3BzfT5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9OYXZpZ2F0b3JDb250ZXh0PlxuICAgICAgKSxcbiAgICB9O1xuICB9O1xufVxuIiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBsYXlTcG91dHMgfSBmcm9tICcuL2xheVNwb3V0cy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRvY3VtZW50U3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9kb2N1bWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkYXRhQ2xpZW50U3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9kYXRhQ2xpZW50LnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJvdXRlclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcm91dGVyLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHByZWZldGNoU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBKU09OU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9qc29uLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvYXBwLnNlcnZlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5hdmlnYXRvclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLnNlcnZlci5qcyc7XG5leHBvcnQgeyB1c2VOYXZpZ2F0b3IgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IE5hdmlnYXRvclByb3BlcnRpZXMgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuY29udGV4dC5qcyc7XG5leHBvcnQgdHlwZSB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCBhcyBTcG91dCB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc2NyaXB0cy90eXBlcy5qcyc7XG4iXSwibmFtZXMiOlsiZ2V0RXJyb3JTdGF0dXMiLCJlcnJvciIsInN0YXR1cyIsInBhcnNlZCIsInBhcnNlSW50IiwiaXNOYU4iLCJlc2NhcGVIdG1sIiwic3RyIiwicmVwbGFjZSIsInJlbmRlckVycm9yUGFnZSIsInVybCIsInN0YXR1c0NvZGUiLCJvcHRpb25zIiwiZXJyb3JNZXNzYWdlIiwiRXJyb3IiLCJtZXNzYWdlIiwiU3RyaW5nIiwic3RhY2siLCJ1bmRlZmluZWQiLCJzaG93U3RhY2siLCJoaW50IiwiYmFkZ2UiLCJjcnlwdG8iLCJyZW5kZXJUb1BpcGVhYmxlU3RyZWFtIiwicmVhY3RSZW5kZXIiLCJsYXlTcG91dHMiLCJzcG91dHMiLCJ0aW1lb3V0TVMiLCJvbkVycm9yIiwicmVuZGVyIiwiY2xpZW50TWFuaWZlc3QiLCJyZXEiLCJyZXMiLCJub25jZSIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJhcHAiLCJkaWRFcnJvciIsImxhc3RFcnJvciIsInBpcGUiLCJhYm9ydCIsIm9uU2hlbGxSZWFkeSIsInNldEhlYWRlciIsIm9uU2hlbGxFcnJvciIsImUiLCJjb25zb2xlIiwic2V0VGltZW91dCIsImJ1aWxkUG9saWN5IiwicG9saWN5T2JqIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbCIsIkFycmF5IiwiaXNBcnJheSIsIlNldCIsInZhbHVlcyIsImZpbHRlciIsInYiLCJqb2luIiwiaW5jbHVkZXMiLCJuZXdWYWwiLCJ0cmltIiwiam9pbk5vbmNlIiwicG9saWN5IiwiRG9jdW1lbnQiLCJhc3NldHMiLCJoZWFkIiwiZGVmYXVsdEhlYWQiLCJjaGlsZHJlbiIsInRpdGxlIiwicm9vdElkIiwiY2hhclNldCIsInNjcmlwdHMiLCJleHRyYVN0eWxlIiwibGFuZyIsIl9qc3hzIiwiX2pzeCIsImFzc2V0IiwiaSIsInJlbCIsImlkIiwiaHJlZiIsImVuZHNXaXRoIiwic3JjIiwiYXN5bmMiLCJfRnJhZ21lbnQiLCJuYW1lIiwiY29udGVudCIsInByb2Nlc3MiLCJlbnYiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwiUmVhY3QiLCJqc3giLCJEb2N1bWVudFNwb3V0IiwibmV4dCIsInByb3BzIiwibmV4dFByb3BzIiwicHVibGljUGF0aCIsImVudHJ5cG9pbnRzIiwibGVuZ3RoIiwiYXNzZXRNYXAiLCJhc3NldExpc3QiLCJmb3JFYWNoIiwiZW50cnlwb2ludCIsInB1c2giLCJuYW1lZENodW5rR3JvdXBzIiwibWF0Y2hlZFJvdXRlcyIsInNvbWUiLCJyb3V0ZSIsImZsYXRNYXAiLCJjaHVuayIsImNoaWxkcmVuQXNzZXRzIiwiYXMiLCJjc1BvbGljeSIsImh0dHBFcXVpdiIsIk5PREVfRU5WIiwicHJlbG9hZCIsImMiLCJkYXRhQ2xpZW50U3BvdXQiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiTmV0d29ya01hbmFnZXIiLCJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIlNlcnZlckRhdGFQcm92aWRlciIsInVzZVJlYWR5Q2FjaGVTdGF0ZSIsImNvbnRyb2xsZXIiLCJzdG9yZSIsImluaXREYXRhIiwiZGF0YWNsaWVudCIsIlJvdXRlUHJvdmlkZXIiLCJjcmVhdGVNZW1vcnlIaXN0b3J5Iiwicm91dGVyU3BvdXQiLCJjcmVhdGVSb3V0ZUNvbXBvbmVudCIsInJvdXRlciIsIlJvdXRlciIsInJlc29sdmVXaXRoIiwidXNlUmVzb2x2ZVdpdGgiLCJwYXJ0cyIsInNwbGl0Iiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlUm91dGVyIiwiaW5pdGlhbEVudHJpZXMiLCJnZXRNYXRjaGVkUm91dGVzIiwicHJlZmV0Y2hTcG91dCIsImZpZWxkIiwidG9GZXRjaCIsImNvbXBvbmVudCIsInJlc29sdmVEYXRhIiwiUHJvbWlzZSIsImFsbCIsIlN1c3BlbnNlIiwiSlNPTlNwb3V0IiwiZW50cmllcyIsInVzZURhdGEiLCJnbG9iYWxJZCIsIlNjcmlwdCIsImRhdGEiLCJlbmNvZGVkIiwiSlNPTiIsInN0cmluZ2lmeSIsInR5cGUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFwcFNwb3V0IiwicmVzb2x2ZSIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDb250ZXh0IiwiTmF2aWdhdG9yQ29udGV4dCIsInVzZU5hdmlnYXRvciIsImNvbnRleHQiLCJwYXJzZUFjY2VwdExhbmd1YWdlIiwiaGVhZGVyIiwibGFuZ3VhZ2UiLCJsYW5ndWFnZXMiLCJwYXJ0IiwicVBhcnQiLCJxIiwicGFyc2VGbG9hdCIsInNvcnQiLCJhIiwiYiIsIm5hdmlnYXRvclNwb3V0IiwiYWNjZXB0TGFuZ3VhZ2UiLCJoZWFkZXJzIiwibmF2aWdhdG9yUHJvcHMiLCJuYXZpZ2F0b3IiLCJ2YWx1ZSIsImRlZmF1bHQiLCJkb2N1bWVudFNwb3V0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=
|
package/lib/index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export { default as routerSpout } from './spouts/router.js';
|
|
|
5
5
|
export { default as JSONSpout } from './spouts/json.js';
|
|
6
6
|
export { default as appSpout } from './spouts/app.js';
|
|
7
7
|
export { default as navigatorSpout } from './spouts/navigator.js';
|
|
8
|
-
export { default as antdSpout } from './spouts/antd.js';
|
|
9
8
|
export { useNavigator } from './spouts/navigator.context.js';
|
|
10
9
|
export type { NavigatorProperties } from './spouts/navigator.context.js';
|
|
11
10
|
export type { ServerProps } from './spouts/types.js';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -5,6 +5,5 @@ export { default as routerSpout } from './spouts/router.js';
|
|
|
5
5
|
export { default as JSONSpout } from './spouts/json.js';
|
|
6
6
|
export { default as appSpout } from './spouts/app.js';
|
|
7
7
|
export { default as navigatorSpout } from './spouts/navigator.js';
|
|
8
|
-
export { default as antdSpout } from './spouts/antd.js';
|
|
9
8
|
export { useNavigator } from './spouts/navigator.context.js';
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiZmxvb2RTcG91dHMiLCJkb2N1bWVudFNwb3V0IiwiZGF0YUNsaWVudFNwb3V0Iiwicm91dGVyU3BvdXQiLCJKU09OU3BvdXQiLCJhcHBTcG91dCIsIm5hdmlnYXRvclNwb3V0IiwidXNlTmF2aWdhdG9yIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgZmxvb2RTcG91dHMgfSBmcm9tICcuL2Zsb29kU3BvdXRzLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZG9jdW1lbnRTcG91dCB9IGZyb20gJy4vc3BvdXRzL2RvY3VtZW50LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGF0YUNsaWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZGF0YUNsaWVudC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJvdXRlclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcm91dGVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlNwb3V0IH0gZnJvbSAnLi9zcG91dHMvanNvbi5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvYXBwLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbmF2aWdhdG9yU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy9uYXZpZ2F0b3IuanMnO1xuZXhwb3J0IHsgdXNlTmF2aWdhdG9yIH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQuanMnO1xuZXhwb3J0IHR5cGUgeyBOYXZpZ2F0b3JQcm9wZXJ0aWVzIH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHsgQ2xpZW50U3BvdXQgYXMgU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy90eXBlcy5qcyc7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE9BQU8sSUFBSUMsV0FBVyxRQUFRLGtCQUFrQjtBQUN6RCxTQUFTRCxPQUFPLElBQUlFLGFBQWEsUUFBUSxzQkFBc0I7QUFDL0QsU0FBU0YsT0FBTyxJQUFJRyxlQUFlLFFBQVEsd0JBQXdCO0FBQ25FLFNBQVNILE9BQU8sSUFBSUksV0FBVyxRQUFRLG9CQUFvQjtBQUMzRCxTQUFTSixPQUFPLElBQUlLLFNBQVMsUUFBUSxrQkFBa0I7QUFDdkQsU0FBU0wsT0FBTyxJQUFJTSxRQUFRLFFBQVEsaUJBQWlCO0FBQ3JELFNBQVNOLE9BQU8sSUFBSU8sY0FBYyxRQUFRLHVCQUF1QjtBQUNqRSxTQUFTQyxZQUFZLFFBQVEsK0JBQStCIiwiaWdub3JlTGlzdCI6W119
|
package/lib/index.server.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { default as laySpouts } from './laySpouts.js';
|
|
2
2
|
export { default as documentSpout } from './spouts/document.server.js';
|
|
3
3
|
export { default as dataClientSpout } from './spouts/dataClient.server.js';
|
|
4
|
-
export { default as antdSpout } from './spouts/antd.server.js';
|
|
5
4
|
export { default as routerSpout } from './spouts/router.server.js';
|
|
6
5
|
export { default as prefetchSpout } from './spouts/prefetch.server.js';
|
|
7
6
|
export { default as JSONSpout } from './spouts/json.server.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC9D,cAAc,oBAAoB,CAAC"}
|
package/lib/index.server.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { default as laySpouts } from './laySpouts.js';
|
|
2
2
|
export { default as documentSpout } from './spouts/document.server.js';
|
|
3
3
|
export { default as dataClientSpout } from './spouts/dataClient.server.js';
|
|
4
|
-
export { default as antdSpout } from './spouts/antd.server.js';
|
|
5
4
|
export { default as routerSpout } from './spouts/router.server.js';
|
|
6
5
|
export { default as prefetchSpout } from './spouts/prefetch.server.js';
|
|
7
6
|
export { default as JSONSpout } from './spouts/json.server.js';
|
|
@@ -9,4 +8,4 @@ export { default as appSpout } from './spouts/app.server.js';
|
|
|
9
8
|
export { default as navigatorSpout } from './spouts/navigator.server.js';
|
|
10
9
|
export { useNavigator } from './spouts/navigator.context.js';
|
|
11
10
|
export * from './scripts/types.js';
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwibGF5U3BvdXRzIiwiZG9jdW1lbnRTcG91dCIsImRhdGFDbGllbnRTcG91dCIsInJvdXRlclNwb3V0IiwicHJlZmV0Y2hTcG91dCIsIkpTT05TcG91dCIsImFwcFNwb3V0IiwibmF2aWdhdG9yU3BvdXQiLCJ1c2VOYXZpZ2F0b3IiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgbGF5U3BvdXRzIH0gZnJvbSAnLi9sYXlTcG91dHMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkb2N1bWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZG9jdW1lbnQuc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGF0YUNsaWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZGF0YUNsaWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByb3V0ZXJTcG91dCB9IGZyb20gJy4vc3BvdXRzL3JvdXRlci5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwcmVmZXRjaFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcHJlZmV0Y2guc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlNwb3V0IH0gZnJvbSAnLi9zcG91dHMvanNvbi5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhcHBTcG91dCB9IGZyb20gJy4vc3BvdXRzL2FwcC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBuYXZpZ2F0b3JTcG91dCB9IGZyb20gJy4vc3BvdXRzL25hdmlnYXRvci5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgdXNlTmF2aWdhdG9yIH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQuanMnO1xuZXhwb3J0IHR5cGUgeyBOYXZpZ2F0b3JQcm9wZXJ0aWVzIH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgYXMgU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy90eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjcmlwdHMvdHlwZXMuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxPQUFPLElBQUlDLFNBQVMsUUFBUSxnQkFBZ0I7QUFDckQsU0FBU0QsT0FBTyxJQUFJRSxhQUFhLFFBQVEsNkJBQTZCO0FBQ3RFLFNBQVNGLE9BQU8sSUFBSUcsZUFBZSxRQUFRLCtCQUErQjtBQUMxRSxTQUFTSCxPQUFPLElBQUlJLFdBQVcsUUFBUSwyQkFBMkI7QUFDbEUsU0FBU0osT0FBTyxJQUFJSyxhQUFhLFFBQVEsNkJBQTZCO0FBQ3RFLFNBQVNMLE9BQU8sSUFBSU0sU0FBUyxRQUFRLHlCQUF5QjtBQUM5RCxTQUFTTixPQUFPLElBQUlPLFFBQVEsUUFBUSx3QkFBd0I7QUFDNUQsU0FBU1AsT0FBTyxJQUFJUSxjQUFjLFFBQVEsOEJBQThCO0FBQ3hFLFNBQVNDLFlBQVksUUFBUSwrQkFBK0I7QUFJNUQsY0FBYyxvQkFBb0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { default as laySpouts } from './laySpouts.js';
|
|
2
2
|
export { default as documentSpout } from './spouts/document.server.js';
|
|
3
3
|
export { default as dataClientSpout } from './spouts/dataClient.server.js';
|
|
4
|
-
export { default as antdSpout } from './spouts/antd.server.js';
|
|
5
4
|
export { default as routerSpout } from './spouts/router.server.js';
|
|
6
5
|
export { default as prefetchSpout } from './spouts/prefetch.server.js';
|
|
7
6
|
export { default as JSONSpout } from './spouts/json.server.js';
|
|
@@ -9,4 +8,4 @@ export { default as appSpout } from './spouts/app.server.js';
|
|
|
9
8
|
export { default as navigatorSpout } from './spouts/navigator.server.js';
|
|
10
9
|
export { useNavigator } from './spouts/navigator.context.js';
|
|
11
10
|
export * from './scripts/types.js';
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwibGF5U3BvdXRzIiwiZG9jdW1lbnRTcG91dCIsImRhdGFDbGllbnRTcG91dCIsInJvdXRlclNwb3V0IiwicHJlZmV0Y2hTcG91dCIsIkpTT05TcG91dCIsImFwcFNwb3V0IiwibmF2aWdhdG9yU3BvdXQiLCJ1c2VOYXZpZ2F0b3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXguc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgbGF5U3BvdXRzIH0gZnJvbSAnLi9sYXlTcG91dHMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkb2N1bWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZG9jdW1lbnQuc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGF0YUNsaWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZGF0YUNsaWVudC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByb3V0ZXJTcG91dCB9IGZyb20gJy4vc3BvdXRzL3JvdXRlci5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwcmVmZXRjaFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcHJlZmV0Y2guc2VydmVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlNwb3V0IH0gZnJvbSAnLi9zcG91dHMvanNvbi5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhcHBTcG91dCB9IGZyb20gJy4vc3BvdXRzL2FwcC5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBuYXZpZ2F0b3JTcG91dCB9IGZyb20gJy4vc3BvdXRzL25hdmlnYXRvci5zZXJ2ZXIuanMnO1xuZXhwb3J0IHsgdXNlTmF2aWdhdG9yIH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQuanMnO1xuZXhwb3J0IHR5cGUgeyBOYXZpZ2F0b3JQcm9wZXJ0aWVzIH0gZnJvbSAnLi9zcG91dHMvbmF2aWdhdG9yLmNvbnRleHQuanMnO1xuZXhwb3J0IHR5cGUgeyBTZXJ2ZXJQcm9wcyB9IGZyb20gJy4vc3BvdXRzL3R5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgYXMgU3BvdXQgfSBmcm9tICcuL3Nwb3V0cy90eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjcmlwdHMvdHlwZXMuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxPQUFPLElBQUlDLFNBQVMsUUFBUSxnQkFBZ0I7QUFDckQsU0FBU0QsT0FBTyxJQUFJRSxhQUFhLFFBQVEsNkJBQTZCO0FBQ3RFLFNBQVNGLE9BQU8sSUFBSUcsZUFBZSxRQUFRLCtCQUErQjtBQUMxRSxTQUFTSCxPQUFPLElBQUlJLFdBQVcsUUFBUSwyQkFBMkI7QUFDbEUsU0FBU0osT0FBTyxJQUFJSyxhQUFhLFFBQVEsNkJBQTZCO0FBQ3RFLFNBQVNMLE9BQU8sSUFBSU0sU0FBUyxRQUFRLHlCQUF5QjtBQUM5RCxTQUFTTixPQUFPLElBQUlPLFFBQVEsUUFBUSx3QkFBd0I7QUFDNUQsU0FBU1AsT0FBTyxJQUFJUSxjQUFjLFFBQVEsOEJBQThCO0FBQ3hFLFNBQVNDLFlBQVksUUFBUSwrQkFBK0I7QUFJNUQsY0FBYyxvQkFBb0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import { createCache, StyleProvider } from '@ant-design/cssinjs';
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export
|
|
3
|
+
export function antdSpout() {
|
|
3
4
|
return next => async props => {
|
|
4
|
-
const {
|
|
5
|
-
createCache,
|
|
6
|
-
StyleProvider
|
|
7
|
-
} = await import('@ant-design/cssinjs');
|
|
8
5
|
const cache = createCache();
|
|
9
6
|
const nextProps = await next(props);
|
|
10
7
|
return {
|
|
@@ -16,4 +13,4 @@ export default function antdSpout() {
|
|
|
16
13
|
};
|
|
17
14
|
};
|
|
18
15
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDYWNoZSIsIlN0eWxlUHJvdmlkZXIiLCJqc3giLCJfanN4IiwiYW50ZFNwb3V0IiwibmV4dCIsInByb3BzIiwiY2FjaGUiLCJuZXh0UHJvcHMiLCJhcHAiLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zcG91dHMvYW50ZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2FjaGUsIFN0eWxlUHJvdmlkZXIgfSBmcm9tICdAYW50LWRlc2lnbi9jc3NpbmpzJztcblxuaW1wb3J0IHR5cGUgeyBDbGllbnRTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYW50ZFNwb3V0KCk6IENsaWVudFNwb3V0IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogPFN0eWxlUHJvdmlkZXIgY2FjaGU9e2NhY2hlfT57bmV4dFByb3BzLmFwcH08L1N0eWxlUHJvdmlkZXI+LFxuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFdBQVcsRUFBRUMsYUFBYSxRQUFRLHFCQUFxQjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUlqRSxPQUFPLFNBQVNDLFNBQVNBLENBQUEsRUFBZ0I7RUFDdkMsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUM1QixNQUFNQyxLQUFLLEdBQUdQLFdBQVcsQ0FBQyxDQUFDO0lBRTNCLE1BQU1RLFNBQVMsR0FBRyxNQUFNSCxJQUFJLENBQUNDLEtBQUssQ0FBQztJQUVuQyxPQUFPO01BQ0wsR0FBR0UsU0FBUztNQUNaQyxHQUFHLGVBQUVOLElBQUEsQ0FBQ0YsYUFBYTtRQUFDTSxLQUFLLEVBQUVBLEtBQU07UUFBQUcsUUFBQSxFQUFFRixTQUFTLENBQUNDO01BQUcsQ0FBZ0I7SUFDbEUsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
export
|
|
3
|
+
export function antdSpout() {
|
|
4
4
|
return next => async props => {
|
|
5
5
|
const {
|
|
6
6
|
createCache,
|
|
@@ -31,4 +31,4 @@ export default function antdSpout() {
|
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIkFudGRTaGVldHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIkFudGRTaGVldHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBhbnRkU3BvdXQoKTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgTmVlZGVkTmV4dFxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNyZWF0ZUNhY2hlLCBleHRyYWN0U3R5bGUsIFN0eWxlUHJvdmlkZXIgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgIC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8gJ0BhbnQtZGVzaWduL2Nzc2luanMnXG4gICAgKTtcbiAgICBjb25zdCBjYWNoZSA9IGNyZWF0ZUNhY2hlKCk7XG4gICAgY29uc3QgQW50ZFNoZWV0cyA9ICgpOiBKU1guRWxlbWVudCA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c2NyaXB0XG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgIF9faHRtbDogYDwvc2NyaXB0PiR7ZXh0cmFjdFN0eWxlKGNhY2hlKX08c2NyaXB0PmAsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIC8vIHVuZm9ydHVuYXRlbHkgd2UgaGF2ZSB0byBpbmplY3QgdGhpcyBhZnRlciB0aGUgZW50aXJlIGNvbnRlbnQgaGFzIHN0cmVhbWVkIGluIG9yIGl0IGRvZXNuJ3QgY29ycmVjdGx5IHBvcHVsYXRlXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9jc3NpbmpzL2lzc3Vlcy83OVxuICAgIHNjcmlwdHMucHVzaCg8QW50ZFNoZWV0cyBrZXk9XCJhbnRkLXNoZWV0c1wiIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxNQUFvQixPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVXhDLE9BQU8sU0FBU0MsU0FBU0EsQ0FBQSxFQUl2QjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFDNUIsTUFBTTtNQUFFQyxXQUFXO01BQUVDLFlBQVk7TUFBRUM7SUFBYyxDQUFDLEdBQUcsTUFBTSxNQUFNLENBQy9ELHlCQUEwQixxQkFDNUIsQ0FBQztJQUNELE1BQU1DLEtBQUssR0FBR0gsV0FBVyxDQUFDLENBQUM7SUFDM0IsTUFBTUksVUFBVSxHQUFHQSxDQUFBLEtBQW1CO01BQ3BDLG9CQUNFUixJQUFBO1FBQ0VTLHVCQUF1QixFQUFFO1VBQ3ZCQyxNQUFNLEVBQUUsWUFBWUwsWUFBWSxDQUFDRSxLQUFLLENBQUM7UUFDekM7TUFBRSxDQUNILENBQUM7SUFFTixDQUFDO0lBRUQsTUFBTUksU0FBUyxHQUFHLE1BQU1ULElBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBRW5DLE1BQU1TLE9BQTBCLEdBQUdELFNBQVMsQ0FBQ0MsT0FBTyxJQUFJLEVBQUU7O0lBRTFEO0lBQ0E7SUFDQUEsT0FBTyxDQUFDQyxJQUFJLGNBQUNiLElBQUEsQ0FBQ1EsVUFBVSxNQUFLLGFBQWUsQ0FBQyxDQUFDO0lBRTlDLE9BQU87TUFDTCxHQUFHRyxTQUFTO01BQ1pHLEdBQUcsZUFBRWQsSUFBQSxDQUFDTSxhQUFhO1FBQUNDLEtBQUssRUFBRUEsS0FBTTtRQUFBUSxRQUFBLEVBQUVKLFNBQVMsQ0FBQ0c7TUFBRyxDQUFnQixDQUFDO01BQ2pFRjtJQUNGLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/spouts/antd.d.ts
CHANGED
package/lib/spouts/antd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antd.d.ts","sourceRoot":"","sources":["../../src/spouts/antd.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"antd.d.ts","sourceRoot":"","sources":["../../src/spouts/antd.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,SAAS,IAAI,WAAW,CAWvC"}
|
package/lib/spouts/antd.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
import { createCache, StyleProvider } from '@ant-design/cssinjs';
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export
|
|
3
|
+
export function antdSpout() {
|
|
3
4
|
return next => async props => {
|
|
4
|
-
const {
|
|
5
|
-
createCache,
|
|
6
|
-
StyleProvider
|
|
7
|
-
} = await import('@ant-design/cssinjs');
|
|
8
5
|
const cache = createCache();
|
|
9
6
|
const nextProps = await next(props);
|
|
10
7
|
return {
|
|
@@ -16,4 +13,4 @@ export default function antdSpout() {
|
|
|
16
13
|
};
|
|
17
14
|
};
|
|
18
15
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDYWNoZSIsIlN0eWxlUHJvdmlkZXIiLCJqc3giLCJfanN4IiwiYW50ZFNwb3V0IiwibmV4dCIsInByb3BzIiwiY2FjaGUiLCJuZXh0UHJvcHMiLCJhcHAiLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcG91dHMvYW50ZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2FjaGUsIFN0eWxlUHJvdmlkZXIgfSBmcm9tICdAYW50LWRlc2lnbi9jc3NpbmpzJztcblxuaW1wb3J0IHR5cGUgeyBDbGllbnRTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYW50ZFNwb3V0KCk6IENsaWVudFNwb3V0IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogPFN0eWxlUHJvdmlkZXIgY2FjaGU9e2NhY2hlfT57bmV4dFByb3BzLmFwcH08L1N0eWxlUHJvdmlkZXI+LFxuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFdBQVcsRUFBRUMsYUFBYSxRQUFRLHFCQUFxQjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUlqRSxPQUFPLFNBQVNDLFNBQVNBLENBQUEsRUFBZ0I7RUFDdkMsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUM1QixNQUFNQyxLQUFLLEdBQUdQLFdBQVcsQ0FBQyxDQUFDO0lBRTNCLE1BQU1RLFNBQVMsR0FBRyxNQUFNSCxJQUFJLENBQUNDLEtBQUssQ0FBQztJQUVuQyxPQUFPO01BQ0wsR0FBR0UsU0FBUztNQUNaQyxHQUFHLGVBQUVOLElBQUEsQ0FBQ0YsYUFBYTtRQUFDTSxLQUFLLEVBQUVBLEtBQU07UUFBQUcsUUFBQSxFQUFFRixTQUFTLENBQUNDO01BQUcsQ0FBZ0I7SUFDbEUsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -5,6 +5,6 @@ type NeededNext = {
|
|
|
5
5
|
scripts?: React.ReactNode[];
|
|
6
6
|
extraStyle?: React.ReactNode[];
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export declare function antdSpout(): ServerSpout<Record<string, unknown>, Record<string, unknown>, NeededNext>;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=antd.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antd.server.d.ts","sourceRoot":"","sources":["../../src/spouts/antd.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;CAChC,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"antd.server.d.ts","sourceRoot":"","sources":["../../src/spouts/antd.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;CAChC,CAAC;AAEF,wBAAgB,SAAS,IAAI,WAAW,CACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,UAAU,CACX,CA8BA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
export
|
|
3
|
+
export function antdSpout() {
|
|
4
4
|
return next => async props => {
|
|
5
5
|
var _nextProps$scripts;
|
|
6
6
|
const {
|
|
@@ -32,4 +32,4 @@ export default function antdSpout() {
|
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIkFudGRTaGVldHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIkFudGRTaGVldHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBhbnRkU3BvdXQoKTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgTmVlZGVkTmV4dFxuPiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNyZWF0ZUNhY2hlLCBleHRyYWN0U3R5bGUsIFN0eWxlUHJvdmlkZXIgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgIC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8gJ0BhbnQtZGVzaWduL2Nzc2luanMnXG4gICAgKTtcbiAgICBjb25zdCBjYWNoZSA9IGNyZWF0ZUNhY2hlKCk7XG4gICAgY29uc3QgQW50ZFNoZWV0cyA9ICgpOiBKU1guRWxlbWVudCA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c2NyaXB0XG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgIF9faHRtbDogYDwvc2NyaXB0PiR7ZXh0cmFjdFN0eWxlKGNhY2hlKX08c2NyaXB0PmAsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIC8vIHVuZm9ydHVuYXRlbHkgd2UgaGF2ZSB0byBpbmplY3QgdGhpcyBhZnRlciB0aGUgZW50aXJlIGNvbnRlbnQgaGFzIHN0cmVhbWVkIGluIG9yIGl0IGRvZXNuJ3QgY29ycmVjdGx5IHBvcHVsYXRlXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9jc3NpbmpzL2lzc3Vlcy83OVxuICAgIHNjcmlwdHMucHVzaCg8QW50ZFNoZWV0cyBrZXk9XCJhbnRkLXNoZWV0c1wiIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxNQUFvQixPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVXhDLE9BQU8sU0FBU0MsU0FBU0EsQ0FBQSxFQUl2QjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFBQSxJQUFBQyxrQkFBQTtJQUM1QixNQUFNO01BQUVDLFdBQVc7TUFBRUMsWUFBWTtNQUFFQztJQUFjLENBQUMsR0FBRyxNQUFNLE1BQU0sQ0FDL0QseUJBQTBCLHFCQUM1QixDQUFDO0lBQ0QsTUFBTUMsS0FBSyxHQUFHSCxXQUFXLENBQUMsQ0FBQztJQUMzQixNQUFNSSxVQUFVLEdBQUdBLENBQUEsS0FBbUI7TUFDcEMsb0JBQ0VULElBQUE7UUFDRVUsdUJBQXVCLEVBQUU7VUFDdkJDLE1BQU0sRUFBRSxZQUFZTCxZQUFZLENBQUNFLEtBQUssQ0FBQztRQUN6QztNQUFFLENBQ0gsQ0FBQztJQUVOLENBQUM7SUFFRCxNQUFNSSxTQUFTLEdBQUcsTUFBTVYsSUFBSSxDQUFDQyxLQUFLLENBQUM7SUFFbkMsTUFBTVUsT0FBMEIsSUFBQVQsa0JBQUEsR0FBR1EsU0FBUyxDQUFDQyxPQUFPLFlBQUFULGtCQUFBLEdBQUksRUFBRTs7SUFFMUQ7SUFDQTtJQUNBUyxPQUFPLENBQUNDLElBQUksY0FBQ2QsSUFBQSxDQUFDUyxVQUFVLE1BQUssYUFBZSxDQUFDLENBQUM7SUFFOUMsT0FBTztNQUNMLEdBQUdHLFNBQVM7TUFDWkcsR0FBRyxlQUFFZixJQUFBLENBQUNPLGFBQWE7UUFBQ0MsS0FBSyxFQUFFQSxLQUFNO1FBQUFRLFFBQUEsRUFBRUosU0FBUyxDQUFDRztNQUFHLENBQWdCLENBQUM7TUFDakVGO0lBQ0YsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anansi/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "React 19 Framework",
|
|
5
5
|
"homepage": "https://github.com/ntucker/anansi/tree/master/packages/core#readme",
|
|
6
6
|
"repository": {
|
|
@@ -53,6 +53,18 @@
|
|
|
53
53
|
"types": "./lib/scripts/index.d.ts",
|
|
54
54
|
"default": "./lib/scripts/index.js"
|
|
55
55
|
},
|
|
56
|
+
"./antd": {
|
|
57
|
+
"node": {
|
|
58
|
+
"types": "./lib/spouts/antd.server.d.ts",
|
|
59
|
+
"import": "./lib/spouts/antd.server.js"
|
|
60
|
+
},
|
|
61
|
+
"types": "./lib/spouts/antd.d.ts",
|
|
62
|
+
"default": "./lib/spouts/antd.js"
|
|
63
|
+
},
|
|
64
|
+
"./antd/server": {
|
|
65
|
+
"types": "./lib/spouts/antd.server.d.ts",
|
|
66
|
+
"default": "./lib/spouts/antd.server.js"
|
|
67
|
+
},
|
|
56
68
|
"./package.json": "./package.json"
|
|
57
69
|
},
|
|
58
70
|
"keywords": [
|
package/src/index.server.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { default as laySpouts } from './laySpouts.js';
|
|
2
2
|
export { default as documentSpout } from './spouts/document.server.js';
|
|
3
3
|
export { default as dataClientSpout } from './spouts/dataClient.server.js';
|
|
4
|
-
export { default as antdSpout } from './spouts/antd.server.js';
|
|
5
4
|
export { default as routerSpout } from './spouts/router.server.js';
|
|
6
5
|
export { default as prefetchSpout } from './spouts/prefetch.server.js';
|
|
7
6
|
export { default as JSONSpout } from './spouts/json.server.js';
|
package/src/index.ts
CHANGED
|
@@ -5,7 +5,6 @@ export { default as routerSpout } from './spouts/router.js';
|
|
|
5
5
|
export { default as JSONSpout } from './spouts/json.js';
|
|
6
6
|
export { default as appSpout } from './spouts/app.js';
|
|
7
7
|
export { default as navigatorSpout } from './spouts/navigator.js';
|
|
8
|
-
export { default as antdSpout } from './spouts/antd.js';
|
|
9
8
|
export { useNavigator } from './spouts/navigator.context.js';
|
|
10
9
|
export type { NavigatorProperties } from './spouts/navigator.context.js';
|
|
11
10
|
export type { ServerProps } from './spouts/types.js';
|
package/src/spouts/antd.tsx
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { createCache, StyleProvider } from '@ant-design/cssinjs';
|
|
2
|
+
|
|
1
3
|
import type { ClientSpout } from './types.js';
|
|
2
4
|
|
|
3
|
-
export
|
|
5
|
+
export function antdSpout(): ClientSpout {
|
|
4
6
|
return next => async props => {
|
|
5
|
-
const { createCache, StyleProvider } = await import('@ant-design/cssinjs');
|
|
6
7
|
const cache = createCache();
|
|
7
8
|
|
|
8
9
|
const nextProps = await next(props);
|