ably-ui 8.7.0.dev.6053fb4 → 8.7.0.dev.7072b07

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -6
  3. data/README.md +7 -3
  4. data/lib/ably_ui/core/code/component.css +2 -0
  5. data/lib/ably_ui/core/code/component.js +739 -1
  6. data/lib/ably_ui/core/company_autocomplete/component.css +2 -0
  7. data/lib/ably_ui/core/company_autocomplete/component.js +1161 -1
  8. data/lib/ably_ui/core/connect_state_wrapper/component.js +22 -1
  9. data/lib/ably_ui/core/contact_footer/component.css +2 -0
  10. data/lib/ably_ui/core/contact_footer/component.js +211 -1
  11. data/lib/ably_ui/core/cookie_message/component.css +2 -0
  12. data/lib/ably_ui/core/cookie_message/component.js +82 -1
  13. data/lib/ably_ui/core/core.rb +8 -4
  14. data/lib/ably_ui/core/customer_logos/component.js +22 -1
  15. data/lib/ably_ui/core/dropdown_menu/component.js +22 -1
  16. data/lib/ably_ui/core/feature_footer/component.css +2 -0
  17. data/lib/ably_ui/core/feature_footer/component.js +211 -1
  18. data/lib/ably_ui/core/featured_link/component.css +2 -0
  19. data/lib/ably_ui/core/featured_link/component.js +82 -1
  20. data/lib/ably_ui/core/flash/component.css +2 -0
  21. data/lib/ably_ui/core/flash/component.js +82 -1
  22. data/lib/ably_ui/core/footer/component.css +3 -1
  23. data/lib/ably_ui/core/footer/component.js +82 -1
  24. data/lib/ably_ui/core/footer/footer.html.erb +18 -23
  25. data/lib/ably_ui/core/icon/component.js +22 -1
  26. data/lib/ably_ui/core/images/best-support-2023.svg +1 -0
  27. data/lib/ably_ui/core/images/fastest-implementation-2023.svg +1 -0
  28. data/lib/ably_ui/core/images/high-performer-2023.svg +1 -0
  29. data/lib/ably_ui/core/images/highest-user-adoption-2023.svg +1 -0
  30. data/lib/ably_ui/core/loader/component.js +22 -1
  31. data/lib/ably_ui/core/logo/component.js +22 -1
  32. data/lib/ably_ui/core/meganav/component.css +3 -3
  33. data/lib/ably_ui/core/meganav/component.js +992 -1
  34. data/lib/ably_ui/core/meganav/component.json +1 -1
  35. data/lib/ably_ui/core/meganav/meganav.rb +4 -4
  36. data/lib/ably_ui/core/meganav_blog_posts_list/component.js +1159 -1
  37. data/lib/ably_ui/core/meganav_content_company/component.js +22 -1
  38. data/lib/ably_ui/core/meganav_content_company/meganav_content_company.html.erb +9 -0
  39. data/lib/ably_ui/core/meganav_content_developers/component.js +22 -1
  40. data/lib/ably_ui/core/meganav_content_developers/meganav_content_developers.html.erb +18 -2
  41. data/lib/ably_ui/core/meganav_content_products/component.js +22 -0
  42. data/lib/ably_ui/core/{meganav_content_platform/meganav_content_platform.html.erb → meganav_content_products/meganav_content_products.html.erb} +15 -33
  43. data/lib/ably_ui/core/{meganav_content_platform/meganav_content_platform.rb → meganav_content_products/meganav_content_products.rb} +1 -1
  44. data/lib/ably_ui/core/meganav_content_use_cases/component.js +22 -1
  45. data/lib/ably_ui/core/meganav_content_use_cases/meganav_content_use_cases.html.erb +42 -38
  46. data/lib/ably_ui/core/meganav_control/component.js +241 -1
  47. data/lib/ably_ui/core/meganav_control_mobile_dropdown/component.js +180 -1
  48. data/lib/ably_ui/core/meganav_control_mobile_panel_close/component.js +142 -1
  49. data/lib/ably_ui/core/meganav_control_mobile_panel_open/component.js +170 -1
  50. data/lib/ably_ui/core/meganav_items_desktop/component.js +22 -1
  51. data/lib/ably_ui/core/meganav_items_desktop/meganav_items_desktop.rb +1 -1
  52. data/lib/ably_ui/core/meganav_items_mobile/component.js +22 -1
  53. data/lib/ably_ui/core/meganav_items_signed_in/component.js +22 -1
  54. data/lib/ably_ui/core/meganav_search/component.js +22 -1
  55. data/lib/ably_ui/core/meganav_search_autocomplete/component.js +295 -1
  56. data/lib/ably_ui/core/meganav_search_panel/component.js +22 -1
  57. data/lib/ably_ui/core/meganav_search_suggestions/component.js +258 -1
  58. data/lib/ably_ui/core/notice/component.css +2 -0
  59. data/lib/ably_ui/core/notice/component.js +872 -1
  60. data/lib/ably_ui/core/scripts.js +1465 -1
  61. data/lib/ably_ui/core/showcase/component.css +2 -0
  62. data/lib/ably_ui/core/showcase/component.js +343 -1
  63. data/lib/ably_ui/core/sign_out_link/component.js +22 -1
  64. data/lib/ably_ui/core/slider/component.css +2 -0
  65. data/lib/ably_ui/core/slider/component.js +255 -1
  66. data/lib/ably_ui/core/sprites.svg +93 -0
  67. data/lib/ably_ui/core/styles.css +3 -7
  68. data/lib/ably_ui/core/uptime/component.css +2 -0
  69. data/lib/ably_ui/core/uptime/component.js +82 -1
  70. data/lib/ably_ui/reset/scripts.js +1 -1
  71. data/lib/ably_ui/reset/styles.css +1 -11
  72. data/lib/ably_ui/version.rb +1 -1
  73. metadata +9 -5
  74. data/lib/ably_ui/core/meganav_content_platform/component.js +0 -1
