@ably/ui 8.7.0-dev.6dec76a → 8.7.0-dev.7072b07

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/core/.DS_Store +0 -0
  2. package/core/Code/component.css +2 -0
  3. package/core/Code/component.js +739 -1
  4. package/core/Code.jsx +557 -410
  5. package/core/CompanyAutocomplete/component.css +2 -0
  6. package/core/CompanyAutocomplete/component.js +1161 -1
  7. package/core/ConnectStateWrapper/component.js +22 -1
  8. package/core/ConnectStateWrapper.jsx +29 -15
  9. package/core/ContactFooter/component.css +2 -0
  10. package/core/ContactFooter/component.js +211 -1
  11. package/core/ContactFooter.jsx +221 -144
  12. package/core/CookieMessage/component.css +2 -0
  13. package/core/CookieMessage/component.js +82 -1
  14. package/core/CookieMessage.jsx +62 -45
  15. package/core/CustomerLogos/component.js +22 -1
  16. package/core/CustomerLogos.jsx +16 -7
  17. package/core/DropdownMenu/component.js +22 -1
  18. package/core/DropdownMenu.jsx +26 -13
  19. package/core/FeatureFooter/component.css +2 -0
  20. package/core/FeatureFooter/component.js +211 -1
  21. package/core/FeaturedLink/component.css +2 -0
  22. package/core/FeaturedLink/component.js +82 -1
  23. package/core/FeaturedLink.jsx +25 -12
  24. package/core/Flash/component.css +2 -0
  25. package/core/Flash/component.js +82 -1
  26. package/core/Flash.jsx +132 -101
  27. package/core/Footer/component.css +2 -0
  28. package/core/Footer/component.js +82 -1
  29. package/core/Footer.jsx +216 -203
  30. package/core/Icon/component.js +22 -1
  31. package/core/Icon.jsx +16 -7
  32. package/core/Loader/component.js +22 -1
  33. package/core/Loader.jsx +16 -7
  34. package/core/Logo/component.js +22 -1
  35. package/core/Logo.jsx +16 -7
  36. package/core/Meganav/component.css +3 -3
  37. package/core/Meganav/component.js +992 -1
  38. package/core/Meganav/component.json +1 -1
  39. package/core/Meganav.jsx +2688 -2342
  40. package/core/MeganavBlogPostsList/component.js +1159 -1
  41. package/core/MeganavBlogPostsList.jsx +34 -17
  42. package/core/MeganavContentCompany/component.js +22 -1
  43. package/core/MeganavContentCompany.jsx +293 -216
  44. package/core/MeganavContentDevelopers/component.js +22 -1
  45. package/core/MeganavContentDevelopers.jsx +58 -20
  46. package/core/MeganavContentPlatform/component.js +1 -1
  47. package/core/MeganavContentPlatform.jsx +26 -50
  48. package/core/MeganavContentProducts/component.js +22 -0
  49. package/core/MeganavContentProducts.jsx +350 -0
  50. package/core/MeganavContentUseCases/component.js +22 -1
  51. package/core/MeganavContentUseCases.jsx +54 -31
  52. package/core/MeganavControl/component.js +241 -1
  53. package/core/MeganavControl.jsx +25 -12
  54. package/core/MeganavControlMobileDropdown/component.js +180 -1
  55. package/core/MeganavControlMobileDropdown.jsx +26 -13
  56. package/core/MeganavControlMobilePanelClose/component.js +142 -1
  57. package/core/MeganavControlMobilePanelClose.jsx +25 -12
  58. package/core/MeganavControlMobilePanelOpen/component.js +170 -1
  59. package/core/MeganavControlMobilePanelOpen.jsx +25 -12
  60. package/core/MeganavItemsDesktop/component.js +22 -1
  61. package/core/MeganavItemsDesktop.jsx +42 -22
  62. package/core/MeganavItemsMobile/component.js +22 -1
  63. package/core/MeganavItemsMobile.jsx +104 -60
  64. package/core/MeganavItemsSignedIn/component.js +22 -1
  65. package/core/MeganavItemsSignedIn.jsx +93 -52
  66. package/core/MeganavSearch/component.js +22 -1
  67. package/core/MeganavSearch.jsx +64 -35
  68. package/core/MeganavSearchAutocomplete/component.js +295 -1
  69. package/core/MeganavSearchAutocomplete.jsx +10 -4
  70. package/core/MeganavSearchPanel/component.js +22 -1
  71. package/core/MeganavSearchPanel.jsx +53 -28
  72. package/core/MeganavSearchSuggestions/component.js +258 -1
  73. package/core/MeganavSearchSuggestions.jsx +34 -17
  74. package/core/Notice/component.css +2 -0
  75. package/core/Notice/component.js +872 -1
  76. package/core/Notice.jsx +380 -307
  77. package/core/Showcase/component.css +2 -0
  78. package/core/Showcase/component.js +343 -1
  79. package/core/Showcase.jsx +4 -1
  80. package/core/SignOutLink/component.js +22 -1
  81. package/core/SignOutLink.jsx +16 -7
  82. package/core/Slider/component.css +2 -0
  83. package/core/Slider/component.js +255 -1
  84. package/core/Slider.jsx +208 -156
  85. package/core/Uptime/component.css +2 -0
  86. package/core/Uptime/component.js +82 -1
  87. package/core/Uptime.jsx +46 -23
  88. package/core/images/best-support-2023.svg +1 -0
  89. package/core/images/fastest-implementation-2023.svg +1 -0
  90. package/core/images/high-performer-2023.svg +1 -0
  91. package/core/images/highest-user-adoption-2023.svg +1 -0
  92. package/core/scripts.js +1465 -1
  93. package/core/sprites.svg +84 -0
  94. package/core/styles.css +3 -7
  95. package/package.json +5 -3
  96. package/reset/scripts.js +1 -1
  97. package/reset/styles.css +1 -11
  98. package/src/.DS_Store +0 -0
  99. package/src/core/.DS_Store +0 -0
  100. package/src/core/Footer/component.html.erb +7 -12
  101. package/src/core/Footer/component.jsx +9 -17
  102. package/src/core/Meganav/component.css +1 -1
  103. package/src/core/Meganav/component.json +1 -1
  104. package/src/core/Meganav/component.jsx +2 -2
  105. package/src/core/Meganav/component.rb +4 -4
  106. package/src/core/MeganavContentCompany/component.html.erb +9 -0
  107. package/src/core/MeganavContentCompany/component.jsx +9 -0
  108. package/src/core/MeganavContentDevelopers/component.html.erb +18 -2
  109. package/src/core/MeganavContentDevelopers/component.jsx +20 -1
  110. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.html.erb +15 -33
  111. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.jsx +18 -39
  112. package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.rb +1 -1
  113. package/src/core/MeganavContentUseCases/component.html.erb +21 -14
  114. package/src/core/MeganavContentUseCases/component.jsx +20 -14
  115. package/src/core/MeganavItemsDesktop/component.jsx +1 -1
  116. package/src/core/MeganavItemsDesktop/component.rb +1 -1
  117. package/src/core/core.rb +8 -4
  118. package/src/core/icons/icon-display-asset-tracking-col.svg +18 -0
  119. package/src/core/icons/icon-display-data-broadcast-col.svg +26 -0
  120. package/src/core/icons/icon-display-data-synchronization-col.svg +14 -0
  121. package/src/core/icons/icon-display-events-col.svg +13 -0
  122. package/src/core/icons/icon-display-examples-col.svg +11 -0
  123. package/src/core/icons/icon-display-push-notifications-col.svg +6 -0
  124. package/src/core/icons/icon-social-x.svg +3 -0
  125. package/src/core/images/best-support-2023.svg +1 -0
  126. package/src/core/images/fastest-implementation-2023.svg +1 -0
  127. package/src/core/images/high-performer-2023.svg +1 -0
  128. package/src/core/images/highest-user-adoption-2023.svg +1 -0
  129. package/src/core/styles/text.css +1 -1
  130. package/src/core/utils/syntax-highlighter-registry.js +2 -0
  131. package/src/core/utils/syntax-highlighter.js +5 -0
  132. package/core/Meganav/component.js.LICENSE.txt +0 -7
  133. package/core/MeganavContentWhyAbly/component.js +0 -22
  134. package/core/MeganavContentWhyAbly.jsx +0 -3279
  135. package/core/MeganavSearchAutocomplete/component.js.LICENSE.txt +0 -7
  136. package/core/Notice/component.js.LICENSE.txt +0 -9
  137. /package/src/core/{MeganavContentPlatform → MeganavContentProducts}/component.js +0 -0
