@algolia/autocomplete-js 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/decycle.js","../../../autocomplete-shared/dist/esm/flatten.js","../../../autocomplete-shared/dist/esm/generateAutocompleteId.js","../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/getItemsCount.js","../../../autocomplete-shared/dist/esm/invariant.js","../../../autocomplete-shared/dist/esm/noop.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../../autocomplete-shared/dist/esm/warn.js","../../../autocomplete-core/dist/esm/checkOptions.js","../../../autocomplete-core/dist/esm/utils/createCancelablePromise.js","../../../autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","../../../autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","../../../autocomplete-core/dist/esm/utils/getNextActiveItemId.js","../../../autocomplete-core/dist/esm/utils/getNormalizedSources.js","../../../autocomplete-core/dist/esm/utils/getActiveItem.js","../../../autocomplete-core/dist/esm/utils/isOrContainsNode.js","../../../autocomplete-core/dist/esm/utils/isSamsung.js","../../../autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","../../../autocomplete-core/dist/esm/createStore.js","../../../autocomplete-core/dist/esm/getAutocompleteSetters.js","../../../autocomplete-core/dist/esm/getDefaultProps.js","../../../autocomplete-core/dist/esm/reshape.js","../../../autocomplete-core/dist/esm/resolve.js","../../../autocomplete-core/dist/esm/onInput.js","../../../autocomplete-core/dist/esm/onKeyDown.js","../../../autocomplete-core/dist/esm/getPropGetters.js","../../../autocomplete-core/dist/esm/metadata.js","../../../autocomplete-core/dist/esm/getCompletion.js","../../../autocomplete-core/dist/esm/stateReducer.js","../../../autocomplete-core/dist/esm/createAutocomplete.js","../../../../node_modules/htm/dist/htm.mjs","../../src/elements/ClearIcon.ts","../../src/utils/getHTMLElement.ts","../../src/utils/mergeClassNames.ts","../../src/utils/mergeDeep.ts","../../src/utils/pickBy.ts","../../src/utils/setProperties.ts","../../src/getCreateDomElement.ts","../../src/elements/Input.ts","../../src/elements/LoadingIcon.ts","../../src/elements/SearchIcon.ts","../../src/createAutocompleteDom.ts","../../src/createEffectWrapper.ts","../../src/createReactiveWrapper.ts","../../node_modules/preact/dist/preact.mjs","../../../autocomplete-preset-algolia/dist/esm/constants/index.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","../../../autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","../../../autocomplete-preset-algolia/dist/esm/requester/createRequester.js","../../../autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js","../../src/components/Highlight.ts","../../src/components/ReverseHighlight.ts","../../src/components/ReverseSnippet.ts","../../src/components/Snippet.ts","../../src/getDefaultOptions.ts","../../src/getPanelPlacementStyle.ts","../../src/render.tsx","../../src/userAgents.ts","../../src/autocomplete.ts","../../src/requesters/createAlgoliaRequester.ts","../../src/requesters/getAlgoliaFacets.ts","../../src/requesters/getAlgoliaResults.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (timerId) {\n clearTimeout(timerId);\n }\n\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/**\n * Decycles objects with circular references.\n * This is used to print cyclic structures in development environment only.\n */\nexport function decycle(obj) {\n var seen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();\n\n if (!(process.env.NODE_ENV !== 'production') || !obj || _typeof(obj) !== 'object') {\n return obj;\n }\n\n if (seen.has(obj)) {\n return '[Circular]';\n }\n\n var newSeen = seen.add(obj);\n\n if (Array.isArray(obj)) {\n return obj.map(function (x) {\n return decycle(x, newSeen);\n });\n }\n\n return Object.fromEntries(Object.entries(obj).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n return [key, decycle(value, newSeen)];\n }));\n}","export function flatten(values) {\n return values.reduce(function (a, b) {\n return a.concat(b);\n }, []);\n}","var autocompleteId = 0;\nexport function generateAutocompleteId() {\n return \"autocomplete-\".concat(autocompleteId++);\n}","export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export function getItemsCount(state) {\n if (state.collections.length === 0) {\n return 0;\n }\n\n return state.collections.reduce(function (sum, collection) {\n return sum + collection.items.length;\n }, 0);\n}","/**\n * Throws an error if the condition is not met in development mode.\n * This is used to make development a better experience to provide guidance as\n * to where the error comes from.\n */\nexport function invariant(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (!condition) {\n throw new Error(\"[Autocomplete] \".concat(typeof message === 'function' ? message() : message));\n }\n}","export var noop = function noop() {};","export var version = '1.6.2';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export var warnCache = {\n current: {}\n};\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\n\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (condition) {\n return;\n }\n\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console\n\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","import { warn } from '@algolia/autocomplete-shared';\nexport function checkOptions(options) {\n process.env.NODE_ENV !== 'production' ? warn(!options.debug, 'The `debug` option is meant for development debugging and should not be used in production.') : void 0;\n}","function createInternalCancelablePromise(promise, initialState) {\n var state = initialState;\n return {\n then: function then(onfulfilled, onrejected) {\n return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);\n },\n catch: function _catch(onrejected) {\n return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);\n },\n finally: function _finally(onfinally) {\n if (onfinally) {\n state.onCancelList.push(onfinally);\n }\n\n return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {\n state.onCancelList = [];\n return onfinally();\n }, state, promise)), state);\n },\n cancel: function cancel() {\n state.isCanceled = true;\n var callbacks = state.onCancelList;\n state.onCancelList = [];\n callbacks.forEach(function (callback) {\n callback();\n });\n },\n isCanceled: function isCanceled() {\n return state.isCanceled === true;\n }\n };\n}\n\nexport function createCancelablePromise(executor) {\n return createInternalCancelablePromise(new Promise(function (resolve, reject) {\n return executor(resolve, reject);\n }), {\n isCanceled: false,\n onCancelList: []\n });\n}\n\ncreateCancelablePromise.resolve = function (value) {\n return cancelable(Promise.resolve(value));\n};\n\ncreateCancelablePromise.reject = function (reason) {\n return cancelable(Promise.reject(reason));\n};\n\nexport function cancelable(promise) {\n return createInternalCancelablePromise(promise, {\n isCanceled: false,\n onCancelList: []\n });\n}\n\nfunction createCallback(onResult, state, fallback) {\n if (!onResult) {\n return fallback;\n }\n\n return function callback(arg) {\n if (state.isCanceled) {\n return arg;\n }\n\n return onResult(arg);\n };\n}","export function createCancelablePromiseList() {\n var list = [];\n return {\n add: function add(cancelablePromise) {\n list.push(cancelablePromise);\n return cancelablePromise.finally(function () {\n list = list.filter(function (item) {\n return item !== cancelablePromise;\n });\n });\n },\n cancelAll: function cancelAll() {\n list.forEach(function (promise) {\n return promise.cancel();\n });\n },\n isEmpty: function isEmpty() {\n return list.length === 0;\n }\n };\n}","/**\n * Creates a runner that executes promises in a concurrent-safe way.\n *\n * This is useful to prevent older promises to resolve after a newer promise,\n * otherwise resulting in stale resolved values.\n */\nexport function createConcurrentSafePromise() {\n var basePromiseId = -1;\n var latestResolvedId = -1;\n var latestResolvedValue = undefined;\n return function runConcurrentSafePromise(promise) {\n basePromiseId++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n });\n };\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n\n return numericIndex;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n\n seenSourceIds.push(source.sourceId);\n\n var normalizedSource = _objectSpread({\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop\n }, source);\n\n return Promise.resolve(normalizedSource);\n }));\n });\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []); // Based on the accumulated counts, we can infer the index of the suggestion.\n\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\n\n\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n\n return state.activeItemId - previousItemsOffset;\n}\n\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n\n if (!collection) {\n return null;\n }\n\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","var regex = /((gt|sm)-|galaxy nexus)|samsung[- ]/i;\nexport function isSamsung(userAgent) {\n return Boolean(userAgent && userAgent.match(regex));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function mapToAlgoliaResponse(rawResults) {\n var results = rawResults.map(function (result) {\n var _hits;\n\n return _objectSpread(_objectSpread({}, result), {}, {\n hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {\n // Bring support for the Insights plugin.\n return _objectSpread(_objectSpread({}, hit), {}, {\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID\n });\n })\n });\n });\n return {\n results: results,\n hits: results.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: results.map(function (result) {\n var _facetHits;\n\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { createCancelablePromiseList } from './utils';\nexport function createStore(reducer, props, onStoreStateChange) {\n var state = props.initialState;\n return {\n getState: function getState() {\n return state;\n },\n dispatch: function dispatch(action, payload) {\n var prevState = _objectSpread({}, state);\n\n state = reducer(state, {\n type: action,\n props: props,\n payload: payload\n });\n onStoreStateChange({\n state: state,\n prevState: prevState\n });\n },\n pendingRequests: createCancelablePromiseList()\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function getAutocompleteSetters(_ref) {\n var store = _ref.store;\n\n var setActiveItemId = function setActiveItemId(value) {\n store.dispatch('setActiveItemId', value);\n };\n\n var setQuery = function setQuery(value) {\n store.dispatch('setQuery', value);\n };\n\n var setCollections = function setCollections(rawValue) {\n var baseItemId = 0;\n var value = rawValue.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n // We flatten the stored items to support calling `getAlgoliaResults`\n // from the source itself.\n items: flatten(collection.items).map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n __autocomplete_id: baseItemId++\n });\n })\n });\n });\n store.dispatch('setCollections', value);\n };\n\n var setIsOpen = function setIsOpen(value) {\n store.dispatch('setIsOpen', value);\n };\n\n var setStatus = function setStatus(value) {\n store.dispatch('setStatus', value);\n };\n\n var setContext = function setContext(value) {\n store.dispatch('setContext', value);\n };\n\n return {\n setActiveItemId: setActiveItemId,\n setQuery: setQuery,\n setCollections: setCollections,\n setIsOpen: setIsOpen,\n setStatus: setStatus,\n setContext: setContext\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources } from './utils';\nexport function getDefaultProps(props, pluginSubscribers) {\n var _props$id;\n\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n\n var plugins = props.plugins || [];\n return _objectSpread(_objectSpread({\n debug: false,\n openOnFocus: false,\n placeholder: '',\n autoFocus: false,\n defaultActiveItemId: null,\n stallThreshold: 300,\n environment: environment,\n shouldPanelOpen: function shouldPanelOpen(_ref) {\n var state = _ref.state;\n return getItemsCount(state) > 0;\n },\n reshape: function reshape(_ref2) {\n var sources = _ref2.sources;\n return sources;\n }\n }, props), {}, {\n // Since `generateAutocompleteId` triggers a side effect (it increments\n // an internal counter), we don't want to execute it if unnecessary.\n id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),\n plugins: plugins,\n // The following props need to be deeply defaulted.\n initialState: _objectSpread({\n activeItemId: null,\n query: '',\n completion: null,\n collections: [],\n isOpen: false,\n status: 'idle',\n context: {}\n }, props.initialState),\n onStateChange: function onStateChange(params) {\n var _props$onStateChange;\n\n (_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);\n plugins.forEach(function (x) {\n var _x$onStateChange;\n\n return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);\n });\n },\n onSubmit: function onSubmit(params) {\n var _props$onSubmit;\n\n (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);\n plugins.forEach(function (x) {\n var _x$onSubmit;\n\n return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);\n });\n },\n onReset: function onReset(params) {\n var _props$onReset;\n\n (_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);\n plugins.forEach(function (x) {\n var _x$onReset;\n\n return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);\n });\n },\n getSources: function getSources(params) {\n return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {\n return plugin.getSources;\n })), [props.getSources]).filter(Boolean).map(function (getSources) {\n return getNormalizedSources(getSources, params);\n })).then(function (nested) {\n return flatten(nested);\n }).then(function (sources) {\n return sources.map(function (source) {\n return _objectSpread(_objectSpread({}, source), {}, {\n onSelect: function onSelect(params) {\n source.onSelect(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onSelect;\n\n return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);\n });\n },\n onActive: function onActive(params) {\n source.onActive(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onActive;\n\n return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);\n });\n }\n });\n });\n });\n },\n navigator: _objectSpread({\n navigate: function navigate(_ref3) {\n var itemUrl = _ref3.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref4) {\n var itemUrl = _ref4.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref5) {\n var itemUrl = _ref5.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\n });\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function reshape(_ref) {\n var collections = _ref.collections,\n props = _ref.props,\n state = _ref.state;\n // Sources are grouped by `sourceId` to conveniently pick them via destructuring.\n // Example: `const { recentSearchesPlugin } = sourcesBySourceId`\n var sourcesBySourceId = collections.reduce(function (acc, collection) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {\n getItems: function getItems() {\n // We provide the resolved items from the collection to the `reshape` prop.\n return flatten(collection.items);\n }\n })));\n }, {});\n var reshapeSources = props.reshape({\n sources: Object.values(sourcesBySourceId),\n sourcesBySourceId: sourcesBySourceId,\n state: state\n }); // We reconstruct the collections with the items modified by the `reshape` prop.\n\n return flatten(reshapeSources).filter(Boolean).map(function (source) {\n return {\n source: source,\n items: source.getItems()\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { decycle, flatten, invariant } from '@algolia/autocomplete-shared';\nimport { mapToAlgoliaResponse } from './utils';\n\nfunction isDescription(item) {\n return Boolean(item.execute);\n}\n\nfunction isRequesterDescription(description) {\n return Boolean(description === null || description === void 0 ? void 0 : description.execute);\n}\n\nexport function preResolve(itemsOrDescription, sourceId) {\n if (isRequesterDescription(itemsOrDescription)) {\n return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {\n requests: itemsOrDescription.queries.map(function (query) {\n return {\n query: query,\n sourceId: sourceId,\n transformResponse: itemsOrDescription.transformResponse\n };\n })\n });\n }\n\n return {\n items: itemsOrDescription,\n sourceId: sourceId\n };\n}\nexport function resolve(items) {\n var packed = items.reduce(function (acc, current) {\n if (!isDescription(current)) {\n acc.push(current);\n return acc;\n }\n\n var searchClient = current.searchClient,\n execute = current.execute,\n requesterId = current.requesterId,\n requests = current.requests;\n var container = acc.find(function (item) {\n return isDescription(current) && isDescription(item) && item.searchClient === searchClient && Boolean(requesterId) && item.requesterId === requesterId;\n });\n\n if (container) {\n var _container$items;\n\n (_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));\n } else {\n var request = {\n execute: execute,\n requesterId: requesterId,\n items: requests,\n searchClient: searchClient\n };\n acc.push(request);\n }\n\n return acc;\n }, []);\n var values = packed.map(function (maybeDescription) {\n if (!isDescription(maybeDescription)) {\n return Promise.resolve(maybeDescription);\n }\n\n var _ref = maybeDescription,\n execute = _ref.execute,\n items = _ref.items,\n searchClient = _ref.searchClient;\n return execute({\n searchClient: searchClient,\n requests: items\n });\n });\n return Promise.all(values).then(function (responses) {\n return flatten(responses);\n });\n}\nexport function postResolve(responses, sources) {\n return sources.map(function (source) {\n var matches = responses.filter(function (response) {\n return response.sourceId === source.sourceId;\n });\n var results = matches.map(function (_ref2) {\n var items = _ref2.items;\n return items;\n });\n var transform = matches[0].transformResponse;\n var items = transform ? transform(mapToAlgoliaResponse(results)) : results;\n invariant(Array.isArray(items), function () {\n return \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned type \").concat(JSON.stringify(_typeof(items)), \":\\n\\n\").concat(JSON.stringify(decycle(items), null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\");\n });\n invariant(items.every(Boolean), \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned \").concat(JSON.stringify(undefined), \".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\n return {\n source: source,\n items: items\n };\n });\n}","var _excluded = [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { reshape } from './reshape';\nimport { preResolve, resolve, postResolve } from './resolve';\nimport { cancelable, createConcurrentSafePromise, getActiveItem } from './utils';\nvar lastStalledId = null;\nvar runConcurrentSafePromise = createConcurrentSafePromise();\nexport function onInput(_ref) {\n var event = _ref.event,\n _ref$nextState = _ref.nextState,\n nextState = _ref$nextState === void 0 ? {} : _ref$nextState,\n props = _ref.props,\n query = _ref.query,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n\n var setCollections = setters.setCollections,\n setIsOpen = setters.setIsOpen,\n setQuery = setters.setQuery,\n setActiveItemId = setters.setActiveItemId,\n setStatus = setters.setStatus;\n setQuery(query);\n setActiveItemId(props.defaultActiveItemId);\n\n if (!query && props.openOnFocus === false) {\n var _nextState$isOpen;\n\n var collections = store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n });\n setStatus('idle');\n setCollections(collections);\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n })); // We make sure to update the latest resolved value of the tracked\n // promises to keep late resolving promises from \"cancelling\" the state\n // updates performed in this code path.\n // We chain with a void promise to respect `onInput`'s expected return type.\n\n var _request = cancelable(runConcurrentSafePromise(collections).then(function () {\n return Promise.resolve();\n }));\n\n return store.pendingRequests.add(_request);\n }\n\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold); // We track the entire promise chain triggered by `onInput` before mutating\n // the Autocomplete state to make sure that any state manipulation is based on\n // fresh data regardless of when promises individually resolve.\n // We don't track nested promises and only rely on the full chain resolution,\n // meaning we should only ever manipulate the state once this concurrent-safe\n // promise is resolved.\n\n var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n return Promise.all(sources.map(function (source) {\n return Promise.resolve(source.getItems(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters))).then(function (itemsOrDescription) {\n return preResolve(itemsOrDescription, source.sourceId);\n });\n })).then(resolve).then(function (responses) {\n return postResolve(responses, sources);\n }).then(function (collections) {\n return reshape({\n collections: collections,\n props: props,\n state: store.getState()\n });\n });\n }))).then(function (collections) {\n var _nextState$isOpen2;\n\n // Parameters passed to `onInput` could be stale when the following code\n // executes, because `onInput` calls may not resolve in order.\n // If it becomes a problem we'll need to save the last passed parameters.\n // See: https://codesandbox.io/s/agitated-cookies-y290z\n setStatus('idle');\n setCollections(collections);\n var isPanelOpen = props.shouldPanelOpen({\n state: store.getState()\n });\n setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }).finally(function () {\n setStatus('idle');\n\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\n return store.pendingRequests.add(request);\n}","var _excluded = [\"event\", \"props\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { onInput } from './onInput';\nimport { getActiveItem } from './utils';\nexport function onKeyDown(_ref) {\n var event = _ref.event,\n props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n // eslint-disable-next-line no-inner-declarations\n var triggerScrollIntoView = function triggerScrollIntoView() {\n var nodeItem = props.environment.document.getElementById(\"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId));\n\n if (nodeItem) {\n if (nodeItem.scrollIntoViewIfNeeded) {\n nodeItem.scrollIntoViewIfNeeded(false);\n } else {\n nodeItem.scrollIntoView(false);\n }\n }\n }; // eslint-disable-next-line no-inner-declarations\n\n\n var triggerOnActive = function triggerOnActive() {\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }; // Default browser behavior changes the caret placement on ArrowUp and\n // ArrowDown.\n\n\n event.preventDefault(); // When re-opening the panel, we need to split the logic to keep the actions\n // synchronized as `onInput` returns a promise.\n\n if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n store.dispatch(event.key, {\n nextActiveItemId: props.defaultActiveItemId\n });\n triggerOnActive(); // Since we rely on the DOM, we need to wait for all the micro tasks to\n // finish (which include re-opening the panel) to make sure all the\n // elements are available.\n\n setTimeout(triggerScrollIntoView, 0);\n });\n } else {\n store.dispatch(event.key, {});\n triggerOnActive();\n triggerScrollIntoView();\n }\n } else if (event.key === 'Escape') {\n // This prevents the default browser behavior on `input[type=\"search\"]`\n // from removing the query right away because we first want to close the\n // panel.\n event.preventDefault();\n store.dispatch(event.key, null); // Hitting the `Escape` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Enter') {\n // No active item, so we let the browser handle the native `onSubmit` form\n // event.\n if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {\n return collection.items.length === 0;\n })) {\n return;\n } // This prevents the `onSubmit` event to be sent because an item is\n // highlighted.\n\n\n event.preventDefault();\n\n var _ref2 = getActiveItem(store.getState()),\n item = _ref2.item,\n itemInputValue = _ref2.itemInputValue,\n itemUrl = _ref2.itemUrl,\n source = _ref2.source;\n\n if (event.metaKey || event.ctrlKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewTab({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.shiftKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewWindow({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.altKey) {// Keep native browser behavior\n } else {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigate({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n return;\n }\n\n onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }\n}","var _excluded = [\"props\", \"refresh\", \"store\"],\n _excluded2 = [\"inputElement\", \"formElement\", \"panelElement\"],\n _excluded3 = [\"inputElement\"],\n _excluded4 = [\"inputElement\", \"maxLength\"],\n _excluded5 = [\"item\", \"source\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { onInput } from './onInput';\nimport { onKeyDown as _onKeyDown } from './onKeyDown';\nimport { getActiveItem, isOrContainsNode, isSamsung } from './utils';\nexport function getPropGetters(_ref) {\n var props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, _excluded2);\n\n return _objectSpread({\n // On touch devices, we do not rely on the native `blur` event of the\n // input to close the panel, but rather on a custom `touchstart` event\n // outside of the autocomplete elements.\n // This ensures a working experience on mobile because we blur the input\n // on touch devices when the user starts scrolling (`touchmove`).\n // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n onTouchStart: function onTouchStart(event) {\n // The `onTouchStart` event shouldn't trigger the `blur` handler when\n // it's not an interaction with Autocomplete. We detect it with the\n // following heuristics:\n // - the panel is closed AND there are no pending requests\n // (no interaction with the autocomplete, no future state updates)\n // - OR the touched target is the input element (should open the panel)\n var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();\n\n if (!isAutocompleteInteraction || event.target === inputElement) {\n return;\n }\n\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target);\n });\n\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n },\n // When scrolling on touch devices (mobiles, tablets, etc.), we want to\n // mimic the native platform behavior where the input is blurred to\n // hide the virtual keyboard. This gives more vertical space to\n // discover all the suggestions showing up in the panel.\n onTouchMove: function onTouchMove(event) {\n if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {\n return;\n }\n\n inputElement.blur();\n }\n }, rest);\n };\n\n var getRootProps = function getRootProps(rest) {\n return _objectSpread({\n role: 'combobox',\n 'aria-expanded': store.getState().isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-owns': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getFormProps = function getFormProps(providedProps) {\n var inputElement = providedProps.inputElement,\n rest = _objectWithoutProperties(providedProps, _excluded3);\n\n return _objectSpread({\n action: '',\n noValidate: true,\n role: 'search',\n onSubmit: function onSubmit(event) {\n var _providedProps$inputE;\n\n event.preventDefault();\n props.onSubmit(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('submit', null);\n (_providedProps$inputE = providedProps.inputElement) === null || _providedProps$inputE === void 0 ? void 0 : _providedProps$inputE.blur();\n },\n onReset: function onReset(event) {\n var _providedProps$inputE2;\n\n event.preventDefault();\n props.onReset(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('reset', null);\n (_providedProps$inputE2 = providedProps.inputElement) === null || _providedProps$inputE2 === void 0 ? void 0 : _providedProps$inputE2.focus();\n }\n }, rest);\n };\n\n var getInputProps = function getInputProps(providedProps) {\n var _props$environment$na;\n\n function onFocus(event) {\n // We want to trigger a query when `openOnFocus` is true\n // because the panel should open with the current query.\n if (props.openOnFocus || Boolean(store.getState().query)) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().completion || store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n store.dispatch('focus', null);\n }\n\n var isTouchDevice = ('ontouchstart' in props.environment);\n\n var _ref2 = providedProps || {},\n inputElement = _ref2.inputElement,\n _ref2$maxLength = _ref2.maxLength,\n maxLength = _ref2$maxLength === void 0 ? 512 : _ref2$maxLength,\n rest = _objectWithoutProperties(_ref2, _excluded4);\n\n var activeItem = getActiveItem(store.getState());\n var userAgent = (_props$environment$na = props.environment.navigator) === null || _props$environment$na === void 0 ? void 0 : _props$environment$na.userAgent;\n var shouldFallbackKeyHint = isSamsung(userAgent);\n var enterKeyHint = activeItem !== null && activeItem !== void 0 && activeItem.itemUrl && !shouldFallbackKeyHint ? 'go' : 'search';\n return _objectSpread({\n 'aria-autocomplete': 'both',\n 'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? \"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId) : undefined,\n 'aria-controls': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n value: store.getState().completion || store.getState().query,\n id: \"\".concat(props.id, \"-input\"),\n autoComplete: 'off',\n autoCorrect: 'off',\n autoCapitalize: 'off',\n enterKeyHint: enterKeyHint,\n spellCheck: 'false',\n autoFocus: props.autoFocus,\n placeholder: props.placeholder,\n maxLength: maxLength,\n type: 'search',\n onChange: function onChange(event) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: event.currentTarget.value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(_objectSpread({\n event: event,\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n },\n onFocus: onFocus,\n onBlur: function onBlur() {\n // We do rely on the `blur` event on touch devices.\n // See explanation in `onTouchStart`.\n if (!isTouchDevice) {\n store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n },\n onClick: function onClick(event) {\n // When the panel is closed and you click on the input while\n // the input is focused, the `onFocus` event is not triggered\n // (default browser behavior).\n // In an autocomplete context, it makes sense to open the panel in this\n // case.\n // We mimic this event by catching the `onClick` event which\n // triggers the `onFocus` for the panel to open.\n if (providedProps.inputElement === props.environment.document.activeElement && !store.getState().isOpen) {\n onFocus(event);\n }\n }\n }, rest);\n };\n\n var getLabelProps = function getLabelProps(rest) {\n return _objectSpread({\n htmlFor: \"\".concat(props.id, \"-input\"),\n id: \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getListProps = function getListProps(rest) {\n return _objectSpread({\n role: 'listbox',\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n id: \"\".concat(props.id, \"-list\")\n }, rest);\n };\n\n var getPanelProps = function getPanelProps(rest) {\n return _objectSpread({\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the panel so\n // that the blur event is not triggered, otherwise it closes the\n // panel.\n event.preventDefault();\n },\n onMouseLeave: function onMouseLeave() {\n store.dispatch('mouseleave', null);\n }\n }, rest);\n };\n\n var getItemProps = function getItemProps(providedProps) {\n var item = providedProps.item,\n source = providedProps.source,\n rest = _objectWithoutProperties(providedProps, _excluded5);\n\n return _objectSpread({\n id: \"\".concat(props.id, \"-item-\").concat(item.__autocomplete_id),\n role: 'option',\n 'aria-selected': store.getState().activeItemId === item.__autocomplete_id,\n onMouseMove: function onMouseMove(event) {\n if (item.__autocomplete_id === store.getState().activeItemId) {\n return;\n }\n\n store.dispatch('mousemove', item.__autocomplete_id);\n var activeItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && activeItem) {\n var _item = activeItem.item,\n itemInputValue = activeItem.itemInputValue,\n itemUrl = activeItem.itemUrl,\n _source = activeItem.source;\n\n _source.onActive(_objectSpread({\n event: event,\n item: _item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: _source,\n state: store.getState()\n }, setters));\n }\n },\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the item so it\n // can remain with the current `activeElement`.\n event.preventDefault();\n },\n onClick: function onClick(event) {\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: store.getState()\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: store.getState()\n }); // If `getItemUrl` is provided, it means that the suggestion\n // is a link, not plain text that aims at updating the query.\n // We can therefore skip the state change because it will update\n // the `activeItemId`, resulting in a UI flash, especially\n // noticeable on mobile.\n\n var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters));\n runPreCommand.then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }, rest);\n };\n\n return {\n getEnvironmentProps: getEnvironmentProps,\n getRootProps: getRootProps,\n getFormProps: getFormProps,\n getLabelProps: getLabelProps,\n getInputProps: getInputProps,\n getPanelProps: getPanelProps,\n getListProps: getListProps,\n getItemProps: getItemProps\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { userAgents } from '@algolia/autocomplete-shared';\nexport function getMetadata(_ref) {\n var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;\n\n var plugins = _ref.plugins,\n options = _ref.options;\n var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;\n var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};\n return {\n plugins: plugins.map(function (plugin) {\n return {\n name: plugin.name,\n options: Object.keys(plugin.__autocomplete_pluginOptions || [])\n };\n }),\n options: _objectSpread({\n 'autocomplete-core': Object.keys(options)\n }, extraOptions),\n ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])\n };\n}\nexport function injectMetadata(_ref3) {\n var _environment$navigato;\n\n var metadata = _ref3.metadata,\n environment = _ref3.environment;\n var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : _environment$navigato.userAgent.includes('Algolia Crawler');\n\n if (isMetadataEnabled) {\n var metadataContainer = environment.document.createElement('meta');\n var headRef = environment.document.querySelector('head');\n metadataContainer.name = 'algolia:metadata';\n setTimeout(function () {\n metadataContainer.content = JSON.stringify(metadata);\n headRef.appendChild(metadataContainer);\n }, 0);\n }\n}","import { getActiveItem } from './utils';\nexport function getCompletion(_ref) {\n var _getActiveItem;\n\n var state = _ref.state;\n\n if (state.isOpen === false || state.activeItemId === null) {\n return null;\n }\n\n return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, invariant } from '@algolia/autocomplete-shared';\nimport { getCompletion } from './getCompletion';\nimport { getNextActiveItemId } from './utils';\nexport var stateReducer = function stateReducer(state, action) {\n switch (action.type) {\n case 'setActiveItemId':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'setQuery':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n query: action.payload,\n completion: null\n });\n }\n\n case 'setCollections':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n collections: action.payload\n });\n }\n\n case 'setIsOpen':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: action.payload\n });\n }\n\n case 'setStatus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n }\n\n case 'setContext':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n context: _objectSpread(_objectSpread({}, state.context), action.payload)\n });\n }\n\n case 'ArrowDown':\n {\n var nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, nextState), {}, {\n completion: getCompletion({\n state: nextState\n })\n });\n }\n\n case 'ArrowUp':\n {\n var _nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, _nextState), {}, {\n completion: getCompletion({\n state: _nextState\n })\n });\n }\n\n case 'Escape':\n {\n if (state.isOpen) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n completion: null\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n query: '',\n status: 'idle',\n collections: []\n });\n }\n\n case 'submit':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n status: 'idle'\n });\n }\n\n case 'reset':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: // Since we open the panel on reset when openOnFocus=true\n // we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)\n // Since we close the panel when openOnFocus=false\n // we lose track of the highlighted index. (Query-suggestions use-case)\n action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,\n status: 'idle',\n query: ''\n });\n }\n\n case 'focus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId,\n isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({\n state: state\n })\n });\n }\n\n case 'blur':\n {\n if (action.props.debug) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: false,\n activeItemId: null\n });\n }\n\n case 'mousemove':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'mouseleave':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId\n });\n }\n\n default:\n invariant(false, \"The reducer action \".concat(JSON.stringify(action.type), \" is not supported.\"));\n return state;\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { checkOptions } from './checkOptions';\nimport { createStore } from './createStore';\nimport { getAutocompleteSetters } from './getAutocompleteSetters';\nimport { getDefaultProps } from './getDefaultProps';\nimport { getPropGetters } from './getPropGetters';\nimport { getMetadata, injectMetadata } from './metadata';\nimport { onInput } from './onInput';\nimport { stateReducer } from './stateReducer';\nexport function createAutocomplete(options) {\n checkOptions(options);\n var subscribers = [];\n var props = getDefaultProps(options, subscribers);\n var store = createStore(stateReducer, props, onStoreStateChange);\n var setters = getAutocompleteSetters({\n store: store\n });\n var propGetters = getPropGetters(_objectSpread({\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n\n function onStoreStateChange(_ref) {\n var prevState = _ref.prevState,\n state = _ref.state;\n props.onStateChange(_objectSpread({\n prevState: prevState,\n state: state,\n refresh: refresh\n }, setters));\n }\n\n function refresh() {\n return onInput(_objectSpread({\n event: new Event('input'),\n nextState: {\n isOpen: store.getState().isOpen\n },\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n props.plugins.forEach(function (plugin) {\n var _plugin$subscribe;\n\n return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {\n refresh: refresh,\n onSelect: function onSelect(fn) {\n subscribers.push({\n onSelect: fn\n });\n },\n onActive: function onActive(fn) {\n subscribers.push({\n onActive: fn\n });\n }\n }));\n });\n injectMetadata({\n metadata: getMetadata({\n plugins: props.plugins,\n options: options\n }),\n environment: props.environment\n });\n return _objectSpread(_objectSpread({\n refresh: refresh\n }, propGetters), setters);\n}","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const ClearIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-ClearIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '18');\n element.setAttribute('height', '18');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\nimport { invariant } from '@algolia/autocomplete-shared';\n\nexport function getHTMLElement(\n environment: AutocompleteEnvironment,\n value: string | HTMLElement\n): HTMLElement {\n if (typeof value === 'string') {\n const element = environment.document.querySelector<HTMLElement>(value);\n\n invariant(\n element !== null,\n `The element ${JSON.stringify(value)} is not in the document.`\n );\n\n return element!;\n }\n\n return value;\n}\n","import { AutocompleteClassNames } from '../types';\n\nexport function mergeClassNames(\n ...values: Array<Partial<AutocompleteClassNames>>\n) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (accValue !== currentValue) {\n acc[key] = [accValue, currentValue].filter(Boolean).join(' ');\n }\n });\n\n return acc;\n }, {});\n}\n","const isPlainObject = (value: unknown) =>\n value &&\n typeof value === 'object' &&\n Object.prototype.toString.call(value) === '[object Object]';\n\nexport function mergeDeep(...values: any[]) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (Array.isArray(accValue) && Array.isArray(currentValue)) {\n acc[key] = accValue.concat(...currentValue);\n } else if (isPlainObject(accValue) && isPlainObject(currentValue)) {\n acc[key] = mergeDeep(accValue, currentValue);\n } else {\n acc[key] = currentValue;\n }\n });\n\n return acc;\n }, {});\n}\n","export function pickBy<TValue = unknown>(\n obj: Record<string, TValue>,\n predicate: (value: { key: string; value: TValue }) => boolean\n) {\n return Object.entries(obj).reduce<Record<string, TValue>>(\n (acc, [key, value]) => {\n if (predicate({ key, value })) {\n return { ...acc, [key]: value };\n }\n\n return acc;\n },\n {}\n );\n}\n","/* eslint-disable */\n\n/**\n * Touch-specific event aliases\n *\n * See https://w3c.github.io/touch-events/#extensions-to-the-globaleventhandlers-mixin\n */\nconst TOUCH_EVENTS_ALIASES = [\n 'ontouchstart',\n 'ontouchend',\n 'ontouchmove',\n 'ontouchcancel',\n];\n\n/*\n * Taken from Preact\n *\n * See https://github.com/preactjs/preact/blob/6ab49d9020740127577bf4af66bf63f4af7f9fee/src/diff/props.js#L58-L151\n */\n\nfunction setStyle(style: object, key: string, value: any) {\n if (value === null) {\n style[key] = '';\n } else if (typeof value !== 'number') {\n style[key] = value;\n } else {\n style[key] = value + 'px';\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n */\nfunction eventProxy(this: any, event: Event) {\n this._listeners[event.type](event);\n}\n\n/**\n * Set a property value on a DOM node\n */\nexport function setProperty(dom: HTMLElement, name: string, value: any) {\n let useCapture: boolean;\n let nameLower: string;\n let oldValue = dom[name];\n\n if (name === 'style') {\n if (typeof value == 'string') {\n (dom as any).style = value;\n } else {\n if (value === null) {\n (dom as any).style = '';\n } else {\n for (name in value) {\n if (!oldValue || value[name] !== oldValue[name]) {\n setStyle(dom.style, name, value[name]);\n }\n }\n }\n }\n }\n // Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n else if (name[0] === 'o' && name[1] === 'n') {\n useCapture = name !== (name = name.replace(/Capture$/, ''));\n nameLower = name.toLowerCase();\n if (nameLower in dom || TOUCH_EVENTS_ALIASES.includes(nameLower))\n name = nameLower;\n name = name.slice(2);\n\n if (!(dom as any)._listeners) (dom as any)._listeners = {};\n (dom as any)._listeners[name] = value;\n\n if (value) {\n if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n } else {\n dom.removeEventListener(name, eventProxy, useCapture);\n }\n } else if (\n name !== 'list' &&\n name !== 'tagName' &&\n // HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n // setAttribute\n name !== 'form' &&\n name !== 'type' &&\n name !== 'size' &&\n name !== 'download' &&\n name !== 'href' &&\n name in dom\n ) {\n dom[name] = value == null ? '' : value;\n } else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {\n if (\n value == null ||\n (value === false &&\n // ARIA-attributes have a different notion of boolean values.\n // The value `false` is different from the attribute not\n // existing on the DOM, so we can't remove it. For non-boolean\n // ARIA-attributes we could treat false as a removal, but the\n // amount of exceptions would cost us too many bytes. On top of\n // that other VDOM frameworks also always stringify `false`.\n !/^ar/.test(name))\n ) {\n dom.removeAttribute(name);\n } else {\n dom.setAttribute(name, value);\n }\n }\n}\n\nfunction getNormalizedName(name: string): string {\n switch (name) {\n case 'onChange':\n return 'onInput';\n default:\n return name;\n }\n}\n\nexport function setProperties(dom: HTMLElement, props: object): void {\n for (const name in props) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n}\n\nexport function setPropertiesWithoutEvents(\n dom: HTMLElement,\n props: object\n): void {\n for (const name in props) {\n if (!(name[0] === 'o' && name[1] === 'n')) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n }\n}\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { setProperties } from './utils';\n\ntype CreateDomElementProps = Record<string, unknown> & {\n children?: Node[];\n};\n\nexport function getCreateDomElement(environment: AutocompleteEnvironment) {\n return function createDomElement<KParam extends keyof HTMLElementTagNameMap>(\n tagName: KParam,\n { children = [], ...props }: CreateDomElementProps\n ): HTMLElementTagNameMap[KParam] {\n const element = environment.document.createElement<KParam>(tagName);\n setProperties(element, props);\n element.append(...children);\n\n return element;\n };\n}\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n} from '@algolia/autocomplete-core';\n\nimport { getCreateDomElement } from '../getCreateDomElement';\nimport { AutocompletePropGetters, AutocompleteState } from '../types';\nimport { AutocompleteElement } from '../types/AutocompleteElement';\nimport { setProperties } from '../utils';\n\ntype InputProps = {\n autocompleteScopeApi: AutocompleteScopeApi<any>;\n environment: AutocompleteEnvironment;\n getInputProps: AutocompletePropGetters<any>['getInputProps'];\n getInputPropsCore: AutocompleteCoreApi<any>['getInputProps'];\n onDetachedEscape?(): void;\n state: AutocompleteState<any>;\n};\n\nexport const Input: AutocompleteElement<InputProps, HTMLInputElement> = ({\n autocompleteScopeApi,\n environment,\n classNames,\n getInputProps,\n getInputPropsCore,\n onDetachedEscape,\n state,\n ...props\n}) => {\n const createDomElement = getCreateDomElement(environment);\n const element = createDomElement('input', props);\n const inputProps = getInputProps({\n state,\n props: getInputPropsCore({ inputElement: element }),\n inputElement: element,\n ...autocompleteScopeApi,\n });\n\n setProperties(element, {\n ...inputProps,\n onKeyDown(event: KeyboardEvent) {\n if (onDetachedEscape && event.key === 'Escape') {\n event.preventDefault();\n onDetachedEscape();\n return;\n }\n\n inputProps.onKeyDown(event);\n },\n });\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const LoadingIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-LoadingIcon');\n element.setAttribute('viewBox', '0 0 100 100');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n\n element.innerHTML = `<circle\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"35\"\n stroke=\"currentColor\"\n stroke-dasharray=\"164.93361431346415 56.97787143782138\"\n stroke-width=\"6\"\n>\n <animateTransform\n attributeName=\"transform\"\n type=\"rotate\"\n repeatCount=\"indefinite\"\n dur=\"1s\"\n values=\"0 50 50;90 50 50;180 50 50;360 50 50\"\n keyTimes=\"0;0.40;0.65;1\"\n />\n</circle>`;\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const SearchIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-SubmitIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n BaseItem,\n} from '@algolia/autocomplete-core';\n\nimport { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';\nimport { getCreateDomElement } from './getCreateDomElement';\nimport {\n AutocompleteClassNames,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteState,\n AutocompleteTranslations,\n} from './types';\nimport { setProperties } from './utils';\n\ntype CreateDomProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n environment: AutocompleteEnvironment;\n isDetached: boolean;\n placeholder?: string;\n propGetters: AutocompletePropGetters<TItem>;\n setIsModalOpen(value: boolean): void;\n state: AutocompleteState<TItem>;\n translations: AutocompleteTranslations;\n};\n\nexport function createAutocompleteDom<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n classNames,\n environment,\n isDetached,\n placeholder = 'Search',\n propGetters,\n setIsModalOpen,\n state,\n translations,\n}: CreateDomProps<TItem>): AutocompleteDom {\n const createDomElement = getCreateDomElement(environment);\n\n const rootProps = propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n });\n const root = createDomElement('div', {\n class: classNames.root,\n ...rootProps,\n });\n const detachedContainer = createDomElement('div', {\n class: classNames.detachedContainer,\n onMouseDown(event: MouseEvent) {\n event.stopPropagation();\n },\n });\n const detachedOverlay = createDomElement('div', {\n class: classNames.detachedOverlay,\n children: [detachedContainer],\n onMouseDown() {\n setIsModalOpen(false);\n autocomplete.setIsOpen(false);\n },\n });\n\n const labelProps = propGetters.getLabelProps({\n state,\n props: autocomplete.getLabelProps({}),\n ...autocompleteScopeApi,\n });\n const submitButton = createDomElement('button', {\n class: classNames.submitButton,\n type: 'submit',\n title: translations.submitButtonTitle,\n children: [SearchIcon({ environment })],\n });\n const label = createDomElement('label', {\n class: classNames.label,\n children: [submitButton],\n ...labelProps,\n });\n const clearButton = createDomElement('button', {\n class: classNames.clearButton,\n type: 'reset',\n title: translations.clearButtonTitle,\n children: [ClearIcon({ environment })],\n });\n const loadingIndicator = createDomElement('div', {\n class: classNames.loadingIndicator,\n children: [LoadingIcon({ environment })],\n });\n\n const input = Input({\n class: classNames.input,\n environment,\n state,\n getInputProps: propGetters.getInputProps,\n getInputPropsCore: autocomplete.getInputProps,\n autocompleteScopeApi,\n onDetachedEscape: isDetached\n ? () => {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n }\n : undefined,\n });\n\n const inputWrapperPrefix = createDomElement('div', {\n class: classNames.inputWrapperPrefix,\n children: [label, loadingIndicator],\n });\n const inputWrapperSuffix = createDomElement('div', {\n class: classNames.inputWrapperSuffix,\n children: [clearButton],\n });\n const inputWrapper = createDomElement('div', {\n class: classNames.inputWrapper,\n children: [input],\n });\n\n const formProps = propGetters.getFormProps({\n state,\n props: autocomplete.getFormProps({ inputElement: input }),\n ...autocompleteScopeApi,\n });\n const form = createDomElement('form', {\n class: classNames.form,\n children: [inputWrapperPrefix, inputWrapper, inputWrapperSuffix],\n ...formProps,\n });\n const panelProps = propGetters.getPanelProps({\n state,\n props: autocomplete.getPanelProps({}),\n ...autocompleteScopeApi,\n });\n const panel = createDomElement('div', {\n class: classNames.panel,\n ...panelProps,\n });\n\n if (__TEST__) {\n setProperties(panel, {\n 'data-testid': 'panel',\n });\n }\n\n if (isDetached) {\n const detachedSearchButtonIcon = createDomElement('div', {\n class: classNames.detachedSearchButtonIcon,\n children: [SearchIcon({ environment })],\n });\n const detachedSearchButtonPlaceholder = createDomElement('div', {\n class: classNames.detachedSearchButtonPlaceholder,\n textContent: placeholder,\n });\n const detachedSearchButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedSearchButton,\n onClick() {\n setIsModalOpen(true);\n },\n children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder],\n });\n const detachedCancelButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedCancelButton,\n textContent: translations.detachedCancelButtonText,\n // Prevent `onTouchStart` from closing the panel\n // since it should be initiated by `onClick` only\n onTouchStart(event: TouchEvent) {\n event.stopPropagation();\n },\n onClick() {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n },\n });\n const detachedFormContainer = createDomElement('div', {\n class: classNames.detachedFormContainer,\n children: [form, detachedCancelButton],\n });\n\n detachedContainer.appendChild(detachedFormContainer);\n root.appendChild(detachedSearchButton);\n } else {\n root.appendChild(form);\n }\n\n return {\n detachedContainer,\n detachedOverlay,\n inputWrapper,\n input,\n root,\n form,\n label,\n submitButton,\n clearButton,\n loadingIndicator,\n panel,\n };\n}\n","type Effect = () => void;\ntype EffectFn = () => Effect;\ntype CleanupFn = () => void;\ntype EffectWrapper = {\n runEffect(fn: EffectFn): void;\n cleanupEffects(): void;\n runEffects(): void;\n};\n\nexport function createEffectWrapper(): EffectWrapper {\n let effects: EffectFn[] = [];\n let cleanups: CleanupFn[] = [];\n\n function runEffect(fn: EffectFn) {\n effects.push(fn);\n const effectCleanup = fn();\n cleanups.push(effectCleanup);\n }\n\n return {\n runEffect,\n cleanupEffects() {\n const currentCleanups = cleanups;\n cleanups = [];\n currentCleanups.forEach((cleanup) => {\n cleanup();\n });\n },\n runEffects() {\n const currentEffects = effects;\n effects = [];\n currentEffects.forEach((effect) => {\n runEffect(effect);\n });\n },\n };\n}\n","type ReactiveValue<TValue> = () => TValue;\nexport type Reactive<TValue> = {\n value: TValue;\n /**\n * @private\n */\n _fn: ReactiveValue<TValue>;\n /**\n * @private\n */\n _ref: {\n current: TValue;\n };\n};\n\nexport function createReactiveWrapper() {\n const reactives: Array<Reactive<any>> = [];\n\n return {\n reactive<TValue>(value: ReactiveValue<TValue>) {\n const current = value();\n const reactive: Reactive<TValue> = {\n _fn: value,\n _ref: { current },\n get value() {\n return this._ref.current;\n },\n set value(value) {\n this._ref.current = value;\n },\n };\n\n reactives.push(reactive);\n\n return reactive;\n },\n runReactives() {\n reactives.forEach((value) => {\n value._ref.current = value._fn();\n });\n },\n };\n}\n","var n,l,u,i,t,r,o,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,r,o,f={};for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return y(l,f,t,r,null)}function y(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u:o};return null==o&&null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,r,o;n.__d&&(r=(t=(l=n).__v).__e,(o=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(o,t,i,l.__n,void 0!==o.ownerSVGElement,null!=t.__h?[r]:null,u,null==r?k(t):r,t.__h),z(u,t),t.__e!=r&&b(t)))})}function w(n,l,u,i,t,r,o,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,r,o,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),\"function\"==typeof u.type&&(u.__d=s)):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){for(var i,t=n.__k,r=0;t&&r<t.length;r++)(i=t[r])&&(i.__=n,l=\"function\"==typeof i.type?x(i,l,u):P(u,i,i,t,i.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,r){var o,f,e;if(void 0!==l.__d)o=l.__d,l.__d=void 0;else if(null==u||t!=r||null==t.parentNode)n:if(null==r||r.parentNode!==n)n.appendChild(t),o=null;else{for(f=r,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,r),o=r}return void 0!==o?o:t.nextSibling}function C(n,l,u,i,t){var r;for(r in u)\"children\"===r||\"key\"===r||r in l||H(n,r,null,u[r],i);for(r in l)t&&\"function\"!=typeof l[r]||\"children\"===r||\"key\"===r||\"value\"===r||\"checked\"===r||u[r]===l[r]||H(n,r,l[r],u[r],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var r;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])r=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?i||n.addEventListener(l,r?T:I,r):n.removeEventListener(l,r?T:I,r);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,r,o,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,o=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,r,o,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==o&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,r,o,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=o)&&(u.__e=e,u.__h=!!c,o[o.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,r,o,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(r=!0),null!=o)for(;_<o.length;_++)if((s=o[_])&&\"setAttribute\"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,o[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=r?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),o=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(o=o&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=o)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,r,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,r&&\"foreignObject\"!==d,o,f,o?o[0]:i.__k&&k(i,0),c),null!=o)for(_=o.length;_--;)null!=o[_]&&h(o[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==y.value||_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,r;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(r=0;r<t.length;r++)t[r]&&N(t[r],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var r,o,f;l.__&&l.__(u,i),o=(r=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!r&&t||i).__k=v(d,null,[u]),o||e,e,void 0!==i.ownerSVGElement,!r&&t?[t]:o?null:i.firstChild?n.call(i.childNodes):null,f,!r&&t?t:o?o.__e:i.firstChild,r),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,r,o,f=a({},l.props);for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,r||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport var HIGHLIGHT_POST_TAG = '__/aa-highlight__';","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet() {\n var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = initialValue;\n return {\n get: function get() {\n return value;\n },\n add: function add(part) {\n var lastPart = value[value.length - 1];\n\n if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted\n };\n } else {\n value.push(part);\n }\n }\n };\n}\n\nexport function parseAttribute(_ref) {\n var highlightedValue = _ref.highlightedValue;\n var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n var firstValue = preTagParts.shift();\n var parts = createAttributeSet(firstValue ? [{\n value: firstValue,\n isHighlighted: false\n }] : []);\n preTagParts.forEach(function (part) {\n var postTagParts = part.split(HIGHLIGHT_POST_TAG);\n parts.add({\n value: postTagParts[0],\n isHighlighted: true\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false\n });\n }\n });\n return parts.get();\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitHighlight(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToHighlight`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","var htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\"\n};\nvar hasAlphanumeric = new RegExp(/\\w/i);\nvar regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nvar regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value) {\n return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {\n return htmlEscapes[character];\n }) : value;\n}\n\nexport function isPartHighlighted(parts, i) {\n var _parts, _parts2;\n\n var current = parts[i];\n var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;\n var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;\n\n if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { isPartHighlighted } from './isPartHighlighted';\nexport function reverseHighlightedParts(parts) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some(function (part) {\n return part.isHighlighted;\n })) {\n return parts.map(function (part) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: false\n });\n });\n }\n\n return parts.map(function (part, i) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: !isPartHighlighted(parts, i)\n });\n });\n}","import { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseHighlight(props) {\n return reverseHighlightedParts(parseAlgoliaHitHighlight(props));\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitSnippet(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToSnippet`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseSnippet(props) {\n return reverseHighlightedParts(parseAlgoliaHitSnippet(props));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function createRequester(fetcher, requesterId) {\n function execute(fetcherParams) {\n return fetcher({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map(function (x) {\n return x.query;\n })\n }).then(function (responses) {\n return responses.map(function (response, index) {\n var _fetcherParams$reques = fetcherParams.requests[index],\n sourceId = _fetcherParams$reques.sourceId,\n transformResponse = _fetcherParams$reques.transformResponse;\n return {\n items: response,\n sourceId: sourceId,\n transformResponse: transformResponse\n };\n });\n });\n }\n\n return function createSpecifiedRequester(requesterParams) {\n return function requester(requestParams) {\n return _objectSpread(_objectSpread({\n requesterId: requesterId,\n execute: execute\n }, requesterParams), requestParams);\n };\n };\n}","var _excluded = [\"params\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { userAgents as coreUserAgents } from '@algolia/autocomplete-shared';\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nexport function fetchAlgoliaResults(_ref) {\n var searchClient = _ref.searchClient,\n queries = _ref.queries,\n _ref$userAgents = _ref.userAgents,\n userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;\n\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n var algoliaAgents = [].concat(_toConsumableArray(coreUserAgents), _toConsumableArray(userAgents));\n algoliaAgents.forEach(function (_ref2) {\n var segment = _ref2.segment,\n version = _ref2.version;\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search(queries.map(function (searchParameters) {\n var params = searchParameters.params,\n headers = _objectWithoutProperties(searchParameters, _excluded);\n\n return _objectSpread(_objectSpread({}, headers), {}, {\n params: _objectSpread({\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG\n }, params)\n });\n })).then(function (response) {\n return response.results;\n });\n}","import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function Highlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitHighlight<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n Highlight.__autocomplete_componentName = 'Highlight';\n\n return Highlight;\n}\n","import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function ReverseHighlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseHighlight<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n ReverseHighlight.__autocomplete_componentName = 'ReverseHighlight';\n\n return ReverseHighlight;\n}\n","import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function ReverseSnippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseSnippet<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n ReverseSnippet.__autocomplete_componentName = 'ReverseSnippet';\n\n return ReverseSnippet;\n}\n","import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function Snippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitSnippet<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n Snippet.__autocomplete_componentName = 'Snippet';\n\n return Snippet;\n}\n","import { AutocompleteEnvironment, BaseItem } from '@algolia/autocomplete-core';\nimport {\n generateAutocompleteId,\n invariant,\n warn,\n} from '@algolia/autocomplete-shared';\nimport {\n createElement as preactCreateElement,\n Fragment as PreactFragment,\n render,\n} from 'preact';\n\nimport {\n createHighlightComponent,\n createReverseHighlightComponent,\n createReverseSnippetComponent,\n createSnippetComponent,\n} from './components';\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteOptions,\n AutocompleteRender,\n AutocompleteRenderer,\n AutocompleteTranslations,\n} from './types';\nimport { getHTMLElement, mergeClassNames } from './utils';\n\nconst defaultClassNames: AutocompleteClassNames = {\n clearButton: 'aa-ClearButton',\n detachedCancelButton: 'aa-DetachedCancelButton',\n detachedContainer: 'aa-DetachedContainer',\n detachedFormContainer: 'aa-DetachedFormContainer',\n detachedOverlay: 'aa-DetachedOverlay',\n detachedSearchButton: 'aa-DetachedSearchButton',\n detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',\n detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',\n form: 'aa-Form',\n input: 'aa-Input',\n inputWrapper: 'aa-InputWrapper',\n inputWrapperPrefix: 'aa-InputWrapperPrefix',\n inputWrapperSuffix: 'aa-InputWrapperSuffix',\n item: 'aa-Item',\n label: 'aa-Label',\n list: 'aa-List',\n loadingIndicator: 'aa-LoadingIndicator',\n panel: 'aa-Panel',\n panelLayout: 'aa-PanelLayout aa-Panel--scrollable',\n root: 'aa-Autocomplete',\n source: 'aa-Source',\n sourceFooter: 'aa-SourceFooter',\n sourceHeader: 'aa-SourceHeader',\n sourceNoResults: 'aa-SourceNoResults',\n submitButton: 'aa-SubmitButton',\n};\n\nconst defaultRender: AutocompleteRender<any> = ({ children, render }, root) => {\n render(children, root);\n};\n\nconst defaultRenderer: Required<AutocompleteRenderer> = {\n createElement: preactCreateElement,\n Fragment: PreactFragment,\n render,\n};\n\nexport function getDefaultOptions<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n) {\n const {\n classNames,\n container,\n getEnvironmentProps,\n getFormProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n getListProps,\n getPanelProps,\n getRootProps,\n panelContainer,\n panelPlacement,\n render,\n renderNoResults,\n renderer,\n detachedMediaQuery,\n components,\n translations,\n ...core\n } = options;\n\n /* eslint-disable no-restricted-globals */\n const environment: AutocompleteEnvironment = (typeof window !== 'undefined'\n ? window\n : {}) as typeof window;\n /* eslint-enable no-restricted-globals */\n const containerElement = getHTMLElement(environment, container);\n\n invariant(\n containerElement.tagName !== 'INPUT',\n 'The `container` option does not support `input` elements. You need to change the container to a `div`.'\n );\n\n warn(\n !(render && renderer && !renderer?.render),\n `You provided the \\`render\\` option but did not provide a \\`renderer.render\\`. Since v1.6.0, you can provide a \\`render\\` function directly in \\`renderer\\`.` +\n `\\nTo get rid of this warning, do any of the following depending on your use case.` +\n \"\\n- If you are using the `render` option only to override Autocomplete's default `render` function, pass the `render` function into `renderer` and remove the `render` option.\" +\n '\\n- If you are using the `render` option to customize the layout, pass your `render` function into `renderer` and use it from the provided parameters of the `render` option.' +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-render'\n );\n\n warn(\n !renderer ||\n render ||\n (renderer.Fragment && renderer.createElement && renderer.render),\n `You provided an incomplete \\`renderer\\` (missing: ${[\n !renderer?.createElement && '`renderer.createElement`',\n !renderer?.Fragment && '`renderer.Fragment`',\n !renderer?.render && '`renderer.render`',\n ]\n .filter(Boolean)\n .join(', ')}). This can cause rendering issues.` +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer'\n );\n\n const defaultedRenderer = { ...defaultRenderer, ...renderer };\n\n const defaultComponents: AutocompleteComponents = {\n Highlight: createHighlightComponent(defaultedRenderer),\n ReverseHighlight: createReverseHighlightComponent(defaultedRenderer),\n ReverseSnippet: createReverseSnippetComponent(defaultedRenderer),\n Snippet: createSnippetComponent(defaultedRenderer),\n };\n\n const defaultTranslations: AutocompleteTranslations = {\n clearButtonTitle: 'Clear',\n detachedCancelButtonText: 'Cancel',\n submitButtonTitle: 'Submit',\n };\n\n return {\n renderer: {\n classNames: mergeClassNames(\n defaultClassNames,\n classNames ?? {}\n ) as AutocompleteClassNames,\n container: containerElement,\n getEnvironmentProps: getEnvironmentProps ?? (({ props }) => props),\n getFormProps: getFormProps ?? (({ props }) => props),\n getInputProps: getInputProps ?? (({ props }) => props),\n getItemProps: getItemProps ?? (({ props }) => props),\n getLabelProps: getLabelProps ?? (({ props }) => props),\n getListProps: getListProps ?? (({ props }) => props),\n getPanelProps: getPanelProps ?? (({ props }) => props),\n getRootProps: getRootProps ?? (({ props }) => props),\n panelContainer: panelContainer\n ? getHTMLElement(environment, panelContainer)\n : environment.document.body,\n panelPlacement: panelPlacement ?? 'input-wrapper-width',\n render: render ?? defaultRender,\n renderNoResults,\n renderer: defaultedRenderer,\n detachedMediaQuery:\n detachedMediaQuery ??\n getComputedStyle(environment.document.documentElement).getPropertyValue(\n '--aa-detached-media-query'\n ),\n components: {\n // @MAJOR Deal with registering components with the same name as the\n // default ones. We could disallow registering these components by\n // merging the default components second.\n ...defaultComponents,\n ...components,\n },\n translations: {\n ...defaultTranslations,\n ...translations,\n },\n },\n core: {\n ...core,\n id: core.id ?? generateAutocompleteId(),\n environment,\n },\n };\n}\n","import { AutocompleteOptions } from './types';\n\ntype GetPanelPlacementStyleParams = Pick<\n Required<AutocompleteOptions<any>>,\n 'panelPlacement' | 'environment'\n> & {\n container: HTMLElement;\n form: HTMLElement;\n};\n\nexport function getPanelPlacementStyle({\n panelPlacement,\n container,\n form,\n environment,\n}: GetPanelPlacementStyleParams) {\n const containerRect = container.getBoundingClientRect();\n // Some browsers have specificities to retrieve the document scroll position.\n // See https://stackoverflow.com/a/28633515/9940315\n const scrollTop =\n (environment.pageYOffset as number) ||\n environment.document.documentElement.scrollTop ||\n environment.document.body.scrollTop ||\n 0;\n const top = scrollTop + containerRect.top + containerRect.height;\n\n switch (panelPlacement) {\n case 'start': {\n return {\n top,\n left: containerRect.left,\n };\n }\n\n case 'end': {\n return {\n top,\n right:\n environment.document.documentElement.clientWidth -\n (containerRect.left + containerRect.width),\n };\n }\n\n case 'full-width': {\n return {\n top,\n left: 0,\n right: 0,\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n case 'input-wrapper-width': {\n const formRect = form.getBoundingClientRect();\n\n return {\n top,\n left: formRect.left,\n right:\n environment.document.documentElement.clientWidth -\n (formRect.left + formRect.width),\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n default: {\n throw new Error(\n `[Autocomplete] The \\`panelPlacement\\` value ${JSON.stringify(\n panelPlacement\n )} is not valid.`\n );\n }\n }\n}\n","/** @jsx renderer.createElement */\nimport {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteScopeApi,\n BaseItem,\n} from '@algolia/autocomplete-core';\n\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteRender,\n AutocompleteRenderer,\n AutocompleteState,\n HTMLTemplate,\n} from './types';\nimport { setProperties, setPropertiesWithoutEvents } from './utils';\n\ntype RenderProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n components: AutocompleteComponents;\n html: HTMLTemplate;\n dom: AutocompleteDom;\n panelContainer: HTMLElement;\n propGetters: AutocompletePropGetters<TItem>;\n state: AutocompleteState<TItem>;\n renderer: Required<AutocompleteRenderer>;\n};\n\nexport function renderSearchBox<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n dom,\n propGetters,\n state,\n}: RenderProps<TItem>): void {\n setPropertiesWithoutEvents(\n dom.root,\n propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n })\n );\n setPropertiesWithoutEvents(\n dom.input,\n propGetters.getInputProps({\n state,\n props: autocomplete.getInputProps({ inputElement: dom.input }),\n inputElement: dom.input,\n ...autocompleteScopeApi,\n })\n );\n setProperties(dom.label, { hidden: state.status === 'stalled' });\n setProperties(dom.loadingIndicator, { hidden: state.status !== 'stalled' });\n setProperties(dom.clearButton, { hidden: !state.query });\n}\n\nexport function renderPanel<TItem extends BaseItem>(\n render: AutocompleteRender<TItem>,\n {\n autocomplete,\n autocompleteScopeApi,\n classNames,\n html,\n dom,\n panelContainer,\n propGetters,\n state,\n components,\n renderer,\n }: RenderProps<TItem>\n): void {\n if (!state.isOpen) {\n if (panelContainer.contains(dom.panel)) {\n panelContainer.removeChild(dom.panel);\n }\n\n return;\n }\n\n // We add the panel element to the DOM when it's not yet appended and that the\n // items are fetched.\n if (!panelContainer.contains(dom.panel) && state.status !== 'loading') {\n panelContainer.appendChild(dom.panel);\n }\n\n dom.panel.classList.toggle('aa-Panel--stalled', state.status === 'stalled');\n\n const sections = state.collections\n .filter(\n ({ source, items }) => source.templates.noResults || items.length > 0\n )\n .map(({ source, items }, sourceIndex) => (\n <section\n key={sourceIndex}\n className={classNames.source}\n data-autocomplete-source-id={source.sourceId}\n >\n {source.templates.header && (\n <div className={classNames.sourceHeader}>\n {source.templates.header({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items,\n source,\n state,\n html,\n })}\n </div>\n )}\n\n {source.templates.noResults && items.length === 0 ? (\n <div className={classNames.sourceNoResults}>\n {source.templates.noResults({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n source,\n state,\n html,\n })}\n </div>\n ) : (\n <ul\n className={classNames.list}\n {...propGetters.getListProps({\n state,\n props: autocomplete.getListProps({}),\n ...autocompleteScopeApi,\n })}\n >\n {items.map((item) => {\n const itemProps = autocomplete.getItemProps({\n item,\n source,\n });\n\n return (\n <li\n key={itemProps.id}\n className={classNames.item}\n {...propGetters.getItemProps({\n state,\n props: itemProps,\n ...autocompleteScopeApi,\n })}\n >\n {source.templates.item({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n item,\n state,\n html,\n })}\n </li>\n );\n })}\n </ul>\n )}\n\n {source.templates.footer && (\n <div className={classNames.sourceFooter}>\n {source.templates.footer({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items,\n source,\n state,\n html,\n })}\n </div>\n )}\n </section>\n ));\n\n const children = (\n <renderer.Fragment>\n <div className={classNames.panelLayout}>{sections}</div>\n <div className=\"aa-GradientBottom\" />\n </renderer.Fragment>\n );\n const elements = sections.reduce((acc, current) => {\n acc[current.props['data-autocomplete-source-id']] = current;\n return acc;\n }, {});\n\n render(\n {\n children,\n state,\n sections,\n elements,\n ...renderer,\n components,\n html,\n ...autocompleteScopeApi,\n },\n dom.panel\n );\n}\n","import { version } from '@algolia/autocomplete-shared';\n\nexport const userAgents = [{ segment: 'autocomplete-js', version }];\n","import {\n AutocompleteScopeApi,\n BaseItem,\n createAutocomplete,\n} from '@algolia/autocomplete-core';\nimport {\n createRef,\n debounce,\n getItemsCount,\n} from '@algolia/autocomplete-shared';\nimport htm from 'htm';\n\nimport { createAutocompleteDom } from './createAutocompleteDom';\nimport { createEffectWrapper } from './createEffectWrapper';\nimport { createReactiveWrapper } from './createReactiveWrapper';\nimport { getDefaultOptions } from './getDefaultOptions';\nimport { getPanelPlacementStyle } from './getPanelPlacementStyle';\nimport { renderPanel, renderSearchBox } from './render';\nimport {\n AutocompleteApi,\n AutocompleteOptions,\n AutocompletePropGetters,\n AutocompleteSource,\n AutocompleteState,\n VNode,\n} from './types';\nimport { userAgents } from './userAgents';\nimport { mergeDeep, pickBy, setProperties } from './utils';\n\nexport function autocomplete<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n): AutocompleteApi<TItem> {\n const { runEffect, cleanupEffects, runEffects } = createEffectWrapper();\n const { reactive, runReactives } = createReactiveWrapper();\n\n const hasNoResultsSourceTemplateRef = createRef(false);\n const optionsRef = createRef(options);\n const onStateChangeRef = createRef<\n AutocompleteOptions<TItem>['onStateChange']\n >(undefined);\n const props = reactive(() => getDefaultOptions(optionsRef.current));\n const isDetached = reactive(\n () =>\n props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches\n );\n\n const autocomplete = reactive(() =>\n createAutocomplete<TItem>({\n ...props.value.core,\n onStateChange(params) {\n hasNoResultsSourceTemplateRef.current = params.state.collections.some(\n (collection) =>\n (collection.source as AutocompleteSource<TItem>).templates.noResults\n );\n onStateChangeRef.current?.(params as any);\n props.value.core.onStateChange?.(params as any);\n },\n shouldPanelOpen:\n optionsRef.current.shouldPanelOpen ||\n (({ state }) => {\n if (isDetached.value) {\n return true;\n }\n\n const hasItems = getItemsCount(state) > 0;\n\n if (!props.value.core.openOnFocus && !state.query) {\n return hasItems;\n }\n\n const hasNoResultsTemplate = Boolean(\n hasNoResultsSourceTemplateRef.current ||\n props.value.renderer.renderNoResults\n );\n\n return (!hasItems && hasNoResultsTemplate) || hasItems;\n }),\n __autocomplete_metadata: {\n userAgents,\n options,\n },\n })\n );\n const lastStateRef = createRef<AutocompleteState<TItem>>({\n collections: [],\n completion: null,\n context: {},\n isOpen: false,\n query: '',\n activeItemId: null,\n status: 'idle',\n ...props.value.core.initialState,\n });\n\n const propGetters: AutocompletePropGetters<TItem> = {\n getEnvironmentProps: props.value.renderer.getEnvironmentProps,\n getFormProps: props.value.renderer.getFormProps,\n getInputProps: props.value.renderer.getInputProps,\n getItemProps: props.value.renderer.getItemProps,\n getLabelProps: props.value.renderer.getLabelProps,\n getListProps: props.value.renderer.getListProps,\n getPanelProps: props.value.renderer.getPanelProps,\n getRootProps: props.value.renderer.getRootProps,\n };\n const autocompleteScopeApi: AutocompleteScopeApi<TItem> = {\n setActiveItemId: autocomplete.value.setActiveItemId,\n setQuery: autocomplete.value.setQuery,\n setCollections: autocomplete.value.setCollections,\n setIsOpen: autocomplete.value.setIsOpen,\n setStatus: autocomplete.value.setStatus,\n setContext: autocomplete.value.setContext,\n refresh: autocomplete.value.refresh,\n };\n\n const html = reactive(() =>\n htm.bind<VNode>(props.value.renderer.renderer.createElement)\n );\n\n const dom = reactive(() =>\n createAutocompleteDom({\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n environment: props.value.core.environment,\n isDetached: isDetached.value,\n placeholder: props.value.core.placeholder,\n propGetters,\n setIsModalOpen,\n state: lastStateRef.current,\n translations: props.value.renderer.translations,\n })\n );\n\n function setPanelPosition() {\n setProperties(dom.value.panel, {\n style: isDetached.value\n ? {}\n : getPanelPlacementStyle({\n panelPlacement: props.value.renderer.panelPlacement,\n container: dom.value.root,\n form: dom.value.form,\n environment: props.value.core.environment,\n }),\n });\n }\n\n function scheduleRender(state: AutocompleteState<TItem>) {\n lastStateRef.current = state;\n\n const renderProps = {\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n components: props.value.renderer.components,\n container: props.value.renderer.container,\n html: html.value,\n dom: dom.value,\n panelContainer: isDetached.value\n ? dom.value.detachedContainer\n : props.value.renderer.panelContainer,\n propGetters,\n state: lastStateRef.current,\n renderer: props.value.renderer.renderer,\n };\n\n const render =\n (!getItemsCount(state) &&\n !hasNoResultsSourceTemplateRef.current &&\n props.value.renderer.renderNoResults) ||\n props.value.renderer.render;\n\n renderSearchBox(renderProps);\n renderPanel(render, renderProps);\n }\n\n runEffect(() => {\n const environmentProps = autocomplete.value.getEnvironmentProps({\n formElement: dom.value.form,\n panelElement: dom.value.panel,\n inputElement: dom.value.input,\n });\n\n setProperties(props.value.core.environment as any, environmentProps);\n\n return () => {\n setProperties(\n props.value.core.environment as any,\n Object.keys(environmentProps).reduce((acc, key) => {\n return {\n ...acc,\n [key]: undefined,\n };\n }, {})\n );\n };\n });\n\n runEffect(() => {\n const panelContainerElement = isDetached.value\n ? props.value.core.environment.document.body\n : props.value.renderer.panelContainer;\n const panelElement = isDetached.value\n ? dom.value.detachedOverlay\n : dom.value.panel;\n\n if (isDetached.value && lastStateRef.current.isOpen) {\n setIsModalOpen(true);\n }\n\n scheduleRender(lastStateRef.current);\n\n return () => {\n if (panelContainerElement.contains(panelElement)) {\n panelContainerElement.removeChild(panelElement);\n }\n };\n });\n\n runEffect(() => {\n const containerElement = props.value.renderer.container;\n containerElement.appendChild(dom.value.root);\n\n return () => {\n containerElement.removeChild(dom.value.root);\n };\n });\n\n runEffect(() => {\n const debouncedRender = debounce<{\n state: AutocompleteState<TItem>;\n }>(({ state }) => {\n scheduleRender(state);\n }, 0);\n\n onStateChangeRef.current = ({ state, prevState }) => {\n if (isDetached.value && prevState.isOpen !== state.isOpen) {\n setIsModalOpen(state.isOpen);\n }\n\n // The outer DOM might have changed since the last time the panel was\n // positioned. The layout might have shifted vertically for instance.\n // It's therefore safer to re-calculate the panel position before opening\n // it again.\n if (!isDetached.value && state.isOpen && !prevState.isOpen) {\n setPanelPosition();\n }\n\n // We scroll to the top of the panel whenever the query changes (i.e. new\n // results come in) so that users don't have to.\n if (state.query !== prevState.query) {\n const scrollablePanels = props.value.core.environment.document.querySelectorAll(\n '.aa-Panel--scrollable'\n );\n scrollablePanels.forEach((scrollablePanel) => {\n if (scrollablePanel.scrollTop !== 0) {\n scrollablePanel.scrollTop = 0;\n }\n });\n }\n\n debouncedRender({ state });\n };\n\n return () => {\n onStateChangeRef.current = undefined;\n };\n });\n\n runEffect(() => {\n const onResize = debounce<Event>(() => {\n const previousIsDetached = isDetached.value;\n isDetached.value = props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches;\n\n if (previousIsDetached !== isDetached.value) {\n update({});\n } else {\n requestAnimationFrame(setPanelPosition);\n }\n }, 20);\n props.value.core.environment.addEventListener('resize', onResize);\n\n return () => {\n props.value.core.environment.removeEventListener('resize', onResize);\n };\n });\n\n runEffect(() => {\n if (!isDetached.value) {\n return () => {};\n }\n\n function toggleModalClassname(isActive: boolean) {\n dom.value.detachedContainer.classList.toggle(\n 'aa-DetachedContainer--modal',\n isActive\n );\n }\n\n function onChange(event: MediaQueryListEvent) {\n toggleModalClassname(event.matches);\n }\n\n const isModalDetachedMql = props.value.core.environment.matchMedia(\n getComputedStyle(\n props.value.core.environment.document.documentElement\n ).getPropertyValue('--aa-detached-modal-media-query')\n );\n\n toggleModalClassname(isModalDetachedMql.matches);\n\n // Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,\n // so we must use `addListener` and `removeListener` to observe media query lists.\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n const hasModernEventListener = Boolean(isModalDetachedMql.addEventListener);\n\n hasModernEventListener\n ? isModalDetachedMql.addEventListener('change', onChange)\n : isModalDetachedMql.addListener(onChange);\n\n return () => {\n hasModernEventListener\n ? isModalDetachedMql.removeEventListener('change', onChange)\n : isModalDetachedMql.removeListener(onChange);\n };\n });\n\n runEffect(() => {\n requestAnimationFrame(setPanelPosition);\n\n return () => {};\n });\n\n function destroy() {\n cleanupEffects();\n }\n\n function update(updatedOptions: Partial<AutocompleteOptions<TItem>> = {}) {\n cleanupEffects();\n\n const { components, ...rendererProps } = props.value.renderer;\n\n optionsRef.current = mergeDeep(\n rendererProps,\n props.value.core,\n {\n // We need to filter out default components so they can be replaced with\n // a new `renderer`, without getting rid of user components.\n // @MAJOR Deal with registering components with the same name as the\n // default ones. If we disallow overriding default components, we'd just\n // need to pass all `components` here.\n components: pickBy(\n components,\n ({ value }) => !value.hasOwnProperty('__autocomplete_componentName')\n ),\n initialState: lastStateRef.current,\n },\n updatedOptions\n );\n\n runReactives();\n runEffects();\n\n autocomplete.value.refresh().then(() => {\n scheduleRender(lastStateRef.current);\n });\n }\n\n function setIsModalOpen(value: boolean) {\n requestAnimationFrame(() => {\n const prevValue = props.value.core.environment.document.body.contains(\n dom.value.detachedOverlay\n );\n\n if (value === prevValue) {\n return;\n }\n\n if (value) {\n props.value.core.environment.document.body.appendChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.add('aa-Detached');\n dom.value.input.focus();\n } else {\n props.value.core.environment.document.body.removeChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.remove(\n 'aa-Detached'\n );\n autocomplete.value.setQuery('');\n autocomplete.value.refresh();\n }\n });\n }\n\n return {\n ...autocompleteScopeApi,\n update,\n destroy,\n };\n}\n","import {\n createRequester,\n fetchAlgoliaResults,\n} from '@algolia/autocomplete-preset-algolia';\n\nimport { userAgents } from '../userAgents';\n\nexport const createAlgoliaRequester = createRequester(\n (params) =>\n fetchAlgoliaResults({\n ...params,\n userAgents,\n }),\n 'algolia'\n);\n","import { RequestParams } from '@algolia/autocomplete-preset-algolia';\nimport { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","len","arr2","_i","Symbol","iterator","_arr","_n","_d","_s","_e","next","done","push","value","err","isArray","_typeof","obj","decycle","seen","Set","has","newSeen","add","map","x","fromEntries","entries","_ref","_ref2","key","flatten","values","reduce","a","b","concat","autocompleteId","generateAutocompleteId","getAttributeValueByPath","record","path","getItemsCount","state","collections","sum","collection","items","invariant","condition","message","Error","noop","version","userAgents","segment","warnCache","warn","sanitizedMessage","trim","hasAlreadyPrinted","console","checkOptions","options","process","debug","createInternalCancelablePromise","promise","initialState","then","onfulfilled","onrejected","createCallback","catch","_catch","finally","_finally","onfinally","onCancelList","cancel","isCanceled","callbacks","forEach","callback","cancelable","onResult","fallback","arg","createCancelablePromiseList","list","cancelablePromise","filter","item","cancelAll","isEmpty","createConcurrentSafePromise","basePromiseId","latestResolvedId","latestResolvedValue","runConcurrentSafePromise","currentPromiseId","Promise","resolve","getNextActiveItemId","moveAmount","baseIndex","itemCount","defaultActiveItemId","numericIndex","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","getNormalizedSources","getSources","params","seenSourceIds","sources","JSON","stringify","all","maybeSource","Boolean","sourceId","includes","normalizedSource","getItemInputValue","query","getItemUrl","onSelect","setIsOpen","onActive","getCollectionFromActiveItemId","accumulatedCollectionsCount","acc","collectionsCount","index","previousValue","nextValue","collectionIndex","activeItemId","getRelativeActiveItemId","isOffsetFound","counter","previousItemsOffset","currentCollection","getActiveItem","itemInputValue","itemUrl","isOrContainsNode","parent","child","contains","regex","isSamsung","userAgent","match","mapToAlgoliaResponse","rawResults","results","result","_hits","hits","hit","__autocomplete_indexName","__autocomplete_queryID","queryID","facetHits","_facetHits","facetHit","label","count","_highlightResult","highlighted","createStore","reducer","props","onStoreStateChange","getState","dispatch","action","payload","prevState","type","pendingRequests","getAutocompleteSetters","store","setActiveItemId","setQuery","setCollections","rawValue","baseItemId","__autocomplete_id","setStatus","setContext","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","getDefaultProps","pluginSubscribers","_props$id","environment","window","plugins","openOnFocus","placeholder","autoFocus","stallThreshold","shouldPanelOpen","reshape","id","completion","isOpen","status","context","onStateChange","_props$onStateChange","_x$onStateChange","onSubmit","_props$onSubmit","_x$onSubmit","onReset","_props$onReset","_x$onReset","plugin","nested","_x$onSelect","_x$onActive","navigator","navigate","_ref3","location","assign","navigateNewTab","_ref4","windowReference","open","focus","navigateNewWindow","_ref5","sourcesBySourceId","getItems","reshapeSources","isDescription","execute","isRequesterDescription","description","preResolve","itemsOrDescription","requests","queries","transformResponse","packed","searchClient","requesterId","container","find","_container$items","request","maybeDescription","responses","postResolve","matches","response","transform","every","_excluded","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","lastStalledId","onInput","event","_ref$nextState","nextState","refresh","setters","_nextState$isOpen","_request","_nextState$isOpen2","isPanelOpen","highlightedItem","onKeyDown","triggerScrollIntoView","nodeItem","document","getElementById","scrollIntoViewIfNeeded","scrollIntoView","triggerOnActive","preventDefault","nextActiveItemId","metaKey","ctrlKey","shiftKey","altKey","_excluded2","_excluded3","_excluded4","_excluded5","getPropGetters","getEnvironmentProps","providedProps","inputElement","formElement","panelElement","rest","onTouchStart","isAutocompleteInteraction","isTargetWithinAutocomplete","some","contextNode","onTouchMove","activeElement","blur","getRootProps","role","getFormProps","noValidate","_providedProps$inputE","_providedProps$inputE2","getInputProps","_props$environment$na","onFocus","isTouchDevice","_ref2$maxLength","maxLength","activeItem","shouldFallbackKeyHint","enterKeyHint","autoComplete","autoCorrect","autoCapitalize","spellCheck","onChange","currentTarget","_onKeyDown","onBlur","onClick","getLabelProps","htmlFor","getListProps","getPanelProps","onMouseDown","onMouseLeave","getItemProps","onMouseMove","_item","_source","runPreCommand","getMetadata","_","_options$__autocomple","_options$__autocomple2","_options$__autocomple3","optionsKey","__autocomplete_metadata","extraOptions","__autocomplete_pluginOptions","ua","injectMetadata","_environment$navigato","metadata","isMetadataEnabled","metadataContainer","createElement","headRef","querySelector","content","appendChild","getCompletion","_getActiveItem","stateReducer","hasOwnProperty","_nextState","createAutocomplete","subscribers","propGetters","Event","_plugin$subscribe","subscribe","t","ClearIcon","element","createElementNS","setAttribute","getHTMLElement","mergeClassNames","accValue","currentValue","join","isPlainObject","mergeDeep","pickBy","predicate","TOUCH_EVENTS_ALIASES","setStyle","style","eventProxy","_listeners","setProperty","dom","useCapture","nameLower","oldValue","replace","toLowerCase","addEventListener","removeEventListener","removeAttribute","getNormalizedName","setProperties","setPropertiesWithoutEvents","getCreateDomElement","createDomElement","tagName","children","append","Input","autocompleteScopeApi","classNames","getInputPropsCore","onDetachedEscape","inputProps","LoadingIcon","innerHTML","SearchIcon","createAutocompleteDom","autocomplete","isDetached","setIsModalOpen","translations","rootProps","root","class","detachedContainer","stopPropagation","detachedOverlay","labelProps","submitButton","title","submitButtonTitle","clearButton","clearButtonTitle","loadingIndicator","input","inputWrapperPrefix","inputWrapperSuffix","inputWrapper","formProps","form","panelProps","panel","detachedSearchButtonIcon","detachedSearchButtonPlaceholder","textContent","detachedSearchButton","detachedCancelButton","detachedCancelButtonText","detachedFormContainer","createEffectWrapper","effects","cleanups","runEffect","effectCleanup","cleanupEffects","currentCleanups","cleanup","runEffects","currentEffects","effect","createReactiveWrapper","reactives","reactive","_fn","runReactives","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","createAttributeSet","get","part","lastPart","isHighlighted","parseAttribute","highlightedValue","preTagParts","split","firstValue","shift","parts","postTagParts","parseAlgoliaHitHighlight","attribute","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","unescape","character","isPartHighlighted","_parts","_parts2","isNextHighlighted","isPreviousHighlighted","reverseHighlightedParts","parseAlgoliaHitReverseHighlight","parseAlgoliaHitSnippet","parseAlgoliaHitReverseSnippet","createRequester","fetcher","fetcherParams","_fetcherParams$reques","createSpecifiedRequester","requesterParams","requester","requestParams","fetchAlgoliaResults","_ref$userAgents","addAlgoliaAgent","algoliaAgents","coreUserAgents","search","searchParameters","headers","hitsPerPage","highlightPreTag","highlightPostTag","createHighlightComponent","Fragment","Highlight","__autocomplete_componentName","createReverseHighlightComponent","ReverseHighlight","createReverseSnippetComponent","ReverseSnippet","createSnippetComponent","Snippet","defaultClassNames","panelLayout","sourceFooter","sourceHeader","sourceNoResults","defaultRender","render","defaultRenderer","preactCreateElement","PreactFragment","getDefaultOptions","panelContainer","panelPlacement","renderNoResults","renderer","detachedMediaQuery","components","core","containerElement","defaultedRenderer","defaultComponents","defaultTranslations","body","getComputedStyle","documentElement","getPropertyValue","getPanelPlacementStyle","containerRect","getBoundingClientRect","scrollTop","pageYOffset","top","height","left","right","clientWidth","width","maxWidth","formRect","renderSearchBox","hidden","renderPanel","html","removeChild","classList","toggle","sections","templates","noResults","sourceIndex","header","itemProps","footer","elements","hasNoResultsSourceTemplateRef","optionsRef","onStateChangeRef","matchMedia","hasItems","hasNoResultsTemplate","lastStateRef","htm","bind","setPanelPosition","scheduleRender","renderProps","environmentProps","panelContainerElement","debouncedRender","scrollablePanels","querySelectorAll","scrollablePanel","onResize","previousIsDetached","update","requestAnimationFrame","toggleModalClassname","isActive","isModalDetachedMql","hasModernEventListener","addListener","removeListener","destroy","updatedOptions","rendererProps","prevValue","remove","createAlgoliaRequester","getAlgoliaFacets","getAlgoliaResults"],"mappings":"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AE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GA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AC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GA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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/decycle.js","../../../autocomplete-shared/dist/esm/flatten.js","../../../autocomplete-shared/dist/esm/generateAutocompleteId.js","../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/getItemsCount.js","../../../autocomplete-shared/dist/esm/invariant.js","../../../autocomplete-shared/dist/esm/noop.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../../autocomplete-shared/dist/esm/warn.js","../../../autocomplete-core/dist/esm/checkOptions.js","../../../autocomplete-core/dist/esm/utils/createCancelablePromise.js","../../../autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","../../../autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","../../../autocomplete-core/dist/esm/utils/getNextActiveItemId.js","../../../autocomplete-core/dist/esm/utils/getNormalizedSources.js","../../../autocomplete-core/dist/esm/utils/getActiveItem.js","../../../autocomplete-core/dist/esm/utils/isOrContainsNode.js","../../../autocomplete-core/dist/esm/utils/isSamsung.js","../../../autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","../../../autocomplete-core/dist/esm/createStore.js","../../../autocomplete-core/dist/esm/getAutocompleteSetters.js","../../../autocomplete-core/dist/esm/getDefaultProps.js","../../../autocomplete-core/dist/esm/reshape.js","../../../autocomplete-core/dist/esm/resolve.js","../../../autocomplete-core/dist/esm/onInput.js","../../../autocomplete-core/dist/esm/onKeyDown.js","../../../autocomplete-core/dist/esm/getPropGetters.js","../../../autocomplete-core/dist/esm/metadata.js","../../../autocomplete-core/dist/esm/getCompletion.js","../../../autocomplete-core/dist/esm/stateReducer.js","../../../autocomplete-core/dist/esm/createAutocomplete.js","../../../../node_modules/htm/dist/htm.mjs","../../src/elements/ClearIcon.ts","../../src/utils/getHTMLElement.ts","../../src/utils/mergeClassNames.ts","../../src/utils/mergeDeep.ts","../../src/utils/pickBy.ts","../../src/utils/setProperties.ts","../../src/getCreateDomElement.ts","../../src/elements/Input.ts","../../src/elements/LoadingIcon.ts","../../src/elements/SearchIcon.ts","../../src/createAutocompleteDom.ts","../../src/createEffectWrapper.ts","../../src/createReactiveWrapper.ts","../../node_modules/preact/dist/preact.mjs","../../../autocomplete-preset-algolia/dist/esm/constants/index.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAttribute.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/isPartHighlighted.js","../../../autocomplete-preset-algolia/dist/esm/highlight/reverseHighlightedParts.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseHighlight.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitSnippet.js","../../../autocomplete-preset-algolia/dist/esm/highlight/parseAlgoliaHitReverseSnippet.js","../../../autocomplete-preset-algolia/dist/esm/requester/createRequester.js","../../../autocomplete-preset-algolia/dist/esm/search/fetchAlgoliaResults.js","../../src/components/Highlight.ts","../../src/components/ReverseHighlight.ts","../../src/components/ReverseSnippet.ts","../../src/components/Snippet.ts","../../src/getDefaultOptions.ts","../../src/getPanelPlacementStyle.ts","../../src/render.tsx","../../src/userAgents.ts","../../src/autocomplete.ts","../../src/requesters/createAlgoliaRequester.ts","../../src/requesters/getAlgoliaFacets.ts","../../src/requesters/getAlgoliaResults.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (timerId) {\n clearTimeout(timerId);\n }\n\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/**\n * Decycles objects with circular references.\n * This is used to print cyclic structures in development environment only.\n */\nexport function decycle(obj) {\n var seen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();\n\n if (!(process.env.NODE_ENV !== 'production') || !obj || _typeof(obj) !== 'object') {\n return obj;\n }\n\n if (seen.has(obj)) {\n return '[Circular]';\n }\n\n var newSeen = seen.add(obj);\n\n if (Array.isArray(obj)) {\n return obj.map(function (x) {\n return decycle(x, newSeen);\n });\n }\n\n return Object.fromEntries(Object.entries(obj).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n return [key, decycle(value, newSeen)];\n }));\n}","export function flatten(values) {\n return values.reduce(function (a, b) {\n return a.concat(b);\n }, []);\n}","var autocompleteId = 0;\nexport function generateAutocompleteId() {\n return \"autocomplete-\".concat(autocompleteId++);\n}","export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export function getItemsCount(state) {\n if (state.collections.length === 0) {\n return 0;\n }\n\n return state.collections.reduce(function (sum, collection) {\n return sum + collection.items.length;\n }, 0);\n}","/**\n * Throws an error if the condition is not met in development mode.\n * This is used to make development a better experience to provide guidance as\n * to where the error comes from.\n */\nexport function invariant(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (!condition) {\n throw new Error(\"[Autocomplete] \".concat(typeof message === 'function' ? message() : message));\n }\n}","export var noop = function noop() {};","export var version = '1.6.3';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export var warnCache = {\n current: {}\n};\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\n\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (condition) {\n return;\n }\n\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console\n\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","import { warn } from '@algolia/autocomplete-shared';\nexport function checkOptions(options) {\n process.env.NODE_ENV !== 'production' ? warn(!options.debug, 'The `debug` option is meant for development debugging and should not be used in production.') : void 0;\n}","function createInternalCancelablePromise(promise, initialState) {\n var state = initialState;\n return {\n then: function then(onfulfilled, onrejected) {\n return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);\n },\n catch: function _catch(onrejected) {\n return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);\n },\n finally: function _finally(onfinally) {\n if (onfinally) {\n state.onCancelList.push(onfinally);\n }\n\n return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {\n state.onCancelList = [];\n return onfinally();\n }, state, promise)), state);\n },\n cancel: function cancel() {\n state.isCanceled = true;\n var callbacks = state.onCancelList;\n state.onCancelList = [];\n callbacks.forEach(function (callback) {\n callback();\n });\n },\n isCanceled: function isCanceled() {\n return state.isCanceled === true;\n }\n };\n}\n\nexport function createCancelablePromise(executor) {\n return createInternalCancelablePromise(new Promise(function (resolve, reject) {\n return executor(resolve, reject);\n }), {\n isCanceled: false,\n onCancelList: []\n });\n}\n\ncreateCancelablePromise.resolve = function (value) {\n return cancelable(Promise.resolve(value));\n};\n\ncreateCancelablePromise.reject = function (reason) {\n return cancelable(Promise.reject(reason));\n};\n\nexport function cancelable(promise) {\n return createInternalCancelablePromise(promise, {\n isCanceled: false,\n onCancelList: []\n });\n}\n\nfunction createCallback(onResult, state, fallback) {\n if (!onResult) {\n return fallback;\n }\n\n return function callback(arg) {\n if (state.isCanceled) {\n return arg;\n }\n\n return onResult(arg);\n };\n}","export function createCancelablePromiseList() {\n var list = [];\n return {\n add: function add(cancelablePromise) {\n list.push(cancelablePromise);\n return cancelablePromise.finally(function () {\n list = list.filter(function (item) {\n return item !== cancelablePromise;\n });\n });\n },\n cancelAll: function cancelAll() {\n list.forEach(function (promise) {\n return promise.cancel();\n });\n },\n isEmpty: function isEmpty() {\n return list.length === 0;\n }\n };\n}","/**\n * Creates a runner that executes promises in a concurrent-safe way.\n *\n * This is useful to prevent older promises to resolve after a newer promise,\n * otherwise resulting in stale resolved values.\n */\nexport function createConcurrentSafePromise() {\n var basePromiseId = -1;\n var latestResolvedId = -1;\n var latestResolvedValue = undefined;\n return function runConcurrentSafePromise(promise) {\n basePromiseId++;\n var currentPromiseId = basePromiseId;\n return Promise.resolve(promise).then(function (x) {\n // The promise might take too long to resolve and get outdated. This would\n // result in resolving stale values.\n // When this happens, we ignore the promise value and return the one\n // coming from the latest resolved value.\n //\n // +----------------------------------+\n // | 100ms |\n // | run(1) +---> R1 |\n // | 300ms |\n // | run(2) +-------------> R2 (SKIP) |\n // | 200ms |\n // | run(3) +--------> R3 |\n // +----------------------------------+\n if (latestResolvedValue && currentPromiseId < latestResolvedId) {\n return latestResolvedValue;\n }\n\n latestResolvedId = currentPromiseId;\n latestResolvedValue = x;\n return x;\n });\n };\n}","/**\n * Returns the next active item ID from the current state.\n *\n * We allow circular keyboard navigation from the base index.\n * The base index can either be `null` (nothing is highlighted) or `0`\n * (the first item is highlighted).\n * The base index is allowed to get assigned `null` only if\n * `props.defaultActiveItemId` is `null`. This pattern allows to \"stop\"\n * by the actual query before navigating to other suggestions as seen on\n * Google or Amazon.\n *\n * @param moveAmount The offset to increment (or decrement) the last index\n * @param baseIndex The current index to compute the next index from\n * @param itemCount The number of items\n * @param defaultActiveItemId The default active index to fallback to\n */\nexport function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {\n if (!itemCount) {\n return null;\n }\n\n if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {\n return itemCount + moveAmount;\n }\n\n var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;\n\n if (numericIndex <= -1 || numericIndex >= itemCount) {\n return defaultActiveItemId === null ? null : 0;\n }\n\n return numericIndex;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { invariant, decycle, noop } from '@algolia/autocomplete-shared';\nexport function getNormalizedSources(getSources, params) {\n var seenSourceIds = [];\n return Promise.resolve(getSources(params)).then(function (sources) {\n invariant(Array.isArray(sources), function () {\n return \"The `getSources` function must return an array of sources but returned type \".concat(JSON.stringify(_typeof(sources)), \":\\n\\n\").concat(JSON.stringify(decycle(sources), null, 2));\n });\n return Promise.all(sources // We allow `undefined` and `false` sources to allow users to use\n // `Boolean(query) && source` (=> `false`).\n // We need to remove these values at this point.\n .filter(function (maybeSource) {\n return Boolean(maybeSource);\n }).map(function (source) {\n invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');\n\n if (seenSourceIds.includes(source.sourceId)) {\n throw new Error(\"[Autocomplete] The `sourceId` \".concat(JSON.stringify(source.sourceId), \" is not unique.\"));\n }\n\n seenSourceIds.push(source.sourceId);\n\n var normalizedSource = _objectSpread({\n getItemInputValue: function getItemInputValue(_ref) {\n var state = _ref.state;\n return state.query;\n },\n getItemUrl: function getItemUrl() {\n return undefined;\n },\n onSelect: function onSelect(_ref2) {\n var setIsOpen = _ref2.setIsOpen;\n setIsOpen(false);\n },\n onActive: noop\n }, source);\n\n return Promise.resolve(normalizedSource);\n }));\n });\n}","// We don't have access to the autocomplete source when we call `onKeyDown`\n// or `onClick` because those are native browser events.\n// However, we can get the source from the suggestion index.\nfunction getCollectionFromActiveItemId(state) {\n // Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]\n // We want to get the accumulated counts:\n // [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]\n var accumulatedCollectionsCount = state.collections.map(function (collections) {\n return collections.items.length;\n }).reduce(function (acc, collectionsCount, index) {\n var previousValue = acc[index - 1] || 0;\n var nextValue = previousValue + collectionsCount;\n acc.push(nextValue);\n return acc;\n }, []); // Based on the accumulated counts, we can infer the index of the suggestion.\n\n var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {\n if (current <= state.activeItemId) {\n return acc + 1;\n }\n\n return acc;\n }, 0);\n return state.collections[collectionIndex];\n}\n/**\n * Gets the highlighted index relative to a suggestion object (not the absolute\n * highlighted index).\n *\n * Example:\n * [['a', 'b'], ['c', 'd', 'e'], ['f']]\n * ↑\n * (absolute: 3, relative: 1)\n */\n\n\nfunction getRelativeActiveItemId(_ref) {\n var state = _ref.state,\n collection = _ref.collection;\n var isOffsetFound = false;\n var counter = 0;\n var previousItemsOffset = 0;\n\n while (isOffsetFound === false) {\n var currentCollection = state.collections[counter];\n\n if (currentCollection === collection) {\n isOffsetFound = true;\n break;\n }\n\n previousItemsOffset += currentCollection.items.length;\n counter++;\n }\n\n return state.activeItemId - previousItemsOffset;\n}\n\nexport function getActiveItem(state) {\n var collection = getCollectionFromActiveItemId(state);\n\n if (!collection) {\n return null;\n }\n\n var item = collection.items[getRelativeActiveItemId({\n state: state,\n collection: collection\n })];\n var source = collection.source;\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: state\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: state\n });\n return {\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n source: source\n };\n}","export function isOrContainsNode(parent, child) {\n return parent === child || parent.contains(child);\n}","var regex = /((gt|sm)-|galaxy nexus)|samsung[- ]/i;\nexport function isSamsung(userAgent) {\n return Boolean(userAgent && userAgent.match(regex));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function mapToAlgoliaResponse(rawResults) {\n var results = rawResults.map(function (result) {\n var _hits;\n\n return _objectSpread(_objectSpread({}, result), {}, {\n hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {\n // Bring support for the Insights plugin.\n return _objectSpread(_objectSpread({}, hit), {}, {\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID\n });\n })\n });\n });\n return {\n results: results,\n hits: results.map(function (result) {\n return result.hits;\n }).filter(Boolean),\n facetHits: results.map(function (result) {\n var _facetHits;\n\n return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {\n // Bring support for the highlighting components.\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted\n }\n }\n };\n });\n }).filter(Boolean)\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { createCancelablePromiseList } from './utils';\nexport function createStore(reducer, props, onStoreStateChange) {\n var state = props.initialState;\n return {\n getState: function getState() {\n return state;\n },\n dispatch: function dispatch(action, payload) {\n var prevState = _objectSpread({}, state);\n\n state = reducer(state, {\n type: action,\n props: props,\n payload: payload\n });\n onStoreStateChange({\n state: state,\n prevState: prevState\n });\n },\n pendingRequests: createCancelablePromiseList()\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function getAutocompleteSetters(_ref) {\n var store = _ref.store;\n\n var setActiveItemId = function setActiveItemId(value) {\n store.dispatch('setActiveItemId', value);\n };\n\n var setQuery = function setQuery(value) {\n store.dispatch('setQuery', value);\n };\n\n var setCollections = function setCollections(rawValue) {\n var baseItemId = 0;\n var value = rawValue.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n // We flatten the stored items to support calling `getAlgoliaResults`\n // from the source itself.\n items: flatten(collection.items).map(function (item) {\n return _objectSpread(_objectSpread({}, item), {}, {\n __autocomplete_id: baseItemId++\n });\n })\n });\n });\n store.dispatch('setCollections', value);\n };\n\n var setIsOpen = function setIsOpen(value) {\n store.dispatch('setIsOpen', value);\n };\n\n var setStatus = function setStatus(value) {\n store.dispatch('setStatus', value);\n };\n\n var setContext = function setContext(value) {\n store.dispatch('setContext', value);\n };\n\n return {\n setActiveItemId: setActiveItemId,\n setQuery: setQuery,\n setCollections: setCollections,\n setIsOpen: setIsOpen,\n setStatus: setStatus,\n setContext: setContext\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';\nimport { getNormalizedSources } from './utils';\nexport function getDefaultProps(props, pluginSubscribers) {\n var _props$id;\n\n /* eslint-disable no-restricted-globals */\n var environment = typeof window !== 'undefined' ? window : {};\n /* eslint-enable no-restricted-globals */\n\n var plugins = props.plugins || [];\n return _objectSpread(_objectSpread({\n debug: false,\n openOnFocus: false,\n placeholder: '',\n autoFocus: false,\n defaultActiveItemId: null,\n stallThreshold: 300,\n environment: environment,\n shouldPanelOpen: function shouldPanelOpen(_ref) {\n var state = _ref.state;\n return getItemsCount(state) > 0;\n },\n reshape: function reshape(_ref2) {\n var sources = _ref2.sources;\n return sources;\n }\n }, props), {}, {\n // Since `generateAutocompleteId` triggers a side effect (it increments\n // an internal counter), we don't want to execute it if unnecessary.\n id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),\n plugins: plugins,\n // The following props need to be deeply defaulted.\n initialState: _objectSpread({\n activeItemId: null,\n query: '',\n completion: null,\n collections: [],\n isOpen: false,\n status: 'idle',\n context: {}\n }, props.initialState),\n onStateChange: function onStateChange(params) {\n var _props$onStateChange;\n\n (_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);\n plugins.forEach(function (x) {\n var _x$onStateChange;\n\n return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);\n });\n },\n onSubmit: function onSubmit(params) {\n var _props$onSubmit;\n\n (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);\n plugins.forEach(function (x) {\n var _x$onSubmit;\n\n return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);\n });\n },\n onReset: function onReset(params) {\n var _props$onReset;\n\n (_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);\n plugins.forEach(function (x) {\n var _x$onReset;\n\n return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);\n });\n },\n getSources: function getSources(params) {\n return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {\n return plugin.getSources;\n })), [props.getSources]).filter(Boolean).map(function (getSources) {\n return getNormalizedSources(getSources, params);\n })).then(function (nested) {\n return flatten(nested);\n }).then(function (sources) {\n return sources.map(function (source) {\n return _objectSpread(_objectSpread({}, source), {}, {\n onSelect: function onSelect(params) {\n source.onSelect(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onSelect;\n\n return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);\n });\n },\n onActive: function onActive(params) {\n source.onActive(params);\n pluginSubscribers.forEach(function (x) {\n var _x$onActive;\n\n return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);\n });\n }\n });\n });\n });\n },\n navigator: _objectSpread({\n navigate: function navigate(_ref3) {\n var itemUrl = _ref3.itemUrl;\n environment.location.assign(itemUrl);\n },\n navigateNewTab: function navigateNewTab(_ref4) {\n var itemUrl = _ref4.itemUrl;\n var windowReference = environment.open(itemUrl, '_blank', 'noopener');\n windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();\n },\n navigateNewWindow: function navigateNewWindow(_ref5) {\n var itemUrl = _ref5.itemUrl;\n environment.open(itemUrl, '_blank', 'noopener');\n }\n }, props.navigator)\n });\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { flatten } from '@algolia/autocomplete-shared';\nexport function reshape(_ref) {\n var collections = _ref.collections,\n props = _ref.props,\n state = _ref.state;\n // Sources are grouped by `sourceId` to conveniently pick them via destructuring.\n // Example: `const { recentSearchesPlugin } = sourcesBySourceId`\n var sourcesBySourceId = collections.reduce(function (acc, collection) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {\n getItems: function getItems() {\n // We provide the resolved items from the collection to the `reshape` prop.\n return flatten(collection.items);\n }\n })));\n }, {});\n var reshapeSources = props.reshape({\n sources: Object.values(sourcesBySourceId),\n sourcesBySourceId: sourcesBySourceId,\n state: state\n }); // We reconstruct the collections with the items modified by the `reshape` prop.\n\n return flatten(reshapeSources).filter(Boolean).map(function (source) {\n return {\n source: source,\n items: source.getItems()\n };\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { decycle, flatten, invariant } from '@algolia/autocomplete-shared';\nimport { mapToAlgoliaResponse } from './utils';\n\nfunction isDescription(item) {\n return Boolean(item.execute);\n}\n\nfunction isRequesterDescription(description) {\n return Boolean(description === null || description === void 0 ? void 0 : description.execute);\n}\n\nexport function preResolve(itemsOrDescription, sourceId) {\n if (isRequesterDescription(itemsOrDescription)) {\n return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {\n requests: itemsOrDescription.queries.map(function (query) {\n return {\n query: query,\n sourceId: sourceId,\n transformResponse: itemsOrDescription.transformResponse\n };\n })\n });\n }\n\n return {\n items: itemsOrDescription,\n sourceId: sourceId\n };\n}\nexport function resolve(items) {\n var packed = items.reduce(function (acc, current) {\n if (!isDescription(current)) {\n acc.push(current);\n return acc;\n }\n\n var searchClient = current.searchClient,\n execute = current.execute,\n requesterId = current.requesterId,\n requests = current.requests;\n var container = acc.find(function (item) {\n return isDescription(current) && isDescription(item) && item.searchClient === searchClient && Boolean(requesterId) && item.requesterId === requesterId;\n });\n\n if (container) {\n var _container$items;\n\n (_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));\n } else {\n var request = {\n execute: execute,\n requesterId: requesterId,\n items: requests,\n searchClient: searchClient\n };\n acc.push(request);\n }\n\n return acc;\n }, []);\n var values = packed.map(function (maybeDescription) {\n if (!isDescription(maybeDescription)) {\n return Promise.resolve(maybeDescription);\n }\n\n var _ref = maybeDescription,\n execute = _ref.execute,\n items = _ref.items,\n searchClient = _ref.searchClient;\n return execute({\n searchClient: searchClient,\n requests: items\n });\n });\n return Promise.all(values).then(function (responses) {\n return flatten(responses);\n });\n}\nexport function postResolve(responses, sources) {\n return sources.map(function (source) {\n var matches = responses.filter(function (response) {\n return response.sourceId === source.sourceId;\n });\n var results = matches.map(function (_ref2) {\n var items = _ref2.items;\n return items;\n });\n var transform = matches[0].transformResponse;\n var items = transform ? transform(mapToAlgoliaResponse(results)) : results;\n invariant(Array.isArray(items), function () {\n return \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned type \").concat(JSON.stringify(_typeof(items)), \":\\n\\n\").concat(JSON.stringify(decycle(items), null, 2), \".\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\");\n });\n invariant(items.every(Boolean), \"The `getItems` function from source \\\"\".concat(source.sourceId, \"\\\" must return an array of items but returned \").concat(JSON.stringify(undefined), \".\\n\\nDid you forget to return items?\\n\\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems\"));\n return {\n source: source,\n items: items\n };\n });\n}","var _excluded = [\"event\", \"nextState\", \"props\", \"query\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { reshape } from './reshape';\nimport { preResolve, resolve, postResolve } from './resolve';\nimport { cancelable, createConcurrentSafePromise, getActiveItem } from './utils';\nvar lastStalledId = null;\nvar runConcurrentSafePromise = createConcurrentSafePromise();\nexport function onInput(_ref) {\n var event = _ref.event,\n _ref$nextState = _ref.nextState,\n nextState = _ref$nextState === void 0 ? {} : _ref$nextState,\n props = _ref.props,\n query = _ref.query,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n\n var setCollections = setters.setCollections,\n setIsOpen = setters.setIsOpen,\n setQuery = setters.setQuery,\n setActiveItemId = setters.setActiveItemId,\n setStatus = setters.setStatus;\n setQuery(query);\n setActiveItemId(props.defaultActiveItemId);\n\n if (!query && props.openOnFocus === false) {\n var _nextState$isOpen;\n\n var collections = store.getState().collections.map(function (collection) {\n return _objectSpread(_objectSpread({}, collection), {}, {\n items: []\n });\n });\n setStatus('idle');\n setCollections(collections);\n setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({\n state: store.getState()\n })); // We make sure to update the latest resolved value of the tracked\n // promises to keep late resolving promises from \"cancelling\" the state\n // updates performed in this code path.\n // We chain with a void promise to respect `onInput`'s expected return type.\n\n var _request = cancelable(runConcurrentSafePromise(collections).then(function () {\n return Promise.resolve();\n }));\n\n return store.pendingRequests.add(_request);\n }\n\n setStatus('loading');\n lastStalledId = props.environment.setTimeout(function () {\n setStatus('stalled');\n }, props.stallThreshold); // We track the entire promise chain triggered by `onInput` before mutating\n // the Autocomplete state to make sure that any state manipulation is based on\n // fresh data regardless of when promises individually resolve.\n // We don't track nested promises and only rely on the full chain resolution,\n // meaning we should only ever manipulate the state once this concurrent-safe\n // promise is resolved.\n\n var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters)).then(function (sources) {\n return Promise.all(sources.map(function (source) {\n return Promise.resolve(source.getItems(_objectSpread({\n query: query,\n refresh: refresh,\n state: store.getState()\n }, setters))).then(function (itemsOrDescription) {\n return preResolve(itemsOrDescription, source.sourceId);\n });\n })).then(resolve).then(function (responses) {\n return postResolve(responses, sources);\n }).then(function (collections) {\n return reshape({\n collections: collections,\n props: props,\n state: store.getState()\n });\n });\n }))).then(function (collections) {\n var _nextState$isOpen2;\n\n // Parameters passed to `onInput` could be stale when the following code\n // executes, because `onInput` calls may not resolve in order.\n // If it becomes a problem we'll need to save the last passed parameters.\n // See: https://codesandbox.io/s/agitated-cookies-y290z\n setStatus('idle');\n setCollections(collections);\n var isPanelOpen = props.shouldPanelOpen({\n state: store.getState()\n });\n setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }).finally(function () {\n setStatus('idle');\n\n if (lastStalledId) {\n props.environment.clearTimeout(lastStalledId);\n }\n });\n return store.pendingRequests.add(request);\n}","var _excluded = [\"event\", \"props\", \"refresh\", \"store\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { onInput } from './onInput';\nimport { getActiveItem } from './utils';\nexport function onKeyDown(_ref) {\n var event = _ref.event,\n props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n // eslint-disable-next-line no-inner-declarations\n var triggerScrollIntoView = function triggerScrollIntoView() {\n var nodeItem = props.environment.document.getElementById(\"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId));\n\n if (nodeItem) {\n if (nodeItem.scrollIntoViewIfNeeded) {\n nodeItem.scrollIntoViewIfNeeded(false);\n } else {\n nodeItem.scrollIntoView(false);\n }\n }\n }; // eslint-disable-next-line no-inner-declarations\n\n\n var triggerOnActive = function triggerOnActive() {\n var highlightedItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && highlightedItem) {\n var item = highlightedItem.item,\n itemInputValue = highlightedItem.itemInputValue,\n itemUrl = highlightedItem.itemUrl,\n source = highlightedItem.source;\n source.onActive(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n }\n }; // Default browser behavior changes the caret placement on ArrowUp and\n // ArrowDown.\n\n\n event.preventDefault(); // When re-opening the panel, we need to split the logic to keep the actions\n // synchronized as `onInput` returns a promise.\n\n if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n store.dispatch(event.key, {\n nextActiveItemId: props.defaultActiveItemId\n });\n triggerOnActive(); // Since we rely on the DOM, we need to wait for all the micro tasks to\n // finish (which include re-opening the panel) to make sure all the\n // elements are available.\n\n setTimeout(triggerScrollIntoView, 0);\n });\n } else {\n store.dispatch(event.key, {});\n triggerOnActive();\n triggerScrollIntoView();\n }\n } else if (event.key === 'Escape') {\n // This prevents the default browser behavior on `input[type=\"search\"]`\n // from removing the query right away because we first want to close the\n // panel.\n event.preventDefault();\n store.dispatch(event.key, null); // Hitting the `Escape` key signals the end of a user interaction with the\n // autocomplete. At this point, we should ignore any requests that are still\n // pending and could reopen the panel once they resolve, because that would\n // result in an unsolicited UI behavior.\n\n store.pendingRequests.cancelAll();\n } else if (event.key === 'Enter') {\n // No active item, so we let the browser handle the native `onSubmit` form\n // event.\n if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {\n return collection.items.length === 0;\n })) {\n return;\n } // This prevents the `onSubmit` event to be sent because an item is\n // highlighted.\n\n\n event.preventDefault();\n\n var _ref2 = getActiveItem(store.getState()),\n item = _ref2.item,\n itemInputValue = _ref2.itemInputValue,\n itemUrl = _ref2.itemUrl,\n source = _ref2.source;\n\n if (event.metaKey || event.ctrlKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewTab({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.shiftKey) {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigateNewWindow({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n }\n } else if (event.altKey) {// Keep native browser behavior\n } else {\n if (itemUrl !== undefined) {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n props.navigator.navigate({\n itemUrl: itemUrl,\n item: item,\n state: store.getState()\n });\n return;\n }\n\n onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters)).then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }\n}","var _excluded = [\"props\", \"refresh\", \"store\"],\n _excluded2 = [\"inputElement\", \"formElement\", \"panelElement\"],\n _excluded3 = [\"inputElement\"],\n _excluded4 = [\"inputElement\", \"maxLength\"],\n _excluded5 = [\"item\", \"source\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { onInput } from './onInput';\nimport { onKeyDown as _onKeyDown } from './onKeyDown';\nimport { getActiveItem, isOrContainsNode, isSamsung } from './utils';\nexport function getPropGetters(_ref) {\n var props = _ref.props,\n refresh = _ref.refresh,\n store = _ref.store,\n setters = _objectWithoutProperties(_ref, _excluded);\n\n var getEnvironmentProps = function getEnvironmentProps(providedProps) {\n var inputElement = providedProps.inputElement,\n formElement = providedProps.formElement,\n panelElement = providedProps.panelElement,\n rest = _objectWithoutProperties(providedProps, _excluded2);\n\n return _objectSpread({\n // On touch devices, we do not rely on the native `blur` event of the\n // input to close the panel, but rather on a custom `touchstart` event\n // outside of the autocomplete elements.\n // This ensures a working experience on mobile because we blur the input\n // on touch devices when the user starts scrolling (`touchmove`).\n // @TODO: support cases where there are multiple Autocomplete instances.\n // Right now, a second instance makes this computation return false.\n onTouchStart: function onTouchStart(event) {\n // The `onTouchStart` event shouldn't trigger the `blur` handler when\n // it's not an interaction with Autocomplete. We detect it with the\n // following heuristics:\n // - the panel is closed AND there are no pending requests\n // (no interaction with the autocomplete, no future state updates)\n // - OR the touched target is the input element (should open the panel)\n var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();\n\n if (!isAutocompleteInteraction || event.target === inputElement) {\n return;\n }\n\n var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {\n return isOrContainsNode(contextNode, event.target);\n });\n\n if (isTargetWithinAutocomplete === false) {\n store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n },\n // When scrolling on touch devices (mobiles, tablets, etc.), we want to\n // mimic the native platform behavior where the input is blurred to\n // hide the virtual keyboard. This gives more vertical space to\n // discover all the suggestions showing up in the panel.\n onTouchMove: function onTouchMove(event) {\n if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {\n return;\n }\n\n inputElement.blur();\n }\n }, rest);\n };\n\n var getRootProps = function getRootProps(rest) {\n return _objectSpread({\n role: 'combobox',\n 'aria-expanded': store.getState().isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-owns': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getFormProps = function getFormProps(providedProps) {\n var inputElement = providedProps.inputElement,\n rest = _objectWithoutProperties(providedProps, _excluded3);\n\n return _objectSpread({\n action: '',\n noValidate: true,\n role: 'search',\n onSubmit: function onSubmit(event) {\n var _providedProps$inputE;\n\n event.preventDefault();\n props.onSubmit(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('submit', null);\n (_providedProps$inputE = providedProps.inputElement) === null || _providedProps$inputE === void 0 ? void 0 : _providedProps$inputE.blur();\n },\n onReset: function onReset(event) {\n var _providedProps$inputE2;\n\n event.preventDefault();\n props.onReset(_objectSpread({\n event: event,\n refresh: refresh,\n state: store.getState()\n }, setters));\n store.dispatch('reset', null);\n (_providedProps$inputE2 = providedProps.inputElement) === null || _providedProps$inputE2 === void 0 ? void 0 : _providedProps$inputE2.focus();\n }\n }, rest);\n };\n\n var getInputProps = function getInputProps(providedProps) {\n var _props$environment$na;\n\n function onFocus(event) {\n // We want to trigger a query when `openOnFocus` is true\n // because the panel should open with the current query.\n if (props.openOnFocus || Boolean(store.getState().query)) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: store.getState().completion || store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n store.dispatch('focus', null);\n }\n\n var isTouchDevice = ('ontouchstart' in props.environment);\n\n var _ref2 = providedProps || {},\n inputElement = _ref2.inputElement,\n _ref2$maxLength = _ref2.maxLength,\n maxLength = _ref2$maxLength === void 0 ? 512 : _ref2$maxLength,\n rest = _objectWithoutProperties(_ref2, _excluded4);\n\n var activeItem = getActiveItem(store.getState());\n var userAgent = (_props$environment$na = props.environment.navigator) === null || _props$environment$na === void 0 ? void 0 : _props$environment$na.userAgent;\n var shouldFallbackKeyHint = isSamsung(userAgent);\n var enterKeyHint = activeItem !== null && activeItem !== void 0 && activeItem.itemUrl && !shouldFallbackKeyHint ? 'go' : 'search';\n return _objectSpread({\n 'aria-autocomplete': 'both',\n 'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? \"\".concat(props.id, \"-item-\").concat(store.getState().activeItemId) : undefined,\n 'aria-controls': store.getState().isOpen ? \"\".concat(props.id, \"-list\") : undefined,\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n value: store.getState().completion || store.getState().query,\n id: \"\".concat(props.id, \"-input\"),\n autoComplete: 'off',\n autoCorrect: 'off',\n autoCapitalize: 'off',\n enterKeyHint: enterKeyHint,\n spellCheck: 'false',\n autoFocus: props.autoFocus,\n placeholder: props.placeholder,\n maxLength: maxLength,\n type: 'search',\n onChange: function onChange(event) {\n onInput(_objectSpread({\n event: event,\n props: props,\n query: event.currentTarget.value.slice(0, maxLength),\n refresh: refresh,\n store: store\n }, setters));\n },\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(_objectSpread({\n event: event,\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n },\n onFocus: onFocus,\n onBlur: function onBlur() {\n // We do rely on the `blur` event on touch devices.\n // See explanation in `onTouchStart`.\n if (!isTouchDevice) {\n store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they\n // could reopen the panel once they resolve.\n // We want to prevent any subsequent query from reopening the panel\n // because it would result in an unsolicited UI behavior.\n\n if (!props.debug) {\n store.pendingRequests.cancelAll();\n }\n }\n },\n onClick: function onClick(event) {\n // When the panel is closed and you click on the input while\n // the input is focused, the `onFocus` event is not triggered\n // (default browser behavior).\n // In an autocomplete context, it makes sense to open the panel in this\n // case.\n // We mimic this event by catching the `onClick` event which\n // triggers the `onFocus` for the panel to open.\n if (providedProps.inputElement === props.environment.document.activeElement && !store.getState().isOpen) {\n onFocus(event);\n }\n }\n }, rest);\n };\n\n var getLabelProps = function getLabelProps(rest) {\n return _objectSpread({\n htmlFor: \"\".concat(props.id, \"-input\"),\n id: \"\".concat(props.id, \"-label\")\n }, rest);\n };\n\n var getListProps = function getListProps(rest) {\n return _objectSpread({\n role: 'listbox',\n 'aria-labelledby': \"\".concat(props.id, \"-label\"),\n id: \"\".concat(props.id, \"-list\")\n }, rest);\n };\n\n var getPanelProps = function getPanelProps(rest) {\n return _objectSpread({\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the panel so\n // that the blur event is not triggered, otherwise it closes the\n // panel.\n event.preventDefault();\n },\n onMouseLeave: function onMouseLeave() {\n store.dispatch('mouseleave', null);\n }\n }, rest);\n };\n\n var getItemProps = function getItemProps(providedProps) {\n var item = providedProps.item,\n source = providedProps.source,\n rest = _objectWithoutProperties(providedProps, _excluded5);\n\n return _objectSpread({\n id: \"\".concat(props.id, \"-item-\").concat(item.__autocomplete_id),\n role: 'option',\n 'aria-selected': store.getState().activeItemId === item.__autocomplete_id,\n onMouseMove: function onMouseMove(event) {\n if (item.__autocomplete_id === store.getState().activeItemId) {\n return;\n }\n\n store.dispatch('mousemove', item.__autocomplete_id);\n var activeItem = getActiveItem(store.getState());\n\n if (store.getState().activeItemId !== null && activeItem) {\n var _item = activeItem.item,\n itemInputValue = activeItem.itemInputValue,\n itemUrl = activeItem.itemUrl,\n _source = activeItem.source;\n\n _source.onActive(_objectSpread({\n event: event,\n item: _item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: _source,\n state: store.getState()\n }, setters));\n }\n },\n onMouseDown: function onMouseDown(event) {\n // Prevents the `activeElement` from being changed to the item so it\n // can remain with the current `activeElement`.\n event.preventDefault();\n },\n onClick: function onClick(event) {\n var itemInputValue = source.getItemInputValue({\n item: item,\n state: store.getState()\n });\n var itemUrl = source.getItemUrl({\n item: item,\n state: store.getState()\n }); // If `getItemUrl` is provided, it means that the suggestion\n // is a link, not plain text that aims at updating the query.\n // We can therefore skip the state change because it will update\n // the `activeItemId`, resulting in a UI flash, especially\n // noticeable on mobile.\n\n var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({\n event: event,\n nextState: {\n isOpen: false\n },\n props: props,\n query: itemInputValue,\n refresh: refresh,\n store: store\n }, setters));\n runPreCommand.then(function () {\n source.onSelect(_objectSpread({\n event: event,\n item: item,\n itemInputValue: itemInputValue,\n itemUrl: itemUrl,\n refresh: refresh,\n source: source,\n state: store.getState()\n }, setters));\n });\n }\n }, rest);\n };\n\n return {\n getEnvironmentProps: getEnvironmentProps,\n getRootProps: getRootProps,\n getFormProps: getFormProps,\n getLabelProps: getLabelProps,\n getInputProps: getInputProps,\n getPanelProps: getPanelProps,\n getListProps: getListProps,\n getItemProps: getItemProps\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { userAgents } from '@algolia/autocomplete-shared';\nexport function getMetadata(_ref) {\n var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;\n\n var plugins = _ref.plugins,\n options = _ref.options;\n var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;\n var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};\n return {\n plugins: plugins.map(function (plugin) {\n return {\n name: plugin.name,\n options: Object.keys(plugin.__autocomplete_pluginOptions || [])\n };\n }),\n options: _objectSpread({\n 'autocomplete-core': Object.keys(options)\n }, extraOptions),\n ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])\n };\n}\nexport function injectMetadata(_ref3) {\n var _environment$navigato;\n\n var metadata = _ref3.metadata,\n environment = _ref3.environment;\n var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : _environment$navigato.userAgent.includes('Algolia Crawler');\n\n if (isMetadataEnabled) {\n var metadataContainer = environment.document.createElement('meta');\n var headRef = environment.document.querySelector('head');\n metadataContainer.name = 'algolia:metadata';\n setTimeout(function () {\n metadataContainer.content = JSON.stringify(metadata);\n headRef.appendChild(metadataContainer);\n }, 0);\n }\n}","import { getActiveItem } from './utils';\nexport function getCompletion(_ref) {\n var _getActiveItem;\n\n var state = _ref.state;\n\n if (state.isOpen === false || state.activeItemId === null) {\n return null;\n }\n\n return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getItemsCount, invariant } from '@algolia/autocomplete-shared';\nimport { getCompletion } from './getCompletion';\nimport { getNextActiveItemId } from './utils';\nexport var stateReducer = function stateReducer(state, action) {\n switch (action.type) {\n case 'setActiveItemId':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'setQuery':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n query: action.payload,\n completion: null\n });\n }\n\n case 'setCollections':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n collections: action.payload\n });\n }\n\n case 'setIsOpen':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: action.payload\n });\n }\n\n case 'setStatus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n }\n\n case 'setContext':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n context: _objectSpread(_objectSpread({}, state.context), action.payload)\n });\n }\n\n case 'ArrowDown':\n {\n var nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, nextState), {}, {\n completion: getCompletion({\n state: nextState\n })\n });\n }\n\n case 'ArrowUp':\n {\n var _nextState = _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)\n });\n\n return _objectSpread(_objectSpread({}, _nextState), {}, {\n completion: getCompletion({\n state: _nextState\n })\n });\n }\n\n case 'Escape':\n {\n if (state.isOpen) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n completion: null\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n query: '',\n status: 'idle',\n collections: []\n });\n }\n\n case 'submit':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: null,\n isOpen: false,\n status: 'idle'\n });\n }\n\n case 'reset':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: // Since we open the panel on reset when openOnFocus=true\n // we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)\n // Since we close the panel when openOnFocus=false\n // we lose track of the highlighted index. (Query-suggestions use-case)\n action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,\n status: 'idle',\n query: ''\n });\n }\n\n case 'focus':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId,\n isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({\n state: state\n })\n });\n }\n\n case 'blur':\n {\n if (action.props.debug) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n isOpen: false,\n activeItemId: null\n });\n }\n\n case 'mousemove':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.payload\n });\n }\n\n case 'mouseleave':\n {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeItemId: action.props.defaultActiveItemId\n });\n }\n\n default:\n invariant(false, \"The reducer action \".concat(JSON.stringify(action.type), \" is not supported.\"));\n return state;\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { checkOptions } from './checkOptions';\nimport { createStore } from './createStore';\nimport { getAutocompleteSetters } from './getAutocompleteSetters';\nimport { getDefaultProps } from './getDefaultProps';\nimport { getPropGetters } from './getPropGetters';\nimport { getMetadata, injectMetadata } from './metadata';\nimport { onInput } from './onInput';\nimport { stateReducer } from './stateReducer';\nexport function createAutocomplete(options) {\n checkOptions(options);\n var subscribers = [];\n var props = getDefaultProps(options, subscribers);\n var store = createStore(stateReducer, props, onStoreStateChange);\n var setters = getAutocompleteSetters({\n store: store\n });\n var propGetters = getPropGetters(_objectSpread({\n props: props,\n refresh: refresh,\n store: store\n }, setters));\n\n function onStoreStateChange(_ref) {\n var prevState = _ref.prevState,\n state = _ref.state;\n props.onStateChange(_objectSpread({\n prevState: prevState,\n state: state,\n refresh: refresh\n }, setters));\n }\n\n function refresh() {\n return onInput(_objectSpread({\n event: new Event('input'),\n nextState: {\n isOpen: store.getState().isOpen\n },\n props: props,\n query: store.getState().query,\n refresh: refresh,\n store: store\n }, setters));\n }\n\n props.plugins.forEach(function (plugin) {\n var _plugin$subscribe;\n\n return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {\n refresh: refresh,\n onSelect: function onSelect(fn) {\n subscribers.push({\n onSelect: fn\n });\n },\n onActive: function onActive(fn) {\n subscribers.push({\n onActive: fn\n });\n }\n }));\n });\n injectMetadata({\n metadata: getMetadata({\n plugins: props.plugins,\n options: options\n }),\n environment: props.environment\n });\n return _objectSpread(_objectSpread({\n refresh: refresh\n }, propGetters), setters);\n}","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const ClearIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-ClearIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '18');\n element.setAttribute('height', '18');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\nimport { invariant } from '@algolia/autocomplete-shared';\n\nexport function getHTMLElement(\n environment: AutocompleteEnvironment,\n value: string | HTMLElement\n): HTMLElement {\n if (typeof value === 'string') {\n const element = environment.document.querySelector<HTMLElement>(value);\n\n invariant(\n element !== null,\n `The element ${JSON.stringify(value)} is not in the document.`\n );\n\n return element!;\n }\n\n return value;\n}\n","import { AutocompleteClassNames } from '../types';\n\nexport function mergeClassNames(\n ...values: Array<Partial<AutocompleteClassNames>>\n) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (accValue !== currentValue) {\n acc[key] = [accValue, currentValue].filter(Boolean).join(' ');\n }\n });\n\n return acc;\n }, {});\n}\n","const isPlainObject = (value: unknown) =>\n value &&\n typeof value === 'object' &&\n Object.prototype.toString.call(value) === '[object Object]';\n\nexport function mergeDeep(...values: any[]) {\n return values.reduce((acc, current) => {\n Object.keys(current).forEach((key) => {\n const accValue = acc[key];\n const currentValue = current[key];\n\n if (Array.isArray(accValue) && Array.isArray(currentValue)) {\n acc[key] = accValue.concat(...currentValue);\n } else if (isPlainObject(accValue) && isPlainObject(currentValue)) {\n acc[key] = mergeDeep(accValue, currentValue);\n } else {\n acc[key] = currentValue;\n }\n });\n\n return acc;\n }, {});\n}\n","export function pickBy<TValue = unknown>(\n obj: Record<string, TValue>,\n predicate: (value: { key: string; value: TValue }) => boolean\n) {\n return Object.entries(obj).reduce<Record<string, TValue>>(\n (acc, [key, value]) => {\n if (predicate({ key, value })) {\n return { ...acc, [key]: value };\n }\n\n return acc;\n },\n {}\n );\n}\n","/* eslint-disable */\n\n/**\n * Touch-specific event aliases\n *\n * See https://w3c.github.io/touch-events/#extensions-to-the-globaleventhandlers-mixin\n */\nconst TOUCH_EVENTS_ALIASES = [\n 'ontouchstart',\n 'ontouchend',\n 'ontouchmove',\n 'ontouchcancel',\n];\n\n/*\n * Taken from Preact\n *\n * See https://github.com/preactjs/preact/blob/6ab49d9020740127577bf4af66bf63f4af7f9fee/src/diff/props.js#L58-L151\n */\n\nfunction setStyle(style: object, key: string, value: any) {\n if (value === null) {\n style[key] = '';\n } else if (typeof value !== 'number') {\n style[key] = value;\n } else {\n style[key] = value + 'px';\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n */\nfunction eventProxy(this: any, event: Event) {\n this._listeners[event.type](event);\n}\n\n/**\n * Set a property value on a DOM node\n */\nexport function setProperty(dom: HTMLElement, name: string, value: any) {\n let useCapture: boolean;\n let nameLower: string;\n let oldValue = dom[name];\n\n if (name === 'style') {\n if (typeof value == 'string') {\n (dom as any).style = value;\n } else {\n if (value === null) {\n (dom as any).style = '';\n } else {\n for (name in value) {\n if (!oldValue || value[name] !== oldValue[name]) {\n setStyle(dom.style, name, value[name]);\n }\n }\n }\n }\n }\n // Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n else if (name[0] === 'o' && name[1] === 'n') {\n useCapture = name !== (name = name.replace(/Capture$/, ''));\n nameLower = name.toLowerCase();\n if (nameLower in dom || TOUCH_EVENTS_ALIASES.includes(nameLower))\n name = nameLower;\n name = name.slice(2);\n\n if (!(dom as any)._listeners) (dom as any)._listeners = {};\n (dom as any)._listeners[name] = value;\n\n if (value) {\n if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n } else {\n dom.removeEventListener(name, eventProxy, useCapture);\n }\n } else if (\n name !== 'list' &&\n name !== 'tagName' &&\n // HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n // setAttribute\n name !== 'form' &&\n name !== 'type' &&\n name !== 'size' &&\n name !== 'download' &&\n name !== 'href' &&\n name in dom\n ) {\n dom[name] = value == null ? '' : value;\n } else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {\n if (\n value == null ||\n (value === false &&\n // ARIA-attributes have a different notion of boolean values.\n // The value `false` is different from the attribute not\n // existing on the DOM, so we can't remove it. For non-boolean\n // ARIA-attributes we could treat false as a removal, but the\n // amount of exceptions would cost us too many bytes. On top of\n // that other VDOM frameworks also always stringify `false`.\n !/^ar/.test(name))\n ) {\n dom.removeAttribute(name);\n } else {\n dom.setAttribute(name, value);\n }\n }\n}\n\nfunction getNormalizedName(name: string): string {\n switch (name) {\n case 'onChange':\n return 'onInput';\n default:\n return name;\n }\n}\n\nexport function setProperties(dom: HTMLElement, props: object): void {\n for (const name in props) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n}\n\nexport function setPropertiesWithoutEvents(\n dom: HTMLElement,\n props: object\n): void {\n for (const name in props) {\n if (!(name[0] === 'o' && name[1] === 'n')) {\n setProperty(dom, getNormalizedName(name), props[name]);\n }\n }\n}\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { setProperties } from './utils';\n\ntype CreateDomElementProps = Record<string, unknown> & {\n children?: Node[];\n};\n\nexport function getCreateDomElement(environment: AutocompleteEnvironment) {\n return function createDomElement<KParam extends keyof HTMLElementTagNameMap>(\n tagName: KParam,\n { children = [], ...props }: CreateDomElementProps\n ): HTMLElementTagNameMap[KParam] {\n const element = environment.document.createElement<KParam>(tagName);\n setProperties(element, props);\n element.append(...children);\n\n return element;\n };\n}\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n} from '@algolia/autocomplete-core';\n\nimport { getCreateDomElement } from '../getCreateDomElement';\nimport { AutocompletePropGetters, AutocompleteState } from '../types';\nimport { AutocompleteElement } from '../types/AutocompleteElement';\nimport { setProperties } from '../utils';\n\ntype InputProps = {\n autocompleteScopeApi: AutocompleteScopeApi<any>;\n environment: AutocompleteEnvironment;\n getInputProps: AutocompletePropGetters<any>['getInputProps'];\n getInputPropsCore: AutocompleteCoreApi<any>['getInputProps'];\n onDetachedEscape?(): void;\n state: AutocompleteState<any>;\n};\n\nexport const Input: AutocompleteElement<InputProps, HTMLInputElement> = ({\n autocompleteScopeApi,\n environment,\n classNames,\n getInputProps,\n getInputPropsCore,\n onDetachedEscape,\n state,\n ...props\n}) => {\n const createDomElement = getCreateDomElement(environment);\n const element = createDomElement('input', props);\n const inputProps = getInputProps({\n state,\n props: getInputPropsCore({ inputElement: element }),\n inputElement: element,\n ...autocompleteScopeApi,\n });\n\n setProperties(element, {\n ...inputProps,\n onKeyDown(event: KeyboardEvent) {\n if (onDetachedEscape && event.key === 'Escape') {\n event.preventDefault();\n onDetachedEscape();\n return;\n }\n\n inputProps.onKeyDown(event);\n },\n });\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const LoadingIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-LoadingIcon');\n element.setAttribute('viewBox', '0 0 100 100');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n\n element.innerHTML = `<circle\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"35\"\n stroke=\"currentColor\"\n stroke-dasharray=\"164.93361431346415 56.97787143782138\"\n stroke-width=\"6\"\n>\n <animateTransform\n attributeName=\"transform\"\n type=\"rotate\"\n repeatCount=\"indefinite\"\n dur=\"1s\"\n values=\"0 50 50;90 50 50;180 50 50;360 50 50\"\n keyTimes=\"0;0.40;0.65;1\"\n />\n</circle>`;\n\n return element;\n};\n","import { AutocompleteEnvironment } from '@algolia/autocomplete-core';\n\nimport { AutocompleteElement } from '../types/AutocompleteElement';\n\nexport const SearchIcon: AutocompleteElement<\n { environment: AutocompleteEnvironment },\n SVGSVGElement\n> = ({ environment }) => {\n const element = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'svg'\n );\n element.setAttribute('class', 'aa-SubmitIcon');\n element.setAttribute('viewBox', '0 0 24 24');\n element.setAttribute('width', '20');\n element.setAttribute('height', '20');\n element.setAttribute('fill', 'currentColor');\n\n const path = environment.document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n path.setAttribute(\n 'd',\n 'M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z'\n );\n\n element.appendChild(path);\n\n return element;\n};\n","import {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteEnvironment,\n AutocompleteScopeApi,\n BaseItem,\n} from '@algolia/autocomplete-core';\n\nimport { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';\nimport { getCreateDomElement } from './getCreateDomElement';\nimport {\n AutocompleteClassNames,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteState,\n AutocompleteTranslations,\n} from './types';\nimport { setProperties } from './utils';\n\ntype CreateDomProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n environment: AutocompleteEnvironment;\n isDetached: boolean;\n placeholder?: string;\n propGetters: AutocompletePropGetters<TItem>;\n setIsModalOpen(value: boolean): void;\n state: AutocompleteState<TItem>;\n translations: AutocompleteTranslations;\n};\n\nexport function createAutocompleteDom<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n classNames,\n environment,\n isDetached,\n placeholder = 'Search',\n propGetters,\n setIsModalOpen,\n state,\n translations,\n}: CreateDomProps<TItem>): AutocompleteDom {\n const createDomElement = getCreateDomElement(environment);\n\n const rootProps = propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n });\n const root = createDomElement('div', {\n class: classNames.root,\n ...rootProps,\n });\n const detachedContainer = createDomElement('div', {\n class: classNames.detachedContainer,\n onMouseDown(event: MouseEvent) {\n event.stopPropagation();\n },\n });\n const detachedOverlay = createDomElement('div', {\n class: classNames.detachedOverlay,\n children: [detachedContainer],\n onMouseDown() {\n setIsModalOpen(false);\n autocomplete.setIsOpen(false);\n },\n });\n\n const labelProps = propGetters.getLabelProps({\n state,\n props: autocomplete.getLabelProps({}),\n ...autocompleteScopeApi,\n });\n const submitButton = createDomElement('button', {\n class: classNames.submitButton,\n type: 'submit',\n title: translations.submitButtonTitle,\n children: [SearchIcon({ environment })],\n });\n const label = createDomElement('label', {\n class: classNames.label,\n children: [submitButton],\n ...labelProps,\n });\n const clearButton = createDomElement('button', {\n class: classNames.clearButton,\n type: 'reset',\n title: translations.clearButtonTitle,\n children: [ClearIcon({ environment })],\n });\n const loadingIndicator = createDomElement('div', {\n class: classNames.loadingIndicator,\n children: [LoadingIcon({ environment })],\n });\n\n const input = Input({\n class: classNames.input,\n environment,\n state,\n getInputProps: propGetters.getInputProps,\n getInputPropsCore: autocomplete.getInputProps,\n autocompleteScopeApi,\n onDetachedEscape: isDetached\n ? () => {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n }\n : undefined,\n });\n\n const inputWrapperPrefix = createDomElement('div', {\n class: classNames.inputWrapperPrefix,\n children: [label, loadingIndicator],\n });\n const inputWrapperSuffix = createDomElement('div', {\n class: classNames.inputWrapperSuffix,\n children: [clearButton],\n });\n const inputWrapper = createDomElement('div', {\n class: classNames.inputWrapper,\n children: [input],\n });\n\n const formProps = propGetters.getFormProps({\n state,\n props: autocomplete.getFormProps({ inputElement: input }),\n ...autocompleteScopeApi,\n });\n const form = createDomElement('form', {\n class: classNames.form,\n children: [inputWrapperPrefix, inputWrapper, inputWrapperSuffix],\n ...formProps,\n });\n const panelProps = propGetters.getPanelProps({\n state,\n props: autocomplete.getPanelProps({}),\n ...autocompleteScopeApi,\n });\n const panel = createDomElement('div', {\n class: classNames.panel,\n ...panelProps,\n });\n\n if (__TEST__) {\n setProperties(panel, {\n 'data-testid': 'panel',\n });\n }\n\n if (isDetached) {\n const detachedSearchButtonIcon = createDomElement('div', {\n class: classNames.detachedSearchButtonIcon,\n children: [SearchIcon({ environment })],\n });\n const detachedSearchButtonPlaceholder = createDomElement('div', {\n class: classNames.detachedSearchButtonPlaceholder,\n textContent: placeholder,\n });\n const detachedSearchButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedSearchButton,\n onClick() {\n setIsModalOpen(true);\n },\n children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder],\n });\n const detachedCancelButton = createDomElement('button', {\n type: 'button',\n class: classNames.detachedCancelButton,\n textContent: translations.detachedCancelButtonText,\n // Prevent `onTouchStart` from closing the panel\n // since it should be initiated by `onClick` only\n onTouchStart(event: TouchEvent) {\n event.stopPropagation();\n },\n onClick() {\n autocomplete.setIsOpen(false);\n setIsModalOpen(false);\n },\n });\n const detachedFormContainer = createDomElement('div', {\n class: classNames.detachedFormContainer,\n children: [form, detachedCancelButton],\n });\n\n detachedContainer.appendChild(detachedFormContainer);\n root.appendChild(detachedSearchButton);\n } else {\n root.appendChild(form);\n }\n\n return {\n detachedContainer,\n detachedOverlay,\n inputWrapper,\n input,\n root,\n form,\n label,\n submitButton,\n clearButton,\n loadingIndicator,\n panel,\n };\n}\n","type Effect = () => void;\ntype EffectFn = () => Effect;\ntype CleanupFn = () => void;\ntype EffectWrapper = {\n runEffect(fn: EffectFn): void;\n cleanupEffects(): void;\n runEffects(): void;\n};\n\nexport function createEffectWrapper(): EffectWrapper {\n let effects: EffectFn[] = [];\n let cleanups: CleanupFn[] = [];\n\n function runEffect(fn: EffectFn) {\n effects.push(fn);\n const effectCleanup = fn();\n cleanups.push(effectCleanup);\n }\n\n return {\n runEffect,\n cleanupEffects() {\n const currentCleanups = cleanups;\n cleanups = [];\n currentCleanups.forEach((cleanup) => {\n cleanup();\n });\n },\n runEffects() {\n const currentEffects = effects;\n effects = [];\n currentEffects.forEach((effect) => {\n runEffect(effect);\n });\n },\n };\n}\n","type ReactiveValue<TValue> = () => TValue;\nexport type Reactive<TValue> = {\n value: TValue;\n /**\n * @private\n */\n _fn: ReactiveValue<TValue>;\n /**\n * @private\n */\n _ref: {\n current: TValue;\n };\n};\n\nexport function createReactiveWrapper() {\n const reactives: Array<Reactive<any>> = [];\n\n return {\n reactive<TValue>(value: ReactiveValue<TValue>) {\n const current = value();\n const reactive: Reactive<TValue> = {\n _fn: value,\n _ref: { current },\n get value() {\n return this._ref.current;\n },\n set value(value) {\n this._ref.current = value;\n },\n };\n\n reactives.push(reactive);\n\n return reactive;\n },\n runReactives() {\n reactives.forEach((value) => {\n value._ref.current = value._fn();\n });\n },\n };\n}\n","var n,l,u,i,t,r,o,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,r,o,f={};for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return y(l,f,t,r,null)}function y(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u:o};return null==o&&null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,r,o;n.__d&&(r=(t=(l=n).__v).__e,(o=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(o,t,i,l.__n,void 0!==o.ownerSVGElement,null!=t.__h?[r]:null,u,null==r?k(t):r,t.__h),z(u,t),t.__e!=r&&b(t)))})}function w(n,l,u,i,t,r,o,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,r,o,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),\"function\"==typeof u.type&&(u.__d=s)):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){for(var i,t=n.__k,r=0;t&&r<t.length;r++)(i=t[r])&&(i.__=n,l=\"function\"==typeof i.type?x(i,l,u):P(u,i,i,t,i.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,r){var o,f,e;if(void 0!==l.__d)o=l.__d,l.__d=void 0;else if(null==u||t!=r||null==t.parentNode)n:if(null==r||r.parentNode!==n)n.appendChild(t),o=null;else{for(f=r,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,r),o=r}return void 0!==o?o:t.nextSibling}function C(n,l,u,i,t){var r;for(r in u)\"children\"===r||\"key\"===r||r in l||H(n,r,null,u[r],i);for(r in l)t&&\"function\"!=typeof l[r]||\"children\"===r||\"key\"===r||\"value\"===r||\"checked\"===r||u[r]===l[r]||H(n,r,l[r],u[r],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var r;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])r=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?i||n.addEventListener(l,r?T:I,r):n.removeEventListener(l,r?T:I,r);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,r,o,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,o=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,r,o,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==o&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,r,o,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=o)&&(u.__e=e,u.__h=!!c,o[o.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,r,o,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(r=!0),null!=o)for(;_<o.length;_++)if((s=o[_])&&\"setAttribute\"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,o[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=r?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),o=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(o=o&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=o)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,r,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,r&&\"foreignObject\"!==d,o,f,o?o[0]:i.__k&&k(i,0),c),null!=o)for(_=o.length;_--;)null!=o[_]&&h(o[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==y.value||_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,r;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(r=0;r<t.length;r++)t[r]&&N(t[r],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var r,o,f;l.__&&l.__(u,i),o=(r=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!r&&t||i).__k=v(d,null,[u]),o||e,e,void 0!==i.ownerSVGElement,!r&&t?[t]:o?null:i.firstChild?n.call(i.childNodes):null,f,!r&&t?t:o?o.__e:i.firstChild,r),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,r,o,f=a({},l.props);for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,r||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport var HIGHLIGHT_POST_TAG = '__/aa-highlight__';","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet() {\n var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = initialValue;\n return {\n get: function get() {\n return value;\n },\n add: function add(part) {\n var lastPart = value[value.length - 1];\n\n if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted\n };\n } else {\n value.push(part);\n }\n }\n };\n}\n\nexport function parseAttribute(_ref) {\n var highlightedValue = _ref.highlightedValue;\n var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n var firstValue = preTagParts.shift();\n var parts = createAttributeSet(firstValue ? [{\n value: firstValue,\n isHighlighted: false\n }] : []);\n preTagParts.forEach(function (part) {\n var postTagParts = part.split(HIGHLIGHT_POST_TAG);\n parts.add({\n value: postTagParts[0],\n isHighlighted: true\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false\n });\n }\n });\n return parts.get();\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitHighlight(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToHighlight`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","var htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\"\n};\nvar hasAlphanumeric = new RegExp(/\\w/i);\nvar regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nvar regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value) {\n return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {\n return htmlEscapes[character];\n }) : value;\n}\n\nexport function isPartHighlighted(parts, i) {\n var _parts, _parts2;\n\n var current = parts[i];\n var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;\n var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;\n\n if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { isPartHighlighted } from './isPartHighlighted';\nexport function reverseHighlightedParts(parts) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some(function (part) {\n return part.isHighlighted;\n })) {\n return parts.map(function (part) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: false\n });\n });\n }\n\n return parts.map(function (part, i) {\n return _objectSpread(_objectSpread({}, part), {}, {\n isHighlighted: !isPartHighlighted(parts, i)\n });\n });\n}","import { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseHighlight(props) {\n return reverseHighlightedParts(parseAlgoliaHitHighlight(props));\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\nimport { parseAttribute } from './parseAttribute';\nexport function parseAlgoliaHitSnippet(_ref) {\n var hit = _ref.hit,\n attribute = _ref.attribute;\n var path = Array.isArray(attribute) ? attribute : [attribute];\n var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));\n\n if (typeof highlightedValue !== 'string') {\n process.env.NODE_ENV !== 'production' ? warn(false, \"The attribute \\\"\".concat(path.join('.'), \"\\\" described by the path \").concat(JSON.stringify(path), \" does not exist on the hit. Did you set it in `attributesToSnippet`?\") + '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({\n highlightedValue: highlightedValue\n });\n}","import { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nexport function parseAlgoliaHitReverseSnippet(props) {\n return reverseHighlightedParts(parseAlgoliaHitSnippet(props));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function createRequester(fetcher, requesterId) {\n function execute(fetcherParams) {\n return fetcher({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map(function (x) {\n return x.query;\n })\n }).then(function (responses) {\n return responses.map(function (response, index) {\n var _fetcherParams$reques = fetcherParams.requests[index],\n sourceId = _fetcherParams$reques.sourceId,\n transformResponse = _fetcherParams$reques.transformResponse;\n return {\n items: response,\n sourceId: sourceId,\n transformResponse: transformResponse\n };\n });\n });\n }\n\n return function createSpecifiedRequester(requesterParams) {\n return function requester(requestParams) {\n return _objectSpread(_objectSpread({\n requesterId: requesterId,\n execute: execute\n }, requesterParams), requestParams);\n };\n };\n}","var _excluded = [\"params\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { userAgents as coreUserAgents } from '@algolia/autocomplete-shared';\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nexport function fetchAlgoliaResults(_ref) {\n var searchClient = _ref.searchClient,\n queries = _ref.queries,\n _ref$userAgents = _ref.userAgents,\n userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;\n\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n var algoliaAgents = [].concat(_toConsumableArray(coreUserAgents), _toConsumableArray(userAgents));\n algoliaAgents.forEach(function (_ref2) {\n var segment = _ref2.segment,\n version = _ref2.version;\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search(queries.map(function (searchParameters) {\n var params = searchParameters.params,\n headers = _objectWithoutProperties(searchParameters, _excluded);\n\n return _objectSpread(_objectSpread({}, headers), {}, {\n params: _objectSpread({\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG\n }, params)\n });\n })).then(function (response) {\n return response.results;\n });\n}","import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function Highlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitHighlight<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n Highlight.__autocomplete_componentName = 'Highlight';\n\n return Highlight;\n}\n","import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseHighlightComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function ReverseHighlight<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseHighlight<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n ReverseHighlight.__autocomplete_componentName = 'ReverseHighlight';\n\n return ReverseHighlight;\n}\n","import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createReverseSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function ReverseSnippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitReverseSnippet<THit>({\n hit,\n attribute,\n }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n ReverseSnippet.__autocomplete_componentName = 'ReverseSnippet';\n\n return ReverseSnippet;\n}\n","import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';\n\nimport { AutocompleteRenderer, HighlightHitParams } from '../types';\n\nexport function createSnippetComponent({\n createElement,\n Fragment,\n}: AutocompleteRenderer) {\n function Snippet<THit>({\n hit,\n attribute,\n tagName = 'mark',\n }: HighlightHitParams<THit>): JSX.Element {\n return createElement(\n Fragment,\n {},\n parseAlgoliaHitSnippet<THit>({ hit, attribute }).map((x, index) =>\n x.isHighlighted\n ? createElement(tagName, { key: index }, x.value)\n : x.value\n )\n );\n }\n\n Snippet.__autocomplete_componentName = 'Snippet';\n\n return Snippet;\n}\n","import { AutocompleteEnvironment, BaseItem } from '@algolia/autocomplete-core';\nimport {\n generateAutocompleteId,\n invariant,\n warn,\n} from '@algolia/autocomplete-shared';\nimport {\n createElement as preactCreateElement,\n Fragment as PreactFragment,\n render,\n} from 'preact';\n\nimport {\n createHighlightComponent,\n createReverseHighlightComponent,\n createReverseSnippetComponent,\n createSnippetComponent,\n} from './components';\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteOptions,\n AutocompleteRender,\n AutocompleteRenderer,\n AutocompleteTranslations,\n} from './types';\nimport { getHTMLElement, mergeClassNames } from './utils';\n\nconst defaultClassNames: AutocompleteClassNames = {\n clearButton: 'aa-ClearButton',\n detachedCancelButton: 'aa-DetachedCancelButton',\n detachedContainer: 'aa-DetachedContainer',\n detachedFormContainer: 'aa-DetachedFormContainer',\n detachedOverlay: 'aa-DetachedOverlay',\n detachedSearchButton: 'aa-DetachedSearchButton',\n detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',\n detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',\n form: 'aa-Form',\n input: 'aa-Input',\n inputWrapper: 'aa-InputWrapper',\n inputWrapperPrefix: 'aa-InputWrapperPrefix',\n inputWrapperSuffix: 'aa-InputWrapperSuffix',\n item: 'aa-Item',\n label: 'aa-Label',\n list: 'aa-List',\n loadingIndicator: 'aa-LoadingIndicator',\n panel: 'aa-Panel',\n panelLayout: 'aa-PanelLayout aa-Panel--scrollable',\n root: 'aa-Autocomplete',\n source: 'aa-Source',\n sourceFooter: 'aa-SourceFooter',\n sourceHeader: 'aa-SourceHeader',\n sourceNoResults: 'aa-SourceNoResults',\n submitButton: 'aa-SubmitButton',\n};\n\nconst defaultRender: AutocompleteRender<any> = ({ children, render }, root) => {\n render(children, root);\n};\n\nconst defaultRenderer: Required<AutocompleteRenderer> = {\n createElement: preactCreateElement,\n Fragment: PreactFragment,\n render,\n};\n\nexport function getDefaultOptions<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n) {\n const {\n classNames,\n container,\n getEnvironmentProps,\n getFormProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n getListProps,\n getPanelProps,\n getRootProps,\n panelContainer,\n panelPlacement,\n render,\n renderNoResults,\n renderer,\n detachedMediaQuery,\n components,\n translations,\n ...core\n } = options;\n\n /* eslint-disable no-restricted-globals */\n const environment: AutocompleteEnvironment = (typeof window !== 'undefined'\n ? window\n : {}) as typeof window;\n /* eslint-enable no-restricted-globals */\n const containerElement = getHTMLElement(environment, container);\n\n invariant(\n containerElement.tagName !== 'INPUT',\n 'The `container` option does not support `input` elements. You need to change the container to a `div`.'\n );\n\n warn(\n !(render && renderer && !renderer?.render),\n `You provided the \\`render\\` option but did not provide a \\`renderer.render\\`. Since v1.6.0, you can provide a \\`render\\` function directly in \\`renderer\\`.` +\n `\\nTo get rid of this warning, do any of the following depending on your use case.` +\n \"\\n- If you are using the `render` option only to override Autocomplete's default `render` function, pass the `render` function into `renderer` and remove the `render` option.\" +\n '\\n- If you are using the `render` option to customize the layout, pass your `render` function into `renderer` and use it from the provided parameters of the `render` option.' +\n '\\n- If you are using the `render` option to work with React 18, pass an empty `render` function into `renderer`.' +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-render'\n );\n\n warn(\n !renderer ||\n render ||\n (renderer.Fragment && renderer.createElement && renderer.render),\n `You provided an incomplete \\`renderer\\` (missing: ${[\n !renderer?.createElement && '`renderer.createElement`',\n !renderer?.Fragment && '`renderer.Fragment`',\n !renderer?.render && '`renderer.render`',\n ]\n .filter(Boolean)\n .join(', ')}). This can cause rendering issues.` +\n '\\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer'\n );\n\n const defaultedRenderer = { ...defaultRenderer, ...renderer };\n\n const defaultComponents: AutocompleteComponents = {\n Highlight: createHighlightComponent(defaultedRenderer),\n ReverseHighlight: createReverseHighlightComponent(defaultedRenderer),\n ReverseSnippet: createReverseSnippetComponent(defaultedRenderer),\n Snippet: createSnippetComponent(defaultedRenderer),\n };\n\n const defaultTranslations: AutocompleteTranslations = {\n clearButtonTitle: 'Clear',\n detachedCancelButtonText: 'Cancel',\n submitButtonTitle: 'Submit',\n };\n\n return {\n renderer: {\n classNames: mergeClassNames(\n defaultClassNames,\n classNames ?? {}\n ) as AutocompleteClassNames,\n container: containerElement,\n getEnvironmentProps: getEnvironmentProps ?? (({ props }) => props),\n getFormProps: getFormProps ?? (({ props }) => props),\n getInputProps: getInputProps ?? (({ props }) => props),\n getItemProps: getItemProps ?? (({ props }) => props),\n getLabelProps: getLabelProps ?? (({ props }) => props),\n getListProps: getListProps ?? (({ props }) => props),\n getPanelProps: getPanelProps ?? (({ props }) => props),\n getRootProps: getRootProps ?? (({ props }) => props),\n panelContainer: panelContainer\n ? getHTMLElement(environment, panelContainer)\n : environment.document.body,\n panelPlacement: panelPlacement ?? 'input-wrapper-width',\n render: render ?? defaultRender,\n renderNoResults,\n renderer: defaultedRenderer,\n detachedMediaQuery:\n detachedMediaQuery ??\n getComputedStyle(environment.document.documentElement).getPropertyValue(\n '--aa-detached-media-query'\n ),\n components: {\n // @MAJOR Deal with registering components with the same name as the\n // default ones. We could disallow registering these components by\n // merging the default components second.\n ...defaultComponents,\n ...components,\n },\n translations: {\n ...defaultTranslations,\n ...translations,\n },\n },\n core: {\n ...core,\n id: core.id ?? generateAutocompleteId(),\n environment,\n },\n };\n}\n","import { AutocompleteOptions } from './types';\n\ntype GetPanelPlacementStyleParams = Pick<\n Required<AutocompleteOptions<any>>,\n 'panelPlacement' | 'environment'\n> & {\n container: HTMLElement;\n form: HTMLElement;\n};\n\nexport function getPanelPlacementStyle({\n panelPlacement,\n container,\n form,\n environment,\n}: GetPanelPlacementStyleParams) {\n const containerRect = container.getBoundingClientRect();\n // Some browsers have specificities to retrieve the document scroll position.\n // See https://stackoverflow.com/a/28633515/9940315\n const scrollTop =\n (environment.pageYOffset as number) ||\n environment.document.documentElement.scrollTop ||\n environment.document.body.scrollTop ||\n 0;\n const top = scrollTop + containerRect.top + containerRect.height;\n\n switch (panelPlacement) {\n case 'start': {\n return {\n top,\n left: containerRect.left,\n };\n }\n\n case 'end': {\n return {\n top,\n right:\n environment.document.documentElement.clientWidth -\n (containerRect.left + containerRect.width),\n };\n }\n\n case 'full-width': {\n return {\n top,\n left: 0,\n right: 0,\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n case 'input-wrapper-width': {\n const formRect = form.getBoundingClientRect();\n\n return {\n top,\n left: formRect.left,\n right:\n environment.document.documentElement.clientWidth -\n (formRect.left + formRect.width),\n width: 'unset',\n maxWidth: 'unset',\n };\n }\n\n default: {\n throw new Error(\n `[Autocomplete] The \\`panelPlacement\\` value ${JSON.stringify(\n panelPlacement\n )} is not valid.`\n );\n }\n }\n}\n","/** @jsx renderer.createElement */\nimport {\n AutocompleteApi as AutocompleteCoreApi,\n AutocompleteScopeApi,\n BaseItem,\n} from '@algolia/autocomplete-core';\n\nimport {\n AutocompleteClassNames,\n AutocompleteComponents,\n AutocompleteDom,\n AutocompletePropGetters,\n AutocompleteRender,\n AutocompleteRenderer,\n AutocompleteState,\n HTMLTemplate,\n} from './types';\nimport { setProperties, setPropertiesWithoutEvents } from './utils';\n\ntype RenderProps<TItem extends BaseItem> = {\n autocomplete: AutocompleteCoreApi<TItem>;\n autocompleteScopeApi: AutocompleteScopeApi<TItem>;\n classNames: AutocompleteClassNames;\n components: AutocompleteComponents;\n html: HTMLTemplate;\n dom: AutocompleteDom;\n panelContainer: HTMLElement;\n propGetters: AutocompletePropGetters<TItem>;\n state: AutocompleteState<TItem>;\n renderer: Required<AutocompleteRenderer>;\n};\n\nexport function renderSearchBox<TItem extends BaseItem>({\n autocomplete,\n autocompleteScopeApi,\n dom,\n propGetters,\n state,\n}: RenderProps<TItem>): void {\n setPropertiesWithoutEvents(\n dom.root,\n propGetters.getRootProps({\n state,\n props: autocomplete.getRootProps({}),\n ...autocompleteScopeApi,\n })\n );\n setPropertiesWithoutEvents(\n dom.input,\n propGetters.getInputProps({\n state,\n props: autocomplete.getInputProps({ inputElement: dom.input }),\n inputElement: dom.input,\n ...autocompleteScopeApi,\n })\n );\n setProperties(dom.label, { hidden: state.status === 'stalled' });\n setProperties(dom.loadingIndicator, { hidden: state.status !== 'stalled' });\n setProperties(dom.clearButton, { hidden: !state.query });\n}\n\nexport function renderPanel<TItem extends BaseItem>(\n render: AutocompleteRender<TItem>,\n {\n autocomplete,\n autocompleteScopeApi,\n classNames,\n html,\n dom,\n panelContainer,\n propGetters,\n state,\n components,\n renderer,\n }: RenderProps<TItem>\n): void {\n if (!state.isOpen) {\n if (panelContainer.contains(dom.panel)) {\n panelContainer.removeChild(dom.panel);\n }\n\n return;\n }\n\n // We add the panel element to the DOM when it's not yet appended and that the\n // items are fetched.\n if (!panelContainer.contains(dom.panel) && state.status !== 'loading') {\n panelContainer.appendChild(dom.panel);\n }\n\n dom.panel.classList.toggle('aa-Panel--stalled', state.status === 'stalled');\n\n const sections = state.collections\n .filter(\n ({ source, items }) => source.templates.noResults || items.length > 0\n )\n .map(({ source, items }, sourceIndex) => (\n <section\n key={sourceIndex}\n className={classNames.source}\n data-autocomplete-source-id={source.sourceId}\n >\n {source.templates.header && (\n <div className={classNames.sourceHeader}>\n {source.templates.header({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items,\n source,\n state,\n html,\n })}\n </div>\n )}\n\n {source.templates.noResults && items.length === 0 ? (\n <div className={classNames.sourceNoResults}>\n {source.templates.noResults({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n source,\n state,\n html,\n })}\n </div>\n ) : (\n <ul\n className={classNames.list}\n {...propGetters.getListProps({\n state,\n props: autocomplete.getListProps({}),\n ...autocompleteScopeApi,\n })}\n >\n {items.map((item) => {\n const itemProps = autocomplete.getItemProps({\n item,\n source,\n });\n\n return (\n <li\n key={itemProps.id}\n className={classNames.item}\n {...propGetters.getItemProps({\n state,\n props: itemProps,\n ...autocompleteScopeApi,\n })}\n >\n {source.templates.item({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n item,\n state,\n html,\n })}\n </li>\n );\n })}\n </ul>\n )}\n\n {source.templates.footer && (\n <div className={classNames.sourceFooter}>\n {source.templates.footer({\n components,\n createElement: renderer.createElement,\n Fragment: renderer.Fragment,\n items,\n source,\n state,\n html,\n })}\n </div>\n )}\n </section>\n ));\n\n const children = (\n <renderer.Fragment>\n <div className={classNames.panelLayout}>{sections}</div>\n <div className=\"aa-GradientBottom\" />\n </renderer.Fragment>\n );\n const elements = sections.reduce((acc, current) => {\n acc[current.props['data-autocomplete-source-id']] = current;\n return acc;\n }, {});\n\n render(\n {\n children,\n state,\n sections,\n elements,\n ...renderer,\n components,\n html,\n ...autocompleteScopeApi,\n },\n dom.panel\n );\n}\n","import { version } from '@algolia/autocomplete-shared';\n\nexport const userAgents = [{ segment: 'autocomplete-js', version }];\n","import {\n AutocompleteScopeApi,\n BaseItem,\n createAutocomplete,\n} from '@algolia/autocomplete-core';\nimport {\n createRef,\n debounce,\n getItemsCount,\n} from '@algolia/autocomplete-shared';\nimport htm from 'htm';\n\nimport { createAutocompleteDom } from './createAutocompleteDom';\nimport { createEffectWrapper } from './createEffectWrapper';\nimport { createReactiveWrapper } from './createReactiveWrapper';\nimport { getDefaultOptions } from './getDefaultOptions';\nimport { getPanelPlacementStyle } from './getPanelPlacementStyle';\nimport { renderPanel, renderSearchBox } from './render';\nimport {\n AutocompleteApi,\n AutocompleteOptions,\n AutocompletePropGetters,\n AutocompleteSource,\n AutocompleteState,\n VNode,\n} from './types';\nimport { userAgents } from './userAgents';\nimport { mergeDeep, pickBy, setProperties } from './utils';\n\nexport function autocomplete<TItem extends BaseItem>(\n options: AutocompleteOptions<TItem>\n): AutocompleteApi<TItem> {\n const { runEffect, cleanupEffects, runEffects } = createEffectWrapper();\n const { reactive, runReactives } = createReactiveWrapper();\n\n const hasNoResultsSourceTemplateRef = createRef(false);\n const optionsRef = createRef(options);\n const onStateChangeRef = createRef<\n AutocompleteOptions<TItem>['onStateChange']\n >(undefined);\n const props = reactive(() => getDefaultOptions(optionsRef.current));\n const isDetached = reactive(\n () =>\n props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches\n );\n\n const autocomplete = reactive(() =>\n createAutocomplete<TItem>({\n ...props.value.core,\n onStateChange(params) {\n hasNoResultsSourceTemplateRef.current = params.state.collections.some(\n (collection) =>\n (collection.source as AutocompleteSource<TItem>).templates.noResults\n );\n onStateChangeRef.current?.(params as any);\n props.value.core.onStateChange?.(params as any);\n },\n shouldPanelOpen:\n optionsRef.current.shouldPanelOpen ||\n (({ state }) => {\n if (isDetached.value) {\n return true;\n }\n\n const hasItems = getItemsCount(state) > 0;\n\n if (!props.value.core.openOnFocus && !state.query) {\n return hasItems;\n }\n\n const hasNoResultsTemplate = Boolean(\n hasNoResultsSourceTemplateRef.current ||\n props.value.renderer.renderNoResults\n );\n\n return (!hasItems && hasNoResultsTemplate) || hasItems;\n }),\n __autocomplete_metadata: {\n userAgents,\n options,\n },\n })\n );\n const lastStateRef = createRef<AutocompleteState<TItem>>({\n collections: [],\n completion: null,\n context: {},\n isOpen: false,\n query: '',\n activeItemId: null,\n status: 'idle',\n ...props.value.core.initialState,\n });\n\n const propGetters: AutocompletePropGetters<TItem> = {\n getEnvironmentProps: props.value.renderer.getEnvironmentProps,\n getFormProps: props.value.renderer.getFormProps,\n getInputProps: props.value.renderer.getInputProps,\n getItemProps: props.value.renderer.getItemProps,\n getLabelProps: props.value.renderer.getLabelProps,\n getListProps: props.value.renderer.getListProps,\n getPanelProps: props.value.renderer.getPanelProps,\n getRootProps: props.value.renderer.getRootProps,\n };\n const autocompleteScopeApi: AutocompleteScopeApi<TItem> = {\n setActiveItemId: autocomplete.value.setActiveItemId,\n setQuery: autocomplete.value.setQuery,\n setCollections: autocomplete.value.setCollections,\n setIsOpen: autocomplete.value.setIsOpen,\n setStatus: autocomplete.value.setStatus,\n setContext: autocomplete.value.setContext,\n refresh: autocomplete.value.refresh,\n };\n\n const html = reactive(() =>\n htm.bind<VNode>(props.value.renderer.renderer.createElement)\n );\n\n const dom = reactive(() =>\n createAutocompleteDom({\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n environment: props.value.core.environment,\n isDetached: isDetached.value,\n placeholder: props.value.core.placeholder,\n propGetters,\n setIsModalOpen,\n state: lastStateRef.current,\n translations: props.value.renderer.translations,\n })\n );\n\n function setPanelPosition() {\n setProperties(dom.value.panel, {\n style: isDetached.value\n ? {}\n : getPanelPlacementStyle({\n panelPlacement: props.value.renderer.panelPlacement,\n container: dom.value.root,\n form: dom.value.form,\n environment: props.value.core.environment,\n }),\n });\n }\n\n function scheduleRender(state: AutocompleteState<TItem>) {\n lastStateRef.current = state;\n\n const renderProps = {\n autocomplete: autocomplete.value,\n autocompleteScopeApi,\n classNames: props.value.renderer.classNames,\n components: props.value.renderer.components,\n container: props.value.renderer.container,\n html: html.value,\n dom: dom.value,\n panelContainer: isDetached.value\n ? dom.value.detachedContainer\n : props.value.renderer.panelContainer,\n propGetters,\n state: lastStateRef.current,\n renderer: props.value.renderer.renderer,\n };\n\n const render =\n (!getItemsCount(state) &&\n !hasNoResultsSourceTemplateRef.current &&\n props.value.renderer.renderNoResults) ||\n props.value.renderer.render;\n\n renderSearchBox(renderProps);\n renderPanel(render, renderProps);\n }\n\n runEffect(() => {\n const environmentProps = autocomplete.value.getEnvironmentProps({\n formElement: dom.value.form,\n panelElement: dom.value.panel,\n inputElement: dom.value.input,\n });\n\n setProperties(props.value.core.environment as any, environmentProps);\n\n return () => {\n setProperties(\n props.value.core.environment as any,\n Object.keys(environmentProps).reduce((acc, key) => {\n return {\n ...acc,\n [key]: undefined,\n };\n }, {})\n );\n };\n });\n\n runEffect(() => {\n const panelContainerElement = isDetached.value\n ? props.value.core.environment.document.body\n : props.value.renderer.panelContainer;\n const panelElement = isDetached.value\n ? dom.value.detachedOverlay\n : dom.value.panel;\n\n if (isDetached.value && lastStateRef.current.isOpen) {\n setIsModalOpen(true);\n }\n\n scheduleRender(lastStateRef.current);\n\n return () => {\n if (panelContainerElement.contains(panelElement)) {\n panelContainerElement.removeChild(panelElement);\n }\n };\n });\n\n runEffect(() => {\n const containerElement = props.value.renderer.container;\n containerElement.appendChild(dom.value.root);\n\n return () => {\n containerElement.removeChild(dom.value.root);\n };\n });\n\n runEffect(() => {\n const debouncedRender = debounce<{\n state: AutocompleteState<TItem>;\n }>(({ state }) => {\n scheduleRender(state);\n }, 0);\n\n onStateChangeRef.current = ({ state, prevState }) => {\n if (isDetached.value && prevState.isOpen !== state.isOpen) {\n setIsModalOpen(state.isOpen);\n }\n\n // The outer DOM might have changed since the last time the panel was\n // positioned. The layout might have shifted vertically for instance.\n // It's therefore safer to re-calculate the panel position before opening\n // it again.\n if (!isDetached.value && state.isOpen && !prevState.isOpen) {\n setPanelPosition();\n }\n\n // We scroll to the top of the panel whenever the query changes (i.e. new\n // results come in) so that users don't have to.\n if (state.query !== prevState.query) {\n const scrollablePanels = props.value.core.environment.document.querySelectorAll(\n '.aa-Panel--scrollable'\n );\n scrollablePanels.forEach((scrollablePanel) => {\n if (scrollablePanel.scrollTop !== 0) {\n scrollablePanel.scrollTop = 0;\n }\n });\n }\n\n debouncedRender({ state });\n };\n\n return () => {\n onStateChangeRef.current = undefined;\n };\n });\n\n runEffect(() => {\n const onResize = debounce<Event>(() => {\n const previousIsDetached = isDetached.value;\n isDetached.value = props.value.core.environment.matchMedia(\n props.value.renderer.detachedMediaQuery\n ).matches;\n\n if (previousIsDetached !== isDetached.value) {\n update({});\n } else {\n requestAnimationFrame(setPanelPosition);\n }\n }, 20);\n props.value.core.environment.addEventListener('resize', onResize);\n\n return () => {\n props.value.core.environment.removeEventListener('resize', onResize);\n };\n });\n\n runEffect(() => {\n if (!isDetached.value) {\n return () => {};\n }\n\n function toggleModalClassname(isActive: boolean) {\n dom.value.detachedContainer.classList.toggle(\n 'aa-DetachedContainer--modal',\n isActive\n );\n }\n\n function onChange(event: MediaQueryListEvent) {\n toggleModalClassname(event.matches);\n }\n\n const isModalDetachedMql = props.value.core.environment.matchMedia(\n getComputedStyle(\n props.value.core.environment.document.documentElement\n ).getPropertyValue('--aa-detached-modal-media-query')\n );\n\n toggleModalClassname(isModalDetachedMql.matches);\n\n // Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,\n // so we must use `addListener` and `removeListener` to observe media query lists.\n // See https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n const hasModernEventListener = Boolean(isModalDetachedMql.addEventListener);\n\n hasModernEventListener\n ? isModalDetachedMql.addEventListener('change', onChange)\n : isModalDetachedMql.addListener(onChange);\n\n return () => {\n hasModernEventListener\n ? isModalDetachedMql.removeEventListener('change', onChange)\n : isModalDetachedMql.removeListener(onChange);\n };\n });\n\n runEffect(() => {\n requestAnimationFrame(setPanelPosition);\n\n return () => {};\n });\n\n function destroy() {\n cleanupEffects();\n }\n\n function update(updatedOptions: Partial<AutocompleteOptions<TItem>> = {}) {\n cleanupEffects();\n\n const { components, ...rendererProps } = props.value.renderer;\n\n optionsRef.current = mergeDeep(\n rendererProps,\n props.value.core,\n {\n // We need to filter out default components so they can be replaced with\n // a new `renderer`, without getting rid of user components.\n // @MAJOR Deal with registering components with the same name as the\n // default ones. If we disallow overriding default components, we'd just\n // need to pass all `components` here.\n components: pickBy(\n components,\n ({ value }) => !value.hasOwnProperty('__autocomplete_componentName')\n ),\n initialState: lastStateRef.current,\n },\n updatedOptions\n );\n\n runReactives();\n runEffects();\n\n autocomplete.value.refresh().then(() => {\n scheduleRender(lastStateRef.current);\n });\n }\n\n function setIsModalOpen(value: boolean) {\n requestAnimationFrame(() => {\n const prevValue = props.value.core.environment.document.body.contains(\n dom.value.detachedOverlay\n );\n\n if (value === prevValue) {\n return;\n }\n\n if (value) {\n props.value.core.environment.document.body.appendChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.add('aa-Detached');\n dom.value.input.focus();\n } else {\n props.value.core.environment.document.body.removeChild(\n dom.value.detachedOverlay\n );\n props.value.core.environment.document.body.classList.remove(\n 'aa-Detached'\n );\n autocomplete.value.setQuery('');\n autocomplete.value.refresh();\n }\n });\n }\n\n return {\n ...autocompleteScopeApi,\n update,\n destroy,\n };\n}\n","import {\n createRequester,\n fetchAlgoliaResults,\n} from '@algolia/autocomplete-preset-algolia';\n\nimport { userAgents } from '../userAgents';\n\nexport const createAlgoliaRequester = createRequester(\n (params) =>\n fetchAlgoliaResults({\n ...params,\n userAgents,\n }),\n 'algolia'\n);\n","import { RequestParams } from '@algolia/autocomplete-preset-algolia';\nimport { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","len","arr2","_i","Symbol","iterator","_arr","_n","_d","_s","_e","next","done","push","value","err","isArray","_typeof","obj","decycle","seen","Set","has","newSeen","add","map","x","fromEntries","entries","_ref","_ref2","key","flatten","values","reduce","a","b","concat","autocompleteId","generateAutocompleteId","getAttributeValueByPath","record","path","getItemsCount","state","collections","sum","collection","items","invariant","condition","message","Error","noop","version","userAgents","segment","warnCache","warn","sanitizedMessage","trim","hasAlreadyPrinted","console","checkOptions","options","process","debug","createInternalCancelablePromise","promise","initialState","then","onfulfilled","onrejected","createCallback","catch","_catch","finally","_finally","onfinally","onCancelList","cancel","isCanceled","callbacks","forEach","callback","cancelable","onResult","fallback","arg","createCancelablePromiseList","list","cancelablePromise","filter","item","cancelAll","isEmpty","createConcurrentSafePromise","basePromiseId","latestResolvedId","latestResolvedValue","runConcurrentSafePromise","currentPromiseId","Promise","resolve","getNextActiveItemId","moveAmount","baseIndex","itemCount","defaultActiveItemId","numericIndex","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","getNormalizedSources","getSources","params","seenSourceIds","sources","JSON","stringify","all","maybeSource","Boolean","sourceId","includes","normalizedSource","getItemInputValue","query","getItemUrl","onSelect","setIsOpen","onActive","getCollectionFromActiveItemId","accumulatedCollectionsCount","acc","collectionsCount","index","previousValue","nextValue","collectionIndex","activeItemId","getRelativeActiveItemId","isOffsetFound","counter","previousItemsOffset","currentCollection","getActiveItem","itemInputValue","itemUrl","isOrContainsNode","parent","child","contains","regex","isSamsung","userAgent","match","mapToAlgoliaResponse","rawResults","results","result","_hits","hits","hit","__autocomplete_indexName","__autocomplete_queryID","queryID","facetHits","_facetHits","facetHit","label","count","_highlightResult","highlighted","createStore","reducer","props","onStoreStateChange","getState","dispatch","action","payload","prevState","type","pendingRequests","getAutocompleteSetters","store","setActiveItemId","setQuery","setCollections","rawValue","baseItemId","__autocomplete_id","setStatus","setContext","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","getDefaultProps","pluginSubscribers","_props$id","environment","window","plugins","openOnFocus","placeholder","autoFocus","stallThreshold","shouldPanelOpen","reshape","id","completion","isOpen","status","context","onStateChange","_props$onStateChange","_x$onStateChange","onSubmit","_props$onSubmit","_x$onSubmit","onReset","_props$onReset","_x$onReset","plugin","nested","_x$onSelect","_x$onActive","navigator","navigate","_ref3","location","assign","navigateNewTab","_ref4","windowReference","open","focus","navigateNewWindow","_ref5","sourcesBySourceId","getItems","reshapeSources","isDescription","execute","isRequesterDescription","description","preResolve","itemsOrDescription","requests","queries","transformResponse","packed","searchClient","requesterId","container","find","_container$items","request","maybeDescription","responses","postResolve","matches","response","transform","every","_excluded","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","lastStalledId","onInput","event","_ref$nextState","nextState","refresh","setters","_nextState$isOpen","_request","_nextState$isOpen2","isPanelOpen","highlightedItem","onKeyDown","triggerScrollIntoView","nodeItem","document","getElementById","scrollIntoViewIfNeeded","scrollIntoView","triggerOnActive","preventDefault","nextActiveItemId","metaKey","ctrlKey","shiftKey","altKey","_excluded2","_excluded3","_excluded4","_excluded5","getPropGetters","getEnvironmentProps","providedProps","inputElement","formElement","panelElement","rest","onTouchStart","isAutocompleteInteraction","isTargetWithinAutocomplete","some","contextNode","onTouchMove","activeElement","blur","getRootProps","role","getFormProps","noValidate","_providedProps$inputE","_providedProps$inputE2","getInputProps","_props$environment$na","onFocus","isTouchDevice","_ref2$maxLength","maxLength","activeItem","shouldFallbackKeyHint","enterKeyHint","autoComplete","autoCorrect","autoCapitalize","spellCheck","onChange","currentTarget","_onKeyDown","onBlur","onClick","getLabelProps","htmlFor","getListProps","getPanelProps","onMouseDown","onMouseLeave","getItemProps","onMouseMove","_item","_source","runPreCommand","getMetadata","_","_options$__autocomple","_options$__autocomple2","_options$__autocomple3","optionsKey","__autocomplete_metadata","extraOptions","__autocomplete_pluginOptions","ua","injectMetadata","_environment$navigato","metadata","isMetadataEnabled","metadataContainer","createElement","headRef","querySelector","content","appendChild","getCompletion","_getActiveItem","stateReducer","hasOwnProperty","_nextState","createAutocomplete","subscribers","propGetters","Event","_plugin$subscribe","subscribe","t","ClearIcon","element","createElementNS","setAttribute","getHTMLElement","mergeClassNames","accValue","currentValue","join","isPlainObject","mergeDeep","pickBy","predicate","TOUCH_EVENTS_ALIASES","setStyle","style","eventProxy","_listeners","setProperty","dom","useCapture","nameLower","oldValue","replace","toLowerCase","addEventListener","removeEventListener","removeAttribute","getNormalizedName","setProperties","setPropertiesWithoutEvents","getCreateDomElement","createDomElement","tagName","children","append","Input","autocompleteScopeApi","classNames","getInputPropsCore","onDetachedEscape","inputProps","LoadingIcon","innerHTML","SearchIcon","createAutocompleteDom","autocomplete","isDetached","setIsModalOpen","translations","rootProps","root","class","detachedContainer","stopPropagation","detachedOverlay","labelProps","submitButton","title","submitButtonTitle","clearButton","clearButtonTitle","loadingIndicator","input","inputWrapperPrefix","inputWrapperSuffix","inputWrapper","formProps","form","panelProps","panel","detachedSearchButtonIcon","detachedSearchButtonPlaceholder","textContent","detachedSearchButton","detachedCancelButton","detachedCancelButtonText","detachedFormContainer","createEffectWrapper","effects","cleanups","runEffect","effectCleanup","cleanupEffects","currentCleanups","cleanup","runEffects","currentEffects","effect","createReactiveWrapper","reactives","reactive","_fn","runReactives","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","createAttributeSet","get","part","lastPart","isHighlighted","parseAttribute","highlightedValue","preTagParts","split","firstValue","shift","parts","postTagParts","parseAlgoliaHitHighlight","attribute","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","unescape","character","isPartHighlighted","_parts","_parts2","isNextHighlighted","isPreviousHighlighted","reverseHighlightedParts","parseAlgoliaHitReverseHighlight","parseAlgoliaHitSnippet","parseAlgoliaHitReverseSnippet","createRequester","fetcher","fetcherParams","_fetcherParams$reques","createSpecifiedRequester","requesterParams","requester","requestParams","fetchAlgoliaResults","_ref$userAgents","addAlgoliaAgent","algoliaAgents","coreUserAgents","search","searchParameters","headers","hitsPerPage","highlightPreTag","highlightPostTag","createHighlightComponent","Fragment","Highlight","__autocomplete_componentName","createReverseHighlightComponent","ReverseHighlight","createReverseSnippetComponent","ReverseSnippet","createSnippetComponent","Snippet","defaultClassNames","panelLayout","sourceFooter","sourceHeader","sourceNoResults","defaultRender","render","defaultRenderer","preactCreateElement","PreactFragment","getDefaultOptions","panelContainer","panelPlacement","renderNoResults","renderer","detachedMediaQuery","components","core","containerElement","defaultedRenderer","defaultComponents","defaultTranslations","body","getComputedStyle","documentElement","getPropertyValue","getPanelPlacementStyle","containerRect","getBoundingClientRect","scrollTop","pageYOffset","top","height","left","right","clientWidth","width","maxWidth","formRect","renderSearchBox","hidden","renderPanel","html","removeChild","classList","toggle","sections","templates","noResults","sourceIndex","header","itemProps","footer","elements","hasNoResultsSourceTemplateRef","optionsRef","onStateChangeRef","matchMedia","hasItems","hasNoResultsTemplate","lastStateRef","htm","bind","setPanelPosition","scheduleRender","renderProps","environmentProps","panelContainerElement","debouncedRender","scrollablePanels","querySelectorAll","scrollablePanel","onResize","previousIsDetached","update","requestAnimationFrame","toggleModalClassname","isActive","isModalDetachedMql","hasModernEventListener","addListener","removeListener","destroy","updatedOptions","rendererProps","prevValue","remove","createAlgoliaRequester","getAlgoliaFacets","getAlgoliaResults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAO,SAASA,SAAT,CAAmBC,YAAnB,EAAiC;EACtC,SAAO;EACLC,IAAAA,OAAO,EAAED;EADJ,GAAP;EAGD;;ECJM,SAASE,QAAT,CAAkBC,EAAlB,EAAsBC,IAAtB,EAA4B;EACjC,MAAIC,OAAO,GAAGC,SAAd;EACA,SAAO,YAAY;EACjB,SAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BC,IAAI,GAAG,IAAIC,KAAJ,CAAUJ,IAAV,CAApC,EAAqDK,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGL,IAA3E,EAAiFK,IAAI,EAArF,EAAyF;EACvFF,MAAAA,IAAI,CAACE,IAAD,CAAJ,GAAaJ,SAAS,CAACI,IAAD,CAAtB;EACD;;EAED,QAAIP,OAAJ,EAAa;EACXQ,MAAAA,YAAY,CAACR,OAAD,CAAZ;EACD;;EAEDA,IAAAA,OAAO,GAAGS,UAAU,CAAC,YAAY;EAC/B,aAAOX,EAAE,CAACY,KAAH,CAAS,KAAK,CAAd,EAAiBL,IAAjB,CAAP;EACD,KAFmB,EAEjBN,IAFiB,CAApB;EAGD,GAZD;EAaD;;ECfD,SAASY,cAAT,CAAwBC,GAAxB,EAA6BC,CAA7B,EAAgC;EAAE,SAAOC,eAAe,CAACF,GAAD,CAAf,IAAwBG,qBAAqB,CAACH,GAAD,EAAMC,CAAN,CAA7C,IAAyDG,6BAA2B,CAACJ,GAAD,EAAMC,CAAN,CAApF,IAAgGI,gBAAgB,EAAvH;EAA4H;;EAE9J,SAASA,gBAAT,GAA4B;EAAE,QAAM,IAAIC,SAAJ,CAAc,2IAAd,CAAN;EAAmK;;EAEjM,SAASF,6BAAT,CAAqCG,CAArC,EAAwCC,MAAxC,EAAgD;EAAE,MAAI,CAACD,CAAL,EAAQ;EAAQ,MAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B,OAAOE,mBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;EAAqC,MAAIE,CAAC,GAAGC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,CAA/B,EAAkCQ,KAAlC,CAAwC,CAAxC,EAA2C,CAAC,CAA5C,CAAR;EAAwD,MAAIL,CAAC,KAAK,QAAN,IAAkBH,CAAC,CAACS,WAAxB,EAAqCN,CAAC,GAAGH,CAAC,CAACS,WAAF,CAAcC,IAAlB;EAAwB,MAAIP,CAAC,KAAK,KAAN,IAAeA,CAAC,KAAK,KAAzB,EAAgC,OAAOhB,KAAK,CAACwB,IAAN,CAAWX,CAAX,CAAP;EAAsB,MAAIG,CAAC,KAAK,WAAN,IAAqB,2CAA2CS,IAA3C,CAAgDT,CAAhD,CAAzB,EAA6E,OAAOD,mBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;EAAsC;;EAEha,SAASC,mBAAT,CAA2BT,GAA3B,EAAgCoB,GAAhC,EAAqC;EAAE,MAAIA,GAAG,IAAI,IAAP,IAAeA,GAAG,GAAGpB,GAAG,CAACR,MAA7B,EAAqC4B,GAAG,GAAGpB,GAAG,CAACR,MAAV;;EAAkB,OAAK,IAAIS,CAAC,GAAG,CAAR,EAAWoB,IAAI,GAAG,IAAI3B,KAAJ,CAAU0B,GAAV,CAAvB,EAAuCnB,CAAC,GAAGmB,GAA3C,EAAgDnB,CAAC,EAAjD,EAAqD;EAAEoB,IAAAA,IAAI,CAACpB,CAAD,CAAJ,GAAUD,GAAG,CAACC,CAAD,CAAb;EAAmB;;EAAC,SAAOoB,IAAP;EAAc;;EAEvL,SAASlB,qBAAT,CAA+BH,GAA/B,EAAoCC,CAApC,EAAuC;EAAE,MAAIqB,EAAE,GAAGtB,GAAG,IAAI,IAAP,GAAc,IAAd,GAAqB,OAAOuB,MAAP,KAAkB,WAAlB,IAAiCvB,GAAG,CAACuB,MAAM,CAACC,QAAR,CAApC,IAAyDxB,GAAG,CAAC,YAAD,CAA1F;;EAA0G,MAAIsB,EAAE,IAAI,IAAV,EAAgB;EAAQ,MAAIG,IAAI,GAAG,EAAX;EAAe,MAAIC,EAAE,GAAG,IAAT;EAAe,MAAIC,EAAE,GAAG,KAAT;;EAAgB,MAAIC,EAAJ,EAAQC,EAAR;;EAAY,MAAI;EAAE,SAAKP,EAAE,GAAGA,EAAE,CAACR,IAAH,CAAQd,GAAR,CAAV,EAAwB,EAAE0B,EAAE,GAAG,CAACE,EAAE,GAAGN,EAAE,CAACQ,IAAH,EAAN,EAAiBC,IAAxB,CAAxB,EAAuDL,EAAE,GAAG,IAA5D,EAAkE;EAAED,MAAAA,IAAI,CAACO,IAAL,CAAUJ,EAAE,CAACK,KAAb;;EAAqB,UAAIhC,CAAC,IAAIwB,IAAI,CAACjC,MAAL,KAAgBS,CAAzB,EAA4B;EAAQ;EAAE,GAArI,CAAsI,OAAOiC,GAAP,EAAY;EAAEP,IAAAA,EAAE,GAAG,IAAL;EAAWE,IAAAA,EAAE,GAAGK,GAAL;EAAW,GAA1K,SAAmL;EAAE,QAAI;EAAE,UAAI,CAACR,EAAD,IAAOJ,EAAE,CAAC,QAAD,CAAF,IAAgB,IAA3B,EAAiCA,EAAE,CAAC,QAAD,CAAF;EAAiB,KAAxD,SAAiE;EAAE,UAAIK,EAAJ,EAAQ,MAAME,EAAN;EAAW;EAAE;;EAAC,SAAOJ,IAAP;EAAc;;EAEjgB,SAASvB,eAAT,CAAyBF,GAAzB,EAA8B;EAAE,MAAIN,KAAK,CAACyC,OAAN,CAAcnC,GAAd,CAAJ,EAAwB,OAAOA,GAAP;EAAa;;EAErE,SAASoC,SAAT,CAAiBC,GAAjB,EAAsB;EAAE;;EAA2B,SAAOD,SAAO,GAAG,cAAc,OAAOb,MAArB,IAA+B,YAAY,OAAOA,MAAM,CAACC,QAAzD,GAAoE,UAAUa,GAAV,EAAe;EAAE,WAAO,OAAOA,GAAd;EAAoB,GAAzG,GAA4G,UAAUA,GAAV,EAAe;EAAE,WAAOA,GAAG,IAAI,cAAc,OAAOd,MAA5B,IAAsCc,GAAG,CAACrB,WAAJ,KAAoBO,MAA1D,IAAoEc,GAAG,KAAKd,MAAM,CAACX,SAAnF,GAA+F,QAA/F,GAA0G,OAAOyB,GAAxH;EAA8H,GAArQ,EAAuQD,SAAO,CAACC,GAAD,CAArR;EAA6R;EAEhV;EACA;EACA;EACA;;;EACO,SAASC,OAAT,CAAiBD,GAAjB,EAAsB;EAC3B,MAAIE,IAAI,GAAGhD,SAAS,CAACC,MAAV,GAAmB,CAAnB,IAAwBD,SAAS,CAAC,CAAD,CAAT,KAAiBF,SAAzC,GAAqDE,SAAS,CAAC,CAAD,CAA9D,GAAoE,IAAIiD,GAAJ,EAA/E;;EAEA,MAAgD,CAACH,GAA7C,IAAoDD,SAAO,CAACC,GAAD,CAAP,KAAiB,QAAzE,EAAmF;EACjF,WAAOA,GAAP;EACD;;EAED,MAAIE,IAAI,CAACE,GAAL,CAASJ,GAAT,CAAJ,EAAmB;EACjB,WAAO,YAAP;EACD;;EAED,MAAIK,OAAO,GAAGH,IAAI,CAACI,GAAL,CAASN,GAAT,CAAd;;EAEA,MAAI3C,KAAK,CAACyC,OAAN,CAAcE,GAAd,CAAJ,EAAwB;EACtB,WAAOA,GAAG,CAACO,GAAJ,CAAQ,UAAUC,CAAV,EAAa;EAC1B,aAAOP,OAAO,CAACO,CAAD,EAAIH,OAAJ,CAAd;EACD,KAFM,CAAP;EAGD;;EAED,SAAO/B,MAAM,CAACmC,WAAP,CAAmBnC,MAAM,CAACoC,OAAP,CAAeV,GAAf,EAAoBO,GAApB,CAAwB,UAAUI,IAAV,EAAgB;EAChE,QAAIC,KAAK,GAAGlD,cAAc,CAACiD,IAAD,EAAO,CAAP,CAA1B;EAAA,QACIE,GAAG,GAAGD,KAAK,CAAC,CAAD,CADf;EAAA,QAEIhB,KAAK,GAAGgB,KAAK,CAAC,CAAD,CAFjB;;EAIA,WAAO,CAACC,GAAD,EAAMZ,OAAO,CAACL,KAAD,EAAQS,OAAR,CAAb,CAAP;EACD,GANyB,CAAnB,CAAP;;;ECrCK,SAASS,OAAT,CAAiBC,MAAjB,EAAyB;EAC9B,SAAOA,MAAM,CAACC,MAAP,CAAc,UAAUC,CAAV,EAAaC,CAAb,EAAgB;EACnC,WAAOD,CAAC,CAACE,MAAF,CAASD,CAAT,CAAP;EACD,GAFM,EAEJ,EAFI,CAAP;EAGD;;ECJD,IAAIE,cAAc,GAAG,CAArB;EACO,SAASC,sBAAT,GAAkC;EACvC,SAAO,gBAAgBF,MAAhB,CAAuBC,cAAc,EAArC,CAAP;EACD;;ECHM,SAASE,uBAAT,CAAiCC,MAAjC,EAAyCC,IAAzC,EAA+C;EACpD,SAAOA,IAAI,CAACR,MAAL,CAAY,UAAUrE,OAAV,EAAmBkE,GAAnB,EAAwB;EACzC,WAAOlE,OAAO,IAAIA,OAAO,CAACkE,GAAD,CAAzB;EACD,GAFM,EAEJU,MAFI,CAAP;EAGD;;ECJM,SAASE,aAAT,CAAuBC,KAAvB,EAA8B;EACnC,MAAIA,KAAK,CAACC,WAAN,CAAkBxE,MAAlB,KAA6B,CAAjC,EAAoC;EAClC,WAAO,CAAP;EACD;;EAED,SAAOuE,KAAK,CAACC,WAAN,CAAkBX,MAAlB,CAAyB,UAAUY,GAAV,EAAeC,UAAf,EAA2B;EACzD,WAAOD,GAAG,GAAGC,UAAU,CAACC,KAAX,CAAiB3E,MAA9B;EACD,GAFM,EAEJ,CAFI,CAAP;EAGD;;ECRD;EACA;EACA;EACA;EACA;EACO,SAAS4E,SAAT,CAAmBC,SAAnB,EAA8BC,OAA9B,EAAuC;;EAK5C,MAAI,CAACD,SAAL,EAAgB;EACd,UAAM,IAAIE,KAAJ,CAAU,kBAAkBf,MAAlB,CAAyB,OAAOc,OAAP,KAAmB,UAAnB,GAAgCA,OAAO,EAAvC,GAA4CA,OAArE,CAAV,CAAN;EACD;;;ECZI,IAAIE,IAAI,GAAG,SAASA,IAAT,GAAgB,EAA3B;;ECAA,IAAIC,OAAO,GAAG,OAAd;;ECCA,IAAIC,YAAU,GAAG,CAAC;EACvBC,EAAAA,OAAO,EAAE,mBADc;EAEvBF,EAAAA,OAAO,EAAEA;EAFc,CAAD,CAAjB;;ECDA,IAAIG,SAAS,GAAG;EACrB5F,EAAAA,OAAO,EAAE;EADY,CAAhB;EAGP;EACA;EACA;EACA;;EAEO,SAAS6F,IAAT,CAAcR,SAAd,EAAyBC,OAAzB,EAAkC;;EAKvC,MAAID,SAAJ,EAAe;EACb;EACD;;EAED,MAAIS,gBAAgB,GAAGR,OAAO,CAACS,IAAR,EAAvB;EACA,MAAIC,iBAAiB,GAAGJ,SAAS,CAAC5F,OAAV,CAAkB8F,gBAAlB,CAAxB;;EAEA,MAAI,CAACE,iBAAL,EAAwB;EACtBJ,IAAAA,SAAS,CAAC5F,OAAV,CAAkB8F,gBAAlB,IAAsC,IAAtC,CADsB;;EAGtBG,IAAAA,OAAO,CAACJ,IAAR,CAAa,kBAAkBrB,MAAlB,CAAyBsB,gBAAzB,CAAb;EACD;;;ECvBI,SAASI,YAAT,CAAsBC,OAAtB,EAA+B;EACpC,EAFFC,aAAA,KAAyB,YAEvB,GAAwCP,IAAI,CAAC,CAACM,OAAO,CAACE,KAAV,EAAiB,6FAAjB,CAA5C,UAAA;;;ECFF,SAASC,+BAAT,CAAyCC,OAAzC,EAAkDC,YAAlD,EAAgE;EAC9D,MAAIzB,KAAK,GAAGyB,YAAZ;EACA,SAAO;EACLC,IAAAA,IAAI,EAAE,SAASA,IAAT,CAAcC,WAAd,EAA2BC,UAA3B,EAAuC;EAC3C,aAAOL,+BAA+B,CAACC,OAAO,CAACE,IAAR,CAAaG,cAAc,CAACF,WAAD,EAAc3B,KAAd,EAAqBwB,OAArB,CAA3B,EAA0DK,cAAc,CAACD,UAAD,EAAa5B,KAAb,EAAoBwB,OAApB,CAAxE,CAAD,EAAwGxB,KAAxG,CAAtC;EACD,KAHI;EAIL8B,IAAAA,KAAK,EAAE,SAASC,MAAT,CAAgBH,UAAhB,EAA4B;EACjC,aAAOL,+BAA+B,CAACC,OAAO,CAACM,KAAR,CAAcD,cAAc,CAACD,UAAD,EAAa5B,KAAb,EAAoBwB,OAApB,CAA5B,CAAD,EAA4DxB,KAA5D,CAAtC;EACD,KANI;EAOLgC,IAAAA,OAAO,EAAE,SAASC,QAAT,CAAkBC,SAAlB,EAA6B;EACpC,UAAIA,SAAJ,EAAe;EACblC,QAAAA,KAAK,CAACmC,YAAN,CAAmBlE,IAAnB,CAAwBiE,SAAxB;EACD;;EAED,aAAOX,+BAA+B,CAACC,OAAO,CAACQ,OAAR,CAAgBH,cAAc,CAACK,SAAS,IAAI,YAAY;EAC7FlC,QAAAA,KAAK,CAACmC,YAAN,GAAqB,EAArB;EACA,eAAOD,SAAS,EAAhB;EACD,OAHoE,EAGlElC,KAHkE,EAG3DwB,OAH2D,CAA9B,CAAD,EAGjBxB,KAHiB,CAAtC;EAID,KAhBI;EAiBLoC,IAAAA,MAAM,EAAE,SAASA,MAAT,GAAkB;EACxBpC,MAAAA,KAAK,CAACqC,UAAN,GAAmB,IAAnB;EACA,UAAIC,SAAS,GAAGtC,KAAK,CAACmC,YAAtB;EACAnC,MAAAA,KAAK,CAACmC,YAAN,GAAqB,EAArB;EACAG,MAAAA,SAAS,CAACC,OAAV,CAAkB,UAAUC,QAAV,EAAoB;EACpCA,QAAAA,QAAQ;EACT,OAFD;EAGD,KAxBI;EAyBLH,IAAAA,UAAU,EAAE,SAASA,UAAT,GAAsB;EAChC,aAAOrC,KAAK,CAACqC,UAAN,KAAqB,IAA5B;EACD;EA3BI,GAAP;EA6BD;;EAmBM,SAASI,UAAT,CAAoBjB,OAApB,EAA6B;EAClC,SAAOD,+BAA+B,CAACC,OAAD,EAAU;EAC9Ca,IAAAA,UAAU,EAAE,KADkC;EAE9CF,IAAAA,YAAY,EAAE;EAFgC,GAAV,CAAtC;EAID;;EAED,SAASN,cAAT,CAAwBa,QAAxB,EAAkC1C,KAAlC,EAAyC2C,QAAzC,EAAmD;EACjD,MAAI,CAACD,QAAL,EAAe;EACb,WAAOC,QAAP;EACD;;EAED,SAAO,SAASH,QAAT,CAAkBI,GAAlB,EAAuB;EAC5B,QAAI5C,KAAK,CAACqC,UAAV,EAAsB;EACpB,aAAOO,GAAP;EACD;;EAED,WAAOF,QAAQ,CAACE,GAAD,CAAf;EACD,GAND;EAOD;;ECrEM,SAASC,2BAAT,GAAuC;EAC5C,MAAIC,IAAI,GAAG,EAAX;EACA,SAAO;EACLlE,IAAAA,GAAG,EAAE,SAASA,GAAT,CAAamE,iBAAb,EAAgC;EACnCD,MAAAA,IAAI,CAAC7E,IAAL,CAAU8E,iBAAV;EACA,aAAOA,iBAAiB,CAACf,OAAlB,CAA0B,YAAY;EAC3Cc,QAAAA,IAAI,GAAGA,IAAI,CAACE,MAAL,CAAY,UAAUC,IAAV,EAAgB;EACjC,iBAAOA,IAAI,KAAKF,iBAAhB;EACD,SAFM,CAAP;EAGD,OAJM,CAAP;EAKD,KARI;EASLG,IAAAA,SAAS,EAAE,SAASA,SAAT,GAAqB;EAC9BJ,MAAAA,IAAI,CAACP,OAAL,CAAa,UAAUf,OAAV,EAAmB;EAC9B,eAAOA,OAAO,CAACY,MAAR,EAAP;EACD,OAFD;EAGD,KAbI;EAcLe,IAAAA,OAAO,EAAE,SAASA,OAAT,GAAmB;EAC1B,aAAOL,IAAI,CAACrH,MAAL,KAAgB,CAAvB;EACD;EAhBI,GAAP;EAkBD;;ECpBD;EACA;EACA;EACA;EACA;EACA;EACO,SAAS2H,2BAAT,GAAuC;EAC5C,MAAIC,aAAa,GAAG,CAAC,CAArB;EACA,MAAIC,gBAAgB,GAAG,CAAC,CAAxB;EACA,MAAIC,mBAAmB,GAAGjI,SAA1B;EACA,SAAO,SAASkI,wBAAT,CAAkChC,OAAlC,EAA2C;EAChD6B,IAAAA,aAAa;EACb,QAAII,gBAAgB,GAAGJ,aAAvB;EACA,WAAOK,OAAO,CAACC,OAAR,CAAgBnC,OAAhB,EAAyBE,IAAzB,CAA8B,UAAU5C,CAAV,EAAa;EAChD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAIyE,mBAAmB,IAAIE,gBAAgB,GAAGH,gBAA9C,EAAgE;EAC9D,eAAOC,mBAAP;EACD;;EAEDD,MAAAA,gBAAgB,GAAGG,gBAAnB;EACAF,MAAAA,mBAAmB,GAAGzE,CAAtB;EACA,aAAOA,CAAP;EACD,KArBM,CAAP;EAsBD,GAzBD;EA0BD;;ECpCD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACO,SAAS8E,mBAAT,CAA6BC,UAA7B,EAAyCC,SAAzC,EAAoDC,SAApD,EAA+DC,mBAA/D,EAAoF;EACzF,MAAI,CAACD,SAAL,EAAgB;EACd,WAAO,IAAP;EACD;;EAED,MAAIF,UAAU,GAAG,CAAb,KAAmBC,SAAS,KAAK,IAAd,IAAsBE,mBAAmB,KAAK,IAAxB,IAAgCF,SAAS,KAAK,CAAvF,CAAJ,EAA+F;EAC7F,WAAOC,SAAS,GAAGF,UAAnB;EACD;;EAED,MAAII,YAAY,GAAG,CAACH,SAAS,KAAK,IAAd,GAAqB,CAAC,CAAtB,GAA0BA,SAA3B,IAAwCD,UAA3D;;EAEA,MAAII,YAAY,IAAI,CAAC,CAAjB,IAAsBA,YAAY,IAAIF,SAA1C,EAAqD;EACnD,WAAOC,mBAAmB,KAAK,IAAxB,GAA+B,IAA/B,GAAsC,CAA7C;EACD;;EAED,SAAOC,YAAP;EACD;;EChCD,SAASC,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;;EAEjN,SAASD,SAAT,CAAiBC,GAAjB,EAAsB;EAAE;;EAA2B,SAAOD,SAAO,GAAG,cAAc,OAAOb,MAArB,IAA+B,YAAY,OAAOA,MAAM,CAACC,QAAzD,GAAoE,UAAUa,GAAV,EAAe;EAAE,WAAO,OAAOA,GAAd;EAAoB,GAAzG,GAA4G,UAAUA,GAAV,EAAe;EAAE,WAAOA,GAAG,IAAI,cAAc,OAAOd,MAA5B,IAAsCc,GAAG,CAACrB,WAAJ,KAAoBO,MAA1D,IAAoEc,GAAG,KAAKd,MAAM,CAACX,SAAnF,GAA+F,QAA/F,GAA0G,OAAOyB,GAAxH;EAA8H,GAArQ,EAAuQD,SAAO,CAACC,GAAD,CAArR;EAA6R;EAGzU,SAAS8G,oBAAT,CAA8BC,UAA9B,EAA0CC,MAA1C,EAAkD;EACvD,MAAIC,aAAa,GAAG,EAApB;EACA,SAAO7B,OAAO,CAACC,OAAR,CAAgB0B,UAAU,CAACC,MAAD,CAA1B,EAAoC5D,IAApC,CAAyC,UAAU8D,OAAV,EAAmB;EACjEnF,IAAAA,SAAS,CAAC1E,KAAK,CAACyC,OAAN,CAAcoH,OAAd,CAAD,EAAyB,YAAY;EAC5C,aAAO,+EAA+E/F,MAA/E,CAAsFgG,IAAI,CAACC,SAAL,CAAerH,SAAO,CAACmH,OAAD,CAAtB,CAAtF,EAAwH,OAAxH,EAAiI/F,MAAjI,CAAwIgG,IAAI,CAACC,SAAL,CAAenH,OAAO,CAACiH,OAAD,CAAtB,EAAiC,IAAjC,EAAuC,CAAvC,CAAxI,CAAP;EACD,KAFQ,CAAT;EAGA,WAAO9B,OAAO,CAACiC,GAAR,CAAYH,OAAO;EAC1B;EACA;EAF0B,KAGzBxC,MAHkB,CAGX,UAAU4C,WAAV,EAAuB;EAC7B,aAAOC,OAAO,CAACD,WAAD,CAAd;EACD,KALkB,EAKhB/G,GALgB,CAKZ,UAAUgG,MAAV,EAAkB;EACvBxE,MAAAA,SAAS,CAAC,OAAOwE,MAAM,CAACiB,QAAd,KAA2B,QAA5B,EAAsC,4CAAtC,CAAT;;EAEA,UAAIP,aAAa,CAACQ,QAAd,CAAuBlB,MAAM,CAACiB,QAA9B,CAAJ,EAA6C;EAC3C,cAAM,IAAItF,KAAJ,CAAU,iCAAiCf,MAAjC,CAAwCgG,IAAI,CAACC,SAAL,CAAeb,MAAM,CAACiB,QAAtB,CAAxC,EAAyE,iBAAzE,CAAV,CAAN;EACD;;EAEDP,MAAAA,aAAa,CAACtH,IAAd,CAAmB4G,MAAM,CAACiB,QAA1B;;EAEA,UAAIE,gBAAgB,GAAGrB,eAAa,CAAC;EACnCsB,QAAAA,iBAAiB,EAAE,SAASA,iBAAT,CAA2BhH,IAA3B,EAAiC;EAClD,cAAIe,KAAK,GAAGf,IAAI,CAACe,KAAjB;EACA,iBAAOA,KAAK,CAACkG,KAAb;EACD,SAJkC;EAKnCC,QAAAA,UAAU,EAAE,SAASA,UAAT,GAAsB;EAChC,iBAAO7K,SAAP;EACD,SAPkC;EAQnC8K,QAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBlH,KAAlB,EAAyB;EACjC,cAAImH,SAAS,GAAGnH,KAAK,CAACmH,SAAtB;EACAA,UAAAA,SAAS,CAAC,KAAD,CAAT;EACD,SAXkC;EAYnCC,QAAAA,QAAQ,EAAE7F;EAZyB,OAAD,EAajCoE,MAbiC,CAApC;;EAeA,aAAOnB,OAAO,CAACC,OAAR,CAAgBqC,gBAAhB,CAAP;EACD,KA9BkB,CAAZ,CAAP;EA+BD,GAnCM,CAAP;EAoCD;;EC/CD;EACA;EACA;EACA,SAASO,6BAAT,CAAuCvG,KAAvC,EAA8C;EAC5C;EACA;EACA;EACA,MAAIwG,2BAA2B,GAAGxG,KAAK,CAACC,WAAN,CAAkBpB,GAAlB,CAAsB,UAAUoB,WAAV,EAAuB;EAC7E,WAAOA,WAAW,CAACG,KAAZ,CAAkB3E,MAAzB;EACD,GAFiC,EAE/B6D,MAF+B,CAExB,UAAUmH,GAAV,EAAeC,gBAAf,EAAiCC,KAAjC,EAAwC;EAChD,QAAIC,aAAa,GAAGH,GAAG,CAACE,KAAK,GAAG,CAAT,CAAH,IAAkB,CAAtC;EACA,QAAIE,SAAS,GAAGD,aAAa,GAAGF,gBAAhC;EACAD,IAAAA,GAAG,CAACxI,IAAJ,CAAS4I,SAAT;EACA,WAAOJ,GAAP;EACD,GAPiC,EAO/B,EAP+B,CAAlC,CAJ4C;;EAa5C,MAAIK,eAAe,GAAGN,2BAA2B,CAAClH,MAA5B,CAAmC,UAAUmH,GAAV,EAAexL,OAAf,EAAwB;EAC/E,QAAIA,OAAO,IAAI+E,KAAK,CAAC+G,YAArB,EAAmC;EACjC,aAAON,GAAG,GAAG,CAAb;EACD;;EAED,WAAOA,GAAP;EACD,GANqB,EAMnB,CANmB,CAAtB;EAOA,SAAOzG,KAAK,CAACC,WAAN,CAAkB6G,eAAlB,CAAP;EACD;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EAGA,SAASE,uBAAT,CAAiC/H,IAAjC,EAAuC;EACrC,MAAIe,KAAK,GAAGf,IAAI,CAACe,KAAjB;EAAA,MACIG,UAAU,GAAGlB,IAAI,CAACkB,UADtB;EAEA,MAAI8G,aAAa,GAAG,KAApB;EACA,MAAIC,OAAO,GAAG,CAAd;EACA,MAAIC,mBAAmB,GAAG,CAA1B;;EAEA,SAAOF,aAAa,KAAK,KAAzB,EAAgC;EAC9B,QAAIG,iBAAiB,GAAGpH,KAAK,CAACC,WAAN,CAAkBiH,OAAlB,CAAxB;;EAEA,QAAIE,iBAAiB,KAAKjH,UAA1B,EAAsC;EACpC8G,MAAAA,aAAa,GAAG,IAAhB;EACA;EACD;;EAEDE,IAAAA,mBAAmB,IAAIC,iBAAiB,CAAChH,KAAlB,CAAwB3E,MAA/C;EACAyL,IAAAA,OAAO;EACR;;EAED,SAAOlH,KAAK,CAAC+G,YAAN,GAAqBI,mBAA5B;EACD;;EAEM,SAASE,aAAT,CAAuBrH,KAAvB,EAA8B;EACnC,MAAIG,UAAU,GAAGoG,6BAA6B,CAACvG,KAAD,CAA9C;;EAEA,MAAI,CAACG,UAAL,EAAiB;EACf,WAAO,IAAP;EACD;;EAED,MAAI8C,IAAI,GAAG9C,UAAU,CAACC,KAAX,CAAiB4G,uBAAuB,CAAC;EAClDhH,IAAAA,KAAK,EAAEA,KAD2C;EAElDG,IAAAA,UAAU,EAAEA;EAFsC,GAAD,CAAxC,CAAX;EAIA,MAAI0E,MAAM,GAAG1E,UAAU,CAAC0E,MAAxB;EACA,MAAIyC,cAAc,GAAGzC,MAAM,CAACoB,iBAAP,CAAyB;EAC5ChD,IAAAA,IAAI,EAAEA,IADsC;EAE5CjD,IAAAA,KAAK,EAAEA;EAFqC,GAAzB,CAArB;EAIA,MAAIuH,OAAO,GAAG1C,MAAM,CAACsB,UAAP,CAAkB;EAC9BlD,IAAAA,IAAI,EAAEA,IADwB;EAE9BjD,IAAAA,KAAK,EAAEA;EAFuB,GAAlB,CAAd;EAIA,SAAO;EACLiD,IAAAA,IAAI,EAAEA,IADD;EAELqE,IAAAA,cAAc,EAAEA,cAFX;EAGLC,IAAAA,OAAO,EAAEA,OAHJ;EAIL1C,IAAAA,MAAM,EAAEA;EAJH,GAAP;EAMD;;ECpFM,SAAS2C,gBAAT,CAA0BC,MAA1B,EAAkCC,KAAlC,EAAyC;EAC9C,SAAOD,MAAM,KAAKC,KAAX,IAAoBD,MAAM,CAACE,QAAP,CAAgBD,KAAhB,CAA3B;EACD;;ECFD,IAAIE,KAAK,GAAG,sCAAZ;EACO,SAASC,SAAT,CAAmBC,SAAnB,EAA8B;EACnC,SAAOjC,OAAO,CAACiC,SAAS,IAAIA,SAAS,CAACC,KAAV,CAAgBH,KAAhB,CAAd,CAAd;EACD;;ECHD,SAAS1D,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;;EAE1M,SAAS0J,oBAAT,CAA8BC,UAA9B,EAA0C;EAC/C,MAAIC,OAAO,GAAGD,UAAU,CAACpJ,GAAX,CAAe,UAAUsJ,MAAV,EAAkB;EAC7C,QAAIC,KAAJ;;EAEA,WAAOzD,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKwD,MAAL,CAAd,EAA4B,EAA5B,EAAgC;EAClDE,MAAAA,IAAI,EAAE,CAACD,KAAK,GAAGD,MAAM,CAACE,IAAhB,MAA0B,IAA1B,IAAkCD,KAAK,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,KAAK,CAACvJ,GAAN,CAAU,UAAUyJ,GAAV,EAAe;EAC3F;EACA,eAAO3D,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK2D,GAAL,CAAd,EAAyB,EAAzB,EAA6B;EAC/CC,UAAAA,wBAAwB,EAAEJ,MAAM,CAACxB,KADc;EAE/C6B,UAAAA,sBAAsB,EAAEL,MAAM,CAACM;EAFgB,SAA7B,CAApB;EAID,OANmE;EADlB,KAAhC,CAApB;EASD,GAZa,CAAd;EAaA,SAAO;EACLP,IAAAA,OAAO,EAAEA,OADJ;EAELG,IAAAA,IAAI,EAAEH,OAAO,CAACrJ,GAAR,CAAY,UAAUsJ,MAAV,EAAkB;EAClC,aAAOA,MAAM,CAACE,IAAd;EACD,KAFK,EAEHrF,MAFG,CAEI6C,OAFJ,CAFD;EAKL6C,IAAAA,SAAS,EAAER,OAAO,CAACrJ,GAAR,CAAY,UAAUsJ,MAAV,EAAkB;EACvC,UAAIQ,UAAJ;;EAEA,aAAO,CAACA,UAAU,GAAGR,MAAM,CAACO,SAArB,MAAoC,IAApC,IAA4CC,UAAU,KAAK,KAAK,CAAhE,GAAoE,KAAK,CAAzE,GAA6EA,UAAU,CAAC9J,GAAX,CAAe,UAAU+J,QAAV,EAAoB;EACrH;EACA,eAAO;EACLC,UAAAA,KAAK,EAAED,QAAQ,CAAC1K,KADX;EAEL4K,UAAAA,KAAK,EAAEF,QAAQ,CAACE,KAFX;EAGLC,UAAAA,gBAAgB,EAAE;EAChBF,YAAAA,KAAK,EAAE;EACL3K,cAAAA,KAAK,EAAE0K,QAAQ,CAACI;EADX;EADS;EAHb,SAAP;EASD,OAXmF,CAApF;EAYD,KAfU,EAeRhG,MAfQ,CAeD6C,OAfC;EALN,GAAP;EAsBD;;EC1CD,SAAS3B,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;EAG1M,SAAS2K,WAAT,CAAqBC,OAArB,EAA8BC,KAA9B,EAAqCC,kBAArC,EAAyD;EAC9D,MAAIpJ,KAAK,GAAGmJ,KAAK,CAAC1H,YAAlB;EACA,SAAO;EACL4H,IAAAA,QAAQ,EAAE,SAASA,QAAT,GAAoB;EAC5B,aAAOrJ,KAAP;EACD,KAHI;EAILsJ,IAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBC,MAAlB,EAA0BC,OAA1B,EAAmC;EAC3C,UAAIC,SAAS,GAAG9E,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAA7B;;EAEAA,MAAAA,KAAK,GAAGkJ,OAAO,CAAClJ,KAAD,EAAQ;EACrB0J,QAAAA,IAAI,EAAEH,MADe;EAErBJ,QAAAA,KAAK,EAAEA,KAFc;EAGrBK,QAAAA,OAAO,EAAEA;EAHY,OAAR,CAAf;EAKAJ,MAAAA,kBAAkB,CAAC;EACjBpJ,QAAAA,KAAK,EAAEA,KADU;EAEjByJ,QAAAA,SAAS,EAAEA;EAFM,OAAD,CAAlB;EAID,KAhBI;EAiBLE,IAAAA,eAAe,EAAE9G,2BAA2B;EAjBvC,GAAP;EAmBD;;EC5BD,SAASqB,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;EAG1M,SAASsL,sBAAT,CAAgC3K,IAAhC,EAAsC;EAC3C,MAAI4K,KAAK,GAAG5K,IAAI,CAAC4K,KAAjB;;EAEA,MAAIC,eAAe,GAAG,SAASA,eAAT,CAAyB5L,KAAzB,EAAgC;EACpD2L,IAAAA,KAAK,CAACP,QAAN,CAAe,iBAAf,EAAkCpL,KAAlC;EACD,GAFD;;EAIA,MAAI6L,QAAQ,GAAG,SAASA,QAAT,CAAkB7L,KAAlB,EAAyB;EACtC2L,IAAAA,KAAK,CAACP,QAAN,CAAe,UAAf,EAA2BpL,KAA3B;EACD,GAFD;;EAIA,MAAI8L,cAAc,GAAG,SAASA,cAAT,CAAwBC,QAAxB,EAAkC;EACrD,QAAIC,UAAU,GAAG,CAAjB;EACA,QAAIhM,KAAK,GAAG+L,QAAQ,CAACpL,GAAT,CAAa,UAAUsB,UAAV,EAAsB;EAC7C,aAAOwE,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKxE,UAAL,CAAd,EAAgC,EAAhC,EAAoC;EACtD;EACA;EACAC,QAAAA,KAAK,EAAEhB,OAAO,CAACe,UAAU,CAACC,KAAZ,CAAP,CAA0BvB,GAA1B,CAA8B,UAAUoE,IAAV,EAAgB;EACnD,iBAAO0B,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK1B,IAAL,CAAd,EAA0B,EAA1B,EAA8B;EAChDkH,YAAAA,iBAAiB,EAAED,UAAU;EADmB,WAA9B,CAApB;EAGD,SAJM;EAH+C,OAApC,CAApB;EASD,KAVW,CAAZ;EAWAL,IAAAA,KAAK,CAACP,QAAN,CAAe,gBAAf,EAAiCpL,KAAjC;EACD,GAdD;;EAgBA,MAAImI,SAAS,GAAG,SAASA,SAAT,CAAmBnI,KAAnB,EAA0B;EACxC2L,IAAAA,KAAK,CAACP,QAAN,CAAe,WAAf,EAA4BpL,KAA5B;EACD,GAFD;;EAIA,MAAIkM,SAAS,GAAG,SAASA,SAAT,CAAmBlM,KAAnB,EAA0B;EACxC2L,IAAAA,KAAK,CAACP,QAAN,CAAe,WAAf,EAA4BpL,KAA5B;EACD,GAFD;;EAIA,MAAImM,UAAU,GAAG,SAASA,UAAT,CAAoBnM,KAApB,EAA2B;EAC1C2L,IAAAA,KAAK,CAACP,QAAN,CAAe,YAAf,EAA6BpL,KAA7B;EACD,GAFD;;EAIA,SAAO;EACL4L,IAAAA,eAAe,EAAEA,eADZ;EAELC,IAAAA,QAAQ,EAAEA,QAFL;EAGLC,IAAAA,cAAc,EAAEA,cAHX;EAIL3D,IAAAA,SAAS,EAAEA,SAJN;EAKL+D,IAAAA,SAAS,EAAEA,SALN;EAMLC,IAAAA,UAAU,EAAEA;EANP,GAAP;EAQD;;ECtDD,SAASC,oBAAT,CAA4BrO,GAA5B,EAAiC;EAAE,SAAOsO,oBAAkB,CAACtO,GAAD,CAAlB,IAA2BuO,kBAAgB,CAACvO,GAAD,CAA3C,IAAoDI,6BAA2B,CAACJ,GAAD,CAA/E,IAAwFwO,oBAAkB,EAAjH;EAAsH;;EAEzJ,SAASA,oBAAT,GAA8B;EAAE,QAAM,IAAIlO,SAAJ,CAAc,sIAAd,CAAN;EAA8J;;EAE9L,SAASF,6BAAT,CAAqCG,CAArC,EAAwCC,MAAxC,EAAgD;EAAE,MAAI,CAACD,CAAL,EAAQ;EAAQ,MAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B,OAAOE,mBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;EAAqC,MAAIE,CAAC,GAAGC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,CAA/B,EAAkCQ,KAAlC,CAAwC,CAAxC,EAA2C,CAAC,CAA5C,CAAR;EAAwD,MAAIL,CAAC,KAAK,QAAN,IAAkBH,CAAC,CAACS,WAAxB,EAAqCN,CAAC,GAAGH,CAAC,CAACS,WAAF,CAAcC,IAAlB;EAAwB,MAAIP,CAAC,KAAK,KAAN,IAAeA,CAAC,KAAK,KAAzB,EAAgC,OAAOhB,KAAK,CAACwB,IAAN,CAAWX,CAAX,CAAP;EAAsB,MAAIG,CAAC,KAAK,WAAN,IAAqB,2CAA2CS,IAA3C,CAAgDT,CAAhD,CAAzB,EAA6E,OAAOD,mBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;EAAsC;;EAEha,SAAS+N,kBAAT,CAA0BE,IAA1B,EAAgC;EAAE,MAAI,OAAOlN,MAAP,KAAkB,WAAlB,IAAiCkN,IAAI,CAAClN,MAAM,CAACC,QAAR,CAAJ,IAAyB,IAA1D,IAAkEiN,IAAI,CAAC,YAAD,CAAJ,IAAsB,IAA5F,EAAkG,OAAO/O,KAAK,CAACwB,IAAN,CAAWuN,IAAX,CAAP;EAA0B;;EAE9J,SAASH,oBAAT,CAA4BtO,GAA5B,EAAiC;EAAE,MAAIN,KAAK,CAACyC,OAAN,CAAcnC,GAAd,CAAJ,EAAwB,OAAOS,mBAAiB,CAACT,GAAD,CAAxB;EAAgC;;EAE3F,SAASS,mBAAT,CAA2BT,GAA3B,EAAgCoB,GAAhC,EAAqC;EAAE,MAAIA,GAAG,IAAI,IAAP,IAAeA,GAAG,GAAGpB,GAAG,CAACR,MAA7B,EAAqC4B,GAAG,GAAGpB,GAAG,CAACR,MAAV;;EAAkB,OAAK,IAAIS,CAAC,GAAG,CAAR,EAAWoB,IAAI,GAAG,IAAI3B,KAAJ,CAAU0B,GAAV,CAAvB,EAAuCnB,CAAC,GAAGmB,GAA3C,EAAgDnB,CAAC,EAAjD,EAAqD;EAAEoB,IAAAA,IAAI,CAACpB,CAAD,CAAJ,GAAUD,GAAG,CAACC,CAAD,CAAb;EAAmB;;EAAC,SAAOoB,IAAP;EAAc;;EAEvL,SAAS4G,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;EAI1M,SAASqM,eAAT,CAAyBxB,KAAzB,EAAgCyB,iBAAhC,EAAmD;EACxD,MAAIC,SAAJ;EAEA;;;EACA,MAAIC,WAAW,GAAG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,EAA3D;EACA;;EAEA,MAAIC,OAAO,GAAG7B,KAAK,CAAC6B,OAAN,IAAiB,EAA/B;EACA,SAAOrG,eAAa,CAACA,eAAa,CAAC;EACjCrD,IAAAA,KAAK,EAAE,KAD0B;EAEjC2J,IAAAA,WAAW,EAAE,KAFoB;EAGjCC,IAAAA,WAAW,EAAE,EAHoB;EAIjCC,IAAAA,SAAS,EAAE,KAJsB;EAKjCnH,IAAAA,mBAAmB,EAAE,IALY;EAMjCoH,IAAAA,cAAc,EAAE,GANiB;EAOjCN,IAAAA,WAAW,EAAEA,WAPoB;EAQjCO,IAAAA,eAAe,EAAE,SAASA,eAAT,CAAyBpM,IAAzB,EAA+B;EAC9C,UAAIe,KAAK,GAAGf,IAAI,CAACe,KAAjB;EACA,aAAOD,aAAa,CAACC,KAAD,CAAb,GAAuB,CAA9B;EACD,KAXgC;EAYjCsL,IAAAA,OAAO,EAAE,SAASA,OAAT,CAAiBpM,KAAjB,EAAwB;EAC/B,UAAIsG,OAAO,GAAGtG,KAAK,CAACsG,OAApB;EACA,aAAOA,OAAP;EACD;EAfgC,GAAD,EAgB/B2D,KAhB+B,CAAd,EAgBT,EAhBS,EAgBL;EACb;EACA;EACAoC,IAAAA,EAAE,EAAE,CAACV,SAAS,GAAG1B,KAAK,CAACoC,EAAnB,MAA2B,IAA3B,IAAmCV,SAAS,KAAK,KAAK,CAAtD,GAA0DA,SAA1D,GAAsElL,sBAAsB,EAHnF;EAIbqL,IAAAA,OAAO,EAAEA,OAJI;EAKb;EACAvJ,IAAAA,YAAY,EAAEkD,eAAa,CAAC;EAC1BoC,MAAAA,YAAY,EAAE,IADY;EAE1Bb,MAAAA,KAAK,EAAE,EAFmB;EAG1BsF,MAAAA,UAAU,EAAE,IAHc;EAI1BvL,MAAAA,WAAW,EAAE,EAJa;EAK1BwL,MAAAA,MAAM,EAAE,KALkB;EAM1BC,MAAAA,MAAM,EAAE,MANkB;EAO1BC,MAAAA,OAAO,EAAE;EAPiB,KAAD,EAQxBxC,KAAK,CAAC1H,YARkB,CANd;EAebmK,IAAAA,aAAa,EAAE,SAASA,aAAT,CAAuBtG,MAAvB,EAA+B;EAC5C,UAAIuG,oBAAJ;;EAEA,OAACA,oBAAoB,GAAG1C,KAAK,CAACyC,aAA9B,MAAiD,IAAjD,IAAyDC,oBAAoB,KAAK,KAAK,CAAvF,GAA2F,KAAK,CAAhG,GAAoGA,oBAAoB,CAAC9O,IAArB,CAA0BoM,KAA1B,EAAiC7D,MAAjC,CAApG;EACA0F,MAAAA,OAAO,CAACzI,OAAR,CAAgB,UAAUzD,CAAV,EAAa;EAC3B,YAAIgN,gBAAJ;;EAEA,eAAO,CAACA,gBAAgB,GAAGhN,CAAC,CAAC8M,aAAtB,MAAyC,IAAzC,IAAiDE,gBAAgB,KAAK,KAAK,CAA3E,GAA+E,KAAK,CAApF,GAAwFA,gBAAgB,CAAC/O,IAAjB,CAAsB+B,CAAtB,EAAyBwG,MAAzB,CAA/F;EACD,OAJD;EAKD,KAxBY;EAyBbyG,IAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBzG,MAAlB,EAA0B;EAClC,UAAI0G,eAAJ;;EAEA,OAACA,eAAe,GAAG7C,KAAK,CAAC4C,QAAzB,MAAuC,IAAvC,IAA+CC,eAAe,KAAK,KAAK,CAAxE,GAA4E,KAAK,CAAjF,GAAqFA,eAAe,CAACjP,IAAhB,CAAqBoM,KAArB,EAA4B7D,MAA5B,CAArF;EACA0F,MAAAA,OAAO,CAACzI,OAAR,CAAgB,UAAUzD,CAAV,EAAa;EAC3B,YAAImN,WAAJ;;EAEA,eAAO,CAACA,WAAW,GAAGnN,CAAC,CAACiN,QAAjB,MAA+B,IAA/B,IAAuCE,WAAW,KAAK,KAAK,CAA5D,GAAgE,KAAK,CAArE,GAAyEA,WAAW,CAAClP,IAAZ,CAAiB+B,CAAjB,EAAoBwG,MAApB,CAAhF;EACD,OAJD;EAKD,KAlCY;EAmCb4G,IAAAA,OAAO,EAAE,SAASA,OAAT,CAAiB5G,MAAjB,EAAyB;EAChC,UAAI6G,cAAJ;;EAEA,OAACA,cAAc,GAAGhD,KAAK,CAAC+C,OAAxB,MAAqC,IAArC,IAA6CC,cAAc,KAAK,KAAK,CAArE,GAAyE,KAAK,CAA9E,GAAkFA,cAAc,CAACpP,IAAf,CAAoBoM,KAApB,EAA2B7D,MAA3B,CAAlF;EACA0F,MAAAA,OAAO,CAACzI,OAAR,CAAgB,UAAUzD,CAAV,EAAa;EAC3B,YAAIsN,UAAJ;;EAEA,eAAO,CAACA,UAAU,GAAGtN,CAAC,CAACoN,OAAhB,MAA6B,IAA7B,IAAqCE,UAAU,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,UAAU,CAACrP,IAAX,CAAgB+B,CAAhB,EAAmBwG,MAAnB,CAA7E;EACD,OAJD;EAKD,KA5CY;EA6CbD,IAAAA,UAAU,EAAE,SAASA,UAAT,CAAoBC,MAApB,EAA4B;EACtC,aAAO5B,OAAO,CAACiC,GAAR,CAAY,GAAGlG,MAAH,CAAU6K,oBAAkB,CAACU,OAAO,CAACnM,GAAR,CAAY,UAAUwN,MAAV,EAAkB;EAC5E,eAAOA,MAAM,CAAChH,UAAd;EACD,OAF+C,CAAD,CAA5B,EAEd,CAAC8D,KAAK,CAAC9D,UAAP,CAFc,EAEMrC,MAFN,CAEa6C,OAFb,EAEsBhH,GAFtB,CAE0B,UAAUwG,UAAV,EAAsB;EACjE,eAAOD,oBAAoB,CAACC,UAAD,EAAaC,MAAb,CAA3B;EACD,OAJkB,CAAZ,EAIH5D,IAJG,CAIE,UAAU4K,MAAV,EAAkB;EACzB,eAAOlN,OAAO,CAACkN,MAAD,CAAd;EACD,OANM,EAMJ5K,IANI,CAMC,UAAU8D,OAAV,EAAmB;EACzB,eAAOA,OAAO,CAAC3G,GAAR,CAAY,UAAUgG,MAAV,EAAkB;EACnC,iBAAOF,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKE,MAAL,CAAd,EAA4B,EAA5B,EAAgC;EAClDuB,YAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBd,MAAlB,EAA0B;EAClCT,cAAAA,MAAM,CAACuB,QAAP,CAAgBd,MAAhB;EACAsF,cAAAA,iBAAiB,CAACrI,OAAlB,CAA0B,UAAUzD,CAAV,EAAa;EACrC,oBAAIyN,WAAJ;;EAEA,uBAAO,CAACA,WAAW,GAAGzN,CAAC,CAACsH,QAAjB,MAA+B,IAA/B,IAAuCmG,WAAW,KAAK,KAAK,CAA5D,GAAgE,KAAK,CAArE,GAAyEA,WAAW,CAACxP,IAAZ,CAAiB+B,CAAjB,EAAoBwG,MAApB,CAAhF;EACD,eAJD;EAKD,aARiD;EASlDgB,YAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBhB,MAAlB,EAA0B;EAClCT,cAAAA,MAAM,CAACyB,QAAP,CAAgBhB,MAAhB;EACAsF,cAAAA,iBAAiB,CAACrI,OAAlB,CAA0B,UAAUzD,CAAV,EAAa;EACrC,oBAAI0N,WAAJ;;EAEA,uBAAO,CAACA,WAAW,GAAG1N,CAAC,CAACwH,QAAjB,MAA+B,IAA/B,IAAuCkG,WAAW,KAAK,KAAK,CAA5D,GAAgE,KAAK,CAArE,GAAyEA,WAAW,CAACzP,IAAZ,CAAiB+B,CAAjB,EAAoBwG,MAApB,CAAhF;EACD,eAJD;EAKD;EAhBiD,WAAhC,CAApB;EAkBD,SAnBM,CAAP;EAoBD,OA3BM,CAAP;EA4BD,KA1EY;EA2EbmH,IAAAA,SAAS,EAAE9H,eAAa,CAAC;EACvB+H,MAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBC,KAAlB,EAAyB;EACjC,YAAIpF,OAAO,GAAGoF,KAAK,CAACpF,OAApB;EACAuD,QAAAA,WAAW,CAAC8B,QAAZ,CAAqBC,MAArB,CAA4BtF,OAA5B;EACD,OAJsB;EAKvBuF,MAAAA,cAAc,EAAE,SAASA,cAAT,CAAwBC,KAAxB,EAA+B;EAC7C,YAAIxF,OAAO,GAAGwF,KAAK,CAACxF,OAApB;EACA,YAAIyF,eAAe,GAAGlC,WAAW,CAACmC,IAAZ,CAAiB1F,OAAjB,EAA0B,QAA1B,EAAoC,UAApC,CAAtB;EACAyF,QAAAA,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,eAAe,CAACE,KAAhB,EAAlE;EACD,OATsB;EAUvBC,MAAAA,iBAAiB,EAAE,SAASA,iBAAT,CAA2BC,KAA3B,EAAkC;EACnD,YAAI7F,OAAO,GAAG6F,KAAK,CAAC7F,OAApB;EACAuD,QAAAA,WAAW,CAACmC,IAAZ,CAAiB1F,OAAjB,EAA0B,QAA1B,EAAoC,UAApC;EACD;EAbsB,KAAD,EAcrB4B,KAAK,CAACsD,SAde;EA3EX,GAhBK,CAApB;EA2GD;;ECvID,SAASvI,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;EAG1M,SAASgN,OAAT,CAAiBrM,IAAjB,EAAuB;EAC5B,MAAIgB,WAAW,GAAGhB,IAAI,CAACgB,WAAvB;EAAA,MACIkJ,KAAK,GAAGlK,IAAI,CAACkK,KADjB;EAAA,MAEInJ,KAAK,GAAGf,IAAI,CAACe,KAFjB,CAD4B;EAK5B;;EACA,MAAIqN,iBAAiB,GAAGpN,WAAW,CAACX,MAAZ,CAAmB,UAAUmH,GAAV,EAAetG,UAAf,EAA2B;EACpE,WAAOwE,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK8B,GAAL,CAAd,EAAyB,EAAzB,EAA6B3B,iBAAe,CAAC,EAAD,EAAK3E,UAAU,CAAC0E,MAAX,CAAkBiB,QAAvB,EAAiCnB,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKxE,UAAU,CAAC0E,MAAhB,CAAd,EAAuC,EAAvC,EAA2C;EACvJyI,MAAAA,QAAQ,EAAE,SAASA,QAAT,GAAoB;EAC5B;EACA,eAAOlO,OAAO,CAACe,UAAU,CAACC,KAAZ,CAAd;EACD;EAJsJ,KAA3C,CAA9C,CAA5C,CAApB;EAMD,GAPuB,EAOrB,EAPqB,CAAxB;EAQA,MAAImN,cAAc,GAAGpE,KAAK,CAACmC,OAAN,CAAc;EACjC9F,IAAAA,OAAO,EAAE5I,MAAM,CAACyC,MAAP,CAAcgO,iBAAd,CADwB;EAEjCA,IAAAA,iBAAiB,EAAEA,iBAFc;EAGjCrN,IAAAA,KAAK,EAAEA;EAH0B,GAAd,CAArB,CAd4B;;EAoB5B,SAAOZ,OAAO,CAACmO,cAAD,CAAP,CAAwBvK,MAAxB,CAA+B6C,OAA/B,EAAwChH,GAAxC,CAA4C,UAAUgG,MAAV,EAAkB;EACnE,WAAO;EACLA,MAAAA,MAAM,EAAEA,MADH;EAELzE,MAAAA,KAAK,EAAEyE,MAAM,CAACyI,QAAP;EAFF,KAAP;EAID,GALM,CAAP;EAMD;;ECjCD,SAASjP,OAAT,CAAiBC,GAAjB,EAAsB;EAAE;;EAA2B,SAAOD,OAAO,GAAG,cAAc,OAAOb,MAArB,IAA+B,YAAY,OAAOA,MAAM,CAACC,QAAzD,GAAoE,UAAUa,GAAV,EAAe;EAAE,WAAO,OAAOA,GAAd;EAAoB,GAAzG,GAA4G,UAAUA,GAAV,EAAe;EAAE,WAAOA,GAAG,IAAI,cAAc,OAAOd,MAA5B,IAAsCc,GAAG,CAACrB,WAAJ,KAAoBO,MAA1D,IAAoEc,GAAG,KAAKd,MAAM,CAACX,SAAnF,GAA+F,QAA/F,GAA0G,OAAOyB,GAAxH;EAA8H,GAArQ,EAAuQD,OAAO,CAACC,GAAD,CAArR;EAA6R;;EAEhV,SAASgM,oBAAT,CAA4BrO,GAA5B,EAAiC;EAAE,SAAOsO,oBAAkB,CAACtO,GAAD,CAAlB,IAA2BuO,kBAAgB,CAACvO,GAAD,CAA3C,IAAoDI,6BAA2B,CAACJ,GAAD,CAA/E,IAAwFwO,oBAAkB,EAAjH;EAAsH;;EAEzJ,SAASA,oBAAT,GAA8B;EAAE,QAAM,IAAIlO,SAAJ,CAAc,sIAAd,CAAN;EAA8J;;EAE9L,SAASF,6BAAT,CAAqCG,CAArC,EAAwCC,MAAxC,EAAgD;EAAE,MAAI,CAACD,CAAL,EAAQ;EAAQ,MAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B,OAAOE,mBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;EAAqC,MAAIE,CAAC,GAAGC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BP,CAA/B,EAAkCQ,KAAlC,CAAwC,CAAxC,EAA2C,CAAC,CAA5C,CAAR;EAAwD,MAAIL,CAAC,KAAK,QAAN,IAAkBH,CAAC,CAACS,WAAxB,EAAqCN,CAAC,GAAGH,CAAC,CAACS,WAAF,CAAcC,IAAlB;EAAwB,MAAIP,CAAC,KAAK,KAAN,IAAeA,CAAC,KAAK,KAAzB,EAAgC,OAAOhB,KAAK,CAACwB,IAAN,CAAWX,CAAX,CAAP;EAAsB,MAAIG,CAAC,KAAK,WAAN,IAAqB,2CAA2CS,IAA3C,CAAgDT,CAAhD,CAAzB,EAA6E,OAAOD,mBAAiB,CAACF,CAAD,EAAIC,MAAJ,CAAxB;EAAsC;;EAEha,SAAS+N,kBAAT,CAA0BE,IAA1B,EAAgC;EAAE,MAAI,OAAOlN,MAAP,KAAkB,WAAlB,IAAiCkN,IAAI,CAAClN,MAAM,CAACC,QAAR,CAAJ,IAAyB,IAA1D,IAAkEiN,IAAI,CAAC,YAAD,CAAJ,IAAsB,IAA5F,EAAkG,OAAO/O,KAAK,CAACwB,IAAN,CAAWuN,IAAX,CAAP;EAA0B;;EAE9J,SAASH,oBAAT,CAA4BtO,GAA5B,EAAiC;EAAE,MAAIN,KAAK,CAACyC,OAAN,CAAcnC,GAAd,CAAJ,EAAwB,OAAOS,mBAAiB,CAACT,GAAD,CAAxB;EAAgC;;EAE3F,SAASS,mBAAT,CAA2BT,GAA3B,EAAgCoB,GAAhC,EAAqC;EAAE,MAAIA,GAAG,IAAI,IAAP,IAAeA,GAAG,GAAGpB,GAAG,CAACR,MAA7B,EAAqC4B,GAAG,GAAGpB,GAAG,CAACR,MAAV;;EAAkB,OAAK,IAAIS,CAAC,GAAG,CAAR,EAAWoB,IAAI,GAAG,IAAI3B,KAAJ,CAAU0B,GAAV,CAAvB,EAAuCnB,CAAC,GAAGmB,GAA3C,EAAgDnB,CAAC,EAAjD,EAAqD;EAAEoB,IAAAA,IAAI,CAACpB,CAAD,CAAJ,GAAUD,GAAG,CAACC,CAAD,CAAb;EAAmB;;EAAC,SAAOoB,IAAP;EAAc;;EAEvL,SAAS4G,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;;EAKjN,SAASkP,aAAT,CAAuBvK,IAAvB,EAA6B;EAC3B,SAAO4C,OAAO,CAAC5C,IAAI,CAACwK,OAAN,CAAd;EACD;;EAED,SAASC,sBAAT,CAAgCC,WAAhC,EAA6C;EAC3C,SAAO9H,OAAO,CAAC8H,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAACF,OAAvE,CAAd;EACD;;EAEM,SAASG,UAAT,CAAoBC,kBAApB,EAAwC/H,QAAxC,EAAkD;EACvD,MAAI4H,sBAAsB,CAACG,kBAAD,CAA1B,EAAgD;EAC9C,WAAOlJ,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKkJ,kBAAL,CAAd,EAAwC,EAAxC,EAA4C;EAC9DC,MAAAA,QAAQ,EAAED,kBAAkB,CAACE,OAAnB,CAA2BlP,GAA3B,CAA+B,UAAUqH,KAAV,EAAiB;EACxD,eAAO;EACLA,UAAAA,KAAK,EAAEA,KADF;EAELJ,UAAAA,QAAQ,EAAEA,QAFL;EAGLkI,UAAAA,iBAAiB,EAAEH,kBAAkB,CAACG;EAHjC,SAAP;EAKD,OANS;EADoD,KAA5C,CAApB;EASD;;EAED,SAAO;EACL5N,IAAAA,KAAK,EAAEyN,kBADF;EAEL/H,IAAAA,QAAQ,EAAEA;EAFL,GAAP;EAID;EACM,SAASnC,OAAT,CAAiBvD,KAAjB,EAAwB;EAC7B,MAAI6N,MAAM,GAAG7N,KAAK,CAACd,MAAN,CAAa,UAAUmH,GAAV,EAAexL,OAAf,EAAwB;EAChD,QAAI,CAACuS,aAAa,CAACvS,OAAD,CAAlB,EAA6B;EAC3BwL,MAAAA,GAAG,CAACxI,IAAJ,CAAShD,OAAT;EACA,aAAOwL,GAAP;EACD;;EAED,QAAIyH,YAAY,GAAGjT,OAAO,CAACiT,YAA3B;EAAA,QACIT,OAAO,GAAGxS,OAAO,CAACwS,OADtB;EAAA,QAEIU,WAAW,GAAGlT,OAAO,CAACkT,WAF1B;EAAA,QAGIL,QAAQ,GAAG7S,OAAO,CAAC6S,QAHvB;EAIA,QAAIM,SAAS,GAAG3H,GAAG,CAAC4H,IAAJ,CAAS,UAAUpL,IAAV,EAAgB;EACvC,aAAOuK,aAAa,CAACvS,OAAD,CAAb,IAA0BuS,aAAa,CAACvK,IAAD,CAAvC,IAAiDA,IAAI,CAACiL,YAAL,KAAsBA,YAAvE,IAAuFrI,OAAO,CAACsI,WAAD,CAA9F,IAA+GlL,IAAI,CAACkL,WAAL,KAAqBA,WAA3I;EACD,KAFe,CAAhB;;EAIA,QAAIC,SAAJ,EAAe;EACb,UAAIE,gBAAJ;;EAEA,OAACA,gBAAgB,GAAGF,SAAS,CAAChO,KAA9B,EAAqCnC,IAArC,CAA0ClC,KAA1C,CAAgDuS,gBAAhD,EAAkEhE,oBAAkB,CAACwD,QAAD,CAApF;EACD,KAJD,MAIO;EACL,UAAIS,OAAO,GAAG;EACZd,QAAAA,OAAO,EAAEA,OADG;EAEZU,QAAAA,WAAW,EAAEA,WAFD;EAGZ/N,QAAAA,KAAK,EAAE0N,QAHK;EAIZI,QAAAA,YAAY,EAAEA;EAJF,OAAd;EAMAzH,MAAAA,GAAG,CAACxI,IAAJ,CAASsQ,OAAT;EACD;;EAED,WAAO9H,GAAP;EACD,GA7BY,EA6BV,EA7BU,CAAb;EA8BA,MAAIpH,MAAM,GAAG4O,MAAM,CAACpP,GAAP,CAAW,UAAU2P,gBAAV,EAA4B;EAClD,QAAI,CAAChB,aAAa,CAACgB,gBAAD,CAAlB,EAAsC;EACpC,aAAO9K,OAAO,CAACC,OAAR,CAAgB6K,gBAAhB,CAAP;EACD;;EAED,QAAIvP,IAAI,GAAGuP,gBAAX;EAAA,QACIf,OAAO,GAAGxO,IAAI,CAACwO,OADnB;EAAA,QAEIrN,KAAK,GAAGnB,IAAI,CAACmB,KAFjB;EAAA,QAGI8N,YAAY,GAAGjP,IAAI,CAACiP,YAHxB;EAIA,WAAOT,OAAO,CAAC;EACbS,MAAAA,YAAY,EAAEA,YADD;EAEbJ,MAAAA,QAAQ,EAAE1N;EAFG,KAAD,CAAd;EAID,GAbY,CAAb;EAcA,SAAOsD,OAAO,CAACiC,GAAR,CAAYtG,MAAZ,EAAoBqC,IAApB,CAAyB,UAAU+M,SAAV,EAAqB;EACnD,WAAOrP,OAAO,CAACqP,SAAD,CAAd;EACD,GAFM,CAAP;EAGD;EACM,SAASC,WAAT,CAAqBD,SAArB,EAAgCjJ,OAAhC,EAAyC;EAC9C,SAAOA,OAAO,CAAC3G,GAAR,CAAY,UAAUgG,MAAV,EAAkB;EACnC,QAAI8J,OAAO,GAAGF,SAAS,CAACzL,MAAV,CAAiB,UAAU4L,QAAV,EAAoB;EACjD,aAAOA,QAAQ,CAAC9I,QAAT,KAAsBjB,MAAM,CAACiB,QAApC;EACD,KAFa,CAAd;EAGA,QAAIoC,OAAO,GAAGyG,OAAO,CAAC9P,GAAR,CAAY,UAAUK,KAAV,EAAiB;EACzC,UAAIkB,KAAK,GAAGlB,KAAK,CAACkB,KAAlB;EACA,aAAOA,KAAP;EACD,KAHa,CAAd;EAIA,QAAIyO,SAAS,GAAGF,OAAO,CAAC,CAAD,CAAP,CAAWX,iBAA3B;EACA,QAAI5N,KAAK,GAAGyO,SAAS,GAAGA,SAAS,CAAC7G,oBAAoB,CAACE,OAAD,CAArB,CAAZ,GAA8CA,OAAnE;EACA7H,IAAAA,SAAS,CAAC1E,KAAK,CAACyC,OAAN,CAAcgC,KAAd,CAAD,EAAuB,YAAY;EAC1C,aAAO,yCAAyCX,MAAzC,CAAgDoF,MAAM,CAACiB,QAAvD,EAAiE,qDAAjE,EAAwHrG,MAAxH,CAA+HgG,IAAI,CAACC,SAAL,CAAerH,OAAO,CAAC+B,KAAD,CAAtB,CAA/H,EAA+J,OAA/J,EAAwKX,MAAxK,CAA+KgG,IAAI,CAACC,SAAL,CAAenH,OAAO,CAAC6B,KAAD,CAAtB,EAA+B,IAA/B,EAAqC,CAArC,CAA/K,EAAwN,uGAAxN,CAAP;EACD,KAFQ,CAAT;EAGAC,IAAAA,SAAS,CAACD,KAAK,CAAC0O,KAAN,CAAYjJ,OAAZ,CAAD,EAAuB,yCAAyCpG,MAAzC,CAAgDoF,MAAM,CAACiB,QAAvD,EAAiE,gDAAjE,EAAmHrG,MAAnH,CAA0HgG,IAAI,CAACC,SAAL,CAAepK,SAAf,CAA1H,EAAqJ,0IAArJ,CAAvB,CAAT;EACA,WAAO;EACLuJ,MAAAA,MAAM,EAAEA,MADH;EAELzE,MAAAA,KAAK,EAAEA;EAFF,KAAP;EAID,GAlBM,CAAP;EAmBD;;ECtHD,IAAI2O,WAAS,GAAG,CAAC,OAAD,EAAU,WAAV,EAAuB,OAAvB,EAAgC,OAAhC,EAAyC,SAAzC,EAAoD,OAApD,CAAhB;;EAEA,SAAS7K,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;;EAEjN,SAAS0Q,0BAAT,CAAkCnK,MAAlC,EAA0CoK,QAA1C,EAAoD;EAAE,MAAIpK,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;;EAAW,MAAID,MAAM,GAAGsK,+BAA6B,CAACrK,MAAD,EAASoK,QAAT,CAA1C;;EAA8D,MAAI9P,GAAJ,EAASjD,CAAT;;EAAY,MAAIU,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAI6K,gBAAgB,GAAGvS,MAAM,CAAC0H,qBAAP,CAA6BO,MAA7B,CAAvB;;EAA6D,SAAK3I,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGiT,gBAAgB,CAAC1T,MAAjC,EAAyCS,CAAC,EAA1C,EAA8C;EAAEiD,MAAAA,GAAG,GAAGgQ,gBAAgB,CAACjT,CAAD,CAAtB;EAA2B,UAAI+S,QAAQ,CAACG,OAAT,CAAiBjQ,GAAjB,KAAyB,CAA7B,EAAgC;EAAU,UAAI,CAACvC,MAAM,CAACC,SAAP,CAAiBwS,oBAAjB,CAAsCtS,IAAtC,CAA2C8H,MAA3C,EAAmD1F,GAAnD,CAAL,EAA8D;EAAUyF,MAAAA,MAAM,CAACzF,GAAD,CAAN,GAAc0F,MAAM,CAAC1F,GAAD,CAApB;EAA4B;EAAE;;EAAC,SAAOyF,MAAP;EAAgB;;EAE5e,SAASsK,+BAAT,CAAuCrK,MAAvC,EAA+CoK,QAA/C,EAAyD;EAAE,MAAIpK,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;EAAW,MAAID,MAAM,GAAG,EAAb;EAAiB,MAAI0K,UAAU,GAAG1S,MAAM,CAACyH,IAAP,CAAYQ,MAAZ,CAAjB;EAAsC,MAAI1F,GAAJ,EAASjD,CAAT;;EAAY,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGoT,UAAU,CAAC7T,MAA3B,EAAmCS,CAAC,EAApC,EAAwC;EAAEiD,IAAAA,GAAG,GAAGmQ,UAAU,CAACpT,CAAD,CAAhB;EAAqB,QAAI+S,QAAQ,CAACG,OAAT,CAAiBjQ,GAAjB,KAAyB,CAA7B,EAAgC;EAAUyF,IAAAA,MAAM,CAACzF,GAAD,CAAN,GAAc0F,MAAM,CAAC1F,GAAD,CAApB;EAA4B;;EAAC,SAAOyF,MAAP;EAAgB;EAKnT,IAAI2K,aAAa,GAAG,IAApB;EACA,IAAI/L,wBAAwB,GAAGJ,2BAA2B,EAA1D;EACO,SAASoM,OAAT,CAAiBvQ,IAAjB,EAAuB;EAC5B,MAAIwQ,KAAK,GAAGxQ,IAAI,CAACwQ,KAAjB;EAAA,MACIC,cAAc,GAAGzQ,IAAI,CAAC0Q,SAD1B;EAAA,MAEIA,SAAS,GAAGD,cAAc,KAAK,KAAK,CAAxB,GAA4B,EAA5B,GAAiCA,cAFjD;EAAA,MAGIvG,KAAK,GAAGlK,IAAI,CAACkK,KAHjB;EAAA,MAIIjD,KAAK,GAAGjH,IAAI,CAACiH,KAJjB;EAAA,MAKI0J,OAAO,GAAG3Q,IAAI,CAAC2Q,OALnB;EAAA,MAMI/F,KAAK,GAAG5K,IAAI,CAAC4K,KANjB;EAAA,MAOIgG,OAAO,GAAGb,0BAAwB,CAAC/P,IAAD,EAAO8P,WAAP,CAPtC;;EASA,MAAIQ,aAAJ,EAAmB;EACjBpG,IAAAA,KAAK,CAAC2B,WAAN,CAAkBjP,YAAlB,CAA+B0T,aAA/B;EACD;;EAED,MAAIvF,cAAc,GAAG6F,OAAO,CAAC7F,cAA7B;EAAA,MACI3D,SAAS,GAAGwJ,OAAO,CAACxJ,SADxB;EAAA,MAEI0D,QAAQ,GAAG8F,OAAO,CAAC9F,QAFvB;EAAA,MAGID,eAAe,GAAG+F,OAAO,CAAC/F,eAH9B;EAAA,MAIIM,SAAS,GAAGyF,OAAO,CAACzF,SAJxB;EAKAL,EAAAA,QAAQ,CAAC7D,KAAD,CAAR;EACA4D,EAAAA,eAAe,CAACX,KAAK,CAACnF,mBAAP,CAAf;;EAEA,MAAI,CAACkC,KAAD,IAAUiD,KAAK,CAAC8B,WAAN,KAAsB,KAApC,EAA2C;EACzC,QAAI6E,iBAAJ;;EAEA,QAAI7P,WAAW,GAAG4J,KAAK,CAACR,QAAN,GAAiBpJ,WAAjB,CAA6BpB,GAA7B,CAAiC,UAAUsB,UAAV,EAAsB;EACvE,aAAOwE,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKxE,UAAL,CAAd,EAAgC,EAAhC,EAAoC;EACtDC,QAAAA,KAAK,EAAE;EAD+C,OAApC,CAApB;EAGD,KAJiB,CAAlB;EAKAgK,IAAAA,SAAS,CAAC,MAAD,CAAT;EACAJ,IAAAA,cAAc,CAAC/J,WAAD,CAAd;EACAoG,IAAAA,SAAS,CAAC,CAACyJ,iBAAiB,GAAGH,SAAS,CAAClE,MAA/B,MAA2C,IAA3C,IAAmDqE,iBAAiB,KAAK,KAAK,CAA9E,GAAkFA,iBAAlF,GAAsG3G,KAAK,CAACkC,eAAN,CAAsB;EACpIrL,MAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAD6H,KAAtB,CAAvG,CAAT,CAVyC;EAazC;EACA;EACA;;EAEA,QAAI0G,QAAQ,GAAGtN,UAAU,CAACe,wBAAwB,CAACvD,WAAD,CAAxB,CAAsCyB,IAAtC,CAA2C,YAAY;EAC/E,aAAOgC,OAAO,CAACC,OAAR,EAAP;EACD,KAFyB,CAAD,CAAzB;;EAIA,WAAOkG,KAAK,CAACF,eAAN,CAAsB/K,GAAtB,CAA0BmR,QAA1B,CAAP;EACD;;EAED3F,EAAAA,SAAS,CAAC,SAAD,CAAT;EACAmF,EAAAA,aAAa,GAAGpG,KAAK,CAAC2B,WAAN,CAAkBhP,UAAlB,CAA6B,YAAY;EACvDsO,IAAAA,SAAS,CAAC,SAAD,CAAT;EACD,GAFe,EAEbjB,KAAK,CAACiC,cAFO,CAAhB,CA/C4B;EAkD5B;EACA;EACA;EACA;EACA;;EAEA,MAAImD,OAAO,GAAG9L,UAAU,CAACe,wBAAwB,CAAC2F,KAAK,CAAC9D,UAAN,CAAiBV,eAAa,CAAC;EAC/EuB,IAAAA,KAAK,EAAEA,KADwE;EAE/E0J,IAAAA,OAAO,EAAEA,OAFsE;EAG/E5P,IAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAHwE,GAAD,EAI7EwG,OAJ6E,CAA9B,EAIrCnO,IAJqC,CAIhC,UAAU8D,OAAV,EAAmB;EACnC,WAAO9B,OAAO,CAACiC,GAAR,CAAYH,OAAO,CAAC3G,GAAR,CAAY,UAAUgG,MAAV,EAAkB;EAC/C,aAAOnB,OAAO,CAACC,OAAR,CAAgBkB,MAAM,CAACyI,QAAP,CAAgB3I,eAAa,CAAC;EACnDuB,QAAAA,KAAK,EAAEA,KAD4C;EAEnD0J,QAAAA,OAAO,EAAEA,OAF0C;EAGnD5P,QAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAH4C,OAAD,EAIjDwG,OAJiD,CAA7B,CAAhB,EAIOnO,IAJP,CAIY,UAAUmM,kBAAV,EAA8B;EAC/C,eAAOD,UAAU,CAACC,kBAAD,EAAqBhJ,MAAM,CAACiB,QAA5B,CAAjB;EACD,OANM,CAAP;EAOD,KARkB,CAAZ,EAQHpE,IARG,CAQEiC,OARF,EAQWjC,IARX,CAQgB,UAAU+M,SAAV,EAAqB;EAC1C,aAAOC,WAAW,CAACD,SAAD,EAAYjJ,OAAZ,CAAlB;EACD,KAVM,EAUJ9D,IAVI,CAUC,UAAUzB,WAAV,EAAuB;EAC7B,aAAOqL,OAAO,CAAC;EACbrL,QAAAA,WAAW,EAAEA,WADA;EAEbkJ,QAAAA,KAAK,EAAEA,KAFM;EAGbnJ,QAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAHM,OAAD,CAAd;EAKD,KAhBM,CAAP;EAiBD,GAtBiD,CAAD,CAAzB,CAAV,CAsBT3H,IAtBS,CAsBJ,UAAUzB,WAAV,EAAuB;EAC/B,QAAI+P,kBAAJ,CAD+B;EAI/B;EACA;EACA;;;EACA5F,IAAAA,SAAS,CAAC,MAAD,CAAT;EACAJ,IAAAA,cAAc,CAAC/J,WAAD,CAAd;EACA,QAAIgQ,WAAW,GAAG9G,KAAK,CAACkC,eAAN,CAAsB;EACtCrL,MAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAD+B,KAAtB,CAAlB;EAGAhD,IAAAA,SAAS,CAAC,CAAC2J,kBAAkB,GAAGL,SAAS,CAAClE,MAAhC,MAA4C,IAA5C,IAAoDuE,kBAAkB,KAAK,KAAK,CAAhF,GAAoFA,kBAApF,GAAyG7G,KAAK,CAAC8B,WAAN,IAAqB,CAAC/E,KAAtB,IAA+B+J,WAA/B,IAA8CA,WAAxJ,CAAT;EACA,QAAIC,eAAe,GAAG7I,aAAa,CAACwC,KAAK,CAACR,QAAN,EAAD,CAAnC;;EAEA,QAAIQ,KAAK,CAACR,QAAN,GAAiBtC,YAAjB,KAAkC,IAAlC,IAA0CmJ,eAA9C,EAA+D;EAC7D,UAAIjN,IAAI,GAAGiN,eAAe,CAACjN,IAA3B;EAAA,UACIqE,cAAc,GAAG4I,eAAe,CAAC5I,cADrC;EAAA,UAEIC,OAAO,GAAG2I,eAAe,CAAC3I,OAF9B;EAAA,UAGI1C,MAAM,GAAGqL,eAAe,CAACrL,MAH7B;EAIAA,MAAAA,MAAM,CAACyB,QAAP,CAAgB3B,eAAa,CAAC;EAC5B8K,QAAAA,KAAK,EAAEA,KADqB;EAE5BxM,QAAAA,IAAI,EAAEA,IAFsB;EAG5BqE,QAAAA,cAAc,EAAEA,cAHY;EAI5BC,QAAAA,OAAO,EAAEA,OAJmB;EAK5BqI,QAAAA,OAAO,EAAEA,OALmB;EAM5B/K,QAAAA,MAAM,EAAEA,MANoB;EAO5B7E,QAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPqB,OAAD,EAQ1BwG,OAR0B,CAA7B;EASD;EACF,GApDa,EAoDX7N,OApDW,CAoDH,YAAY;EACrBoI,IAAAA,SAAS,CAAC,MAAD,CAAT;;EAEA,QAAImF,aAAJ,EAAmB;EACjBpG,MAAAA,KAAK,CAAC2B,WAAN,CAAkBjP,YAAlB,CAA+B0T,aAA/B;EACD;EACF,GA1Da,CAAd;EA2DA,SAAO1F,KAAK,CAACF,eAAN,CAAsB/K,GAAtB,CAA0B2P,OAA1B,CAAP;EACD;;ECrID,IAAIQ,WAAS,GAAG,CAAC,OAAD,EAAU,OAAV,EAAmB,SAAnB,EAA8B,OAA9B,CAAhB;;EAEA,SAAS7K,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;;EAEjN,SAAS0Q,0BAAT,CAAkCnK,MAAlC,EAA0CoK,QAA1C,EAAoD;EAAE,MAAIpK,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;;EAAW,MAAID,MAAM,GAAGsK,+BAA6B,CAACrK,MAAD,EAASoK,QAAT,CAA1C;;EAA8D,MAAI9P,GAAJ,EAASjD,CAAT;;EAAY,MAAIU,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAI6K,gBAAgB,GAAGvS,MAAM,CAAC0H,qBAAP,CAA6BO,MAA7B,CAAvB;;EAA6D,SAAK3I,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGiT,gBAAgB,CAAC1T,MAAjC,EAAyCS,CAAC,EAA1C,EAA8C;EAAEiD,MAAAA,GAAG,GAAGgQ,gBAAgB,CAACjT,CAAD,CAAtB;EAA2B,UAAI+S,QAAQ,CAACG,OAAT,CAAiBjQ,GAAjB,KAAyB,CAA7B,EAAgC;EAAU,UAAI,CAACvC,MAAM,CAACC,SAAP,CAAiBwS,oBAAjB,CAAsCtS,IAAtC,CAA2C8H,MAA3C,EAAmD1F,GAAnD,CAAL,EAA8D;EAAUyF,MAAAA,MAAM,CAACzF,GAAD,CAAN,GAAc0F,MAAM,CAAC1F,GAAD,CAApB;EAA4B;EAAE;;EAAC,SAAOyF,MAAP;EAAgB;;EAE5e,SAASsK,+BAAT,CAAuCrK,MAAvC,EAA+CoK,QAA/C,EAAyD;EAAE,MAAIpK,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;EAAW,MAAID,MAAM,GAAG,EAAb;EAAiB,MAAI0K,UAAU,GAAG1S,MAAM,CAACyH,IAAP,CAAYQ,MAAZ,CAAjB;EAAsC,MAAI1F,GAAJ,EAASjD,CAAT;;EAAY,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGoT,UAAU,CAAC7T,MAA3B,EAAmCS,CAAC,EAApC,EAAwC;EAAEiD,IAAAA,GAAG,GAAGmQ,UAAU,CAACpT,CAAD,CAAhB;EAAqB,QAAI+S,QAAQ,CAACG,OAAT,CAAiBjQ,GAAjB,KAAyB,CAA7B,EAAgC;EAAUyF,IAAAA,MAAM,CAACzF,GAAD,CAAN,GAAc0F,MAAM,CAAC1F,GAAD,CAApB;EAA4B;;EAAC,SAAOyF,MAAP;EAAgB;EAI5S,SAASuL,SAAT,CAAmBlR,IAAnB,EAAyB;EAC9B,MAAIwQ,KAAK,GAAGxQ,IAAI,CAACwQ,KAAjB;EAAA,MACItG,KAAK,GAAGlK,IAAI,CAACkK,KADjB;EAAA,MAEIyG,OAAO,GAAG3Q,IAAI,CAAC2Q,OAFnB;EAAA,MAGI/F,KAAK,GAAG5K,IAAI,CAAC4K,KAHjB;EAAA,MAIIgG,OAAO,GAAGb,0BAAwB,CAAC/P,IAAD,EAAO8P,WAAP,CAJtC;;EAMA,MAAIU,KAAK,CAACtQ,GAAN,KAAc,SAAd,IAA2BsQ,KAAK,CAACtQ,GAAN,KAAc,WAA7C,EAA0D;EACxD;EACA,QAAIiR,qBAAqB,GAAG,SAASA,qBAAT,GAAiC;EAC3D,UAAIC,QAAQ,GAAGlH,KAAK,CAAC2B,WAAN,CAAkBwF,QAAlB,CAA2BC,cAA3B,CAA0C,GAAG9Q,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB,EAA8B9L,MAA9B,CAAqCoK,KAAK,CAACR,QAAN,GAAiBtC,YAAtD,CAA1C,CAAf;;EAEA,UAAIsJ,QAAJ,EAAc;EACZ,YAAIA,QAAQ,CAACG,sBAAb,EAAqC;EACnCH,UAAAA,QAAQ,CAACG,sBAAT,CAAgC,KAAhC;EACD,SAFD,MAEO;EACLH,UAAAA,QAAQ,CAACI,cAAT,CAAwB,KAAxB;EACD;EACF;EACF,KAVD,CAFwD;;;EAexD,QAAIC,eAAe,GAAG,SAASA,eAAT,GAA2B;EAC/C,UAAIR,eAAe,GAAG7I,aAAa,CAACwC,KAAK,CAACR,QAAN,EAAD,CAAnC;;EAEA,UAAIQ,KAAK,CAACR,QAAN,GAAiBtC,YAAjB,KAAkC,IAAlC,IAA0CmJ,eAA9C,EAA+D;EAC7D,YAAIjN,IAAI,GAAGiN,eAAe,CAACjN,IAA3B;EAAA,YACIqE,cAAc,GAAG4I,eAAe,CAAC5I,cADrC;EAAA,YAEIC,OAAO,GAAG2I,eAAe,CAAC3I,OAF9B;EAAA,YAGI1C,MAAM,GAAGqL,eAAe,CAACrL,MAH7B;EAIAA,QAAAA,MAAM,CAACyB,QAAP,CAAgB3B,eAAa,CAAC;EAC5B8K,UAAAA,KAAK,EAAEA,KADqB;EAE5BxM,UAAAA,IAAI,EAAEA,IAFsB;EAG5BqE,UAAAA,cAAc,EAAEA,cAHY;EAI5BC,UAAAA,OAAO,EAAEA,OAJmB;EAK5BqI,UAAAA,OAAO,EAAEA,OALmB;EAM5B/K,UAAAA,MAAM,EAAEA,MANoB;EAO5B7E,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPqB,SAAD,EAQ1BwG,OAR0B,CAA7B;EASD;EACF,KAlBD,CAfwD;EAkCxD;;;EAGAJ,IAAAA,KAAK,CAACkB,cAAN,GArCwD;EAsCxD;;EAEA,QAAI9G,KAAK,CAACR,QAAN,GAAiBoC,MAAjB,KAA4B,KAA5B,KAAsCtC,KAAK,CAAC8B,WAAN,IAAqBpF,OAAO,CAACgE,KAAK,CAACR,QAAN,GAAiBnD,KAAlB,CAAlE,CAAJ,EAAiG;EAC/FsJ,MAAAA,OAAO,CAAC7K,eAAa,CAAC;EACpB8K,QAAAA,KAAK,EAAEA,KADa;EAEpBtG,QAAAA,KAAK,EAAEA,KAFa;EAGpBjD,QAAAA,KAAK,EAAE2D,KAAK,CAACR,QAAN,GAAiBnD,KAHJ;EAIpB0J,QAAAA,OAAO,EAAEA,OAJW;EAKpB/F,QAAAA,KAAK,EAAEA;EALa,OAAD,EAMlBgG,OANkB,CAAd,CAAP,CAManO,IANb,CAMkB,YAAY;EAC5BmI,QAAAA,KAAK,CAACP,QAAN,CAAemG,KAAK,CAACtQ,GAArB,EAA0B;EACxByR,UAAAA,gBAAgB,EAAEzH,KAAK,CAACnF;EADA,SAA1B;EAGA0M,QAAAA,eAAe,GAJa;EAK5B;EACA;;EAEA5U,QAAAA,UAAU,CAACsU,qBAAD,EAAwB,CAAxB,CAAV;EACD,OAfD;EAgBD,KAjBD,MAiBO;EACLvG,MAAAA,KAAK,CAACP,QAAN,CAAemG,KAAK,CAACtQ,GAArB,EAA0B,EAA1B;EACAuR,MAAAA,eAAe;EACfN,MAAAA,qBAAqB;EACtB;EACF,GA9DD,MA8DO,IAAIX,KAAK,CAACtQ,GAAN,KAAc,QAAlB,EAA4B;EACjC;EACA;EACA;EACAsQ,IAAAA,KAAK,CAACkB,cAAN;EACA9G,IAAAA,KAAK,CAACP,QAAN,CAAemG,KAAK,CAACtQ,GAArB,EAA0B,IAA1B,EALiC;EAMjC;EACA;EACA;;EAEA0K,IAAAA,KAAK,CAACF,eAAN,CAAsBzG,SAAtB;EACD,GAXM,MAWA,IAAIuM,KAAK,CAACtQ,GAAN,KAAc,OAAlB,EAA2B;EAChC;EACA;EACA,QAAI0K,KAAK,CAACR,QAAN,GAAiBtC,YAAjB,KAAkC,IAAlC,IAA0C8C,KAAK,CAACR,QAAN,GAAiBpJ,WAAjB,CAA6B6O,KAA7B,CAAmC,UAAU3O,UAAV,EAAsB;EACrG,aAAOA,UAAU,CAACC,KAAX,CAAiB3E,MAAjB,KAA4B,CAAnC;EACD,KAF6C,CAA9C,EAEI;EACF;EACD,KAP+B;EAQhC;;;EAGAgU,IAAAA,KAAK,CAACkB,cAAN;;EAEA,QAAIzR,KAAK,GAAGmI,aAAa,CAACwC,KAAK,CAACR,QAAN,EAAD,CAAzB;EAAA,QACIpG,IAAI,GAAG/D,KAAK,CAAC+D,IADjB;EAAA,QAEIqE,cAAc,GAAGpI,KAAK,CAACoI,cAF3B;EAAA,QAGIC,OAAO,GAAGrI,KAAK,CAACqI,OAHpB;EAAA,QAII1C,MAAM,GAAG3F,KAAK,CAAC2F,MAJnB;;EAMA,QAAI4K,KAAK,CAACoB,OAAN,IAAiBpB,KAAK,CAACqB,OAA3B,EAAoC;EAClC,UAAIvJ,OAAO,KAAKjM,SAAhB,EAA2B;EACzBuJ,QAAAA,MAAM,CAACuB,QAAP,CAAgBzB,eAAa,CAAC;EAC5B8K,UAAAA,KAAK,EAAEA,KADqB;EAE5BxM,UAAAA,IAAI,EAAEA,IAFsB;EAG5BqE,UAAAA,cAAc,EAAEA,cAHY;EAI5BC,UAAAA,OAAO,EAAEA,OAJmB;EAK5BqI,UAAAA,OAAO,EAAEA,OALmB;EAM5B/K,UAAAA,MAAM,EAAEA,MANoB;EAO5B7E,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPqB,SAAD,EAQ1BwG,OAR0B,CAA7B;EASA1G,QAAAA,KAAK,CAACsD,SAAN,CAAgBK,cAAhB,CAA+B;EAC7BvF,UAAAA,OAAO,EAAEA,OADoB;EAE7BtE,UAAAA,IAAI,EAAEA,IAFuB;EAG7BjD,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAHsB,SAA/B;EAKD;EACF,KAjBD,MAiBO,IAAIoG,KAAK,CAACsB,QAAV,EAAoB;EACzB,UAAIxJ,OAAO,KAAKjM,SAAhB,EAA2B;EACzBuJ,QAAAA,MAAM,CAACuB,QAAP,CAAgBzB,eAAa,CAAC;EAC5B8K,UAAAA,KAAK,EAAEA,KADqB;EAE5BxM,UAAAA,IAAI,EAAEA,IAFsB;EAG5BqE,UAAAA,cAAc,EAAEA,cAHY;EAI5BC,UAAAA,OAAO,EAAEA,OAJmB;EAK5BqI,UAAAA,OAAO,EAAEA,OALmB;EAM5B/K,UAAAA,MAAM,EAAEA,MANoB;EAO5B7E,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPqB,SAAD,EAQ1BwG,OAR0B,CAA7B;EASA1G,QAAAA,KAAK,CAACsD,SAAN,CAAgBU,iBAAhB,CAAkC;EAChC5F,UAAAA,OAAO,EAAEA,OADuB;EAEhCtE,UAAAA,IAAI,EAAEA,IAF0B;EAGhCjD,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAHyB,SAAlC;EAKD;EACF,KAjBM,MAiBA,IAAIoG,KAAK,CAACuB,MAAV,EAAkB,CAAlB,MACA;EACL,UAAIzJ,OAAO,KAAKjM,SAAhB,EAA2B;EACzBuJ,QAAAA,MAAM,CAACuB,QAAP,CAAgBzB,eAAa,CAAC;EAC5B8K,UAAAA,KAAK,EAAEA,KADqB;EAE5BxM,UAAAA,IAAI,EAAEA,IAFsB;EAG5BqE,UAAAA,cAAc,EAAEA,cAHY;EAI5BC,UAAAA,OAAO,EAAEA,OAJmB;EAK5BqI,UAAAA,OAAO,EAAEA,OALmB;EAM5B/K,UAAAA,MAAM,EAAEA,MANoB;EAO5B7E,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPqB,SAAD,EAQ1BwG,OAR0B,CAA7B;EASA1G,QAAAA,KAAK,CAACsD,SAAN,CAAgBC,QAAhB,CAAyB;EACvBnF,UAAAA,OAAO,EAAEA,OADc;EAEvBtE,UAAAA,IAAI,EAAEA,IAFiB;EAGvBjD,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAHgB,SAAzB;EAKA;EACD;;EAEDmG,MAAAA,OAAO,CAAC7K,eAAa,CAAC;EACpB8K,QAAAA,KAAK,EAAEA,KADa;EAEpBE,QAAAA,SAAS,EAAE;EACTlE,UAAAA,MAAM,EAAE;EADC,SAFS;EAKpBtC,QAAAA,KAAK,EAAEA,KALa;EAMpBjD,QAAAA,KAAK,EAAEoB,cANa;EAOpBsI,QAAAA,OAAO,EAAEA,OAPW;EAQpB/F,QAAAA,KAAK,EAAEA;EARa,OAAD,EASlBgG,OATkB,CAAd,CAAP,CASanO,IATb,CASkB,YAAY;EAC5BmD,QAAAA,MAAM,CAACuB,QAAP,CAAgBzB,eAAa,CAAC;EAC5B8K,UAAAA,KAAK,EAAEA,KADqB;EAE5BxM,UAAAA,IAAI,EAAEA,IAFsB;EAG5BqE,UAAAA,cAAc,EAAEA,cAHY;EAI5BC,UAAAA,OAAO,EAAEA,OAJmB;EAK5BqI,UAAAA,OAAO,EAAEA,OALmB;EAM5B/K,UAAAA,MAAM,EAAEA,MANoB;EAO5B7E,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPqB,SAAD,EAQ1BwG,OAR0B,CAA7B;EASD,OAnBD;EAoBD;EACF;EACF;;EC7LD,IAAId,WAAS,GAAG,CAAC,OAAD,EAAU,SAAV,EAAqB,OAArB,CAAhB;EAAA,IACIkC,UAAU,GAAG,CAAC,cAAD,EAAiB,aAAjB,EAAgC,cAAhC,CADjB;EAAA,IAEIC,UAAU,GAAG,CAAC,cAAD,CAFjB;EAAA,IAGIC,UAAU,GAAG,CAAC,cAAD,EAAiB,WAAjB,CAHjB;EAAA,IAIIC,UAAU,GAAG,CAAC,MAAD,EAAS,QAAT,CAJjB;;EAMA,SAASlN,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;;EAEjN,SAAS0Q,0BAAT,CAAkCnK,MAAlC,EAA0CoK,QAA1C,EAAoD;EAAE,MAAIpK,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;;EAAW,MAAID,MAAM,GAAGsK,+BAA6B,CAACrK,MAAD,EAASoK,QAAT,CAA1C;;EAA8D,MAAI9P,GAAJ,EAASjD,CAAT;;EAAY,MAAIU,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAI6K,gBAAgB,GAAGvS,MAAM,CAAC0H,qBAAP,CAA6BO,MAA7B,CAAvB;;EAA6D,SAAK3I,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGiT,gBAAgB,CAAC1T,MAAjC,EAAyCS,CAAC,EAA1C,EAA8C;EAAEiD,MAAAA,GAAG,GAAGgQ,gBAAgB,CAACjT,CAAD,CAAtB;EAA2B,UAAI+S,QAAQ,CAACG,OAAT,CAAiBjQ,GAAjB,KAAyB,CAA7B,EAAgC;EAAU,UAAI,CAACvC,MAAM,CAACC,SAAP,CAAiBwS,oBAAjB,CAAsCtS,IAAtC,CAA2C8H,MAA3C,EAAmD1F,GAAnD,CAAL,EAA8D;EAAUyF,MAAAA,MAAM,CAACzF,GAAD,CAAN,GAAc0F,MAAM,CAAC1F,GAAD,CAApB;EAA4B;EAAE;;EAAC,SAAOyF,MAAP;EAAgB;;EAE5e,SAASsK,+BAAT,CAAuCrK,MAAvC,EAA+CoK,QAA/C,EAAyD;EAAE,MAAIpK,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;EAAW,MAAID,MAAM,GAAG,EAAb;EAAiB,MAAI0K,UAAU,GAAG1S,MAAM,CAACyH,IAAP,CAAYQ,MAAZ,CAAjB;EAAsC,MAAI1F,GAAJ,EAASjD,CAAT;;EAAY,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGoT,UAAU,CAAC7T,MAA3B,EAAmCS,CAAC,EAApC,EAAwC;EAAEiD,IAAAA,GAAG,GAAGmQ,UAAU,CAACpT,CAAD,CAAhB;EAAqB,QAAI+S,QAAQ,CAACG,OAAT,CAAiBjQ,GAAjB,KAAyB,CAA7B,EAAgC;EAAUyF,IAAAA,MAAM,CAACzF,GAAD,CAAN,GAAc0F,MAAM,CAAC1F,GAAD,CAApB;EAA4B;;EAAC,SAAOyF,MAAP;EAAgB;EAK5S,SAASyM,cAAT,CAAwBpS,IAAxB,EAA8B;EACnC,MAAIkK,KAAK,GAAGlK,IAAI,CAACkK,KAAjB;EAAA,MACIyG,OAAO,GAAG3Q,IAAI,CAAC2Q,OADnB;EAAA,MAEI/F,KAAK,GAAG5K,IAAI,CAAC4K,KAFjB;EAAA,MAGIgG,OAAO,GAAGb,0BAAwB,CAAC/P,IAAD,EAAO8P,WAAP,CAHtC;;EAKA,MAAIuC,mBAAmB,GAAG,SAASA,mBAAT,CAA6BC,aAA7B,EAA4C;EACpE,QAAIC,YAAY,GAAGD,aAAa,CAACC,YAAjC;EAAA,QACIC,WAAW,GAAGF,aAAa,CAACE,WADhC;EAAA,QAEIC,YAAY,GAAGH,aAAa,CAACG,YAFjC;EAAA,QAGIC,IAAI,GAAG3C,0BAAwB,CAACuC,aAAD,EAAgBN,UAAhB,CAHnC;;EAKA,WAAOtM,eAAa,CAAC;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACAiN,MAAAA,YAAY,EAAE,SAASA,YAAT,CAAsBnC,KAAtB,EAA6B;EACzC;EACA;EACA;EACA;EACA;EACA;EACA,YAAIoC,yBAAyB,GAAGhI,KAAK,CAACR,QAAN,GAAiBoC,MAAjB,IAA2B,CAAC5B,KAAK,CAACF,eAAN,CAAsBxG,OAAtB,EAA5D;;EAEA,YAAI,CAAC0O,yBAAD,IAA8BpC,KAAK,CAAC7K,MAAN,KAAiB4M,YAAnD,EAAiE;EAC/D;EACD;;EAED,YAAIM,0BAA0B,GAAG,CAACL,WAAD,EAAcC,YAAd,EAA4BK,IAA5B,CAAiC,UAAUC,WAAV,EAAuB;EACvF,iBAAOxK,gBAAgB,CAACwK,WAAD,EAAcvC,KAAK,CAAC7K,MAApB,CAAvB;EACD,SAFgC,CAAjC;;EAIA,YAAIkN,0BAA0B,KAAK,KAAnC,EAA0C;EACxCjI,UAAAA,KAAK,CAACP,QAAN,CAAe,MAAf,EAAuB,IAAvB,EADwC;EAExC;EACA;EACA;;EAEA,cAAI,CAACH,KAAK,CAAC7H,KAAX,EAAkB;EAChBuI,YAAAA,KAAK,CAACF,eAAN,CAAsBzG,SAAtB;EACD;EACF;EACF,OAnCkB;EAoCnB;EACA;EACA;EACA;EACA+O,MAAAA,WAAW,EAAE,SAASA,WAAT,CAAqBxC,KAArB,EAA4B;EACvC,YAAI5F,KAAK,CAACR,QAAN,GAAiBoC,MAAjB,KAA4B,KAA5B,IAAqC+F,YAAY,KAAKrI,KAAK,CAAC2B,WAAN,CAAkBwF,QAAlB,CAA2B4B,aAAjF,IAAkGzC,KAAK,CAAC7K,MAAN,KAAiB4M,YAAvH,EAAqI;EACnI;EACD;;EAEDA,QAAAA,YAAY,CAACW,IAAb;EACD;EA9CkB,KAAD,EA+CjBR,IA/CiB,CAApB;EAgDD,GAtDD;;EAwDA,MAAIS,YAAY,GAAG,SAASA,YAAT,CAAsBT,IAAtB,EAA4B;EAC7C,WAAOhN,eAAa,CAAC;EACnB0N,MAAAA,IAAI,EAAE,UADa;EAEnB,uBAAiBxI,KAAK,CAACR,QAAN,GAAiBoC,MAFf;EAGnB,uBAAiB,SAHE;EAInB,mBAAa5B,KAAK,CAACR,QAAN,GAAiBoC,MAAjB,GAA0B,GAAGhM,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,OAApB,CAA1B,GAAyDjQ,SAJnD;EAKnB,yBAAmB,GAAGmE,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB;EALA,KAAD,EAMjBoG,IANiB,CAApB;EAOD,GARD;;EAUA,MAAIW,YAAY,GAAG,SAASA,YAAT,CAAsBf,aAAtB,EAAqC;EACtD,IAAmBA,aAAa,CAACC,YAAjC;EAAA,YACIG,IAAI,GAAG3C,0BAAwB,CAACuC,aAAD,EAAgBL,UAAhB;;EAEnC,WAAOvM,eAAa,CAAC;EACnB4E,MAAAA,MAAM,EAAE,EADW;EAEnBgJ,MAAAA,UAAU,EAAE,IAFO;EAGnBF,MAAAA,IAAI,EAAE,QAHa;EAInBtG,MAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkB0D,KAAlB,EAAyB;EACjC,YAAI+C,qBAAJ;;EAEA/C,QAAAA,KAAK,CAACkB,cAAN;EACAxH,QAAAA,KAAK,CAAC4C,QAAN,CAAepH,eAAa,CAAC;EAC3B8K,UAAAA,KAAK,EAAEA,KADoB;EAE3BG,UAAAA,OAAO,EAAEA,OAFkB;EAG3B5P,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAHoB,SAAD,EAIzBwG,OAJyB,CAA5B;EAKAhG,QAAAA,KAAK,CAACP,QAAN,CAAe,QAAf,EAAyB,IAAzB;EACA,SAACkJ,qBAAqB,GAAGjB,aAAa,CAACC,YAAvC,MAAyD,IAAzD,IAAiEgB,qBAAqB,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,qBAAqB,CAACL,IAAtB,EAA7G;EACD,OAfkB;EAgBnBjG,MAAAA,OAAO,EAAE,SAASA,OAAT,CAAiBuD,KAAjB,EAAwB;EAC/B,YAAIgD,sBAAJ;;EAEAhD,QAAAA,KAAK,CAACkB,cAAN;EACAxH,QAAAA,KAAK,CAAC+C,OAAN,CAAcvH,eAAa,CAAC;EAC1B8K,UAAAA,KAAK,EAAEA,KADmB;EAE1BG,UAAAA,OAAO,EAAEA,OAFiB;EAG1B5P,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAHmB,SAAD,EAIxBwG,OAJwB,CAA3B;EAKAhG,QAAAA,KAAK,CAACP,QAAN,CAAe,OAAf,EAAwB,IAAxB;EACA,SAACmJ,sBAAsB,GAAGlB,aAAa,CAACC,YAAxC,MAA0D,IAA1D,IAAkEiB,sBAAsB,KAAK,KAAK,CAAlG,GAAsG,KAAK,CAA3G,GAA+GA,sBAAsB,CAACvF,KAAvB,EAA/G;EACD;EA3BkB,KAAD,EA4BjByE,IA5BiB,CAApB;EA6BD,GAjCD;;EAmCA,MAAIe,aAAa,GAAG,SAASA,aAAT,CAAuBnB,aAAvB,EAAsC;EACxD,QAAIoB,qBAAJ;;EAEA,aAASC,OAAT,CAAiBnD,KAAjB,EAAwB;EACtB;EACA;EACA,UAAItG,KAAK,CAAC8B,WAAN,IAAqBpF,OAAO,CAACgE,KAAK,CAACR,QAAN,GAAiBnD,KAAlB,CAAhC,EAA0D;EACxDsJ,QAAAA,OAAO,CAAC7K,eAAa,CAAC;EACpB8K,UAAAA,KAAK,EAAEA,KADa;EAEpBtG,UAAAA,KAAK,EAAEA,KAFa;EAGpBjD,UAAAA,KAAK,EAAE2D,KAAK,CAACR,QAAN,GAAiBmC,UAAjB,IAA+B3B,KAAK,CAACR,QAAN,GAAiBnD,KAHnC;EAIpB0J,UAAAA,OAAO,EAAEA,OAJW;EAKpB/F,UAAAA,KAAK,EAAEA;EALa,SAAD,EAMlBgG,OANkB,CAAd,CAAP;EAOD;;EAEDhG,MAAAA,KAAK,CAACP,QAAN,CAAe,OAAf,EAAwB,IAAxB;EACD;;EAED,QAAIuJ,aAAa,IAAI,kBAAkB1J,KAAK,CAAC2B,WAA5B,CAAjB;;EAEA,QAAI5L,KAAK,GAAGqS,aAAa,IAAI,EAA7B;EAAA,QACmBrS,KAAK,CAACsS,YADzB;EAAA,YAEIsB,eAAe,GAAG5T,KAAK,CAAC6T,SAF5B;EAAA,QAGIA,SAAS,GAAGD,eAAe,KAAK,KAAK,CAAzB,GAA6B,GAA7B,GAAmCA,eAHnD;EAAA,QAIInB,IAAI,GAAG3C,0BAAwB,CAAC9P,KAAD,EAAQiS,UAAR;;EAEnC,QAAI6B,UAAU,GAAG3L,aAAa,CAACwC,KAAK,CAACR,QAAN,EAAD,CAA9B;EACA,QAAIvB,SAAS,GAAG,CAAC6K,qBAAqB,GAAGxJ,KAAK,CAAC2B,WAAN,CAAkB2B,SAA3C,MAA0D,IAA1D,IAAkEkG,qBAAqB,KAAK,KAAK,CAAjG,GAAqG,KAAK,CAA1G,GAA8GA,qBAAqB,CAAC7K,SAApJ;EACA,QAAImL,qBAAqB,GAAGpL,SAAS,CAACC,SAAD,CAArC;EACA,QAAIoL,YAAY,GAAGF,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,IAAgDA,UAAU,CAACzL,OAA3D,IAAsE,CAAC0L,qBAAvE,GAA+F,IAA/F,GAAsG,QAAzH;EACA,WAAOtO,eAAa,CAAC;EACnB,2BAAqB,MADF;EAEnB,+BAAyBkF,KAAK,CAACR,QAAN,GAAiBoC,MAAjB,IAA2B5B,KAAK,CAACR,QAAN,GAAiBtC,YAAjB,KAAkC,IAA7D,GAAoE,GAAGtH,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB,EAA8B9L,MAA9B,CAAqCoK,KAAK,CAACR,QAAN,GAAiBtC,YAAtD,CAApE,GAA0IzL,SAFhJ;EAGnB,uBAAiBuO,KAAK,CAACR,QAAN,GAAiBoC,MAAjB,GAA0B,GAAGhM,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,OAApB,CAA1B,GAAyDjQ,SAHvD;EAInB,yBAAmB,GAAGmE,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB,CAJA;EAKnBrN,MAAAA,KAAK,EAAE2L,KAAK,CAACR,QAAN,GAAiBmC,UAAjB,IAA+B3B,KAAK,CAACR,QAAN,GAAiBnD,KALpC;EAMnBqF,MAAAA,EAAE,EAAE,GAAG9L,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB,CANe;EAOnB4H,MAAAA,YAAY,EAAE,KAPK;EAQnBC,MAAAA,WAAW,EAAE,KARM;EASnBC,MAAAA,cAAc,EAAE,KATG;EAUnBH,MAAAA,YAAY,EAAEA,YAVK;EAWnBI,MAAAA,UAAU,EAAE,OAXO;EAYnBnI,MAAAA,SAAS,EAAEhC,KAAK,CAACgC,SAZE;EAanBD,MAAAA,WAAW,EAAE/B,KAAK,CAAC+B,WAbA;EAcnB6H,MAAAA,SAAS,EAAEA,SAdQ;EAenBrJ,MAAAA,IAAI,EAAE,QAfa;EAgBnB6J,MAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkB9D,KAAlB,EAAyB;EACjCD,QAAAA,OAAO,CAAC7K,eAAa,CAAC;EACpB8K,UAAAA,KAAK,EAAEA,KADa;EAEpBtG,UAAAA,KAAK,EAAEA,KAFa;EAGpBjD,UAAAA,KAAK,EAAEuJ,KAAK,CAAC+D,aAAN,CAAoBtV,KAApB,CAA0BlB,KAA1B,CAAgC,CAAhC,EAAmC+V,SAAnC,CAHa;EAIpBnD,UAAAA,OAAO,EAAEA,OAJW;EAKpB/F,UAAAA,KAAK,EAAEA;EALa,SAAD,EAMlBgG,OANkB,CAAd,CAAP;EAOD,OAxBkB;EAyBnBM,MAAAA,SAAS,EAAE,SAASA,WAAT,CAAmBV,KAAnB,EAA0B;EACnCgE,QAAAA,SAAU,CAAC9O,eAAa,CAAC;EACvB8K,UAAAA,KAAK,EAAEA,KADgB;EAEvBtG,UAAAA,KAAK,EAAEA,KAFgB;EAGvByG,UAAAA,OAAO,EAAEA,OAHc;EAIvB/F,UAAAA,KAAK,EAAEA;EAJgB,SAAD,EAKrBgG,OALqB,CAAd,CAAV;EAMD,OAhCkB;EAiCnB+C,MAAAA,OAAO,EAAEA,OAjCU;EAkCnBc,MAAAA,MAAM,EAAE,SAASA,MAAT,GAAkB;EACxB;EACA;EACA,YAAI,CAACb,aAAL,EAAoB;EAClBhJ,UAAAA,KAAK,CAACP,QAAN,CAAe,MAAf,EAAuB,IAAvB,EADkB;EAElB;EACA;EACA;;EAEA,cAAI,CAACH,KAAK,CAAC7H,KAAX,EAAkB;EAChBuI,YAAAA,KAAK,CAACF,eAAN,CAAsBzG,SAAtB;EACD;EACF;EACF,OA/CkB;EAgDnByQ,MAAAA,OAAO,EAAE,SAASA,OAAT,CAAiBlE,KAAjB,EAAwB;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAI8B,aAAa,CAACC,YAAd,KAA+BrI,KAAK,CAAC2B,WAAN,CAAkBwF,QAAlB,CAA2B4B,aAA1D,IAA2E,CAACrI,KAAK,CAACR,QAAN,GAAiBoC,MAAjG,EAAyG;EACvGmH,UAAAA,OAAO,CAACnD,KAAD,CAAP;EACD;EACF;EA3DkB,KAAD,EA4DjBkC,IA5DiB,CAApB;EA6DD,GA5FD;;EA8FA,MAAIiC,aAAa,GAAG,SAASA,aAAT,CAAuBjC,IAAvB,EAA6B;EAC/C,WAAOhN,eAAa,CAAC;EACnBkP,MAAAA,OAAO,EAAE,GAAGpU,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB,CADU;EAEnBA,MAAAA,EAAE,EAAE,GAAG9L,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB;EAFe,KAAD,EAGjBoG,IAHiB,CAApB;EAID,GALD;;EAOA,MAAImC,YAAY,GAAG,SAASA,YAAT,CAAsBnC,IAAtB,EAA4B;EAC7C,WAAOhN,eAAa,CAAC;EACnB0N,MAAAA,IAAI,EAAE,SADa;EAEnB,yBAAmB,GAAG5S,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB,CAFA;EAGnBA,MAAAA,EAAE,EAAE,GAAG9L,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,OAApB;EAHe,KAAD,EAIjBoG,IAJiB,CAApB;EAKD,GAND;;EAQA,MAAIoC,aAAa,GAAG,SAASA,aAAT,CAAuBpC,IAAvB,EAA6B;EAC/C,WAAOhN,eAAa,CAAC;EACnBqP,MAAAA,WAAW,EAAE,SAASA,WAAT,CAAqBvE,KAArB,EAA4B;EACvC;EACA;EACA;EACAA,QAAAA,KAAK,CAACkB,cAAN;EACD,OANkB;EAOnBsD,MAAAA,YAAY,EAAE,SAASA,YAAT,GAAwB;EACpCpK,QAAAA,KAAK,CAACP,QAAN,CAAe,YAAf,EAA6B,IAA7B;EACD;EATkB,KAAD,EAUjBqI,IAViB,CAApB;EAWD,GAZD;;EAcA,MAAIuC,YAAY,GAAG,SAASA,YAAT,CAAsB3C,aAAtB,EAAqC;EACtD,QAAItO,IAAI,GAAGsO,aAAa,CAACtO,IAAzB;EAAA,QACI4B,MAAM,GAAG0M,aAAa,CAAC1M,MAD3B;EAAA,QAEI8M,IAAI,GAAG3C,0BAAwB,CAACuC,aAAD,EAAgBH,UAAhB,CAFnC;;EAIA,WAAOzM,eAAa,CAAC;EACnB4G,MAAAA,EAAE,EAAE,GAAG9L,MAAH,CAAU0J,KAAK,CAACoC,EAAhB,EAAoB,QAApB,EAA8B9L,MAA9B,CAAqCwD,IAAI,CAACkH,iBAA1C,CADe;EAEnBkI,MAAAA,IAAI,EAAE,QAFa;EAGnB,uBAAiBxI,KAAK,CAACR,QAAN,GAAiBtC,YAAjB,KAAkC9D,IAAI,CAACkH,iBAHrC;EAInBgK,MAAAA,WAAW,EAAE,SAASA,WAAT,CAAqB1E,KAArB,EAA4B;EACvC,YAAIxM,IAAI,CAACkH,iBAAL,KAA2BN,KAAK,CAACR,QAAN,GAAiBtC,YAAhD,EAA8D;EAC5D;EACD;;EAED8C,QAAAA,KAAK,CAACP,QAAN,CAAe,WAAf,EAA4BrG,IAAI,CAACkH,iBAAjC;EACA,YAAI6I,UAAU,GAAG3L,aAAa,CAACwC,KAAK,CAACR,QAAN,EAAD,CAA9B;;EAEA,YAAIQ,KAAK,CAACR,QAAN,GAAiBtC,YAAjB,KAAkC,IAAlC,IAA0CiM,UAA9C,EAA0D;EACxD,cAAIoB,KAAK,GAAGpB,UAAU,CAAC/P,IAAvB;EAAA,cACIqE,cAAc,GAAG0L,UAAU,CAAC1L,cADhC;EAAA,cAEIC,OAAO,GAAGyL,UAAU,CAACzL,OAFzB;EAAA,cAGI8M,OAAO,GAAGrB,UAAU,CAACnO,MAHzB;;EAKAwP,UAAAA,OAAO,CAAC/N,QAAR,CAAiB3B,eAAa,CAAC;EAC7B8K,YAAAA,KAAK,EAAEA,KADsB;EAE7BxM,YAAAA,IAAI,EAAEmR,KAFuB;EAG7B9M,YAAAA,cAAc,EAAEA,cAHa;EAI7BC,YAAAA,OAAO,EAAEA,OAJoB;EAK7BqI,YAAAA,OAAO,EAAEA,OALoB;EAM7B/K,YAAAA,MAAM,EAAEwP,OANqB;EAO7BrU,YAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPsB,WAAD,EAQ3BwG,OAR2B,CAA9B;EASD;EACF,OA5BkB;EA6BnBmE,MAAAA,WAAW,EAAE,SAASA,WAAT,CAAqBvE,KAArB,EAA4B;EACvC;EACA;EACAA,QAAAA,KAAK,CAACkB,cAAN;EACD,OAjCkB;EAkCnBgD,MAAAA,OAAO,EAAE,SAASA,OAAT,CAAiBlE,KAAjB,EAAwB;EAC/B,YAAInI,cAAc,GAAGzC,MAAM,CAACoB,iBAAP,CAAyB;EAC5ChD,UAAAA,IAAI,EAAEA,IADsC;EAE5CjD,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAFqC,SAAzB,CAArB;EAIA,YAAI9B,OAAO,GAAG1C,MAAM,CAACsB,UAAP,CAAkB;EAC9BlD,UAAAA,IAAI,EAAEA,IADwB;EAE9BjD,UAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAFuB,SAAlB,CAAd,CAL+B;EAS/B;EACA;EACA;EACA;;EAEA,YAAIiL,aAAa,GAAG/M,OAAO,GAAG7D,OAAO,CAACC,OAAR,EAAH,GAAuB6L,OAAO,CAAC7K,eAAa,CAAC;EACtE8K,UAAAA,KAAK,EAAEA,KAD+D;EAEtEE,UAAAA,SAAS,EAAE;EACTlE,YAAAA,MAAM,EAAE;EADC,WAF2D;EAKtEtC,UAAAA,KAAK,EAAEA,KAL+D;EAMtEjD,UAAAA,KAAK,EAAEoB,cAN+D;EAOtEsI,UAAAA,OAAO,EAAEA,OAP6D;EAQtE/F,UAAAA,KAAK,EAAEA;EAR+D,SAAD,EASpEgG,OAToE,CAAd,CAAzD;EAUAyE,QAAAA,aAAa,CAAC5S,IAAd,CAAmB,YAAY;EAC7BmD,UAAAA,MAAM,CAACuB,QAAP,CAAgBzB,eAAa,CAAC;EAC5B8K,YAAAA,KAAK,EAAEA,KADqB;EAE5BxM,YAAAA,IAAI,EAAEA,IAFsB;EAG5BqE,YAAAA,cAAc,EAAEA,cAHY;EAI5BC,YAAAA,OAAO,EAAEA,OAJmB;EAK5BqI,YAAAA,OAAO,EAAEA,OALmB;EAM5B/K,YAAAA,MAAM,EAAEA,MANoB;EAO5B7E,YAAAA,KAAK,EAAE6J,KAAK,CAACR,QAAN;EAPqB,WAAD,EAQ1BwG,OAR0B,CAA7B;EASD,SAVD;EAWD;EArEkB,KAAD,EAsEjB8B,IAtEiB,CAApB;EAuED,GA5ED;;EA8EA,SAAO;EACLL,IAAAA,mBAAmB,EAAEA,mBADhB;EAELc,IAAAA,YAAY,EAAEA,YAFT;EAGLE,IAAAA,YAAY,EAAEA,YAHT;EAILsB,IAAAA,aAAa,EAAEA,aAJV;EAKLlB,IAAAA,aAAa,EAAEA,aALV;EAMLqB,IAAAA,aAAa,EAAEA,aANV;EAOLD,IAAAA,YAAY,EAAEA,YAPT;EAQLI,IAAAA,YAAY,EAAEA;EART,GAAP;EAUD;;ECjVD,SAAShQ,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;EAG1M,SAASiW,WAAT,CAAqBtV,IAArB,EAA2B;EAChC,MAAIuV,CAAJ,EAAOC,qBAAP,EAA8BC,sBAA9B,EAAsDC,sBAAtD;;EAEA,MAAI3J,OAAO,GAAG/L,IAAI,CAAC+L,OAAnB;EAAA,MACI5J,OAAO,GAAGnC,IAAI,CAACmC,OADnB;EAEA,MAAIwT,UAAU,GAAG,CAACJ,CAAC,GAAG,CAAC,CAAC,CAACC,qBAAqB,GAAGrT,OAAO,CAACyT,uBAAjC,MAA8D,IAA9D,IAAsEJ,qBAAqB,KAAK,KAAK,CAArG,GAAyG,KAAK,CAA9G,GAAkHA,qBAAqB,CAAC9T,UAAzI,KAAwJ,EAAzJ,EAA6J,CAA7J,CAAL,MAA0K,IAA1K,IAAkL6T,CAAC,KAAK,KAAK,CAA7L,GAAiM,KAAK,CAAtM,GAA0MA,CAAC,CAAC5T,OAA7N;EACA,MAAIkU,YAAY,GAAGF,UAAU,GAAG9P,iBAAe,CAAC,EAAD,EAAK8P,UAAL,EAAiBhY,MAAM,CAACyH,IAAP,CAAY,CAAC,CAACqQ,sBAAsB,GAAGtT,OAAO,CAACyT,uBAAlC,MAA+D,IAA/D,IAAuEH,sBAAsB,KAAK,KAAK,CAAvG,GAA2G,KAAK,CAAhH,GAAoHA,sBAAsB,CAACtT,OAA5I,KAAwJ,EAApK,CAAjB,CAAlB,GAA8M,EAA3O;EACA,SAAO;EACL4J,IAAAA,OAAO,EAAEA,OAAO,CAACnM,GAAR,CAAY,UAAUwN,MAAV,EAAkB;EACrC,aAAO;EACLnP,QAAAA,IAAI,EAAEmP,MAAM,CAACnP,IADR;EAELkE,QAAAA,OAAO,EAAExE,MAAM,CAACyH,IAAP,CAAYgI,MAAM,CAAC0I,4BAAP,IAAuC,EAAnD;EAFJ,OAAP;EAID,KALQ,CADJ;EAOL3T,IAAAA,OAAO,EAAEuD,eAAa,CAAC;EACrB,2BAAqB/H,MAAM,CAACyH,IAAP,CAAYjD,OAAZ;EADA,KAAD,EAEnB0T,YAFmB,CAPjB;EAULE,IAAAA,EAAE,EAAErU,YAAU,CAAClB,MAAX,CAAkB,CAAC,CAACkV,sBAAsB,GAAGvT,OAAO,CAACyT,uBAAlC,MAA+D,IAA/D,IAAuEF,sBAAsB,KAAK,KAAK,CAAvG,GAA2G,KAAK,CAAhH,GAAoHA,sBAAsB,CAAChU,UAA5I,KAA2J,EAA7K;EAVC,GAAP;EAYD;EACM,SAASsU,cAAT,CAAwBtI,KAAxB,EAA+B;EACpC,MAAIuI,qBAAJ;;EAEA,MAAIC,QAAQ,GAAGxI,KAAK,CAACwI,QAArB;EAAA,MACIrK,WAAW,GAAG6B,KAAK,CAAC7B,WADxB;EAEA,MAAIsK,iBAAiB,GAAG,CAACF,qBAAqB,GAAGpK,WAAW,CAAC2B,SAArC,MAAoD,IAApD,IAA4DyI,qBAAqB,KAAK,KAAK,CAA3F,GAA+F,KAAK,CAApG,GAAwGA,qBAAqB,CAACpN,SAAtB,CAAgC/B,QAAhC,CAAyC,iBAAzC,CAAhI;;EAEA,MAAIqP,iBAAJ,EAAuB;EACrB,QAAIC,iBAAiB,GAAGvK,WAAW,CAACwF,QAAZ,CAAqBgF,aAArB,CAAmC,MAAnC,CAAxB;EACA,QAAIC,OAAO,GAAGzK,WAAW,CAACwF,QAAZ,CAAqBkF,aAArB,CAAmC,MAAnC,CAAd;EACAH,IAAAA,iBAAiB,CAACnY,IAAlB,GAAyB,kBAAzB;EACApB,IAAAA,UAAU,CAAC,YAAY;EACrBuZ,MAAAA,iBAAiB,CAACI,OAAlB,GAA4BhQ,IAAI,CAACC,SAAL,CAAeyP,QAAf,CAA5B;EACAI,MAAAA,OAAO,CAACG,WAAR,CAAoBL,iBAApB;EACD,KAHS,EAGP,CAHO,CAAV;EAID;EACF;;EC1CM,SAASM,aAAT,CAAuB1W,IAAvB,EAA6B;EAClC,MAAI2W,cAAJ;;EAEA,MAAI5V,KAAK,GAAGf,IAAI,CAACe,KAAjB;;EAEA,MAAIA,KAAK,CAACyL,MAAN,KAAiB,KAAjB,IAA0BzL,KAAK,CAAC+G,YAAN,KAAuB,IAArD,EAA2D;EACzD,WAAO,IAAP;EACD;;EAED,SAAO,CAAC,CAAC6O,cAAc,GAAGvO,aAAa,CAACrH,KAAD,CAA/B,MAA4C,IAA5C,IAAoD4V,cAAc,KAAK,KAAK,CAA5E,GAAgF,KAAK,CAArF,GAAyFA,cAAc,CAACtO,cAAzG,KAA4H,IAAnI;EACD;;ECXD,SAASpD,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;EAK1M,IAAIuX,YAAY,GAAG,SAASA,YAAT,CAAsB7V,KAAtB,EAA6BuJ,MAA7B,EAAqC;EAC7D,UAAQA,MAAM,CAACG,IAAf;EACE,SAAK,iBAAL;EACE;EACE,eAAO/E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,UAAAA,YAAY,EAAEwC,MAAM,CAACC;EAD4B,SAA/B,CAApB;EAGD;;EAEH,SAAK,UAAL;EACE;EACE,eAAO7E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjDkG,UAAAA,KAAK,EAAEqD,MAAM,CAACC,OADmC;EAEjDgC,UAAAA,UAAU,EAAE;EAFqC,SAA/B,CAApB;EAID;;EAEH,SAAK,gBAAL;EACE;EACE,eAAO7G,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjDC,UAAAA,WAAW,EAAEsJ,MAAM,CAACC;EAD6B,SAA/B,CAApB;EAGD;;EAEH,SAAK,WAAL;EACE;EACE,eAAO7E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjDyL,UAAAA,MAAM,EAAElC,MAAM,CAACC;EADkC,SAA/B,CAApB;EAGD;;EAEH,SAAK,WAAL;EACE;EACE,eAAO7E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD0L,UAAAA,MAAM,EAAEnC,MAAM,CAACC;EADkC,SAA/B,CAApB;EAGD;;EAEH,SAAK,YAAL;EACE;EACE,eAAO7E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD2L,UAAAA,OAAO,EAAEhH,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAK,CAAC2L,OAAX,CAAd,EAAmCpC,MAAM,CAACC,OAA1C;EAD2B,SAA/B,CAApB;EAGD;;EAEH,SAAK,WAAL;EACE;EACE,YAAImG,SAAS,GAAGhL,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EAC1D+G,UAAAA,YAAY,EAAEwC,MAAM,CAACC,OAAP,CAAesM,cAAf,CAA8B,kBAA9B,IAAoDvM,MAAM,CAACC,OAAP,CAAeoH,gBAAnE,GAAsFhN,mBAAmB,CAAC,CAAD,EAAI5D,KAAK,CAAC+G,YAAV,EAAwBhH,aAAa,CAACC,KAAD,CAArC,EAA8CuJ,MAAM,CAACJ,KAAP,CAAanF,mBAA3D;EAD7D,SAA/B,CAA7B;;EAIA,eAAOW,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKgL,SAAL,CAAd,EAA+B,EAA/B,EAAmC;EACrDnE,UAAAA,UAAU,EAAEmK,aAAa,CAAC;EACxB3V,YAAAA,KAAK,EAAE2P;EADiB,WAAD;EAD4B,SAAnC,CAApB;EAKD;;EAEH,SAAK,SAAL;EACE;EACE,YAAIoG,UAAU,GAAGpR,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EAC3D+G,UAAAA,YAAY,EAAEnD,mBAAmB,CAAC,CAAC,CAAF,EAAK5D,KAAK,CAAC+G,YAAX,EAAyBhH,aAAa,CAACC,KAAD,CAAtC,EAA+CuJ,MAAM,CAACJ,KAAP,CAAanF,mBAA5D;EAD0B,SAA/B,CAA9B;;EAIA,eAAOW,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKoR,UAAL,CAAd,EAAgC,EAAhC,EAAoC;EACtDvK,UAAAA,UAAU,EAAEmK,aAAa,CAAC;EACxB3V,YAAAA,KAAK,EAAE+V;EADiB,WAAD;EAD6B,SAApC,CAApB;EAKD;;EAEH,SAAK,QAAL;EACE;EACE,YAAI/V,KAAK,CAACyL,MAAV,EAAkB;EAChB,iBAAO9G,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,YAAAA,YAAY,EAAE,IADmC;EAEjD0E,YAAAA,MAAM,EAAE,KAFyC;EAGjDD,YAAAA,UAAU,EAAE;EAHqC,WAA/B,CAApB;EAKD;;EAED,eAAO7G,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,UAAAA,YAAY,EAAE,IADmC;EAEjDb,UAAAA,KAAK,EAAE,EAF0C;EAGjDwF,UAAAA,MAAM,EAAE,MAHyC;EAIjDzL,UAAAA,WAAW,EAAE;EAJoC,SAA/B,CAApB;EAMD;;EAEH,SAAK,QAAL;EACE;EACE,eAAO0E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,UAAAA,YAAY,EAAE,IADmC;EAEjD0E,UAAAA,MAAM,EAAE,KAFyC;EAGjDC,UAAAA,MAAM,EAAE;EAHyC,SAA/B,CAApB;EAKD;;EAEH,SAAK,OAAL;EACE;EACE,eAAO/G,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,UAAAA,YAAY;EACZ;EACA;EACA;EACAwC,UAAAA,MAAM,CAACJ,KAAP,CAAa8B,WAAb,KAA6B,IAA7B,GAAoC1B,MAAM,CAACJ,KAAP,CAAanF,mBAAjD,GAAuE,IALtB;EAMjD0H,UAAAA,MAAM,EAAE,MANyC;EAOjDxF,UAAAA,KAAK,EAAE;EAP0C,SAA/B,CAApB;EASD;;EAEH,SAAK,OAAL;EACE;EACE,eAAOvB,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,UAAAA,YAAY,EAAEwC,MAAM,CAACJ,KAAP,CAAanF,mBADsB;EAEjDyH,UAAAA,MAAM,EAAE,CAAClC,MAAM,CAACJ,KAAP,CAAa8B,WAAb,IAA4BpF,OAAO,CAAC7F,KAAK,CAACkG,KAAP,CAApC,KAAsDqD,MAAM,CAACJ,KAAP,CAAakC,eAAb,CAA6B;EACzFrL,YAAAA,KAAK,EAAEA;EADkF,WAA7B;EAFb,SAA/B,CAApB;EAMD;;EAEH,SAAK,MAAL;EACE;EACE,YAAIuJ,MAAM,CAACJ,KAAP,CAAa7H,KAAjB,EAAwB;EACtB,iBAAOtB,KAAP;EACD;;EAED,eAAO2E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjDyL,UAAAA,MAAM,EAAE,KADyC;EAEjD1E,UAAAA,YAAY,EAAE;EAFmC,SAA/B,CAApB;EAID;;EAEH,SAAK,WAAL;EACE;EACE,eAAOpC,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,UAAAA,YAAY,EAAEwC,MAAM,CAACC;EAD4B,SAA/B,CAApB;EAGD;;EAEH,SAAK,YAAL;EACE;EACE,eAAO7E,eAAa,CAACA,eAAa,CAAC,EAAD,EAAK3E,KAAL,CAAd,EAA2B,EAA3B,EAA+B;EACjD+G,UAAAA,YAAY,EAAEwC,MAAM,CAACJ,KAAP,CAAanF;EADsB,SAA/B,CAApB;EAGD;;EAEH;EACE3D,MAAAA,SAAS,CAAC,KAAD,EAAQ,sBAAsBZ,MAAtB,CAA6BgG,IAAI,CAACC,SAAL,CAAe6D,MAAM,CAACG,IAAtB,CAA7B,EAA0D,oBAA1D,CAAR,CAAT;EACA,aAAO1J,KAAP;EApJJ;EAsJD,CAvJM;;ECTP,SAASkE,SAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;EAAE,MAAIC,IAAI,GAAGzH,MAAM,CAACyH,IAAP,CAAYF,MAAZ,CAAX;;EAAgC,MAAIvH,MAAM,CAAC0H,qBAAX,EAAkC;EAAE,QAAIC,OAAO,GAAG3H,MAAM,CAAC0H,qBAAP,CAA6BH,MAA7B,CAAd;EAAoDC,IAAAA,cAAc,KAAKG,OAAO,GAAGA,OAAO,CAACvB,MAAR,CAAe,UAAUwB,GAAV,EAAe;EAAE,aAAO5H,MAAM,CAAC6H,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;EAAiE,KAAjG,CAAf,CAAd,EAAkIL,IAAI,CAACpG,IAAL,CAAUlC,KAAV,CAAgBsI,IAAhB,EAAsBE,OAAtB,CAAlI;EAAmK;;EAAC,SAAOF,IAAP;EAAc;;EAErV,SAASM,eAAT,CAAuBC,MAAvB,EAA+B;EAAE,OAAK,IAAI1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,SAAS,CAACC,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;EAAE,QAAI2I,MAAM,GAAG,QAAQrJ,SAAS,CAACU,CAAD,CAAjB,GAAuBV,SAAS,CAACU,CAAD,CAAhC,GAAsC,EAAnD;EAAuDA,IAAAA,CAAC,GAAG,CAAJ,GAAQgI,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,EAAiB,CAAC,CAAlB,CAAP,CAA4BtC,OAA5B,CAAoC,UAAUpD,GAAV,EAAe;EAAE2F,MAAAA,iBAAe,CAACF,MAAD,EAASzF,GAAT,EAAc0F,MAAM,CAAC1F,GAAD,CAApB,CAAf;EAA4C,KAAjG,CAAR,GAA6GvC,MAAM,CAACmI,yBAAP,GAAmCnI,MAAM,CAACoI,gBAAP,CAAwBJ,MAAxB,EAAgChI,MAAM,CAACmI,yBAAP,CAAiCF,MAAjC,CAAhC,CAAnC,GAA+GX,SAAO,CAACtH,MAAM,CAACiI,MAAD,CAAP,CAAP,CAAwBtC,OAAxB,CAAgC,UAAUpD,GAAV,EAAe;EAAEvC,MAAAA,MAAM,CAACqI,cAAP,CAAsBL,MAAtB,EAA8BzF,GAA9B,EAAmCvC,MAAM,CAAC6H,wBAAP,CAAgCI,MAAhC,EAAwC1F,GAAxC,CAAnC;EAAmF,KAApI,CAA5N;EAAoW;;EAAC,SAAOyF,MAAP;EAAgB;;EAE1f,SAASE,iBAAT,CAAyBxG,GAAzB,EAA8Ba,GAA9B,EAAmCjB,KAAnC,EAA0C;EAAE,MAAIiB,GAAG,IAAIb,GAAX,EAAgB;EAAE1B,IAAAA,MAAM,CAACqI,cAAP,CAAsB3G,GAAtB,EAA2Ba,GAA3B,EAAgC;EAAEjB,MAAAA,KAAK,EAAEA,KAAT;EAAgBwG,MAAAA,UAAU,EAAE,IAA5B;EAAkCQ,MAAAA,YAAY,EAAE,IAAhD;EAAsDC,MAAAA,QAAQ,EAAE;EAAhE,KAAhC;EAA0G,GAA5H,MAAkI;EAAE7G,IAAAA,GAAG,CAACa,GAAD,CAAH,GAAWjB,KAAX;EAAmB;;EAAC,SAAOI,GAAP;EAAa;EAU1M,SAAS0X,kBAAT,CAA4B5U,OAA5B,EAAqC;EAC1CD,EAAAA,YAAY,CAACC,OAAD,CAAZ;EACA,MAAI6U,WAAW,GAAG,EAAlB;EACA,MAAI9M,KAAK,GAAGwB,eAAe,CAACvJ,OAAD,EAAU6U,WAAV,CAA3B;EACA,MAAIpM,KAAK,GAAGZ,WAAW,CAAC4M,YAAD,EAAe1M,KAAf,EAAsBC,kBAAtB,CAAvB;EACA,MAAIyG,OAAO,GAAGjG,sBAAsB,CAAC;EACnCC,IAAAA,KAAK,EAAEA;EAD4B,GAAD,CAApC;EAGA,MAAIqM,WAAW,GAAG7E,cAAc,CAAC1M,eAAa,CAAC;EAC7CwE,IAAAA,KAAK,EAAEA,KADsC;EAE7CyG,IAAAA,OAAO,EAAEA,OAFoC;EAG7C/F,IAAAA,KAAK,EAAEA;EAHsC,GAAD,EAI3CgG,OAJ2C,CAAd,CAAhC;;EAMA,WAASzG,kBAAT,CAA4BnK,IAA5B,EAAkC;EAChC,QAAIwK,SAAS,GAAGxK,IAAI,CAACwK,SAArB;EAAA,QACIzJ,KAAK,GAAGf,IAAI,CAACe,KADjB;EAEAmJ,IAAAA,KAAK,CAACyC,aAAN,CAAoBjH,eAAa,CAAC;EAChC8E,MAAAA,SAAS,EAAEA,SADqB;EAEhCzJ,MAAAA,KAAK,EAAEA,KAFyB;EAGhC4P,MAAAA,OAAO,EAAEA;EAHuB,KAAD,EAI9BC,OAJ8B,CAAjC;EAKD;;EAED,WAASD,OAAT,GAAmB;EACjB,WAAOJ,OAAO,CAAC7K,eAAa,CAAC;EAC3B8K,MAAAA,KAAK,EAAE,IAAI0G,KAAJ,CAAU,OAAV,CADoB;EAE3BxG,MAAAA,SAAS,EAAE;EACTlE,QAAAA,MAAM,EAAE5B,KAAK,CAACR,QAAN,GAAiBoC;EADhB,OAFgB;EAK3BtC,MAAAA,KAAK,EAAEA,KALoB;EAM3BjD,MAAAA,KAAK,EAAE2D,KAAK,CAACR,QAAN,GAAiBnD,KANG;EAO3B0J,MAAAA,OAAO,EAAEA,OAPkB;EAQ3B/F,MAAAA,KAAK,EAAEA;EARoB,KAAD,EASzBgG,OATyB,CAAd,CAAd;EAUD;;EAED1G,EAAAA,KAAK,CAAC6B,OAAN,CAAczI,OAAd,CAAsB,UAAU8J,MAAV,EAAkB;EACtC,QAAI+J,iBAAJ;;EAEA,WAAO,CAACA,iBAAiB,GAAG/J,MAAM,CAACgK,SAA5B,MAA2C,IAA3C,IAAmDD,iBAAiB,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,iBAAiB,CAACrZ,IAAlB,CAAuBsP,MAAvB,EAA+B1H,eAAa,CAACA,eAAa,CAAC,EAAD,EAAKkL,OAAL,CAAd,EAA6B,EAA7B,EAAiC;EAC7KD,MAAAA,OAAO,EAAEA,OADoK;EAE7KxJ,MAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBjL,EAAlB,EAAsB;EAC9B8a,QAAAA,WAAW,CAAChY,IAAZ,CAAiB;EACfmI,UAAAA,QAAQ,EAAEjL;EADK,SAAjB;EAGD,OAN4K;EAO7KmL,MAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBnL,EAAlB,EAAsB;EAC9B8a,QAAAA,WAAW,CAAChY,IAAZ,CAAiB;EACfqI,UAAAA,QAAQ,EAAEnL;EADK,SAAjB;EAGD;EAX4K,KAAjC,CAA5C,CAAlG;EAaD,GAhBD;EAiBA8Z,EAAAA,cAAc,CAAC;EACbE,IAAAA,QAAQ,EAAEZ,WAAW,CAAC;EACpBvJ,MAAAA,OAAO,EAAE7B,KAAK,CAAC6B,OADK;EAEpB5J,MAAAA,OAAO,EAAEA;EAFW,KAAD,CADR;EAKb0J,IAAAA,WAAW,EAAE3B,KAAK,CAAC2B;EALN,GAAD,CAAd;EAOA,SAAOnG,eAAa,CAACA,eAAa,CAAC;EACjCiL,IAAAA,OAAO,EAAEA;EADwB,GAAD,EAE/BsG,WAF+B,CAAd,EAEHrG,OAFG,CAApB;EAGD;;EC9ED,IAAIlT,GAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC2Z,GAAC,CAAC,IAAI,GAAG,CAAgB,YAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAACA,GAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAACA,GAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC3Z,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GA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AC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GA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"}