@@ -1 +1,295 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("addsearch-js-client")):"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AblyUi=t(require("addsearch-js-client")):(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavSearchAutocomplete=t(e[void 0]))}(this,(function(e){return(()=>{"use strict";var t={9581:(e,t,n)=>{n.d(t,{A:()=>r});var r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelector("[data-id=".concat(e,"]"))}},5090:t=>{t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o={};return(()=>{r.d(o,{default:()=>i});var e=r(9581),t=r(5090),n=r.n(t);const i=function(t){if(!t)return console.log("No AddSearch API key provided, skipping search suggestions."),[];var r=new(n())(t);return[(0,e.A)("meganav-search-input"),(0,e.A)("meganav-mobile-search-input")].filter((function(e){return e})).map((function(t){var n=t.parentNode,o=(0,e.A)("meganav-search-autocomplete-container",n),i=(0,e.A)("meganav-search-autocomplete-list",n),a=(0,e.A)("meganav-search-input-clear",n);return function(e){var t=e.input,n=e.container,r=e.listContainer,o=e.clear,i=e.client;i.setAnalyticsTag("Meganav autocomplete"),i.setThrottleTime(400);var a,c=function(){n.classList.add("hidden"),r.innerHTML=""},u=function(e){(e||"").length>0&&o?o.classList.remove("invisible"):o&&o.classList.add("invisible")},s=function(e,t){return e.replace(t.toLowerCase(),'<span class="font-light">'.concat(t,"</span>"))},l=function(e){return window.location="/search?q=".concat(e)},d=function(e){var t=r.querySelector('[data-suggestion-index="'.concat(e+1,'"]'));t&&t.focus()},v=function(e){var t=e-1,n=r.querySelector('[data-suggestion-index="'.concat(t,'"]'));n&&n.focus()},f=function(e){var o=e.target.value;"ArrowDown"!==e.key?o?i.suggestions(o,function(e){return function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(u(e),Array.isArray(o.suggestions))if(0!==o.suggestions.length){var i=o.suggestions.map((function(n,r){var o=document.createElement("li"),i=document.createElement("button");return i.type="button",i.classList.add("ui-text-menu2","font-medium","p-8","w-full","text-left","rounded","hover:text-gui-hover","focus:outline-gui-focus","hover:bg-light-grey"),i.innerHTML=s(n.value,e),i.dataset.suggestionIndex=r,i.addEventListener("click",(function(){l(n.value)})),i.addEventListener("keydown",(function(e){var o=e.key;"ArrowDown"===o?d(r):"ArrowUp"===o&&r-1<0?t.focus():"ArrowUp"===o&&r-1>=0?v(r):"Enter"!==o&&"Space"!==o||l(n.value)})),o.appendChild(i),o}));r.innerHTML="",i.forEach((function(e){return r.appendChild(e)})),n.classList.remove("hidden")}else c();else c()}}(o)):c():d(0)};return o&&(a=function(){t.value="",o.classList.add("invisible"),c()},o.addEventListener("click",a)),t.addEventListener("keyup",f),{teardown:function(){t.removeEventListener("keyup",f),o&&o.removeEventListener("click",a)},clear:function(){t.value="",c()}}}({input:t,container:o,listContainer:i,client:r,clear:a})}))}})(),o.default})()}));
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("addsearch-js-client"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["AblyUi"] = factory(require("addsearch-js-client"));
8
+ else
9
+ root["AblyUi"] = root["AblyUi"] || {}, root["AblyUi"]["Core"] = root["AblyUi"]["Core"] || {}, root["AblyUi"]["Core"]["MeganavSearchAutocomplete"] = factory(root[undefined]);
10
+ })(this, (__WEBPACK_EXTERNAL_MODULE_addsearch_js_client__) => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ /******/ "use strict";
13
+ /******/ var __webpack_modules__ = ({
14
+
15
+ /***/ "./src/core/dom-query.js":
16
+ /*!*******************************!*\
17
+ !*** ./src/core/dom-query.js ***!
18
+ \*******************************/
19
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
20
+
21
+ __webpack_require__.r(__webpack_exports__);
22
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23
+ /* harmony export */ "queryId": () => (/* binding */ queryId),
24
+ /* harmony export */ "queryIdAll": () => (/* binding */ queryIdAll)
25
+ /* harmony export */ });
26
+ var queryId = function queryId(val) {
27
+ var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
28
+ return root.querySelector("[data-id=".concat(val, "]"));
29
+ };
30
+ var queryIdAll = function queryIdAll(val) {
31
+ var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
32
+ return root.querySelectorAll("[data-id=".concat(val, "]"));
33
+ };
34
+
35
+ /***/ }),
36
+
37
+ /***/ "addsearch-js-client":
38
+ /*!*************************************************************************************!*\
39
+ !*** external {"commonjs":"addsearch-js-client","commonjs2":"addsearch-js-client"} ***!
40
+ \*************************************************************************************/
41
+ /***/ ((module) => {
42
+
43
+ module.exports = __WEBPACK_EXTERNAL_MODULE_addsearch_js_client__;
44
+
45
+ /***/ })
46
+
47
+ /******/ });
48
+ /************************************************************************/
49
+ /******/ // The module cache
50
+ /******/ var __webpack_module_cache__ = {};
51
+ /******/
52
+ /******/ // The require function
53
+ /******/ function __webpack_require__(moduleId) {
54
+ /******/ // Check if module is in cache
55
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
56
+ /******/ if (cachedModule !== undefined) {
57
+ /******/ return cachedModule.exports;
58
+ /******/ }
59
+ /******/ // Create a new module (and put it into the cache)
60
+ /******/ var module = __webpack_module_cache__[moduleId] = {
61
+ /******/ // no module.id needed
62
+ /******/ // no module.loaded needed
63
+ /******/ exports: {}
64
+ /******/ };
65
+ /******/
66
+ /******/ // Execute the module function
67
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
68
+ /******/
69
+ /******/ // Return the exports of the module
70
+ /******/ return module.exports;
71
+ /******/ }
72
+ /******/
73
+ /************************************************************************/
74
+ /******/ /* webpack/runtime/compat get default export */
75
+ /******/ (() => {
76
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
77
+ /******/ __webpack_require__.n = (module) => {
78
+ /******/ var getter = module && module.__esModule ?
79
+ /******/ () => (module['default']) :
80
+ /******/ () => (module);
81
+ /******/ __webpack_require__.d(getter, { a: getter });
82
+ /******/ return getter;
83
+ /******/ };
84
+ /******/ })();
85
+ /******/
86
+ /******/ /* webpack/runtime/define property getters */
87
+ /******/ (() => {
88
+ /******/ // define getter functions for harmony exports
89
+ /******/ __webpack_require__.d = (exports, definition) => {
90
+ /******/ for(var key in definition) {
91
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
92
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
93
+ /******/ }
94
+ /******/ }
95
+ /******/ };
96
+ /******/ })();
97
+ /******/
98
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
99
+ /******/ (() => {
100
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
101
+ /******/ })();
102
+ /******/
103
+ /******/ /* webpack/runtime/make namespace object */
104
+ /******/ (() => {
105
+ /******/ // define __esModule on exports
106
+ /******/ __webpack_require__.r = (exports) => {
107
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
108
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
109
+ /******/ }
110
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
111
+ /******/ };
112
+ /******/ })();
113
+ /******/
114
+ /************************************************************************/
115
+ var __webpack_exports__ = {};
116
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
117
+ (() => {
118
+ /*!*********************************************************!*\
119
+ !*** ./src/core/MeganavSearchAutocomplete/component.js ***!
120
+ \*********************************************************/
121
+ __webpack_require__.r(__webpack_exports__);
122
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
123
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
124
+ /* harmony export */ });
125
+ /* harmony import */ var _dom_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-query */ "./src/core/dom-query.js");
126
+ /* harmony import */ var addsearch_js_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! addsearch-js-client */ "addsearch-js-client");
127
+ /* harmony import */ var addsearch_js_client__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(addsearch_js_client__WEBPACK_IMPORTED_MODULE_1__);
128
+
129
+
130
+
131
+ var init = function init(_ref) {
132
+ var input = _ref.input,
133
+ container = _ref.container,
134
+ listContainer = _ref.listContainer,
135
+ clear = _ref.clear,
136
+ client = _ref.client;
137
+ client.setAnalyticsTag("Meganav autocomplete");
138
+ client.setThrottleTime(400);
139
+
140
+ var clearResults = function clearResults() {
141
+ container.classList.add("hidden");
142
+ listContainer.innerHTML = "";
143
+ };
144
+
145
+ var toggleClearBtn = function toggleClearBtn(query) {
146
+ if ((query || "").length > 0 && clear) {
147
+ clear.classList.remove("invisible");
148
+ } else if (clear) {
149
+ clear.classList.add("invisible");
150
+ }
151
+ };
152
+
153
+ var markQueryInSuggestion = function markQueryInSuggestion(suggestionValue, query) {
154
+ return suggestionValue.replace(query.toLowerCase(), "<span class=\"font-light\">".concat(query, "</span>"));
155
+ };
156
+
157
+ var navigateToUrl = function navigateToUrl(q) {
158
+ return window.location = "/search?q=".concat(q);
159
+ };
160
+
161
+ var focusNext = function focusNext(index) {
162
+ var nextSuggestion = listContainer.querySelector("[data-suggestion-index=\"".concat(index + 1, "\"]"));
163
+ if (!nextSuggestion) return;
164
+ nextSuggestion.focus();
165
+ };
166
+
167
+ var focusPrevious = function focusPrevious(index) {
168
+ var previousIndex = index - 1;
169
+ var previousSuggestion = listContainer.querySelector("[data-suggestion-index=\"".concat(previousIndex, "\"]"));
170
+ if (!previousSuggestion) return;
171
+ previousSuggestion.focus();
172
+ };
173
+
174
+ var renderResults = function renderResults(query) {
175
+ return function () {
176
+ var results = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
177
+ toggleClearBtn(query); // Prevent invalid access error when key is invalid
178
+
179
+ if (!Array.isArray(results.suggestions)) {
180
+ clearResults();
181
+ return;
182
+ } // Prevent key error from invalid key
183
+
184
+
185
+ if (results.suggestions.length === 0) {
186
+ clearResults();
187
+ return;
188
+ }
189
+
190
+ var items = results.suggestions.map(function (suggestion, index) {
191
+ var li = document.createElement("li");
192
+ var button = document.createElement("button");
193
+ button.type = "button";
194
+ button.classList.add("ui-text-menu2", "font-medium", "p-8", "w-full", "text-left", "rounded", "hover:text-gui-hover", "focus:outline-gui-focus", "hover:bg-light-grey");
195
+ button.innerHTML = markQueryInSuggestion(suggestion.value, query);
196
+ button.dataset.suggestionIndex = index;
197
+ button.addEventListener("click", function () {
198
+ navigateToUrl(suggestion.value);
199
+ });
200
+ button.addEventListener("keydown", function (e) {
201
+ var key = e.key;
202
+
203
+ if (key === "ArrowDown") {
204
+ focusNext(index);
205
+ } else if (key === "ArrowUp" && index - 1 < 0) {
206
+ input.focus();
207
+ } else if (key === "ArrowUp" && index - 1 >= 0) {
208
+ focusPrevious(index);
209
+ } else if (key === "Enter" || key === "Space") {
210
+ navigateToUrl(suggestion.value);
211
+ }
212
+ });
213
+ li.appendChild(button);
214
+ return li;
215
+ });
216
+ listContainer.innerHTML = "";
217
+ items.forEach(function (item) {
218
+ return listContainer.appendChild(item);
219
+ });
220
+ container.classList.remove("hidden");
221
+ };
222
+ };
223
+
224
+ var keyupHandler = function keyupHandler(e) {
225
+ var query = e.target.value;
226
+ var key = e.key;
227
+
228
+ if (key === "ArrowDown") {
229
+ focusNext(0);
230
+ return;
231
+ }
232
+
233
+ if (!query) {
234
+ clearResults();
235
+ } else {
236
+ client.suggestions(query, renderResults(query));
237
+ }
238
+ };
239
+
240
+ var clearHandler;
241
+
242
+ if (clear) {
243
+ clearHandler = function clearHandler() {
244
+ input.value = "";
245
+ clear.classList.add("invisible");
246
+ clearResults();
247
+ };
248
+
249
+ clear.addEventListener("click", clearHandler);
250
+ }
251
+
252
+ input.addEventListener("keyup", keyupHandler);
253
+ return {
254
+ teardown: function teardown() {
255
+ input.removeEventListener("keyup", keyupHandler);
256
+ if (clear) clear.removeEventListener("click", clearHandler);
257
+ },
258
+ clear: function clear() {
259
+ input.value = "";
260
+ clearResults();
261
+ }
262
+ };
263
+ };
264
+
265
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function (apiKey) {
266
+ if (!apiKey) {
267
+ console.log("No AddSearch API key provided, skipping search suggestions.");
268
+ return [];
269
+ }
270
+
271
+ var client = new (addsearch_js_client__WEBPACK_IMPORTED_MODULE_1___default())(apiKey);
272
+ return [(0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("meganav-search-input"), (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("meganav-mobile-search-input")].filter(function (i) {
273
+ return i;
274
+ }).map(function (input) {
275
+ var parent = input.parentNode;
276
+ var container = (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("meganav-search-autocomplete-container", parent);
277
+ var listContainer = (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("meganav-search-autocomplete-list", parent);
278
+ var clear = (0,_dom_query__WEBPACK_IMPORTED_MODULE_0__.queryId)("meganav-search-input-clear", parent);
279
+ return init({
280
+ input: input,
281
+ container: container,
282
+ listContainer: listContainer,
283
+ client: client,
284
+ clear: clear
285
+ });
286
+ });
287
+ });
288
+ })();
289
+
290
+ __webpack_exports__ = __webpack_exports__["default"];
291
+ /******/ return __webpack_exports__;
292
+ /******/ })()
293
+ ;
294
+ });
295
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2U2VhcmNoQXV0b2NvbXBsZXRlL2NvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLHVEQUF1RDtBQUM5RixDQUFDO0FBQ0QsTzs7Ozs7Ozs7Ozs7Ozs7O0FDVk8sSUFBTUEsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsR0FBRDtBQUFBLE1BQU1DLElBQU4sdUVBQWFDLFFBQWI7QUFBQSxTQUNyQkQsSUFBSSxDQUFDRSxhQUFMLG9CQUErQkgsR0FBL0IsT0FEcUI7QUFBQSxDQUFoQjtBQUdBLElBQU1JLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNKLEdBQUQ7QUFBQSxNQUFNQyxJQUFOLHVFQUFhQyxRQUFiO0FBQUEsU0FDeEJELElBQUksQ0FBQ0ksZ0JBQUwsb0JBQWtDTCxHQUFsQyxPQUR3QjtBQUFBLENBQW5COzs7Ozs7Ozs7O0FDSFA7Ozs7OztVQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7Ozs7O1dDdEJBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxpQ0FBaUMsV0FBVztXQUM1QztXQUNBOzs7OztXQ1BBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EseUNBQXlDLHdDQUF3QztXQUNqRjtXQUNBO1dBQ0E7Ozs7O1dDUEE7Ozs7O1dDQUE7V0FDQTtXQUNBO1dBQ0EsdURBQXVELGlCQUFpQjtXQUN4RTtXQUNBLGdEQUFnRCxhQUFhO1dBQzdEOzs7Ozs7Ozs7Ozs7Ozs7OztBQ05BO0FBQ0E7O0FBRUEsSUFBTU8sSUFBSSxHQUFHLFNBQVBBLElBQU8sT0FBd0Q7QUFBQSxNQUFyREMsS0FBcUQsUUFBckRBLEtBQXFEO0FBQUEsTUFBOUNDLFNBQThDLFFBQTlDQSxTQUE4QztBQUFBLE1BQW5DQyxhQUFtQyxRQUFuQ0EsYUFBbUM7QUFBQSxNQUFwQkMsS0FBb0IsUUFBcEJBLEtBQW9CO0FBQUEsTUFBYkMsTUFBYSxRQUFiQSxNQUFhO0FBQ25FQSxFQUFBQSxNQUFNLENBQUNDLGVBQVAsQ0FBdUIsc0JBQXZCO0FBQ0FELEVBQUFBLE1BQU0sQ0FBQ0UsZUFBUCxDQUF1QixHQUF2Qjs7QUFFQSxNQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxHQUFNO0FBQ3pCTixJQUFBQSxTQUFTLENBQUNPLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLFFBQXhCO0FBQ0FQLElBQUFBLGFBQWEsQ0FBQ1EsU0FBZCxHQUEwQixFQUExQjtBQUNELEdBSEQ7O0FBS0EsTUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxLQUFELEVBQVc7QUFDaEMsUUFBSSxDQUFDQSxLQUFLLElBQUksRUFBVixFQUFjQyxNQUFkLEdBQXVCLENBQXZCLElBQTRCVixLQUFoQyxFQUF1QztBQUNyQ0EsTUFBQUEsS0FBSyxDQUFDSyxTQUFOLENBQWdCTSxNQUFoQixDQUF1QixXQUF2QjtBQUNELEtBRkQsTUFFTyxJQUFJWCxLQUFKLEVBQVc7QUFDaEJBLE1BQUFBLEtBQUssQ0FBQ0ssU0FBTixDQUFnQkMsR0FBaEIsQ0FBb0IsV0FBcEI7QUFDRDtBQUNGLEdBTkQ7O0FBUUEsTUFBTU0scUJBQXFCLEdBQUcsU0FBeEJBLHFCQUF3QixDQUFDQyxlQUFELEVBQWtCSixLQUFsQixFQUE0QjtBQUN4RCxXQUFPSSxlQUFlLENBQUNDLE9BQWhCLENBQ0xMLEtBQUssQ0FBQ00sV0FBTixFQURLLHVDQUV1Qk4sS0FGdkIsYUFBUDtBQUlELEdBTEQ7O0FBT0EsTUFBTU8sYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxDQUFEO0FBQUEsV0FBUUMsTUFBTSxDQUFDQyxRQUFQLHVCQUErQkYsQ0FBL0IsQ0FBUjtBQUFBLEdBQXRCOztBQUVBLE1BQU1HLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLEtBQUQsRUFBVztBQUMzQixRQUFNQyxjQUFjLEdBQUd2QixhQUFhLENBQUNQLGFBQWQsb0NBQ002QixLQUFLLEdBQUcsQ0FEZCxTQUF2QjtBQUdBLFFBQUksQ0FBQ0MsY0FBTCxFQUFxQjtBQUNyQkEsSUFBQUEsY0FBYyxDQUFDQyxLQUFmO0FBQ0QsR0FORDs7QUFRQSxNQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNILEtBQUQsRUFBVztBQUMvQixRQUFNSSxhQUFhLEdBQUdKLEtBQUssR0FBRyxDQUE5QjtBQUVBLFFBQU1LLGtCQUFrQixHQUFHM0IsYUFBYSxDQUFDUCxhQUFkLG9DQUNFaUMsYUFERixTQUEzQjtBQUdBLFFBQUksQ0FBQ0Msa0JBQUwsRUFBeUI7QUFDekJBLElBQUFBLGtCQUFrQixDQUFDSCxLQUFuQjtBQUNELEdBUkQ7O0FBVUEsTUFBTUksYUFBYSxHQUNqQixTQURJQSxhQUNKLENBQUNsQixLQUFEO0FBQUEsV0FDQSxZQUFrQjtBQUFBLFVBQWpCbUIsT0FBaUIsdUVBQVAsRUFBTztBQUNoQnBCLE1BQUFBLGNBQWMsQ0FBQ0MsS0FBRCxDQUFkLENBRGdCLENBR2hCOztBQUNBLFVBQUksQ0FBQ29CLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixPQUFPLENBQUNHLFdBQXRCLENBQUwsRUFBeUM7QUFDdkMzQixRQUFBQSxZQUFZO0FBQ1o7QUFDRCxPQVBlLENBU2hCOzs7QUFDQSxVQUFJd0IsT0FBTyxDQUFDRyxXQUFSLENBQW9CckIsTUFBcEIsS0FBK0IsQ0FBbkMsRUFBc0M7QUFDcENOLFFBQUFBLFlBQVk7QUFDWjtBQUNEOztBQUVELFVBQU00QixLQUFLLEdBQUdKLE9BQU8sQ0FBQ0csV0FBUixDQUFvQkUsR0FBcEIsQ0FBd0IsVUFBQ0MsVUFBRCxFQUFhYixLQUFiLEVBQXVCO0FBQzNELFlBQU1jLEVBQUUsR0FBRzVDLFFBQVEsQ0FBQzZDLGFBQVQsQ0FBdUIsSUFBdkIsQ0FBWDtBQUNBLFlBQU1DLE1BQU0sR0FBRzlDLFFBQVEsQ0FBQzZDLGFBQVQsQ0FBdUIsUUFBdkIsQ0FBZjtBQUNBQyxRQUFBQSxNQUFNLENBQUNDLElBQVAsR0FBYyxRQUFkO0FBRUFELFFBQUFBLE1BQU0sQ0FBQ2hDLFNBQVAsQ0FBaUJDLEdBQWpCLENBQ0UsZUFERixFQUVFLGFBRkYsRUFHRSxLQUhGLEVBSUUsUUFKRixFQUtFLFdBTEYsRUFNRSxTQU5GLEVBT0Usc0JBUEYsRUFRRSx5QkFSRixFQVNFLHFCQVRGO0FBWUErQixRQUFBQSxNQUFNLENBQUM5QixTQUFQLEdBQW1CSyxxQkFBcUIsQ0FBQ3NCLFVBQVUsQ0FBQ0ssS0FBWixFQUFtQjlCLEtBQW5CLENBQXhDO0FBRUE0QixRQUFBQSxNQUFNLENBQUNHLE9BQVAsQ0FBZUMsZUFBZixHQUFpQ3BCLEtBQWpDO0FBRUFnQixRQUFBQSxNQUFNLENBQUNLLGdCQUFQLENBQXdCLE9BQXhCLEVBQWlDLFlBQU07QUFDckMxQixVQUFBQSxhQUFhLENBQUNrQixVQUFVLENBQUNLLEtBQVosQ0FBYjtBQUNELFNBRkQ7QUFJQUYsUUFBQUEsTUFBTSxDQUFDSyxnQkFBUCxDQUF3QixTQUF4QixFQUFtQyxVQUFDQyxDQUFELEVBQU87QUFDeEMsY0FBTUMsR0FBRyxHQUFHRCxDQUFDLENBQUNDLEdBQWQ7O0FBRUEsY0FBSUEsR0FBRyxLQUFLLFdBQVosRUFBeUI7QUFDdkJ4QixZQUFBQSxTQUFTLENBQUNDLEtBQUQsQ0FBVDtBQUNELFdBRkQsTUFFTyxJQUFJdUIsR0FBRyxLQUFLLFNBQVIsSUFBcUJ2QixLQUFLLEdBQUcsQ0FBUixHQUFZLENBQXJDLEVBQXdDO0FBQzdDeEIsWUFBQUEsS0FBSyxDQUFDMEIsS0FBTjtBQUNELFdBRk0sTUFFQSxJQUFJcUIsR0FBRyxLQUFLLFNBQVIsSUFBcUJ2QixLQUFLLEdBQUcsQ0FBUixJQUFhLENBQXRDLEVBQXlDO0FBQzlDRyxZQUFBQSxhQUFhLENBQUNILEtBQUQsQ0FBYjtBQUNELFdBRk0sTUFFQSxJQUFJdUIsR0FBRyxLQUFLLE9BQVIsSUFBbUJBLEdBQUcsS0FBSyxPQUEvQixFQUF3QztBQUM3QzVCLFlBQUFBLGFBQWEsQ0FBQ2tCLFVBQVUsQ0FBQ0ssS0FBWixDQUFiO0FBQ0Q7QUFDRixTQVpEO0FBY0FKLFFBQUFBLEVBQUUsQ0FBQ1UsV0FBSCxDQUFlUixNQUFmO0FBQ0EsZUFBT0YsRUFBUDtBQUNELE9BekNhLENBQWQ7QUEyQ0FwQyxNQUFBQSxhQUFhLENBQUNRLFNBQWQsR0FBMEIsRUFBMUI7QUFDQXlCLE1BQUFBLEtBQUssQ0FBQ2MsT0FBTixDQUFjLFVBQUNDLElBQUQ7QUFBQSxlQUFVaEQsYUFBYSxDQUFDOEMsV0FBZCxDQUEwQkUsSUFBMUIsQ0FBVjtBQUFBLE9BQWQ7QUFDQWpELE1BQUFBLFNBQVMsQ0FBQ08sU0FBVixDQUFvQk0sTUFBcEIsQ0FBMkIsUUFBM0I7QUFDRCxLQTlERDtBQUFBLEdBREY7O0FBaUVBLE1BQU1xQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDTCxDQUFELEVBQU87QUFDMUIsUUFBTWxDLEtBQUssR0FBR2tDLENBQUMsQ0FBQ00sTUFBRixDQUFTVixLQUF2QjtBQUNBLFFBQU1LLEdBQUcsR0FBR0QsQ0FBQyxDQUFDQyxHQUFkOztBQUVBLFFBQUlBLEdBQUcsS0FBSyxXQUFaLEVBQXlCO0FBQ3ZCeEIsTUFBQUEsU0FBUyxDQUFDLENBQUQsQ0FBVDtBQUNBO0FBQ0Q7O0FBRUQsUUFBSSxDQUFDWCxLQUFMLEVBQVk7QUFDVkwsTUFBQUEsWUFBWTtBQUNiLEtBRkQsTUFFTztBQUNMSCxNQUFBQSxNQUFNLENBQUM4QixXQUFQLENBQW1CdEIsS0FBbkIsRUFBMEJrQixhQUFhLENBQUNsQixLQUFELENBQXZDO0FBQ0Q7QUFDRixHQWREOztBQWdCQSxNQUFJeUMsWUFBSjs7QUFDQSxNQUFJbEQsS0FBSixFQUFXO0FBQ1RrRCxJQUFBQSxZQUFZLEdBQUcsd0JBQU07QUFDbkJyRCxNQUFBQSxLQUFLLENBQUMwQyxLQUFOLEdBQWMsRUFBZDtBQUNBdkMsTUFBQUEsS0FBSyxDQUFDSyxTQUFOLENBQWdCQyxHQUFoQixDQUFvQixXQUFwQjtBQUNBRixNQUFBQSxZQUFZO0FBQ2IsS0FKRDs7QUFLQUosSUFBQUEsS0FBSyxDQUFDMEMsZ0JBQU4sQ0FBdUIsT0FBdkIsRUFBZ0NRLFlBQWhDO0FBQ0Q7O0FBRURyRCxFQUFBQSxLQUFLLENBQUM2QyxnQkFBTixDQUF1QixPQUF2QixFQUFnQ00sWUFBaEM7QUFFQSxTQUFPO0FBQ0xHLElBQUFBLFFBQVEsRUFBRSxvQkFBTTtBQUNkdEQsTUFBQUEsS0FBSyxDQUFDdUQsbUJBQU4sQ0FBMEIsT0FBMUIsRUFBbUNKLFlBQW5DO0FBQ0EsVUFBSWhELEtBQUosRUFBV0EsS0FBSyxDQUFDb0QsbUJBQU4sQ0FBMEIsT0FBMUIsRUFBbUNGLFlBQW5DO0FBQ1osS0FKSTtBQUtMbEQsSUFBQUEsS0FBSyxFQUFFLGlCQUFNO0FBQ1hILE1BQUFBLEtBQUssQ0FBQzBDLEtBQU4sR0FBYyxFQUFkO0FBQ0FuQyxNQUFBQSxZQUFZO0FBQ2I7QUFSSSxHQUFQO0FBVUQsQ0FuSkQ7O0FBcUpBLGlFQUFlLFVBQUNpRCxNQUFELEVBQVk7QUFDekIsTUFBSSxDQUFDQSxNQUFMLEVBQWE7QUFDWEMsSUFBQUEsT0FBTyxDQUFDQyxHQUFSO0FBQ0EsV0FBTyxFQUFQO0FBQ0Q7O0FBRUQsTUFBTXRELE1BQU0sR0FBRyxJQUFJTiw0REFBSixDQUFvQjBELE1BQXBCLENBQWY7QUFFQSxTQUFPLENBQ0xqRSxtREFBTyxDQUFDLHNCQUFELENBREYsRUFFTEEsbURBQU8sQ0FBQyw2QkFBRCxDQUZGLEVBSUpvRSxNQUpJLENBSUcsVUFBQ0MsQ0FBRDtBQUFBLFdBQU9BLENBQVA7QUFBQSxHQUpILEVBS0p4QixHQUxJLENBS0EsVUFBQ3BDLEtBQUQsRUFBVztBQUNkLFFBQU02RCxNQUFNLEdBQUc3RCxLQUFLLENBQUM4RCxVQUFyQjtBQUNBLFFBQU03RCxTQUFTLEdBQUdWLG1EQUFPLENBQ3ZCLHVDQUR1QixFQUV2QnNFLE1BRnVCLENBQXpCO0FBSUEsUUFBTTNELGFBQWEsR0FBR1gsbURBQU8sQ0FBQyxrQ0FBRCxFQUFxQ3NFLE1BQXJDLENBQTdCO0FBQ0EsUUFBTTFELEtBQUssR0FBR1osbURBQU8sQ0FBQyw0QkFBRCxFQUErQnNFLE1BQS9CLENBQXJCO0FBRUEsV0FBTzlELElBQUksQ0FBQztBQUFFQyxNQUFBQSxLQUFLLEVBQUxBLEtBQUY7QUFBU0MsTUFBQUEsU0FBUyxFQUFUQSxTQUFUO0FBQW9CQyxNQUFBQSxhQUFhLEVBQWJBLGFBQXBCO0FBQW1DRSxNQUFBQSxNQUFNLEVBQU5BLE1BQW5DO0FBQTJDRCxNQUFBQSxLQUFLLEVBQUxBO0FBQTNDLEtBQUQsQ0FBWDtBQUNELEdBZkksQ0FBUDtBQWdCRCxDQXhCRCxFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL0FibHlVaS5Db3JlLy4vc3JjL2NvcmUvZG9tLXF1ZXJ5LmpzIiwid2VicGFjazovL0FibHlVaS5Db3JlL2V4dGVybmFsIHVtZCB7XCJjb21tb25qc1wiOlwiYWRkc2VhcmNoLWpzLWNsaWVudFwiLFwiY29tbW9uanMyXCI6XCJhZGRzZWFyY2gtanMtY2xpZW50XCJ9Iiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9BYmx5VWkuQ29yZS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0FibHlVaS5Db3JlL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvLi9zcmMvY29yZS9NZWdhbmF2U2VhcmNoQXV0b2NvbXBsZXRlL2NvbXBvbmVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KHJlcXVpcmUoXCJhZGRzZWFyY2gtanMtY2xpZW50XCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkocmVxdWlyZShcImFkZHNlYXJjaC1qcy1jbGllbnRcIikpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIkFibHlVaVwiXSA9IHJvb3RbXCJBYmx5VWlcIl0gfHwge30sIHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdID0gcm9vdFtcIkFibHlVaVwiXVtcIkNvcmVcIl0gfHwge30sIHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdW1wiTWVnYW5hdlNlYXJjaEF1dG9jb21wbGV0ZVwiXSA9IGZhY3Rvcnkocm9vdFt1bmRlZmluZWRdKTtcbn0pKHRoaXMsIChfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX2FkZHNlYXJjaF9qc19jbGllbnRfXykgPT4ge1xucmV0dXJuICIsImV4cG9ydCBjb25zdCBxdWVyeUlkID0gKHZhbCwgcm9vdCA9IGRvY3VtZW50KSA9PlxuICByb290LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWlkPSR7dmFsfV1gKTtcblxuZXhwb3J0IGNvbnN0IHF1ZXJ5SWRBbGwgPSAodmFsLCByb290ID0gZG9jdW1lbnQpID0+XG4gIHJvb3QucXVlcnlTZWxlY3RvckFsbChgW2RhdGEtaWQ9JHt2YWx9XWApO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX2FkZHNlYXJjaF9qc19jbGllbnRfXzsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiaW1wb3J0IHsgcXVlcnlJZCB9IGZyb20gXCIuLi9kb20tcXVlcnlcIjtcbmltcG9ydCBBZGRTZWFyY2hDbGllbnQgZnJvbSBcImFkZHNlYXJjaC1qcy1jbGllbnRcIjtcblxuY29uc3QgaW5pdCA9ICh7IGlucHV0LCBjb250YWluZXIsIGxpc3RDb250YWluZXIsIGNsZWFyLCBjbGllbnQgfSkgPT4ge1xuICBjbGllbnQuc2V0QW5hbHl0aWNzVGFnKFwiTWVnYW5hdiBhdXRvY29tcGxldGVcIik7XG4gIGNsaWVudC5zZXRUaHJvdHRsZVRpbWUoNDAwKTtcblxuICBjb25zdCBjbGVhclJlc3VsdHMgPSAoKSA9PiB7XG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoXCJoaWRkZW5cIik7XG4gICAgbGlzdENvbnRhaW5lci5pbm5lckhUTUwgPSBcIlwiO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUNsZWFyQnRuID0gKHF1ZXJ5KSA9PiB7XG4gICAgaWYgKChxdWVyeSB8fCBcIlwiKS5sZW5ndGggPiAwICYmIGNsZWFyKSB7XG4gICAgICBjbGVhci5jbGFzc0xpc3QucmVtb3ZlKFwiaW52aXNpYmxlXCIpO1xuICAgIH0gZWxzZSBpZiAoY2xlYXIpIHtcbiAgICAgIGNsZWFyLmNsYXNzTGlzdC5hZGQoXCJpbnZpc2libGVcIik7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG1hcmtRdWVyeUluU3VnZ2VzdGlvbiA9IChzdWdnZXN0aW9uVmFsdWUsIHF1ZXJ5KSA9PiB7XG4gICAgcmV0dXJuIHN1Z2dlc3Rpb25WYWx1ZS5yZXBsYWNlKFxuICAgICAgcXVlcnkudG9Mb3dlckNhc2UoKSxcbiAgICAgIGA8c3BhbiBjbGFzcz1cImZvbnQtbGlnaHRcIj4ke3F1ZXJ5fTwvc3Bhbj5gXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBuYXZpZ2F0ZVRvVXJsID0gKHEpID0+ICh3aW5kb3cubG9jYXRpb24gPSBgL3NlYXJjaD9xPSR7cX1gKTtcblxuICBjb25zdCBmb2N1c05leHQgPSAoaW5kZXgpID0+IHtcbiAgICBjb25zdCBuZXh0U3VnZ2VzdGlvbiA9IGxpc3RDb250YWluZXIucXVlcnlTZWxlY3RvcihcbiAgICAgIGBbZGF0YS1zdWdnZXN0aW9uLWluZGV4PVwiJHtpbmRleCArIDF9XCJdYFxuICAgICk7XG4gICAgaWYgKCFuZXh0U3VnZ2VzdGlvbikgcmV0dXJuO1xuICAgIG5leHRTdWdnZXN0aW9uLmZvY3VzKCk7XG4gIH07XG5cbiAgY29uc3QgZm9jdXNQcmV2aW91cyA9IChpbmRleCkgPT4ge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XG5cbiAgICBjb25zdCBwcmV2aW91c1N1Z2dlc3Rpb24gPSBsaXN0Q29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBgW2RhdGEtc3VnZ2VzdGlvbi1pbmRleD1cIiR7cHJldmlvdXNJbmRleH1cIl1gXG4gICAgKTtcbiAgICBpZiAoIXByZXZpb3VzU3VnZ2VzdGlvbikgcmV0dXJuO1xuICAgIHByZXZpb3VzU3VnZ2VzdGlvbi5mb2N1cygpO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlclJlc3VsdHMgPVxuICAgIChxdWVyeSkgPT5cbiAgICAocmVzdWx0cyA9IHt9KSA9PiB7XG4gICAgICB0b2dnbGVDbGVhckJ0bihxdWVyeSk7XG5cbiAgICAgIC8vIFByZXZlbnQgaW52YWxpZCBhY2Nlc3MgZXJyb3Igd2hlbiBrZXkgaXMgaW52YWxpZFxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3VsdHMuc3VnZ2VzdGlvbnMpKSB7XG4gICAgICAgIGNsZWFyUmVzdWx0cygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIFByZXZlbnQga2V5IGVycm9yIGZyb20gaW52YWxpZCBrZXlcbiAgICAgIGlmIChyZXN1bHRzLnN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjbGVhclJlc3VsdHMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpdGVtcyA9IHJlc3VsdHMuc3VnZ2VzdGlvbnMubWFwKChzdWdnZXN0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaVwiKTtcbiAgICAgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcbiAgICAgICAgYnV0dG9uLnR5cGUgPSBcImJ1dHRvblwiO1xuXG4gICAgICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKFxuICAgICAgICAgIFwidWktdGV4dC1tZW51MlwiLFxuICAgICAgICAgIFwiZm9udC1tZWRpdW1cIixcbiAgICAgICAgICBcInAtOFwiLFxuICAgICAgICAgIFwidy1mdWxsXCIsXG4gICAgICAgICAgXCJ0ZXh0LWxlZnRcIixcbiAgICAgICAgICBcInJvdW5kZWRcIixcbiAgICAgICAgICBcImhvdmVyOnRleHQtZ3VpLWhvdmVyXCIsXG4gICAgICAgICAgXCJmb2N1czpvdXRsaW5lLWd1aS1mb2N1c1wiLFxuICAgICAgICAgIFwiaG92ZXI6YmctbGlnaHQtZ3JleVwiXG4gICAgICAgICk7XG5cbiAgICAgICAgYnV0dG9uLmlubmVySFRNTCA9IG1hcmtRdWVyeUluU3VnZ2VzdGlvbihzdWdnZXN0aW9uLnZhbHVlLCBxdWVyeSk7XG5cbiAgICAgICAgYnV0dG9uLmRhdGFzZXQuc3VnZ2VzdGlvbkluZGV4ID0gaW5kZXg7XG5cbiAgICAgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgbmF2aWdhdGVUb1VybChzdWdnZXN0aW9uLnZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIChlKSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gZS5rZXk7XG5cbiAgICAgICAgICBpZiAoa2V5ID09PSBcIkFycm93RG93blwiKSB7XG4gICAgICAgICAgICBmb2N1c05leHQoaW5kZXgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcIkFycm93VXBcIiAmJiBpbmRleCAtIDEgPCAwKSB7XG4gICAgICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcIkFycm93VXBcIiAmJiBpbmRleCAtIDEgPj0gMCkge1xuICAgICAgICAgICAgZm9jdXNQcmV2aW91cyhpbmRleCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwiRW50ZXJcIiB8fCBrZXkgPT09IFwiU3BhY2VcIikge1xuICAgICAgICAgICAgbmF2aWdhdGVUb1VybChzdWdnZXN0aW9uLnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxpLmFwcGVuZENoaWxkKGJ1dHRvbik7XG4gICAgICAgIHJldHVybiBsaTtcbiAgICAgIH0pO1xuXG4gICAgICBsaXN0Q29udGFpbmVyLmlubmVySFRNTCA9IFwiXCI7XG4gICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiBsaXN0Q29udGFpbmVyLmFwcGVuZENoaWxkKGl0ZW0pKTtcbiAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKFwiaGlkZGVuXCIpO1xuICAgIH07XG5cbiAgY29uc3Qga2V5dXBIYW5kbGVyID0gKGUpID0+IHtcbiAgICBjb25zdCBxdWVyeSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIGNvbnN0IGtleSA9IGUua2V5O1xuXG4gICAgaWYgKGtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuICAgICAgZm9jdXNOZXh0KDApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIGNsZWFyUmVzdWx0cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGllbnQuc3VnZ2VzdGlvbnMocXVlcnksIHJlbmRlclJlc3VsdHMocXVlcnkpKTtcbiAgICB9XG4gIH07XG5cbiAgbGV0IGNsZWFySGFuZGxlcjtcbiAgaWYgKGNsZWFyKSB7XG4gICAgY2xlYXJIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgY2xlYXIuY2xhc3NMaXN0LmFkZChcImludmlzaWJsZVwiKTtcbiAgICAgIGNsZWFyUmVzdWx0cygpO1xuICAgIH07XG4gICAgY2xlYXIuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGNsZWFySGFuZGxlcik7XG4gIH1cblxuICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKFwia2V5dXBcIiwga2V5dXBIYW5kbGVyKTtcblxuICByZXR1cm4ge1xuICAgIHRlYXJkb3duOiAoKSA9PiB7XG4gICAgICBpbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5dXBcIiwga2V5dXBIYW5kbGVyKTtcbiAgICAgIGlmIChjbGVhcikgY2xlYXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGNsZWFySGFuZGxlcik7XG4gICAgfSxcbiAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgY2xlYXJSZXN1bHRzKCk7XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChhcGlLZXkpID0+IHtcbiAgaWYgKCFhcGlLZXkpIHtcbiAgICBjb25zb2xlLmxvZyhgTm8gQWRkU2VhcmNoIEFQSSBrZXkgcHJvdmlkZWQsIHNraXBwaW5nIHNlYXJjaCBzdWdnZXN0aW9ucy5gKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBjbGllbnQgPSBuZXcgQWRkU2VhcmNoQ2xpZW50KGFwaUtleSk7XG5cbiAgcmV0dXJuIFtcbiAgICBxdWVyeUlkKFwibWVnYW5hdi1zZWFyY2gtaW5wdXRcIiksXG4gICAgcXVlcnlJZChcIm1lZ2FuYXYtbW9iaWxlLXNlYXJjaC1pbnB1dFwiKSxcbiAgXVxuICAgIC5maWx0ZXIoKGkpID0+IGkpXG4gICAgLm1hcCgoaW5wdXQpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IGlucHV0LnBhcmVudE5vZGU7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBxdWVyeUlkKFxuICAgICAgICBcIm1lZ2FuYXYtc2VhcmNoLWF1dG9jb21wbGV0ZS1jb250YWluZXJcIixcbiAgICAgICAgcGFyZW50XG4gICAgICApO1xuICAgICAgY29uc3QgbGlzdENvbnRhaW5lciA9IHF1ZXJ5SWQoXCJtZWdhbmF2LXNlYXJjaC1hdXRvY29tcGxldGUtbGlzdFwiLCBwYXJlbnQpO1xuICAgICAgY29uc3QgY2xlYXIgPSBxdWVyeUlkKFwibWVnYW5hdi1zZWFyY2gtaW5wdXQtY2xlYXJcIiwgcGFyZW50KTtcblxuICAgICAgcmV0dXJuIGluaXQoeyBpbnB1dCwgY29udGFpbmVyLCBsaXN0Q29udGFpbmVyLCBjbGllbnQsIGNsZWFyIH0pO1xuICAgIH0pO1xufTtcbiJdLCJuYW1lcyI6WyJxdWVyeUlkIiwidmFsIiwicm9vdCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsInF1ZXJ5SWRBbGwiLCJxdWVyeVNlbGVjdG9yQWxsIiwiQWRkU2VhcmNoQ2xpZW50IiwiaW5pdCIsImlucHV0IiwiY29udGFpbmVyIiwibGlzdENvbnRhaW5lciIsImNsZWFyIiwiY2xpZW50Iiwic2V0QW5hbHl0aWNzVGFnIiwic2V0VGhyb3R0bGVUaW1lIiwiY2xlYXJSZXN1bHRzIiwiY2xhc3NMaXN0IiwiYWRkIiwiaW5uZXJIVE1MIiwidG9nZ2xlQ2xlYXJCdG4iLCJxdWVyeSIsImxlbmd0aCIsInJlbW92ZSIsIm1hcmtRdWVyeUluU3VnZ2VzdGlvbiIsInN1Z2dlc3Rpb25WYWx1ZSIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsIm5hdmlnYXRlVG9VcmwiLCJxIiwid2luZG93IiwibG9jYXRpb24iLCJmb2N1c05leHQiLCJpbmRleCIsIm5leHRTdWdnZXN0aW9uIiwiZm9jdXMiLCJmb2N1c1ByZXZpb3VzIiwicHJldmlvdXNJbmRleCIsInByZXZpb3VzU3VnZ2VzdGlvbiIsInJlbmRlclJlc3VsdHMiLCJyZXN1bHRzIiwiQXJyYXkiLCJpc0FycmF5Iiwic3VnZ2VzdGlvbnMiLCJpdGVtcyIsIm1hcCIsInN1Z2dlc3Rpb24iLCJsaSIsImNyZWF0ZUVsZW1lbnQiLCJidXR0b24iLCJ0eXBlIiwidmFsdWUiLCJkYXRhc2V0Iiwic3VnZ2VzdGlvbkluZGV4IiwiYWRkRXZlbnRMaXN0ZW5lciIsImUiLCJrZXkiLCJhcHBlbmRDaGlsZCIsImZvckVhY2giLCJpdGVtIiwia2V5dXBIYW5kbGVyIiwidGFyZ2V0IiwiY2xlYXJIYW5kbGVyIiwidGVhcmRvd24iLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYXBpS2V5IiwiY29uc29sZSIsImxvZyIsImZpbHRlciIsImkiLCJwYXJlbnQiLCJwYXJlbnROb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==
@@ -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.MeganavSearchPanel=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"]["MeganavSearchPanel"] = factory();
10
+ })(this, () => {
11
+ return /******/ (() => { // webpackBootstrap
12
+ var __webpack_exports__ = {};
13
+ /*!**************************************************!*\
14
+ !*** ./src/core/MeganavSearchPanel/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS9NZWdhbmF2U2VhcmNoUGFuZWwvY29tcG9uZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsdURBQXVEO0FBQzlGLENBQUM7QUFDRCxPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWJseVVpLkNvcmUvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFibHlVaVwiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBYmx5VWlcIl0gPSByb290W1wiQWJseVVpXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXSA9IHJvb3RbXCJBYmx5VWlcIl1bXCJDb3JlXCJdIHx8IHt9LCByb290W1wiQWJseVVpXCJdW1wiQ29yZVwiXVtcIk1lZ2FuYXZTZWFyY2hQYW5lbFwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsICgpID0+IHtcbnJldHVybiAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=