@@ -1 +1,22 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentDevelopers=o())}(this,(function(){return{}.default}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavContentDevelopers"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!********************************************************!*\
14
+ !*** ./src/core/MeganavContentDevelopers/component.js ***!
15
+ \********************************************************/
16
+
17
+ __webpack_exports__ = __webpack_exports__["default"];
18
+ /******/ return __webpack_exports__;
19
+ /******/ })()
20
+ ;
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udGVudERldmVsb3BlcnMvY29tcG9uZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsdURBQXVEO0FBQzlGLENBQUM7QUFDRCxPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBYmx5VWlcIl0gPSByb290W1wiQWJseVVpXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSA9IHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXVtcIk1lZ2FuYXZDb250ZW50RGV2ZWxvcGVyc1wiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsICgpID0+IHtcbnJldHVybiAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=
@@ -7,20 +7,24 @@
7
7
  var a = typeof exports === 'object' ? factory(require("react"), require("prop-types")) : factory(root[undefined], root[undefined]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(this, function(__WEBPACK_EXTERNAL_MODULE__9281__, __WEBPACK_EXTERNAL_MODULE__3474__) {
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_prop_types__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ "use strict";
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 9008:
15
+ /***/ "./src/core/Icon/component.jsx":
16
+ /*!*************************************!*\
17
+ !*** ./src/core/Icon/component.jsx ***!
18
+ \*************************************/
16
19
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
17
20
 
21
+ __webpack_require__.r(__webpack_exports__);
18
22
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19
23
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20
24
  /* harmony export */ });
21
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
25
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
22
26
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
23
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
27
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
24
28
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
25
29
  var _excluded = ["name", "size", "color", "additionalCSS"];
26
30
 
@@ -64,17 +68,23 @@ Icon.propTypes = {
64
68
 
65
69
  /***/ }),
66
70
 
67
- /***/ 3474:
71
+ /***/ "prop-types":
72
+ /*!*******************************************************************!*\
73
+ !*** external {"commonjs":"prop-types","commonjs2":"prop-types"} ***!
74
+ \*******************************************************************/
68
75
  /***/ ((module) => {
69
76
 
70
- module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
77
+ module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;
71
78
 
72
79
  /***/ }),
73
80
 
74
- /***/ 9281:
81
+ /***/ "react":
82
+ /*!*********************************************************!*\
83
+ !*** external {"commonjs":"react","commonjs2":"react"} ***!
84
+ \*********************************************************/
75
85
  /***/ ((module) => {
76
86
 
77
- module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
87
+ module.exports = __WEBPACK_EXTERNAL_MODULE_react__;
78
88
 
79
89
  /***/ })
80
90
 
@@ -149,15 +159,18 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
149
159
  var __webpack_exports__ = {};
150
160
  // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
151
161
  (() => {
162
+ /*!*********************************************************!*\
163
+ !*** ./src/core/MeganavContentDevelopers/component.jsx ***!
164
+ \*********************************************************/
152
165
  __webpack_require__.r(__webpack_exports__);
153
166
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
154
167
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
155
168
  /* harmony export */ });
156
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
169
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
157
170
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
158
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
171
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types");
159
172
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
160
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
173
+ /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Icon/component.jsx */ "./src/core/Icon/component.jsx");
161
174
 
162
175
 
163
176
 
@@ -180,7 +193,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
180
193
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
181
194
  href: absUrl("/docs"),
182
195
  className: "ui-meganav-media-with-image group"
183
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
196
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
184
197
  name: "icon-display-docs-col",
185
198
  size: "2.5rem"
186
199
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -192,7 +205,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
192
205
  }, "Technical guides to help you build with Ably.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
193
206
  href: absUrl("/docs/quick-start-guide"),
194
207
  className: "ui-meganav-media-with-image group"
195
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
208
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
196
209
  name: "icon-display-quickstart-guides-col",
197
210
  size: "2.5rem"
198
211
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -204,7 +217,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
204
217
  }, "Documentation to help you get started quickly.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
205
218
  href: absUrl("/integrations"),
206
219
  className: "ui-meganav-media-with-image group"
207
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
220
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
208
221
  name: "icon-display-integrations-col",
209
222
  size: "2.5rem"
210
223
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -213,7 +226,19 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
213
226
  className: "ui-meganav-media-heading"
214
227
  }, "Integrations"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
215
228
  className: "ui-meganav-media-copy"
216
- }, "Find out more about Ably integrations. ")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
229
+ }, "Find out more about Ably integrations. ")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
230
+ href: absUrl("/examples"),
231
+ className: "ui-meganav-media-with-image group"
232
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
233
+ name: "icon-display-examples-col",
234
+ size: "2.5rem"
235
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
236
+ className: "flex flex-col justify-center"
237
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
238
+ className: "ui-meganav-media-heading"
239
+ }, "Live examples"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
240
+ className: "ui-meganav-media-copy"
241
+ }, "Discover our features and their use cases.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
217
242
  className: "col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"
218
243
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
219
244
  className: "md:mt-40",
@@ -221,7 +246,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
221
246
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
222
247
  href: absUrl("/download"),
223
248
  className: "ui-meganav-media-with-image group"
224
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
249
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
225
250
  name: "icon-display-sdks-col",
226
251
  size: "2.5rem"
227
252
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -233,7 +258,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
233
258
  }, "Download an SDK to help you build realtime apps faster.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
234
259
  href: absUrl("/tutorials"),
235
260
  className: "ui-meganav-media-with-image group"
236
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
261
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
237
262
  name: "icon-display-tutorials-demos-col",
238
263
  size: "2.5rem"
239
264
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -242,10 +267,10 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
242
267
  className: "ui-meganav-media-heading"
243
268
  }, "Tutorials & Demos"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
244
269
  className: "ui-meganav-media-copy"
245
- }, "Get stuck in with our hands-on resources. ")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
270
+ }, "Get stuck in with our hands-on resources.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
246
271
  href: absUrl("/reference-guide-chat"),
247
272
  className: "ui-meganav-media-with-image group"
248
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
273
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
249
274
  name: "icon-display-chat-col",
250
275
  size: "2.5rem"
251
276
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -254,7 +279,19 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
254
279
  className: "ui-meganav-media-heading"
255
280
  }, "Chat apps reference guide"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
256
281
  className: "ui-meganav-media-copy"
257
- }, "Learn how to build chat apps with Ably.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
282
+ }, "Learn how to build chat apps with Ably.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
283
+ href: absUrl("/reference-guide-multiplayer"),
284
+ className: "ui-meganav-media-with-image group"
285
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
286
+ name: "icon-multi-user-spaces-col",
287
+ size: "2.5rem"
288
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
289
+ className: "flex flex-col justify-center"
290
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
291
+ className: "ui-meganav-media-heading"
292
+ }, "Multiplayer reference guide"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
293
+ className: "ui-meganav-media-copy"
294
+ }, "Learn how to build collaborative features with Ably.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
258
295
  className: "col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"
259
296
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
260
297
  className: "ui-meganav-overline uppercase",
@@ -282,6 +319,7 @@ var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
282
319
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
283
320
  className: "ui-meganav-media-heading"
284
321
  }, "Status", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("iframe", {
322
+ title: "Ably status",
285
323
  src: "https://status.ably.com/embed/icon",
286
324
  allowtransparency: "true",
287
325
  frameBorder: "0",
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentPlatform=o())}(this,(function(){return{}.default}));
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentPlatform=o())}(this,(()=>({}.default)));
@@ -7,7 +7,7 @@
7
7
  var a = typeof exports === 'object' ? factory(require("react"), require("prop-types")) : factory(root[undefined], root[undefined]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(this, function(__WEBPACK_EXTERNAL_MODULE__9281__, __WEBPACK_EXTERNAL_MODULE__3474__) {
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE__5225__, __WEBPACK_EXTERNAL_MODULE__6073__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ "use strict";
13
13
  /******/ var __webpack_modules__ = ({
@@ -18,9 +18,9 @@ return /******/ (() => { // webpackBootstrap
18
18
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19
19
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20
20
  /* harmony export */ });
21
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
21
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
22
22
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
23
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
23
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
24
24
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
25
25
  /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
26
26
 
@@ -42,7 +42,7 @@ var FeaturedLink = function FeaturedLink(_ref) {
42
42
  style: {
43
43
  "--featured-link-icon-size": "var(".concat(textSize.replace("text", "--fs"), ")")
44
44
  }
45
- }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
45
+ }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
46
46
  name: "icon-gui-link-arrow",
47
47
  size: "calc(var(--featured-link-icon-size) * 1.25)",
48
48
  color: iconColor,
@@ -67,9 +67,9 @@ FeaturedLink.propTypes = {
67
67
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
68
68
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
69
69
  /* harmony export */ });
70
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
70
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
71
71
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
72
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
72
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
73
73
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
74
74
  var _excluded = ["name", "size", "color", "additionalCSS"];
75
75
 
@@ -113,17 +113,17 @@ Icon.propTypes = {
113
113
 
114
114
  /***/ }),
115
115
 
116
- /***/ 3474:
116
+ /***/ 6073:
117
117
  /***/ ((module) => {
118
118
 
119
- module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
119
+ module.exports = __WEBPACK_EXTERNAL_MODULE__6073__;
120
120
 
121
121
  /***/ }),
122
122
 
123
- /***/ 9281:
123
+ /***/ 5225:
124
124
  /***/ ((module) => {
125
125
 
126
- module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
126
+ module.exports = __WEBPACK_EXTERNAL_MODULE__5225__;
127
127
 
128
128
  /***/ })
129
129
 
@@ -202,9 +202,9 @@ __webpack_require__.r(__webpack_exports__);
202
202
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
203
203
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
204
204
  /* harmony export */ });
205
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
205
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
206
206
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
207
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
207
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
208
208
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
209
209
  /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5751);
210
210
 
@@ -234,7 +234,7 @@ var MeganavContentPlatform = function MeganavContentPlatform(_ref) {
234
234
  style: {
235
235
  maxWidth: "330px"
236
236
  }
237
- }, "Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything realtime, and lets you focus on your code."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
237
+ }, "Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything realtime, and lets you focus on your code."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
238
238
  url: absUrl("/platform"),
239
239
  textSize: "text-p2"
240
240
  }, "Explore how it works")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -242,55 +242,31 @@ var MeganavContentPlatform = function MeganavContentPlatform(_ref) {
242
242
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
243
243
  className: "ui-meganav-overline",
244
244
  id: "meganav-platform-panel-list-examples"
245
- }, "Our Examples"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
245
+ }, "Products"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
246
246
  className: "mb-16",
247
247
  "aria-labelledby": "meganav-platform-panel-list-examples"
248
248
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
249
- href: absUrl("/examples/avatar-stack"),
249
+ href: absUrl("/solutions/channels"),
250
250
  className: "group ui-meganav-media"
251
251
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
252
252
  className: "ui-meganav-media-heading"
253
- }, "Avatar Stack"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
253
+ }, "Pub/Sub Channels"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
254
254
  className: "ui-meganav-media-copy"
255
- }, "See who is connected in a digital space."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
256
- href: absUrl("/examples/emoji-reactions"),
257
- className: "ui-meganav-media group"
258
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
259
- className: "ui-meganav-media-heading"
260
- }, "Emoji Reactions"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
261
- className: "ui-meganav-media-copy"
262
- }, "React with an emoji to a message."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
263
- href: absUrl("/examples/activity-feed"),
264
- className: "ui-meganav-media group"
265
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
266
- className: "ui-meganav-media-heading"
267
- }, "Activity Feed"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
268
- className: "ui-meganav-media-copy"
269
- }, "Display a list of user actions in realtime."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
270
- href: absUrl("/examples/live-cursors"),
271
- className: "ui-meganav-media group"
272
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
273
- className: "ui-meganav-media-heading"
274
- }, "Live Cursors"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
275
- className: "ui-meganav-media-copy"
276
- }, "Track all cursors in realtime."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
277
- href: absUrl("/examples/typing-indicator"),
278
- className: "ui-meganav-media group"
255
+ }, "Build infinitely scalable realtime applications."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
256
+ href: absUrl("/spaces"),
257
+ className: "group ui-meganav-media"
279
258
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
280
259
  className: "ui-meganav-media-heading"
281
- }, "Typing Indicator"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
260
+ }, "Spaces (Beta)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
282
261
  className: "ui-meganav-media-copy"
283
- }, "See when a user is typing a message."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
284
- href: absUrl("/examples/chat-admin-privileges"),
285
- className: "ui-meganav-media group"
262
+ }, "Create multi-user collaborative environments."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
263
+ href: absUrl("/livesync"),
264
+ className: "group ui-meganav-media"
286
265
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
287
266
  className: "ui-meganav-media-heading"
288
- }, "Chat Admin Privileges"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
267
+ }, "LiveSync (Beta)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
289
268
  className: "ui-meganav-media-copy"
290
- }, "Control who can take admin actions in a digital space.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
291
- url: absUrl("/examples"),
292
- textSize: "text-p3"
293
- }, "Explore all live examples")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
269
+ }, "Build stateful interactive applications."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
294
270
  className: "col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"
295
271
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
296
272
  className: "ui-meganav-overline",
@@ -333,7 +309,7 @@ var MeganavContentPlatform = function MeganavContentPlatform(_ref) {
333
309
  className: "ui-meganav-media-heading"
334
310
  }, "Global edge network"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
335
311
  className: "ui-meganav-media-copy"
336
- }, "An edge network of 15 core routing datacenters and 205+ PoPs.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
312
+ }, "An edge network of 15 core routing datacenters and 205+ PoPs.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
337
313
  url: absUrl("/four-pillars-of-dependability"),
338
314
  textSize: "text-p3"
339
315
  }, "Explore Four Pillars of Dependability"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
@@ -0,0 +1,22 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory();
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavContentProducts"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!******************************************************!*\
14
+ !*** ./src/core/MeganavContentProducts/component.js ***!
15
+ \******************************************************/
16
+
17
+ __webpack_exports__ = __webpack_exports__["default"];
18
+ /******/ return __webpack_exports__;
19
+ /******/ })()
20
+ ;
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2Q29udGVudFByb2R1Y3RzL2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUF1RDtBQUM5RixDQUFDO0FBQ0QsTyIsInNvdXJjZXMiOlsid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJBYmx5VWlcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiQWJseVVpXCJdID0gcm9vdFtcIkFibHlVaVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl0gPSByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSB8fCB7fSwgcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl1bXCJNZWdhbmF2Q29udGVudFByb2R1Y3RzXCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgKCkgPT4ge1xucmV0dXJuICJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==