From d9297d657e9c6aac2d57eb1cf38dce0e11174c48 Mon Sep 17 00:00:00 2001 From: Razvan Date: Mon, 20 Jul 2020 16:42:40 +0300 Subject: [PATCH] Add vertical anchoring controls to Settings tabs also --- dist/js/editor.js | 11 +++++++++-- dist/js/editor.js.map | 2 +- dist/js/editor.min.js | 2 +- src/filters/with-space-and-sizing-controls/index.js | 11 ++++++++++- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/dist/js/editor.js b/dist/js/editor.js index 5c6d6be15..aa2d3f48b 100644 --- a/dist/js/editor.js +++ b/dist/js/editor.js @@ -29372,7 +29372,7 @@ var withSpaceAndSizingControls = with_space_and_sizing_controls_createHigherOrde })); setAttributes(newAttributes); } - }), Object(external_React_["createElement"])(with_space_and_sizing_controls_PanelRow, null, Object(external_React_["createElement"])("span", null, with_space_and_sizing_controls_('Vertical', '__plugin_txtd')), Object(external_React_["createElement"])(block_vertical_alignment_toolbar, { + }), Object(external_React_["createElement"])(with_space_and_sizing_controls_PanelRow, null, Object(external_React_["createElement"])("span", null, with_space_and_sizing_controls_('Vertical Anchoring', '__plugin_txtd')), Object(external_React_["createElement"])(block_vertical_alignment_toolbar, { value: verticalAlignment, onChange: function onChange(verticalAlignment) { var newAttributes = getEmphasisAttributes(with_space_and_sizing_controls_objectSpread(with_space_and_sizing_controls_objectSpread({}, attributes), {}, { @@ -29384,7 +29384,14 @@ var withSpaceAndSizingControls = with_space_and_sizing_controls_createHigherOrde label: with_space_and_sizing_controls_('Settings') }, Object(external_React_["createElement"])("div", { key: 'space-and-sizing-settings-1' - }, Object(external_React_["createElement"])(controls_group, { + }, Object(external_React_["createElement"])(controls_group, null, Object(external_React_["createElement"])(with_space_and_sizing_controls_PanelRow, null, Object(external_React_["createElement"])("span", null, with_space_and_sizing_controls_('Vertical Anchoring', '__plugin_txtd')), Object(external_React_["createElement"])(block_vertical_alignment_toolbar, { + value: verticalAlignment, + onChange: function onChange(nextVerticalAlignment) { + return setAttributes({ + verticalAlignment: nextVerticalAlignment + }); + } + }))), Object(external_React_["createElement"])(controls_group, { title: with_space_and_sizing_controls_('Block Spacing') }, Object(external_React_["createElement"])(with_space_and_sizing_controls_RangeControl, { key: 'media-card-block-top-spacing', diff --git a/dist/js/editor.js.map b/dist/js/editor.js.map index 8bc9912ff..060016f21 100644 --- a/dist/js/editor.js.map +++ b/dist/js/editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"React\"","webpack:///external \"lodash\"","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/sprintf.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/postfix/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/evaluate/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/compile/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/plural-forms/index.js","webpack:///./node_modules/@wordpress/components/node_modules/tannin/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/keycodes/build-module/platform.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/keycodes/build-module/index.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///external \"jQuery\"","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/is-shallow-equal/lib/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/utils/create-higher-order-component/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createHooks.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/deprecated/build-module/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/lodash/groupBy.js","webpack:///./node_modules/unsplash-js/lib/unsplash.js","webpack:///./node_modules/@babel/runtime/helpers/readOnlyError.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/@wordpress/components/node_modules/sprintf-js/src/sprintf.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_baseEach.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/lodash/_baseMap.js","webpack:///./node_modules/unsplash-js/lib/constants/index.js","webpack:///./node_modules/unsplash-js/lib/utils/index.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/orderBy.js","webpack:///./node_modules/lodash/range.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/@wordpress/components/node_modules/memize/index.js","webpack:///./node_modules/dom-scroll-into-view/lib/index.js","webpack:///./node_modules/lodash/pickBy.js","webpack:///./node_modules/lodash/isUndefined.js","webpack:///./node_modules/lodash/uniq.js","webpack:///./node_modules/lodash/map.js","webpack:///./node_modules/@wordpress/is-shallow-equal/index.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/react-dom/node_modules/scheduler/index.js","webpack:///./node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_createAggregator.js","webpack:///./node_modules/lodash/_arrayAggregator.js","webpack:///./node_modules/lodash/_baseAggregator.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/lodash/_baseOrderBy.js","webpack:///./node_modules/lodash/_baseSortBy.js","webpack:///./node_modules/lodash/_compareMultiple.js","webpack:///./node_modules/lodash/_compareAscending.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/form-urlencoded/form-urlencoded.js","webpack:///./node_modules/url-parse/index.js","webpack:///./node_modules/requires-port/index.js","webpack:///./node_modules/querystringify/index.js","webpack:///./node_modules/unsplash-js/lib/methods/auth.js","webpack:///./node_modules/unsplash-js/lib/methods/currentUser.js","webpack:///./node_modules/unsplash-js/lib/methods/users.js","webpack:///./node_modules/unsplash-js/lib/methods/photos.js","webpack:///./node_modules/lodash.get/index.js","webpack:///./node_modules/unsplash-js/lib/methods/collections.js","webpack:///./node_modules/unsplash-js/lib/methods/search.js","webpack:///./node_modules/unsplash-js/lib/methods/stats.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/lodash/_createRange.js","webpack:///./node_modules/lodash/_baseRange.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/is-shallow-equal/lib/objects.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/is-shallow-equal/lib/arrays.js","webpack:///./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack:///./node_modules/dom-scroll-into-view/lib/util.js","webpack:///./node_modules/lodash/_basePickBy.js","webpack:///./node_modules/lodash/_baseSet.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_getAllKeysIn.js","webpack:///./node_modules/lodash/_getSymbolsIn.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_baseUniq.js","webpack:///./node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/lodash/_arrayIncludesWith.js","webpack:///./node_modules/lodash/_createSet.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@wordpress/is-shallow-equal/objects.js","webpack:///./node_modules/@wordpress/is-shallow-equal/arrays.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@wordpress/element/build-module/react.js","webpack:///./node_modules/@wordpress/element/build-module/react-platform.js","webpack:///./node_modules/@wordpress/element/build-module/utils.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@wordpress/escape-html/build-module/escape-greater.js","webpack:///./node_modules/@wordpress/escape-html/build-module/index.js","webpack:///./node_modules/@wordpress/element/build-module/raw-html.js","webpack:///./node_modules/@wordpress/element/build-module/serialize.js","webpack:///./node_modules/@wordpress/element/build-module/index.js","webpack:///./src/filters/with-block-id/index.js","webpack:///./src/filters/with-block-index/index.js","webpack:///./src/filters/with-font-size-picker/index.js","webpack:///./src/store/reducer.js","webpack:///./src/store/selectors.js","webpack:///./src/store/actions.js","webpack:///./src/store/index.js","webpack:///./src/components/with-settings/index.js","webpack:///./src/components/control-sections/utils.js","webpack:///./src/components/control-sections/controls-sections-slot-fill.js","webpack:///./src/components/control-sections/drawer-content-slot-fill.js","webpack:///./src/components/control-sections/cube.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/react-spring/web.js","webpack:///./src/components/control-sections/tabs.js","webpack:///./src/hooks/resize-observer.js","webpack:///./src/components/drawer/index.js","webpack:///./src/components/control-sections/index.js","webpack:///./src/components/controls-group/index.js","webpack:///./src/components/emphasis-level-controls/index.js","webpack:///./src/filters/with-emphasis-level/index.js","webpack:///./src/components/layout-panel/padding.js","webpack:///./src/components/layout-panel/width.js","webpack:///./src/components/layout-panel/index.js","webpack:///./src/components/parallax-panel/index.js","webpack:///./src/components/position-indicators-panel/index.js","webpack:///./src/utils/unsplash.js","webpack:///./src/utils/index.js","webpack:///./src/components/scrolling-effect-controls/index.js","webpack:///./src/components/toggle-group/index.js","webpack:///./src/components/heading-level-icon/index.js","webpack:///./src/components/heading-toolbar/index.js","webpack:///./src/components/editable-text/index.js","webpack:///./src/components/collection/inspector-controls.js","webpack:///./src/components/collection/index.js","webpack:///./src/components/preset-control/index.js","webpack:///./src/easing.js","webpack:///./src/components/with-parallax/util.js","webpack:///./src/components/with-parallax/index.js","webpack:///./src/components/cards-manager/toggles.js","webpack:///./src/components/cards-manager/index.js","webpack:///./src/icons.js","webpack:///./src/components/block-vertical-alignment-toolbar/index.js","webpack:///./src/components/gallery-options/index.js","webpack:///./src/components/tabs/index.js","webpack:///./src/components/notice/index.js","webpack:///./src/components/color-controls/index.js","webpack:///./src/components/block-horizontal-alignment-toolbar/index.js","webpack:///./src/components/alignment-controls/index.js","webpack:///./src/components/scroll-indicator-panel/index.js","webpack:///./src/components/index.js","webpack:///./src/filters/with-cards-manager/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/hooks/use-instance-id/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/higher-order/with-instance-id/index.js","webpack:///./node_modules/@wordpress/primitives/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@wordpress/primitives/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@wordpress/primitives/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@wordpress/primitives/build-module/svg/index.js","webpack:///./node_modules/@wordpress/icons/build-module/library/close-circle-filled.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/element/build-module/react.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/dom.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/focusable.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/tabbable.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/hooks/use-media-query/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/hooks/use-viewport-match/index.js","webpack:///./node_modules/@wordpress/icons/build-module/library/close.js","webpack:///./node_modules/@wordpress/components/build-module/popover/utils.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/context.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/index.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-constrained-tabbing/index.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-focus-outside/index.js","webpack:///./node_modules/@wordpress/components/build-module/popover/detect-outside.js","webpack:///./node_modules/@wordpress/components/build-module/scroll-lock/index.js","webpack:///./node_modules/@wordpress/components/build-module/isolated-event-container/index.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-context.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/use-slot.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/element/build-module/utils.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/context.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/slot.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/fill.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/fill.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/index.js","webpack:///./node_modules/@wordpress/components/build-module/animate/index.js","webpack:///./node_modules/@wordpress/components/build-module/popover/index.js","webpack:///./node_modules/@wordpress/components/build-module/shortcut/index.js","webpack:///./node_modules/@wordpress/components/build-module/tooltip/index.js","webpack:///./node_modules/@wordpress/components/build-module/dashicon/index.js","webpack:///./node_modules/@wordpress/components/build-module/icon/index.js","webpack:///./node_modules/@wordpress/components/build-module/button/index.js","webpack:///./node_modules/@wordpress/components/build-module/visually-hidden/utils.js","webpack:///./node_modules/@wordpress/components/build-module/visually-hidden/index.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/token.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/token-input.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/suggestions-list.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom-ready/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/add-container.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/clear.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/filter-message.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/index.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-spoken-messages/index.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/index.js","webpack:///./node_modules/@wordpress/components/build-module/spinner/index.js","webpack:///./src/components/autocomplete-tokenfield/index.js","webpack:///./src/components/query-controls/manual-controls.js","webpack:///./src/components/query-controls/automated-controls.js","webpack:///./src/components/query-controls/index.js","webpack:///./src/filters/with-latest-posts/utils.js","webpack:///./src/filters/with-latest-posts/store.js","webpack:///./src/filters/with-latest-posts/index.js","webpack:///./src/filters/with-advanced-gallery-attributes/index.js","webpack:///./src/filters/with-doppler-attributes/index.js","webpack:///./src/filters/with-overlay-color-attributes/index.js","webpack:///./src/filters/with-controls-sections/index.js","webpack:///./src/filters/with-space-and-sizing-controls/index.js","webpack:///./src/filters/with-inner-blocks/index.js","webpack:///./src/blocks/openhours/hoursparser.js","webpack:///./src/blocks/core/separator/index.js","webpack:///./src/components/advanced-gallery/grid-item.js","webpack:///./src/components/advanced-gallery/util.js","webpack:///./src/components/advanced-gallery/preview.js","webpack:///./src/components/advanced-gallery/placeholder.js","webpack:///./src/components/advanced-gallery/inspector-controls.js","webpack:///./src/components/advanced-gallery/block-controls.js","webpack:///./src/components/advanced-gallery/index.js","webpack:///./src/blocks/advanced-gallery/edit.js","webpack:///./src/blocks/advanced-gallery/deprecated.js","webpack:///./src/blocks/advanced-gallery/transforms.js","webpack:///./src/components/generate-defaults/index.js","webpack:///./src/blocks/advanced-gallery/index.js","webpack:///./src/blocks/announcement-bar/deprecated.js","webpack:///./src/blocks/announcement-bar/index.js","webpack:///./src/blocks/google-map/placeholder.js","webpack:///./src/blocks/google-map/pin.js","webpack:///./src/blocks/google-map/default-map-center.js","webpack:///./src/blocks/google-map/styles/customized.js","webpack:///./src/blocks/google-map/styles/index.js","webpack:///./src/blocks/google-map/utils.js","webpack:///./src/blocks/google-map/map.js","webpack:///./src/blocks/google-map/api-key-panel-body.js","webpack:///./src/blocks/google-map/map-style-select.js","webpack:///./src/blocks/google-map/inspector-controls.js","webpack:///./src/blocks/google-map/edit.js","webpack:///./src/blocks/google-map/index.js","webpack:///./src/blocks/header/icons.js","webpack:///./src/blocks/header/edit.js","webpack:///./src/blocks/header/variations.js","webpack:///./src/blocks/header/index.js","webpack:///./src/blocks/headline/edit.js","webpack:///./src/blocks/headline/save.js","webpack:///./src/blocks/headline/transforms.js","webpack:///./src/blocks/headline/index.js","webpack:///./src/blocks/hero/background.js","webpack:///./src/blocks/hero/preview.js","webpack:///./src/blocks/hero/block-controls.js","webpack:///./src/blocks/hero/edit.js","webpack:///./src/blocks/hero/save.js","webpack:///./src/blocks/hero/deprecated.js","webpack:///./src/blocks/hero/index.js","webpack:///./src/blocks/logo/index.js","webpack:///./src/blocks/media/block-controls.js","webpack:///./src/blocks/media/preview.js","webpack:///./src/blocks/media/inspector-controls.js","webpack:///./src/blocks/media/edit.js","webpack:///./src/blocks/media/save.js","webpack:///./src/blocks/media/transforms.js","webpack:///./src/blocks/media/deprecated.js","webpack:///./src/blocks/media/index.js","webpack:///./src/blocks/slideshow/background.js","webpack:///./src/blocks/slideshow/preview.js","webpack:///./src/blocks/slideshow/inspector-controls.js","webpack:///./src/blocks/slideshow/block-controls.js","webpack:///./src/blocks/slideshow/edit.js","webpack:///./src/blocks/slideshow/save.js","webpack:///./src/blocks/slideshow/deprecated.js","webpack:///./src/blocks/slideshow/index.js","webpack:///./src/blocks/navigation/edit.js","webpack:///./src/blocks/navigation/index.js","webpack:///./src/blocks/menu-food/inspector-controls.js","webpack:///./src/blocks/menu-food/preview.js","webpack:///./src/blocks/menu-food/edit.js","webpack:///./src/blocks/menu-food/save.js","webpack:///./src/blocks/menu-food/index.js","webpack:///./src/blocks/menu-food-section/preview.js","webpack:///./src/blocks/menu-food-section/edit.js","webpack:///./src/blocks/menu-food-section/save.js","webpack:///./src/blocks/menu-food-section/index.js","webpack:///./src/blocks/menu-food-item/preview.js","webpack:///./src/blocks/menu-food-item/inspector-controls.js","webpack:///./src/blocks/menu-food-item/edit.js","webpack:///./src/blocks/menu-food-item/save.js","webpack:///./src/blocks/menu-food-item/index.js","webpack:///./src/blocks/opentable/preview.js","webpack:///./src/blocks/opentable/inspector-controls.js","webpack:///./src/blocks/opentable/edit.js","webpack:///./src/blocks/opentable/save.js","webpack:///./src/blocks/opentable/index.js","webpack:///./src/blocks/openhours/preview.js","webpack:///./src/blocks/openhours/inspector-controls.js","webpack:///./src/blocks/openhours/edit.js","webpack:///./src/blocks/openhours/index.js","webpack:///./src/blocks/card/edit.js","webpack:///./src/blocks/card/save.js","webpack:///./src/blocks/card/deprecated.js","webpack:///./src/blocks/card/index.js","webpack:///./src/blocks/cards-collection/edit.js","webpack:///./src/blocks/cards-collection/index.js","webpack:///./src/blocks/posts-collection/media.js","webpack:///./src/blocks/posts-collection/edit.js","webpack:///./src/blocks/posts-collection/index.js","webpack:///./src/editor.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/higher-order/with-safe-timeout/index.js"],"names":["createHigherOrderComponent","wp","compose","addFilter","hooks","Component","element","enableBlockIdAttributeOnBlocks","addBlockIdAttribute","block","includes","name","attributes","Object","assign","blockId","type","default","withBlockIdAttribute","BlockEdit","arguments","props","setAttributes","clientId","select","data","enableBlockIndexAttributeOnBlocks","addBlockIndexAttribute","blockIndex","withBlockIndexAttribute","updateIndex","oldIndex","newIndex","getBlocks","findIndex","__","i18n","Fragment","components","PanelBody","SelectControl","InspectorControls","blockEditor","withSelect","enableFontSizeControlOnBlocks","fontSizeOptions","value","label","defaultFontSize","replaceActiveFontSize","className","fontSize","nextFontSize","regex","RegExp","replace","trim","nextClassName","withFontSizePicker","WrappedComponent","level","selectValue","find","x","withFontSizeControl","OriginalComponent","BetterComponent","addFontSizeAttribute","DEFAULT_STATE","settings","state","action","getSettings","updateSettings","registerStore","STORE_NAME","reducer","selectors","actions","ownProps","mergeChildrenProps","children1","children2","children1Array","Array","isArray","children2Array","concat","getSectionsFromFills","fills","sections","forEach","fill","index","section","push","splice","children","createSlotFill","ControlsSectionsSlotFill","ControlsSectionsSlot","Slot","ControlsSectionsFill","Fill","DrawerContentSlotFill","DrawerContentSlot","DrawerContentFill","Cube","ACCENT_COLORS","useEffect","useState","createRef","getTabAccentColor","getTabClassName","activeTabLabel","classnames","ActiveSectionTabs","title","tabs","goBack","updateHeight","length","setActiveTabLabel","activeTabIndex","tab","activeTab","useSpring","accentColor","map","onClick","TabContent","resizeObserver","resizeElement","ResizeObserver","entries","observe","current","disconnect","useRef","useLayoutEffect","useCallback","useResizeObserver","entry","setEntry","node","setNode","observer","Children","cloneElement","Drawers","toArray","drawerLists","filter","child","DrawerList","drawerPanels","DrawerPanel","beforeChildren","DrawerListBefore","afterChildren","DrawerListAfter","active","setActive","open","setOpen","wrapperHeight","setWrapperHeight","ref","WeakMap","refMap","noop","onOpen","onClose","getDrawerListHeight","clientHeight","getActiveDrawerHeight","activeRef","get","drawerListHeight","drawerPanelHeight","transform","height","immediate","totalDrawers","drawerList","drawerListIndex","drawers","getDrawersFromList","drawersWithTarget","drawer","defaultTarget","target","Number","isInteger","orderedDrawers","priority","drawerIndex","afterChild","childRef","contentRect","drawerPanel","set","DrawerWithProps","isActive","addPropsToChildren","Drawer","useBlockEditContext","ControlsSectionsComponent","advancedButton","document","querySelector","advancedWrapper","parentNode","style","setProperty","offsetHeight","requestAnimationFrame","addEventListener","removeProperty","once","groups","group","keys","key","ControlsTab","groupedTabs","compiledTabs","reduce","accumulator","ControlsSections","ControlsSection","isSelected","ControlsDrawerContent","ControlsGroup","RangeControl","RadioControl","EmphasisContentAreaSlotFill","EmphasisContentAreaSlot","EmphasisContentAreaFill","EmphasisBlockAreaSlotFill","EmphasisBlockAreaSlot","EmphasisBlockAreaFill","EmphasisLevelControls","contentStyle","blockStyle","emphasisByContrast","media","contentAreaOptions","blockAreaOptions","getEmphasisByContrastValue","option","contentIndex","contrast","Math","floor","nextBlockStyle","nextContentStyle","EmphasisContentAreaControls","EmphasisBlockAreaControls","withSettings","withEmphasisLevelControls","addEmphasisLevelAttribute","number","Button","ButtonGroup","PaddingControls","contentPadding","contentPaddingCustom","contentPaddingOptions","newContentPadding","WidthControls","contentWidth","contentWidthCustom","contentWidthOptions","newContentWidth","LayoutPanel","ToggleControl","ParallaxPanel","enableParallax","parallaxAmount","parallaxCustomAmount","focalPoint","parallaxOptions","nextParallaxAmount","parseInt","PositionIndicatorsPanel","positionIndicators","COLLECTION_ID","PlaceholderImagesCollection","fetchedImages","images","apiKey","window","pixcare","themeConfig","unsplashApiKey","api","Unsplash","accessKey","normalize","bind","collections","getCollectionPhotos","then","toJson","photos","finally","fetch","photo","id","url","urls","full","width","sizes","large","regular","medium","small","thumbnail","thumb","novablocks_huge","novablocks_large","novablocks_medium","novablocks_tiny","description","caption","user","links","html","download","downloadPhoto","instance","getPlaceholderImages","getRandomBetween","min","max","random","MIN_VALUE","getRandomArrayFromArray","arr","n","result","len","taken","debounce","func","wait","timeout","context","args","later","apply","clearTimeout","setTimeout","range","array","i","withFirstBlockConditions","getSelectedBlockClientId","blocks","selectedBlockClientId","show","isSafari","test","navigator","userAgent","hasTouchScreen","maxTouchPoints","msMaxTouchPoints","mQ","matchMedia","matches","UA","findParents","query","parents","traverse","item","parent","HTMLElement","shuffleArray","currentIndex","temporaryValue","randomIndex","defaultSnapValues","y","maybeSnapFocalPoint","snapValues","parseFloat","thereshold","snapValue","getSnapClassname","classNames","join","getControlsClasses","compileAttributes","classes","compiledAttributes","some","FocalPointPicker","ScrollingEffectControls","ScrollingEffectPanel","scrollingEffect","motionPreset","motionPresetOptions","doppler","theme_support","scrollingEffectOptions","newAttributes","newOption","preset","minHeightFallback","DopplerPresetsPanel","isScrolling","previewScrolling","getParallaxFocalPointImage","mediaType","parallaxFocalPointImage","StartFramePanel","finalFocalPoint","initialBackgroundScale","followThroughStart","isDoppler","staticPanelTitle","parallaxPanelTitle","dopplerPanelTitle","panelTitle","EndFramePanel","finalBackgroundScale","followThroughEnd","ToggleGroup","toggles","onChange","enabledToggles","toggle","disabledToggles","config","initial","enter","next","opacity","left","leave","enabledTransitions","useTransition","attribute","disabledTransitions","Path","SVG","Index","isPressed","levelToPath","hasOwnProperty","sprintf","ToolbarGroup","HeadingToolbar","targetLevel","selectedLevel","icon","minLevel","maxLevel","createLevelControl","forwardRef","RichText","EditableText","Content","tagName","Tag","PanelRow","AlignmentToolbar","CollectionInspectorControls","contentAlign","containerHeight","imageResizing","imagePadding","CollectionTitle","showCollectionTitle","CollectionSubtitle","showCollectionSubtitle","subtitle","Collection","hasAppender","blockClassName","getCardMediaPaddingTop","compiledHeight","numerator","denominator","abs","withDispatch","PresetControl","randomize","options","slice","randomizeAttributes","selectedPreset","getSelectedPreset","getNewAttributesFromPreset","presets","presetOptions","activePresets","presetOption","every","applyWithSelect","getBlock","applyWithDispatch","dispatch","updateBlockAttributes","pow","sin","cos","PI","EaseIn","power","EaseOut","EaseInOut","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInBack","s","easeOutBack","easeInOutBack","userPrefersReducedMotion","mediaQuery","getIntermediateFocalPoint","focalPoint1","focalPoint2","progress","getStyles","getProps","styles","getStylesFromProps","moveX","moveY","offsetX","offsetY","scale","minHeight","maxWidth","objectPosition","transformOrigin","getIntermediateValue","initialValue","finalValue","getScales","maxScale","newScale","getFocalPoint","getNewImageHeight","scrollContainerHeight","fixed","distance","smoothStart","smoothEnd","container","containerBox","containerWidth","scrollContainer","scrollContainerBox","newFocalPoint","newImageHeight","top","getState","offsetWidth","getBoundingClientRect","getScrollContainerHeight","useOrientation","screen","availHeight","innerHeight","parallaxInit","$blocks","frameRendered","each","$container","$","$parallax","parallaxUpdateState","newConfig","on","parallaxUpdateLoop","obj","$background","$foreground","css","createContext","ParallaxContext","withParallaxProvider","scrollContainerWidth","updateHandler","updateState","getScrollContainer","createBlockObservers","unsubscribeUpdate","subscribe","observers","MutationObserver","mutationObserver","movements","movement","attributeName","oldValue","attributeOldValue","childList","subtree","removeEventListener","setState","el","getElementStyle","withParallaxControls","start","end","easing","callback","speed","parallax","duration","startTime","Date","now","updateScrollTopLoop","currentTime","timePassed","newScrollTop","scrollTop","pointerEvents","interval","setInterval","clearInterval","maxScroll","scrollHeight","distanceToBottom","scrollFromTo","withParallaxContext","withParallax","CardsManager","nova","hero","slideshow","foodmenu","opentable","alignBottom","alignCenter","alignTop","alignment","invert","swap","announcement","headline","header","logo","navigation","openhours","placeholder","card","gallery","_x","Toolbar","withViewportMatch","viewport","focusedElement","setFocusedElement","Consumer","BLOCK_ALIGNMENTS_CONTROLS","icons","center","bottom","DEFAULT_CONTROLS","DEFAULT_CONTROL","BlockVerticalAlignmentToolbar","isCollapsed","controls","applyOrUnset","align","undefined","activeAlignment","defaultAlignmentControl","control","withBlockEditContext","mapContextToProps","isLargeViewport","getBlockRootClientId","hasFixedToolbar","MediaPlaceholder","ALLOWED_MEDIA_TYPES","GalleryPlaceholder","galleryImages","hasImages","onChangeGallery","newGalleryImages","promises","image","apiRequest","path","newImage","Promise","all","instructions","GalleryPreview","selected","onSelectImage","img","src","Tabs","onClickTabItem","Tab","Notice","content","dismissLabel","Cookies","hidden","setHidden","expires","ColorPalette","Dropdown","BaseControl","PanelColorSettings","colors","color","OverlayControls","overlayFilterStyle","overlayFilterStrength","nextOverlayFilterStyle","nextOverlayFilterStrength","ColorControls","contentColor","nextContentColor","ColorPanel","ColorToolbar","isOpen","onToggle","right","BlockHorizontalAlignmentToolbar","AlignmentControls","horizontalAlignment","verticalAlignment","nextHorizontalAlignment","getSelectedBlock","innerBlocks","nextVerticalAlignment","ScrollIndicatorPanel","scrollIndicator","updateAttributes","heroBlocks","ALLOWED_BLOCKS","withCardsManager","AutocompleteTokenField","suggestions","validValues","loading","isFetchingInfoOnLoad","debouncedUpdateSuggestions","updateSuggestions","tokens","fetchSavedInfo","Boolean","results","suggestion","suggestionsRequest","cancel","values","labels","input","fetchSuggestions","request","currentSuggestions","catch","tokenStrings","getValuesForLabels","getLabelsForValues","help","getTokens","handleOnChange","apiFetch","addQueryArgs","decodeEntities","htmlEntities","fetchPostSuggestions","search","per_page","_fields","posts","post","fetchSavedPosts","postIDs","include","rendered","ManualControls","loadingMode","specificPosts","onSpecificPostsChange","QueryControls","fetchAuthorSuggestions","users","fetchSavedAuthors","userIDs","fetchCategorySuggestions","orderby","order","categories","category","fetchSavedCategories","categoryIDs","fetchTagSuggestions","tags","tag","fetchSavedTags","tagIDs","AutomatedControls","authors","onAuthorsChange","onCategoriesChange","onTagsChange","onLoadingModeChange","enableSpecific","isSpecificPostModeActive","queryCriteriaFromAttributes","postsToShow","tagExclusions","criteria","author","tags_exclude","initialState","queryBlocks","postsByBlock","specificPostsByBlock","UPDATE_BLOCKS","MARK_POSTS_DISPLAYED","MARK_SPECIFIC_POSTS_DISPLAYED","updateBlocks","markPostsAsDisplayed","markSpecificPostsAsDisplayed","blocksBefore","orderedBlocks","ourBlockIdx","b","previousPostIds","_clientId","postIdsFromSpecificMode","flatMap","p","sort","registerQueryStore","blockName","getQueryBlocksInOrder","getClientIdsWithDescendants","currentBlocksIds","newBlocksIds","blocksChanged","enablePostsQueryControlsOnBlocks","withPostsQueryControls","_postsToShow","_loadingMode","_specificPosts","_authors","_categories","_tags","withPostsQueryAttributes","items","withLatestPosts","latestPostsQuery","postIdsToExclude","exclude","getEntityRecords","enableAdvancedMediaAttributeOnBlocks","addAdvancedGalleryAttributes","advancedGalleryAttributes","enableDopplerAttributeOnBlocks","addDopplerAttributes","dopplerAttributes","enableOverlayColorAttributesOnBlocks","addOverlayColorAttributes","overlayColorAttributes","withControlsSections","ALLOWED_BLOCKS_ADVANCED","getEmphasisAttributes","emphasisBySpace","enableOverlapping","actualEmphasis","blockTopSpacing","blockBottomSpacing","emphasisTopSpacing","emphasisBottomSpacing","getRandomAttributes","getRandomSign","emphasis","blockTopSign","blockBottomSign","emphasisTopSign","emphasisBottomSign","withSpaceAndSizingControlsAdvanced","spaceAndSizing","componentWithSettings","withSpaceAndSizingControls","SPACING_MIN_VALUE","SPACING_MAX_VALUE","cssVars","addSpaceAndSizingAttributes","enableInnerBlocks","withInnerBlocks","parentBlock","withInnerBlocksComponent","fourSq","util","Hours","padTimes","text","toTimeframe","days","startMinutes","endMinutes","startFormatted","formatMinutes","endFormatted","minutes","hh","mm","intoNextDay","minutesAfterMidnight","hoursText","minutesText","meridiem","hours","HoursParser","parse","toLowerCase","dayCanonicals","_","dayI","allNames","dayAliases","canonical","head","aliases","tail","reverse","alias","dayPattern","timePattern","globTimePattern","globTimeRangePattern","forwardTimeframePattern","backwardTimeframePattern","forwardPosition","backwardPosition","isForward","ungroupedPattern","ungroupedRegex","dayRangePattern","timeRangePattern","timeframePattern","dayTimeMatcher","dayTimeMatch","exec","timeRangeMatcher","timeRangeMatch","timeframes","match","day1","day2","startDay","indexOf","endDay","day","startHour","startMinute","startMeridiem","endHour","endMinute","endMeridiem","endTime","sortBy","removeClosedDays","schedule","hoursString","lines","split","parseContent","currentValue","JSON","stringify","addSeparatorFilters","Separator","__html","separator","markup","replaceSeparatorEdit","replaceSeparatorSave","blockType","ITEM_SIZE","GridItemCollection","placementVariation","gridItems","groupStart","groupEnd","isGroupOfThree","GridItem","removeExtra","flipX","flipY","extraLeft","getExtraLeft","extraTop","getExtraTop","extraBetween","getExtraBetween","gridItem","groupIndex","maxX","maxY","firstGroup","maxBottom","sizeContrast","positionShift","imageRotation","idx","getIndex","col","row","getOffsets","size","rotation","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","positionY","positionX","objPos","objectFit","elementsDistance","stylePreset","getGalleryStyle","paddingTop","getGridStyle","safariHeightFix","grid","$grid","$parent","resetHeight","newHeight","outerHeight","debouncedResetHeight","AdvancedGalleryPreview","setHeight","gridItemsCollection","gridStyle","AdvancedGalleryItem","getStyle","getImageStyle","BlockIcon","AdvancedGalleryPlaceholder","AdvancedGalleryInspectorControls","advancedGalleryPresetOptions","cropStyle","BlockControls","MediaUpload","AdvancedGalleryChangeMediaToolbar","AdvancedGalleryBlockControls","AdvancedGallery","Edit","blockAttributes","galleryAttributes","attributesWithoutImages","oldGalleryAttributes","deprecated","isEligible","migrate","save","defaultsGenerated","createBlock","from","to","getNewDefaults","getBlocksByClientId","isEditedPostEmpty","loadedSavedBlocks","newBlocks","addedBlocks","newBlock","defaults","registerBlockType","numberOfImages","placeholderImages","randomImages","randomAttributes","init","generateDefaults","supports","keywords","edit","transforms","lodash","omit","opensInNewTab","URLInput","InnerBlocks","ANNOUNCEMENT_BAR_TEMPLATE","openHoursStyle","isDefault","getEditWrapperProps","Placeholder","TextControl","ENTER","keycodes","MapPlaceholder","keyCode","saveApiKey","apiKeyInstructions","handleKeyDown","defaultMapCenter","lat","lng","slug","customized","addVisibilityToStyles","showLabels","showIcons","unshift","compileStyles","styleData","styleSlug","getMapAccentColor","call","styleDataString","getMapStyles","shouldHaveCustomStyles","selectedStyles","styleDataBySlug","mapStyles","fallbackColor","primary","secondary","tertiary","getCenterFromMarkers","markers","google","maps","bounds","LatLngBounds","LatLng","geometry","location","markerString","marker","union","extend","getCenter","getMarkersCenter","Map","searchBox","setMap","getPlaces","place","keepProps","filtered","pinMarkup","pin","Marker","encodeURIComponent","position","setCenter","showControls","zoom","getElementById","mapTypeId","clickableIcons","disableDefaultUI","disableDoubleClickZoom","draggable","gestureHandling","keyboardShortcuts","scrollwheel","places","SearchBox","addListener","setBounds","getBounds","onPlacesChanged","setOptions","clearMarkers","createMarkers","initializeMap","initializeSearchBox","event","trigger","nextProps","shouldUpdate","val","prevProps","prevState","updateMapOptions","updateMapMarkers","MapWrapper","otherProps","searchBoxStyles","display","ApiKeyPanelBody","savedApiKey","onChangeApiKey","onSaveApiKey","MapStyleSelect","v","a","stylers","featureType","elementType","prop","propertyval","toString","latitude","longitude","getStaticStyle","mapType","ButtonInspectorControls","newStyleSlug","newStyles","newPinColor","pinColor","newZoom","API_KEY_SETTING_ID","Spinner","BlockAlignmentToolbar","Settings","models","gm_authFailure","googlemaps_authfailure","dispatchEvent","Event","fetchedScript","fetchedApiKey","gmAuthFailure","onChangeMarkers","onGoogleMapsAuthFailure","loadPromise","done","model","loadGoogleMapsScript","keyParam","scriptSrc","scripts","querySelectorAll","resolve","promise","reject","script","createElement","onload","onerror","async","body","appendChild","getInstructions","hyperlink","newProps","renderPreview","logoLeft","logoRight","logoCenter","__experimentalBlockVariationPicker","registerBlockVariation","TEMPLATE_OPTIONS","template","layout","innerBlocksTemplate","createBlocksFromInnerBlocksTemplate","prototype","hasInnerBlocks","defaultVariation","supportsInnerBlocksPicker","supportsBlockVariationPicker","setTemplate","chosenTemplate","replaceInnerBlocks","variations","blockVariationPicker","innerBlocksPicker","blockVariationPickerOnSelect","nextVariation","nextVariationName","getBlockType","getBlockVariations","getDefaultBlockVariation","insertBlock","scope","HeadlineEdit","TagName","newLevel","nextAlign","HeroBackground","alt","HeroPreview","scrollIndicatorBlock","foreground","heroHeight","contentHeight","alignItems","paddingBottom","scrollIndicatorFallback","usePostMetaAttributes","HeroBlockControls","FirstBlockControls","BlockHeightControls","minimumHeightOptions","HeroEdit","heroAttributes","newScrollIndicatorBlock","getDefaults","computedAttributes","getNewAttributes","alignmentAttributes","colorAttributes","layoutAttributes","scrollingAttributes","example","anchor","alignWide","MEDIA_ALIGNMENTS_CONTROLS","MediaBlockControls","mediaPosition","MediaPreview","emphasisArea","contentAreaWidth","layoutGutter","passedProps","blockClassNames","allowedBlocks","CONTENT_AREA_MAX_WIDTH","CONTENT_AREA_MIN_WIDTH","CONTENT_AREA_MID_VALUE","MediaInspectorControls","balanceEmphasis","balanceFocalPoint","getBalanceAttributes","MediaEdit","updateImages","oldAttributes","upgradedToModerate","SlideshowBackground","previewImage","imageURL","videoURL","SlideshowPreview","windowWidth","innerWidth","windowHeight","updateDimensions","dimensions","maxAspectRatio","mediaMinHeight","aspectRatio","attributesHeight","onPrevArrowClick","onNextArrowClick","renderContent","SlideshowInspectorControls","slideshowType","selectedIndex","setIndex","minHeightOptions","selectedImage","focalPointPickerClassNames","selectedImageFocalPoint","nextMinHeight","SlideshowBlockControls","count","FoodMenuInspectorControls","enableTwoColumns","showPrices","showDescription","TEMPLATE","sectionTitle","price","enableSalePrice","salePrice","enableHighlightFoodItem","highlightLabel","FoodMenuPreview","addFoodMenuSection","FoodMenuEdit","withMenuVisibilityAttributes","BlockListBlock","menu","innerBlock","FoodMenuSave","FoodMenuSectionPreview","addFoodMenuItem","FoodMenuSectionEdit","FoodMenuSectionSave","FoodMenuItemPreview","FoodMenuItemInspectorControls","FoodMenuItem","FoodMenuItemSave","SandBox","OpenTablePreview","isShallowEqual","restaurantId","language","layoutForm","showOpenTableLogo","OpenTable","novablocks_urls","frontend_blocks_stylesheet","editor_blocks_stylesheet","OpenTableInspectorControls","nextLanguage","nextLayout","OpenTableSave","formSrc","OpenHoursPreview","parsedText","timeFormat","openNote","closedNote","closedLabel","compressOpeningHours","hideClosedDays","useShortName","TextareaControl","Modal","ExternalLink","OpenHoursInspectorControls","timeFormattingUrl","AvailableTagsModal","openModal","closeModal","timeFormattingInstructions","nextOpenHoursStyle","OpenHours","CardEdit","meta","showMedia","showTitle","showSubtitle","showButtons","showMeta","CardMedia","mediaURL","randomImage","CARDS_COLLECTION_TEMPLATE","CardsCollectionEdit","withCollectionVisibilityAttributes","collection","cards","featured_media_url","getMedia","featured_media","featured_media_obj","source_url","date","__experimentalGetSettings","dateI18n","format","RawHTML","Category","isStillMounted","fetchRequest","PostsEdit","columns","hasPosts","TitleTagName","SubtitleTagName","dateFormat","formats","date_gmt","raw","excerpt","updateCategory","novaBlocks","announcementBarBlockInit","googleMapBlockInit","headerBlockInit","logoInit","headlineInit","navigationInit","menuFoodInit","menuFoodSectionInit","menuFoodItemInit","opentableInit","cardInit","cardsCollectionInit","openHoursInit","advancedGalleryInit","heroInit","mediaInit","slideshowInit","postsCollectionInit"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;AClFA,uB;;;;;;ACAA,wB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,iC;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;ACnDD;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACNA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;AChBA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;ACNA,qBAAqB,mBAAO,CAAC,GAAkB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,2B;;;;;;;ACjBA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;ACLA,cAAc,mBAAO,CAAC,EAAmB;;AAEzC,4BAA4B,mBAAO,CAAC,EAAyB;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4C;;;;;;ACZA;AACA;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0B;;;;;;;AClBA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;ACbA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;ACJA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;ACdA;AAAA;AAAA;AAA+C;AACa;AAC7C;AACf,eAAe,2EAAO;AACtB;AACA;;AAEA,SAAS,8EAAqB;AAC9B,C;;;;;;;;;;;;ACRe;AACf;AACA;AACA;AACA;;AAEA;AACA,C;;ACP8C;AAC/B;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,eAAc;AAChC,C;;;;;;;ACdA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;AChBA,qBAAqB,mBAAO,CAAC,GAAkB;;AAE/C,2BAA2B,mBAAO,CAAC,GAAwB;;AAE3D,sBAAsB,mBAAO,CAAC,GAAmB;;AAEjD;AACA;AACA;;AAEA,gC;;;;;;ACVA,iBAAiB,mBAAO,CAAC,GAAqB;;;;;;;;;;;;;;;;;;;;;;;;;ACA9C;AACA;AACA;AAC6B;AACM;AACnC;AACA,oCAAoC;AACpC;AACA;AACA;AACA,WAAW,KAAK;AAChB;;AAEA,mBAAmB,gBAAO,gBAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,KAAK;AAChB;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEO,SAAS,eAAO;AACvB;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA,WAAW,iBAAS,eAAe,iBAAS;AAC5C,GAAG;AACH;AACA;AACA;AACA;AACA,mC;;;;;ACvCA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,SAAS;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AC3HA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,YAAY,EAAE;AACd;AACe,SAAS,iBAAQ;AAChC;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;;AC7GsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,aAAa,oBAAoB,KAAK;AAClD;AACe;AACf,aAAa,OAAO;;AAEpB;AACA,SAAS,iBAAQ;AACjB;AACA;;;AC5BsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,SAAS;AACrB;AACe;AACf,gBAAgB,OAAO;;AAEvB;AACA,qBAAqB,OAAO;AAC5B;AACA;;;ACjB+C;;AAE/C;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,kBAAkB;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,+FAA+F;AAC7G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,oCAAoC;AAClD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,qBAAqB;;AAErB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,cAAc;AACzB;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACpNwE;;AAExE,0CAA0C,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,gCAAgC,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,uDAAuD,CAAC,yCAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,iDAAiD,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEphB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,KAAK;AACjB;;AAEO,IAAI,sBAAU;AACrB;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,MAAM,GAAG;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;;AAEA;AACA;AACA,0CAA0C,yBAAyB,yBAAyB,QAAQ;AACpG;;AAEA,8CAA8C,6BAA6B;AAC3E;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B,aAAa,iBAAiB;AAC9B,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;AC7MA;AACA;AACA;AAC2C;AAC3C,WAAW,sBAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;;AAEO,IAAI,0BAAa;AACxB;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,aAAE;AACb;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,cAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,cAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,eAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEO,IAAI,kBAAK;AAChB,wC;;AC/FoC;AACN;AACyC;AACvE,iC;;;;;;;;;;;;;;;ACHkD;AACnC;AACf,iCAAiC,2CAAgB;AACjD,C;;ACHe;AACf;AACA,C;;;;;ACFe;AACf;AACA,C;;ACFoD;AACJ;AACsB;AAClB;AACrC;AACf,SAAS,kBAAiB,SAAS,gBAAe,SAAS,qDAA0B,SAAS,kBAAiB;AAC/G,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACkC;AAClC;AACA;AACA;AACA,WAAW,OAAO,oCAAoC;AACtD;AACA,YAAY,QAAQ,uBAAuB;AAC3C;;AAEO;AACP;;AAEA;AACA,2CAA2C,oCAAQ;AACnD;AACA,oC;;AClBwE;AACM;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACmE;AACnE;AACA;AACA;;AAEqC;AACrC;AACA;AACA;;AAEuC;AACvC;AACA,aAAa,uGAAuG;AACpH;;AAEA;AACA;AACA;AACA;AACA,aAAa,6CAA6C;AAC1D;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,2BAA2B;AACrC;;AAEO,kBAAkB,qCAAS;AAClC;AACA,uFAAuF,SAAS;;AAEhG,qBAAqB,4CAAkB;AACvC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,UAAU,2BAA2B;AACrC;AACA;;AAEO,0BAA0B,qCAAS;AAC1C;AACA;;AAEA,uFAAuF,SAAS;;AAEhG;;AAEA,oDAAoD,EAAE,yCAAe,kDAAkD,yCAAe,oDAAoD,yCAAe,oCAAoC,yCAAe;AAC5P;AACA,2BAA2B,+BAAG,8BAA8B;;AAE5D;AACA,yBAAyB,4CAAkB;AAC3C;;AAEA,uBAAuB,4CAAkB;AACzC,KAAK;AACL,+BAA+B,sCAAU;AA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;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC,EAAE,EAS1C;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,GAAmC;AAC9D,CAAC,MAAM,EAEN;;;;;;;ACrCD,aAAa,mBAAO,CAAC,EAAW;AAChC,gBAAgB,mBAAO,CAAC,GAAc;AACtC,qBAAqB,mBAAO,CAAC,GAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,EAAc;AACvC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA;AAAe;AACf;;AAEA,wCAAwC,SAAS;AACjD;AACA;;AAEA;AACA,C;;;;;;ACRA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,0BAA0B,mBAAO,CAAC,GAAwB;AAC1D,eAAe,mBAAO,CAAC,GAAY;AACnC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,SAAS,mBAAO,CAAC,EAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,EAAc;;AAEtC;AACA;;AAEA;;;;;;;ACLA,gBAAgB,mBAAO,CAAC,GAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,cAAc,mBAAO,CAAC,EAAW;AACjC,YAAY,mBAAO,CAAC,EAAU;AAC9B,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCa;;AAEb;AACA;AACA;AACA,4BAA4B,mBAAO,EAAE,GAAW;AAChD,2BAA2B,mBAAO,EAAE,GAAU;;AAE9C;;AAEA;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,uBAAuB;AAClC;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACrCA;AAAA;AAAkD;AACnC;AACf;AACA,oCAAoC,yEAAgB;AACpD;AACA;AACA;AACA,sFAAsF,yEAAgB;AACtG,C;;;;;;;ACRA;AAAA;AAAA;AACA;AACA;AAC+C;AAC/C;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,YAAY;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C,yDAAU,CAAC,wDAAS;AAClE;AACA;AACA;;AAEe,mFAA0B,EAAC;AAC1C,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,oFAAiB,EAAC;AACjC,6C;;ACzBA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,kFAAgB,EAAC;AAChC,4C;;AChCA;AACA;AACA;AACuD;AACF;AACvB;AAC9B;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA,SAAS,6BAAgB;AACzB;AACA;;AAEA,SAAS,8BAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,iBAAiB;AACjB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,QAAQ;AACd;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;AChGA;AACA;AACA;AACuD;AACF;AACvB;AAC9B;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA,SAAS,6BAAgB;AACzB;AACA;;AAEA,uBAAuB,8BAAiB;AACxC;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,uCAAuC,QAAQ;AAC/C;AACA;AACA;;AAEA;AACA,MAAM,QAAQ;AACd;;AAEA;AACA;AACA;;AAEe,kFAAgB,EAAC;AAChC,4C;;ACnFA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;;;;AChC8E;;AAE9E;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB;AACA;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,KAAK;AACnB;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;;AAE5C,QAAQ,KAAqC,EAAE,EAK1C;;AAEL,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;AC3EA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe,oFAAiB,EAAC;AACjC,6C;;AC3BA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEe,gFAAe,EAAC;AAC/B,2C;;AC9BA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;AACA,SAAS,6BAAgB;AACzB;AACA;;AAEA;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;AC/BA;AACA;AACA;AAC4C;AACM;AACN;AACA;AACQ;AACJ;AACJ;AAC5C;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAAa;AAC5B,eAAe,0BAAa;AAC5B,kBAAkB,6BAAgB;AAClC,kBAAkB,6BAAgB;AAClC,eAAe,0BAAa;AAC5B,eAAe,0BAAa;AAC5B,sBAAsB,6BAAgB;AACtC,sBAAsB,6BAAgB;AACtC,cAAc,0BAAa;AAC3B,kBAAkB,0BAAa;AAC/B,mBAAmB,8BAAiB;AACpC,mBAAmB,8BAAiB;AACpC,iBAAiB,4BAAe;AAChC,iBAAiB,4BAAe;AAChC,eAAe,0BAAa;AAC5B,eAAe,0BAAa;AAC5B;AACA;AACA;AACA;;AAEe,wEAAW,EAAC;AAC3B,uC;;AC5CA;AACA;AACA;AACwC;;AAExC,mBAAmB,wBAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAO;AACX,IAAI,oBAAO;;AAEgP;AAC3P,iC;;AC1BA;AACA;AACA;AAC4C;AAC5C;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEO;AACP;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mJAAmJ;;AAEnJ;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;;;AAGA,EAAE,QAAQ,0CAA0C;;AAEpD;AACA;AACA;AACA,iC;;;;;;;AC1EA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA,oBAAoB,mBAAO,CAAC,EAAkB;AAC9C,eAAe,mBAAO,CAAC,GAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A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AEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,wCAAwC;AACxC;AACA,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA,SAAS,oBAAoB;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;AClKD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,oGAAC;AACd;AACA;AACA;AACA,CAAC,GAAG;;;;;;;ACtOJ,qBAAqB,mBAAO,CAAC,GAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;ACxBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA;AACA;;AAEA;;;;;;;;ACHA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACzBA,iBAAiB,mBAAO,CAAC,GAAe;AACxC,qBAAqB,mBAAO,CAAC,GAAmB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;;AAEA;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,kBAAkB,mBAAO,CAAC,EAAe;AACzC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,EAAY;AACnC,cAAc,mBAAO,CAAC,EAAY;AAClC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChDA,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;ACnCA,yDAAW,mBAAO,CAAC,EAAS;AAC5B,gBAAgB,mBAAO,CAAC,GAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA,uBAAuB,mBAAO,CAAC,GAAqB;AACpD,gBAAgB,mBAAO,CAAC,EAAc;AACtC,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,eAAe,mBAAO,CAAC,GAAa;AACpC,eAAe,mBAAO,CAAC,GAAa;AACpC,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,eAAe,mBAAO,CAAC,EAAa;AACpC,gBAAgB,mBAAO,CAAC,GAAc;AACtC,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,kBAAkB,mBAAO,CAAC,GAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,gBAAgB,mBAAO,CAAC,GAAa;;AAErC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;ACrBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,mF;;;;;;;ACRa;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,GAAa;;AAExC,sBAAsB,mBAAO,CAAC,GAAiB;;AAE/C;;AAEA,gBAAgB,mBAAO,CAAC,GAAW;;AAEnC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;AC9Da;;AAEb,iCAAiC,mBAAO,CAAC,GAAU;AACnD,qCAAqC,mBAAO,CAAC,GAAU;;;;;;;ACHvD,eAAe,mBAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjEA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,qCAAqC;AAChD;AACA,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9CA,kBAAkB,mBAAO,CAAC,GAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7CA,eAAe,mBAAO,CAAC,EAAY;AACnC,UAAU,mBAAO,CAAC,GAAO;AACzB,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAA2B;AACzC,cAAc,2BAA2B;AACzC,cAAc,SAAS;AACvB;AACA,cAAc,EAAE;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,WAAW,EAAE;AACb,WAAW,cAAc;AACzB;AACA,YAAY,2BAA2B;AACvC;AACA;AACA;;AAEA,YAAY,2BAA2B;AACvC;;AAEA,YAAY,2BAA2B;AACvC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,2BAA2B,cAAc;AACzC,qBAAqB,gBAAgB;AACrC,cAAc,gBAAgB;AAC9B,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACtKa;;AAEb,iBAAiB,mBAAO,CAAC,GAAwB,E;;;;;;ACFjD,eAAe,mBAAO,CAAC,EAAa;AACpC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;ACxBA,eAAe,mBAAO,CAAC,EAAa;AACpC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,cAAc,mBAAO,CAAC,GAAY;AAClC,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA,MAAM,mBAAmB;AACzB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,4BAA4B,mBAAO,EAAE,GAAW;AAChD,2BAA2B,mBAAO,EAAE,GAAU;;AAE9C;;AAEA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACa,OAAO,mBAAO,CAAC,CAAO,IAAI,mBAAO,CAAC,GAAe,IAAI,mBAAO,CAAC,GAAW,EAAE,cAAc,yEAAyE,mBAAmB,mDAAmD,mCAAmC,4HAA4H;AACnZ,+BAA+B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ACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,eAAe,mBAAO,CAAC,EAAY;AACnC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3DA,+DAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;AC7BA,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,iBAAiB,mBAAO,CAAC,GAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,8BAA8B,mBAAO,CAAC,GAA4B;;AAElE;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,YAAY,mBAAO,CAAC,EAAU;AAC9B,kBAAkB,mBAAO,CAAC,EAAgB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACZA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,EAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,UAAU,mBAAO,CAAC,EAAQ;AAC1B,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA,WAAW,mBAAO,CAAC,GAAS;AAC5B,gBAAgB,mBAAO,CAAC,EAAc;AACtC,UAAU,mBAAO,CAAC,EAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,cAAc,mBAAO,CAAC,GAAY;AAClC,cAAc,mBAAO,CAAC,GAAY;AAClC,cAAc,mBAAO,CAAC,GAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,YAAY,mBAAO,CAAC,EAAU;AAC9B,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,aAAa,mBAAO,CAAC,GAAW;AAChC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,EAAY;AACnC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,aAAa,mBAAO,CAAC,EAAW;AAChC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,SAAS,mBAAO,CAAC,EAAM;AACvB,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/GA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACLA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,GAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxFA,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,iBAAiB,mBAAO,CAAC,GAAe;AACxC,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,eAAe,mBAAO,CAAC,GAAa;AACpC,UAAU,mBAAO,CAAC,EAAQ;AAC1B,cAAc,mBAAO,CAAC,GAAY;AAClC,UAAU,mBAAO,CAAC,GAAQ;AAC1B,cAAc,mBAAO,CAAC,GAAY;AAClC,iBAAiB,mBAAO,CAAC,EAAe;AACxC,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzDA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,yBAAyB,mBAAO,CAAC,GAAuB;AACxD,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,UAAU,mBAAO,CAAC,EAAO;AACzB,YAAY,mBAAO,CAAC,GAAS;AAC7B,YAAY,mBAAO,CAAC,EAAU;AAC9B,yBAAyB,mBAAO,CAAC,GAAuB;AACxD,8BAA8B,mBAAO,CAAC,GAA4B;AAClE,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA,oBAAoB,mBAAO,CAAC,GAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;AC1BA,cAAc,mBAAO,CAAC,GAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;ACzBA,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACxEA,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,aAAa,mBAAO,CAAC,EAAW;AAChC,eAAe,mBAAO,CAAC,EAAa;AACpC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,cAAc,mBAAO,CAAC,GAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAe;AACzC,cAAc,mBAAO,CAAC,EAAW;AACjC,cAAc,mBAAO,CAAC,EAAY;AAClC,eAAe,mBAAO,CAAC,EAAY;AACnC,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,uBAAuB,mBAAO,CAAC,GAAqB;AACpD,YAAY,mBAAO,CAAC,EAAU;AAC9B,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA,iC;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,uC;;;;;;AC9BA;AACA;AACA;;AAEA,kC;;;;;;ACJA,eAAe,mBAAO,CAAC,EAAa;AACpC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,cAAc,mBAAO,CAAC,GAAY;AAClC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,gBAAgB,mBAAO,CAAC,EAAc;AACtC,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,6BAA6B;AACxC,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,YAAY;AACZ,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,uBAAuB,mBAAO,CAAC,GAAqB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3CA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA;;AAEA,oC;;;;;;ACVA;AACA;AACA;;AAEA,kC;;;;;;ACJA;AACA;AACA;;AAEA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,UAAU,EAAE;AAChD;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;AC7DA,8CAAa;;AAEb,eAAe,mBAAO,CAAC,GAAe;AACtC,SAAS,mBAAO,CAAC,GAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD,GAAG;AACH,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,yBAAyB;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC/aa;;AAEb;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACrCa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrHa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mBAAmB,mBAAO,CAAC,GAAa;;AAExC;;AAEA,iBAAiB,mBAAO,CAAC,GAAc;;AAEvC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACvDa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;ACtDa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/Fa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,GAAU;;AAE/B,cAAc,mBAAO,CAAC,GAAY;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACl6Ba;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACnHa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC1Ea;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrtBA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,SAAS,mBAAO,CAAC,EAAM;AACvB,kBAAkB,mBAAO,CAAC,EAAe;AACzC,cAAc,mBAAO,CAAC,EAAY;AAClC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzCA;AACA;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+C;;;;;;ACfA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBa;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,6BAA6B;AACxC;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,eAAe,GAAG,OAAO;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AClDa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AC9Ba;;AAEb,WAAW,mBAAO,CAAC,GAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;AChIa;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;ACtbD,cAAc,mBAAO,CAAC,EAAY;AAClC,cAAc,mBAAO,CAAC,GAAY;AAClC,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,eAAe,mBAAO,CAAC,EAAa;AACpC,cAAc,mBAAO,CAAC,EAAY;AAClC,eAAe,mBAAO,CAAC,EAAY;AACnC,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9CA,sBAAsB,mBAAO,CAAC,EAAoB;AAClD,SAAS,mBAAO,CAAC,EAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,gBAAgB,mBAAO,CAAC,GAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA,oBAAoB,mBAAO,CAAC,EAAkB;AAC9C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,eAAe,mBAAO,CAAC,EAAY;AACnC,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,eAAe,mBAAO,CAAC,EAAa;AACpC,oBAAoB,mBAAO,CAAC,GAAkB;AAC9C,wBAAwB,mBAAO,CAAC,GAAsB;AACtD,eAAe,mBAAO,CAAC,GAAa;AACpC,gBAAgB,mBAAO,CAAC,GAAc;AACtC,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvEA,kBAAkB,mBAAO,CAAC,GAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,oBAAoB,mBAAO,CAAC,GAAkB;AAC9C,gBAAgB,mBAAO,CAAC,GAAc;AACtC,oBAAoB,mBAAO,CAAC,GAAkB;;AAE9C;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,UAAU,mBAAO,CAAC,GAAQ;AAC1B,WAAW,mBAAO,CAAC,GAAQ;AAC3B,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBa;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,eAAe,GAAG,OAAO;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AClDa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9Be;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;ACb8C;AAC/B;AACf,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,MAAM,eAAc;AACpB,KAAK;AACL;;AAEA;AACA,C;;AClBe;AACf;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;ACb0E;AAC3D;AACf;AACA,eAAe,6BAA4B;AAC3C;;AAEA;AACA;;AAEA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;AClBoE;AACsB;;AAE1F;AACA;AACA;AAC2S;AACzQ;AAClC;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;;AAEwB;AACxB;AACA;AACA;;AAEqB;AACrB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEyB;AACzB;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB;AACA;AACA,WAAW,aAAa;AACxB;AACA,YAAY,UAAU;AACtB;;AAEyB;AACzB;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,YAAY,YAAY;AACxB;;AAEsB;AACtB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAE0B;AAC1B;AACA;AACA;;AAEgB;AAChB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEuB;AACvB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEyB;AACzB;AACA;AACA;;AAEqB;AACrB;AACA;AACA;;AAE+B;AAC/B;AACA;AACA;;AAE2B;AAC3B;AACA;AACA;;AAEmB;AACnB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEkB;AAClB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;;AAEgB;AAChB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,YAAY,MAAM;AAClB;;AAEO;AACP,kFAAkF,aAAa;AAC/F;AACA;;AAEA;AACA,IAAI,2BAAQ;AACZ;AACA,gBAAgB,uCAAY;AAC5B;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP,qBAAqB,2BAAQ;AAC7B,QAAQ,oCAAQ;AAChB,aAAa,wCAAa;AAC1B;AACA,OAAO;AACP;;AAEA;AACA;AACA,gBAAgB,wBAAwB;;AAExC,WAAW,wCAAa,WAAW,aAAa;AAChD;AACA,KAAK;AACL,GAAG;AACH;AACA,iC;;;;;ACjNA;AACA;AACA;AACsF;AACtF;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;;AAEwB;AACxB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;;AAEuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;;AAEkB;AAClB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEkC;AAClC,0C;;ACrCA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;;AAEO,IAAI,oBAAc;AACzB,MAAM,oCAAQ;AACd;AACA;;AAEA,MAAM,oCAAQ,aAAa,mCAAO;AAClC;AACA;;AAEA;AACA;AACA,iC;;ACtBA,wBAAwB,2EAA2E,oCAAoC,mBAAmB,GAAG,EAAE,OAAO,oCAAoC,8HAA8H,GAAG,EAAE,sBAAsB;;AAEpV;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,C;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACe;AACf,kCAAkC;AAClC;AACA,0C;;ACfA;AACA;AACA;AAC2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,4DAA4D,YAAY;AACxE;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,oCAAoC;AACpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,SAAS,2BAA2B;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA,iC;;AC5GoE;AACsB;;AAE1F;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,UAAU;AACtB;;AAEe;AACf;AACA,cAAc,wBAAwB;;AAEtC;AACA;AACA,SAAS,wCAAa,QAAQ,aAAa;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA,oC;;AChCoE;AACsB;AAClC;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACwF;AACxF;AACA;AACA;;AAE2F;AAC3F;AACA;AACA;;AAE0E;AACzC;;AAEjC,qBAAqB,wCAAa;AAClC;AACA;;AAEA,iBAAiB,qCAAU;AAC3B;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,QAAQ,MAAM;AACd;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA,MAAM,sCAAU;AAChB;AACA;;AAEA;AACA,iBAAiB,qCAAS;AAC1B;;AAEA,SAAS,qCAAS;AAClB;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;;;AAGO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,UAAU,OAAO;AACjB;AACA,aAAa,UAAU;;AAEvB;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS,6BAAU;AACnB,SAAS,2BAAQ;AACjB;;AAEA,SAAS,OAAO;AAChB;AACA,yBAAyB,wBAAwB;;AAEjD,mCAAmC,mCAAO,+BAA+B,aAAa,GAAG;AACzF;AACA;AACA;AACA,OAAO;AACP;;AAEA,UAAU,OAAO;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,6BAA6B;;AAE/C;AACA;;AAEA,SAAS,iBAAa;AACtB;AACA,8BAA8B,QAAQ;AACtC;AACA,GAAG;AACH,6EAA6E,QAAQ,GAAG;AACxF;AACA,GAAG,KAAK;AACR,SAAS,QAAQ;AACjB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,4BAA4B,EAAE;AAC5D;AACA,qBAAqB,mBAAmB,EAAE;AAC1C;AACA,uBAAuB,qBAAqB,EAAE;AAC9C,sBAAsB,oBAAoB,EAAE;AAC5C;AACA,wBAAwB,sBAAsB,EAAE;AAChD;AACA,cAAc,YAAY,EAAE;AAC5B;AACA,yBAAyB,uBAAuB,EAAE;AAClD;AACA,sBAAsB,oBAAoB,EAAE;AAC5C;AACA,8BAA8B,4BAA4B,EAAE;AAC5D;AACA,0BAA0B,wBAAwB,EAAE;AACpD;AACA,CAAC;;AAED;AACA;AACA;;AAEA,MAAM,iBAAa;AACnB;AACA;AACA;AACA,0CAA0C,QAAQ,GAAG;AACrD;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA,6EAA6E,wBAAK;;AAElF;AACA,4BAA4B,qCAAU;AACtC;AACA,oBAAoB,iCAAM;AAC1B,0BAA0B,iCAAM;AAChC,iBAAiB,iCAAM;AACvB,wBAAwB,sCAAW;AACnC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,iBAAa;AAC/C;AACA,KAAK;AACL,IAAI,oCAAS;AACb;AACA;AACA,KAAK;AACL,IAAI,8CAAmB;AACvB;;AAEA;AACA;AACA;AACA,0BAA0B,6BAA6B,yCAAyC;AAChG;;;AAGA;AACA,WAAW,wBAAK,0BAA0B,QAAQ,GAAG;AACrD;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,IAAI,UAAM;AACV,MAAM,eAAW;;AAEjB,MAAM,UAAM;AACZ,OAAO,UAAM;AACb;;AAEA,yBAAyB,eAAW;AACpC;;AAEA,2BAA2B,uCAAuC;AAClE;AACA;;AAEA,0BAA0B,uCAAuC;AACjE,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yGAAyG;;AAEzG,oDAAoD;;AAEpD;;AAEA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,OAAO;;;AAGP;AACA,KAAK;;;AAGL,8EAA8E;;AAE9E;AACA,MAAM,eAAW;AACjB;AACA;AACA,GAAG;;;AAGH,MAAM,eAAW;AACjB,2CAA2C,kBAAkB,UAAM;AACnE,GAAG;AACH,IAAI,UAAM;AACV;;AAEA,SAAS,UAAM;AACf;;AAEA,MAAM,SAAK;AACX,OAAO,eAAW,kBAAkB,eAAW;;AAE/C,OAAO,UAAM;AACb,IAAI,UAAM;AACV,uDAAuD,kBAAkB,UAAM;AAC/E;AACA;;AAEA;AACA,MAAM,eAAW,kBAAkB,eAAW;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;AACA,sDAAsD;AACtD;;AAEA;AACA,uDAAuD;AACvD;;AAEA;AACA,8EAA8E;;AAE9E,+CAA+C,2DAA2D,0DAA0D;;AAEpK,0BAA0B;;AAE1B,gDAAgD,6DAA6D;AAC7G;AACA;;AAEA;AACA,iBAAiB,2BAA2B;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,MAAM,UAAM;AACZ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,iCAAM;AACzB,EAAE,oCAAS;AACX;AACA;AACA;AACA,KAAK,EAAE;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,QAAQ,GAAG;AAC1D;AACA,eAAe;AACf;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,IAAI,KAAC;;AAEL,MAAM,cAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,cAAc,KAAC;AACf;AACA;AACA;AACA;;;AAGA;AACA;AACA,2BAA2B;;AAE3B,iBAAiB,iBAAa;AAC9B;AACA;AACA;AACA,kBAAkB,6BAA6B;;AAE/C;AACA;AACA,sBAAsB,QAAQ,GAAG;AACjC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA,WAAW;AACX;AACA,SAAS;;AAET;AACA,2BAA2B,QAAQ,GAAG;AACtC,cAAc,QAAQ,GAAG;AACzB,SAAS;AACT,OAAO;AACP;AACA,KAAK;;;AAGL,8DAA8D;;AAE9D;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,2CAA2C;AAC3C,0CAA0C,QAAQ,GAAG;AACrD,wCAAwC,QAAQ,GAAG;AACnD,SAAS;AACT,OAAO;AACP;;;AAGA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,oBAAoB,6BAA6B;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;;;AAGV;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD;AACA,WAAW;AACX,SAAS,0CAA0C;AACnD,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,QAAQ,SAAK;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,6BAA6B;;AAE7C,6BAA6B;AAC7B;;AAEA;;AAEA;AACA,qBAAqB,qBAAqB;AAC1C;;AAEA,sBAAsB,QAAQ,GAAG,SAAS,iBAAa;;AAEvD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,GAAG,SAAS,iBAAa;;AAEvD;AACA,gBAAgB;;AAEhB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,iBAAiB,QAAQ,GAAG;AAC5B;AACA;AACA,+CAA+C;AAC/C;AACA,2CAA2C;AAC3C;AACA,mDAAmD;AACnD;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA,KAAK;;;AAGL,kBAAkB,QAAQ,GAAG;AAC7B,4BAA4B;;AAE5B,wCAAwC,mBAAmB,cAAc;;AAEzE;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,yEAAyE;;AAEzE;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA,2GAA2G,gGAAgG;AAC3M;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE;;AAEX;AACA;AACA;;AAEA,eAAe,QAAQ,GAAG;AAC1B,kBAAkB,QAAQ,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,iBAAiB,QAAQ,GAAG;AAC5B,oBAAoB,QAAQ,GAAG;AAC/B;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC,MAAM,GAAG,MAAM;AACrD,gEAAgE,MAAM;AACtE;;AAEA;AACA,kBAAkB,iCAAM;AACxB,eAAe,iCAAM;AACrB,6BAA6B;;AAE7B,mBAAmB,kCAAO;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,cAAU;AACjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,6BAA6B;;AAE7B,cAAc,8CAAmB;AACjC;AACA;;AAEA;AACA;AACA;;AAEA,GAAG,GAAG;;AAEN,qBAAqB,kCAAO;AAC5B;AACA;AACA,GAAG,aAAa;;AAEhB,EAAE,oCAAS;AACX;AACA;AACA,KAAK;AACL,GAAG,EAAE;;AAEL,EAAE,oCAAS,mFAAmF;;AAE9F;AACA;AACA;;AAEA;AACA,4BAA4B,MAAM;AAClC,0CAA0C,MAAM;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,MAAM;AAC1C,kDAAkD,MAAM;AACxD;;AAEA;AACA,kBAAkB,iCAAM;AACxB;AACA;AACA,oBAAoB,iCAAM;;AAE1B;AACA;AACA;AACA,WAAW,QAAQ,GAAG;AACtB;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,+BAA+B;;;AAG/B,qBAAqB,kCAAO;AAC5B;AACA;AACA;AACA,WAAW,QAAQ,GAAG;AACtB;AACA;AACA,KAAK;AACL,GAAG,kCAAkC;;AAErC,EAAE,oCAAS,6DAA6D;;AAExE,EAAE,oCAAS;AACX;AACA;;AAEA;AACA,uDAAuD,MAAM;AAC7D,wEAAwE,MAAM;AAC9E;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,6BAA6B;;AAE1C;AACA,SAAS,QAAQ;AACjB;AACA;AACA,GAAG;AACH;;AAEA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,6BAA6B;;AAE7C;AACA,kBAAkB,iCAAM;AACxB,gBAAgB,iCAAM;AACtB;AACA;AACA;AACA,eAAe;AACf;AACA,iBAAiB;AACjB;AACA;AACA;AACA,GAAG;AACH,EAAE,8CAAmB;AACrB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,GAAG,GAAG;;AAEN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,cAAU,IAAI;;AAEhG;;AAEA,uBAAuB,QAAQ,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;;AAGb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;;AAEA,EAAE,oCAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,6BAA6B;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,QAAQ,GAAG;;AAE3B,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,QAAQ,GAAG;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;;AAEA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,eAAe,6BAA6B;;AAE5C,YAAY;;AAEZ,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH,SAAS,QAAQ,GAAG;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/D,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/E,6BAA6B,EAAE;AAC/B,6BAA6B,EAAE;;AAE/B;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,CAAC;AACD;;;AAGA,6EAA6E;AAC7E;;AAEA,kCAAkC,EAAE,EAAE,IAAI,YAAY,EAAE,+BAA+B,IAAI,mBAAmB;;AAE9G,uCAAuC,8BAA8B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sGAAsG,QAAQ,GAAG;AACjH;AA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;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA,kEAAkE;AAClE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;;AAGO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB;;AAEO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEO;AACP;AACA;AACA;;AAEA,MAAM,oCAAQ;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;;AAGA,sEAAsE;AACtE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+CAA+C;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;;AAGO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oBAAoB;AACpB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP,MAAM,oCAAQ;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,SAAS;AACrB;;AAEO;AACP;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB;AACA,YAAY,MAAM;AAClB;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB;AACA,YAAY;AACZ;;AAEO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;AACA;AACA;AACA,+B;;ACtpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;;;AAGO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,qC;;AC7EA;AACA;AACA;AAC8C;AAC9C;AACA;AACA;;AAEoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;;AAGO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;;AAEA,8DAA8D;;AAE9D;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA,eAAe,mCAAO;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,YAAY,MAAM;AAClB;;;AAGA;AACA;AACA;;AAEO,SAAS,aAAI;AACpB,wBAAwB,IAAa;AACrC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEO;AACP;AACA,mBAAmB,IAAa;AAChC,0CAA0C;;AAE1C;AACA,SAAS,gCAAI;AACb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEO;AACP;AACA,mBAAmB,IAAa;AAChC,0CAA0C;;AAE1C;AACA;AACA,GAAG;AACH,SAAS,iCAAK;AACd;AACA,oC;;ACrLA;AACA;AACA;AACyC;AACF;AACvC;AACA;AACA;AACA;;AAEO,IAAI,kBAAK;AAChB,aAAa,yBAAS;AACtB,YAAY,wBAAQ;AACpB;AACsB;AACtB,iC;;ACfsE;;AAEtE;AACA;AACA;AACyD;AACzD;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;;AAEe;AACf,kBAAkB,mCAAQ;AAC1B,mBAAmB,4CAAc;AACjC;AACA;;AAEA,EAAE,oCAAS;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iC;;ACrCA;AACA;AACA;AAC+D;AAC/D;AACA;AACA;;AAE+C;AAC/C;AACA,aAAa,gDAAgD;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,gCAAgC,wCAAa;AAC7C;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA,IAAI,mCAAgB;AACpB;AACA,uBAAuB,qCAAU;AACjC;AACA,yBAAyB,aAAa;;AAEtC;AACA;AACA;;AAEA;AACA;;AAEA,mCAAgB;AACD,0FAAgB,EAAC;AAChC,iC;;ACzFmD;;AAEnD;AACA;AACA;AACkD;AAClD,IAAI,WAAK,GAAG,wCAAa,CAAC,OAAG;AAC7B;AACA;AACA,CAAC,EAAE,wCAAa,CAAC,QAAI;AACrB;AACA,CAAC;AACc,6DAAK,EAAC;AACrB,iC;;ACbwE;AACF;;AAEtE,SAAS,qBAAO,0BAA0B,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,SAAS,0BAAa,UAAU,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,CAAC,qBAAO,+CAA+C,CAAC,6CAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,CAAC,qBAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEphB;AACA;AACA;AACoD;AACpD;AACA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;AACA,qDAAqD;;AAErD;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAA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,6CAAe,uDAAuD,6CAAe;AAClK,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAU;AAC3B,KAAK;AACL;;AAEA;AACA;AACA,iBAAiB,oBAAU;AAC3B,KAAK;AACL;;AAEA,oBAAoB;AACpB;;AAEe,gEAAO,EAAC;AACvB,iC;;AClD0D;AACY;AACoB;AACvC;;AAEnD;AACA;AACA;AACoC;AACpC;AACA;AACA;;AAEiE;AACH;AACjB;AACE;AACO;AACb;AACzC;AACA;AACA;;AAEiD;AACe;AACc;AAC1B;AACrB;AACS;AACyB;AACd;AAClB;AACjC,mBAAmB,wBAAsB,CAAC,iBAAe;AACzD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU;AACV;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB;;;AAGA;AACA;AACA,EAAE,oCAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,kBAAK;;AAEjC;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,IAAI,eAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mDAAwB;;AAE7C,0BAA0B,iCAAM;AAChC,mBAAmB,iCAAM;AACzB,qBAAqB,iCAAM;AAC3B,oBAAoB,iCAAM;AAC1B,yBAAyB,kBAAgB;;AAEzC,kBAAkB,mCAAQ;AAC1B,mBAAmB,4CAAc;AACjC;AACA;;AAEA,aAAa,gBAAO;AACpB;AACA;AACA,EAAE,oCAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wFAAwF;AACxF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,sBAAsB;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4GAA4G;;AAE5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;;AAEnD;AACA;AACA,0BAA0B,uCAAM;AAChC;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;AACL;;;AAGA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,kDAAU;AACd;AACA,KAAK;AACL;AACA,GAAG;AACH;;;AAGA,gBAAgB,wCAAa,CAAC,cAAoB;AAClD;AACA,GAAG,EAAE,wCAAa,CAAC,oBAAO;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,wCAAa,CAAC,wBAAsB,EAAE,sCAAQ;AACzD,iBAAiB,oBAAU;AAC3B;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK,iBAAiB,wCAAa,CAAC,WAAU,uBAAuB,wCAAa;AAClF;AACA,KAAK,EAAE,wCAAa;AACpB;AACA,KAAK,gBAAgB,wCAAa,CAAC,mBAAM;AACzC;AACA,YAAY,aAAK;AACjB;AACA,KAAK,IAAI,wCAAa;AACtB;AACA;AACA;AACA,KAAK;AACL,GAAG,GAAG,6DAA6D;AACnE;;AAEA;AACA,cAAc,wCAAa;AAC3B;;AAEA;AACA,cAAc,wCAAa,CAAC,cAAI;AAChC;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,SAAS,wCAAa;AACtB;AACA,GAAG;AACH;;AAEA,uBAAuB,eAAO;;AAE9B;AACA;AACA;AACA,SAAS,wCAAa,CAAC,cAAI;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEe,4DAAgB,EAAC;AAChC,iC;;AC5iBmD;;AAEnD;AACA;AACA;AAC4C;;AAE5C;AACA;A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A;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,wCAAa,CAAC,OAAG,EAAE,sCAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe,wCAAa,CAAC,QAAI;AACxC;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEoB;AAC/B,iC;;AC3sCwE;AACd;AACgC;;AAE1F,SAAS,YAAO,0BAA0B,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,SAAS,iBAAa,UAAU,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,CAAC,YAAO,+CAA+C,CAAC,6CAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6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;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mDAAwB;;AAE1C;AACA,aAAa,wCAAa,UAAU,sCAAQ;AAC5C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEI,sEAAU,EAAC;AAC1B,uC;;;;;;;;;AC3FwE;AACN;AACoB;AACQ;AACtB;AACZ;AACT;;AAEnD,SAAS,4BAAY,WAAW,qBAAqB,aAAa,6CAAe,kBAAkB,KAAK,yCAAyB,KAAK,iBAAiB,6CAAe,mBAAmB,yDAAyD,EAAE,OAAO,uCAAuC,EAAE,QAAQ,wDAA0B,eAAe,GAAG;;AAExV,SAAS,yCAAyB,IAAI,wEAAwE,0CAA0C,8CAA8C,MAAM,wEAAwE,GAAG,aAAa,EAAE,YAAY,cAAc,EAAE;;AAElU;AACA;AACA;AAC6B;AACqB;AACd;AACpC;AACA;AACA;;AAE+C;AACM;;AAErD,IAAI,gCAAe;AACnB,EAAE,uCAAS;;AAEX,eAAe,4BAAY;;AAE3B;AACA;;AAEA,IAAI,6CAAe;;AAEnB;AACA,uDAAuD,oDAAsB;AAC7E,yCAAyC,oDAAsB;AAC/D;AACA;;AAEA,EAAE,0CAAY;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,kCAAc;AACtB;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,wCAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO,EAAE,+BAAG;AACZ;;AAEA,yBAAyB,oBAAU;AACnC;AACA,SAAS;AACT;;AAEA,eAAe,wCAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,wCAAa;AAChC;AACA,SAAS,+BAA+B,wCAAa;AACrD;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEX,gCAAe;AACf;AACA,gCAAgC;AAChC,kCAAkC;AAClC;AACA;AACe,iGAAe,CAAC,gCAAe,CAAC,EAAC;AAChD,4C;;AC7JA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,iC;;ACxCA;AACA;AACA;AACA,WAAW,OAAO,gDAAgD;AAClE;AACA,YAAY,eAAe;AAC3B;AACe;AACf;AACA;AACA;AACA;AACA,sDAAsD,kBAAkB,gBAAgB,iBAAiB,gBAAgB,sBAAsB,oCAAoC,mCAAmC,2BAA2B,eAAe,kCAAkC;AAClS;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yC;;ACzBA;AACA;AACA;AACe;AACf;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA,iC;;ACVA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0C;;AC1BA;AACA;AACA;AAC4C;AAC5C;AACA;AACA;;AAE2C;AACf;AACiB;AAC7C;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA,IAAI,YAAY;AAChB;;AAEA;AACA,IAAI,YAAY;AAChB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CA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,aAAa,0CAAS;AACtB;AACA;;AAEA,aAAa,sCAAK;AAClB;AACA;;AAEA,aAAa,qCAAI;AACjB;AACA;;AAEA,aAAa,mCAAE;AACf;AACA;;AAEA,aAAa,sCAAK;AAClB;AACA;;AAEA,aAAa,qCAAI;AACjB;AACA;;AAEA,aAAa,uCAAM;AACnB;AACA;;AAEA,aAAa,sCAAK;AAClB;AACA;AACA;;AAEA;;AAEA,aAAa,uCAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAI;;AAE3B;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,wBAAwB,gCAAI;AAC5B;AACA,OAAO;;AAEP;AACA,uBAAuB,iCAAK;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uBAAuB,qCAAO;AAC9B;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,sCAAU;AAChC,OAAO;AACP;AACA,QAAQ,gCAAI;AACZ;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,aAAa,gCAAI;AACjB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,aAAa,gCAAI;AACjB;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,+CAA+C,uCAAO;AACtD;AACA,QAAQ,kCAAE,qLAAqL,kCAAE;AACjM;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uBAAuB,+BAAG;AAC1B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wCAAa,CAAC,KAAK;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,6BAAa,GAAG;AAChC;AACA,SAAS;AACT;;AAEA,aAAa,wCAAa,CAAC,WAAU;AACrC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kDAAkD,kCAAE;AACpD;AACA;AACA;AACA,oBAAoB,oBAAU;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;;;AAGA,aAAa,wCAAa,yBAAyB,wCAAa;AAChE;AACA;AACA,OAAO,UAAU,wCAAa;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO,6CAA6C,wCAAa,CAAC,gBAAe;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI,wCAAa;AACxB;AACA;AACA,OAAO,+BAA+B,kCAAE,sDAAsD,kCAAE;AAChG;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEX,+BAAc;AACd;AACA;AACA;AACA,oBAAoB,4BAAQ;AAC5B;AACA;AACA,GAAG;AACH,kCAAkC;AAClC,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,WAAW,kCAAE;AACb,aAAa,kCAAE;AACf,YAAY,kCAAE;AACd;AACA;AACe,yEAAkB,CAAC,gBAAc,CAAC,+BAAc,EAAE,EAAC;AAClE,iC;;AC/rBmD;AACpC;AACf,SAAS,wCAAa;AACtB;AACA,GAAG;AACH;AACA,iC;;;;;;;;;;;;;;;ACDA;;;AAGA;AACA;AAEA;;;;IAGMC,8C;;;;;AAEL,kCAAatuB,KAAb,EAAqB;AAAA;;AAAA;;AACpB,8BAAOA,KAAP;AAEA,UAAKiD,KAAL,GAAa;AACZsrB,iBAAW,EAAE,EADD;AAEZC,iBAAW,EAAE,EAFD;AAGZC,aAAO,EAAE,MAAKC,oBAAL;AAHG,KAAb;AAMA,UAAKC,0BAAL,GAAkC,mBAAU,MAAKC,iBAAf,EAAkC,GAAlC,CAAlC;AAToB;AAUpB;AAED;;;;;;;2CAGuB;AAAA,wBACa,KAAK5uB,KADlB;AAAA,UACd6uB,MADc,eACdA,MADc;AAAA,UACNC,cADM,eACNA,cADM;AAEtB,aAAOC,OAAO,CAAEF,MAAM,CAACzoB,MAAP,IAAiB0oB,cAAnB,CAAd;AACA;;;;AAED;;;;wCAIoB;AAAA;;AACnB,UAAK,KAAKJ,oBAAL,EAAL,EAAmC;AAAA,2BACC,KAAK1uB,KADN;AAAA,YAC1B6uB,MAD0B,gBAC1BA,MAD0B;AAAA,YAClBC,cADkB,gBAClBA,cADkB;AAGlCA,sBAAc,CAAED,MAAF,CAAd,CAAyBnd,IAAzB,CAA+B,UAAAsd,OAAO,EAAI;AAAA,cACjCR,WADiC,GACjB,MAAI,CAACvrB,KADY,CACjCurB,WADiC;AAGzCQ,iBAAO,CAAC1qB,OAAR,CAAiB,UAAA2qB,UAAU,EAAI;AAC9BT,uBAAW,CAAES,UAAU,CAACxtB,KAAb,CAAX,GAAkCwtB,UAAU,CAACvtB,KAA7C;AACA,WAFD;;AAIA,gBAAI,CAACgkB,QAAL,CAAe;AAAE8I,uBAAW,EAAXA,WAAF;AAAeC,mBAAO,EAAE;AAAxB,WAAf;AACA,SARD;AASA;AACD;AAED;;;;;;2CAGuB;AACtB,aAAO,KAAKS,kBAAZ;AACA,WAAKP,0BAAL,CAAgCQ,MAAhC;AACA;AAED;;;;;;;;;uCAMoBC,M,EAAS;AAAA,UACpBZ,WADoB,GACJ,KAAKvrB,KADD,CACpBurB,WADoB;AAE5B,aAAOY,MAAM,CAACtiB,MAAP,CACN,UAAEC,WAAF,EAAetL,KAAf;AAAA,eACC+sB,WAAW,CAAE/sB,KAAF,CAAX,yCAA4BsL,WAA5B,IAAyCyhB,WAAW,CAAE/sB,KAAF,CAApD,KAAkEsL,WADnE;AAAA,OADM,EAGN,EAHM,CAAP;AAKA;AAED;;;;;;;;;uCAMoBsiB,M,EAAS;AAAA,UACpBb,WADoB,GACJ,KAAKvrB,KADD,CACpBurB,WADoB;AAE5B,aAAOa,MAAM,CAAC1oB,GAAP,CAAY,UAAAjF,KAAK;AAAA,eACvBlC,MAAM,CAACiN,IAAP,CAAa+hB,WAAb,EAA2B/rB,IAA3B,CAAiC,UAAAiK,GAAG;AAAA,iBAAI8hB,WAAW,CAAE9hB,GAAF,CAAX,KAAuBhL,KAA3B;AAAA,SAApC,CADuB;AAAA,OAAjB,CAAP;AAGA;AAED;;;;;;;;sCAKmB4tB,K,EAAQ;AAAA;;AAAA,UAClBC,gBADkB,GACG,KAAKvvB,KADR,CAClBuvB,gBADkB;;AAE1B,UAAK,CAAEA,gBAAP,EAA0B;AACzB;AACA;;AAED,WAAK7J,QAAL,CAAe;AAAE+I,eAAO,EAAE;AAAX,OAAf,EAAkC,YAAM;AACvC,YAAMe,OAAO,GAAGD,gBAAgB,CAAED,KAAF,CAAhC;AACAE,eAAO,CACN9d,IADD,CACO,UAAA6c,WAAW,EAAI;AACrB;AACA;AACA;AACA,cAAK,MAAI,CAACW,kBAAL,KAA4BM,OAAjC,EAA2C;AAC1C;AACA;;AANoB,cAQbhB,WARa,GAQG,MAAI,CAACvrB,KARR,CAQburB,WARa;AASrB,cAAMiB,kBAAkB,GAAG,EAA3B;AAEAlB,qBAAW,CAACjqB,OAAZ,CAAqB,UAAA2qB,UAAU,EAAI;AAClCQ,8BAAkB,CAAC/qB,IAAnB,CAAyBuqB,UAAU,CAACvtB,KAApC;AACA8sB,uBAAW,CAAES,UAAU,CAACxtB,KAAb,CAAX,GAAkCwtB,UAAU,CAACvtB,KAA7C;AACA,WAHD;;AAKA,gBAAI,CAACgkB,QAAL,CAAe;AAAE6I,uBAAW,EAAEkB,kBAAf;AAAmCjB,uBAAW,EAAXA,WAAnC;AAAgDC,mBAAO,EAAE;AAAzD,WAAf;AACA,SAlBD,EAmBCiB,KAnBD,CAmBQ,YAAM;AACb,cAAK,MAAI,CAACR,kBAAL,KAA4BM,OAAjC,EAA2C;AAC1C,kBAAI,CAAC9J,QAAL,CAAe;AACd+I,qBAAO,EAAE;AADK,aAAf;AAGA;AACD,SAzBD;AA2BA,cAAI,CAACS,kBAAL,GAA0BM,OAA1B;AACA,OA9BD;AA+BA;AAED;;;;;;;;mCAKgBG,Y,EAAe;AAAA,UACtB/V,QADsB,GACT,KAAK5Z,KADI,CACtB4Z,QADsB;AAE9BA,cAAQ,CAAE,KAAKgW,kBAAL,CAAyBD,YAAzB,CAAF,CAAR;AACA;AAED;;;;;;;;gCAKY;AAAA,UACHd,MADG,GACQ,KAAK7uB,KADb,CACH6uB,MADG;AAEX,aAAO,KAAKgB,kBAAL,CAAyBhB,MAAzB,CAAP;AACA;AAED;;;;;;6BAGS;AAAA;;AAAA,yBACqB,KAAK7uB,KAD1B;AAAA,UACA8vB,IADA,gBACAA,IADA;AAAA,4CACMpuB,KADN;AAAA,UACMA,KADN,mCACc,EADd;AAAA,wBAEyB,KAAKuB,KAF9B;AAAA,UAEAsrB,WAFA,eAEAA,WAFA;AAAA,UAEaE,OAFb,eAEaA,OAFb;AAIR,aACC;AAAK,iBAAS,EAAC;AAAf,SACC,yCAAC,gBAAD;AACC,aAAK,EAAG,KAAKsB,SAAL,EADT;AAEC,mBAAW,EAAGxB,WAFf;AAGC,gBAAQ,EAAG,kBAAAM,MAAM;AAAA,iBAAI,MAAI,CAACmB,cAAL,CAAqBnB,MAArB,CAAJ;AAAA,SAHlB;AAIC,qBAAa,EAAG,uBAAAS,KAAK;AAAA,iBAAI,MAAI,CAACX,0BAAL,CAAiCW,KAAjC,CAAJ;AAAA,SAJtB;AAKC,aAAK,EAAG5tB;AALT,QADD,EAQG+sB,OAAO,IAAI,yCAAC,OAAD,OARd,EASGqB,IAAI,IAAI;AAAG,iBAAS,EAAC;AAAb,SAA+CA,IAA/C,CATX,CADD;AAaA;;;;EAlKmC9wB,4B;;AAqKtBsvB,0GAAf,E;;;ACnLA;AAEA,IAAM2B,QAAQ,GAAGrxB,EAAE,CAACqxB,QAApB;IACQC,Y,GAAiBtxB,EAAE,CAACqT,G,CAApBie,Y;IACAC,c,GAAmBvxB,EAAE,CAACwxB,Y,CAAtBD,c;IACArvB,gB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;;AAER,IAAMuvB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAEC,MAAF,EAAc;AAC1C,SAAOL,QAAQ,CAAE;AAChBhF,QAAI,EAAEiF,YAAY,CAAE,eAAF,EAAmB;AACpCI,YAAM,EAANA,MADoC;AAEpCC,cAAQ,EAAE,EAF0B;AAGpCC,aAAO,EAAE,UAH2B;AAIpC7wB,UAAI,EAAE;AAJ8B,KAAnB;AADF,GAAF,CAAR,CAOH+R,IAPG,CAOG,UAAU+e,KAAV,EAAkB;AAC3B,QAAMxc,MAAM,GAAGwc,KAAK,CAAC9pB,GAAN,CAAW,UAAA+pB,IAAI;AAAA,aAAM;AACnCjvB,aAAK,EAAEivB,IAAI,CAAC1e,EADuB;AAEnCtQ,aAAK,EAAEyuB,cAAc,CAAEO,IAAI,CAAC1qB,KAAP,CAAd,IAAgClF,gBAAE,CAAE,YAAF;AAFN,OAAN;AAAA,KAAf,CAAf;AAIA,WAAOmT,MAAP;AACA,GAbM,CAAP;AAcA,CAfD;;AAiBA,IAAM0c,eAAe,GAAG,SAAlBA,eAAkB,CAAEC,OAAF,EAAe;AACtC,SAAOX,QAAQ,CAAE;AAChBhF,QAAI,EAAEiF,YAAY,CAAE,cAAF,EAAkB;AACnCK,cAAQ,EAAE,GADyB;AAEnCM,aAAO,EAAED,OAAO,CAACvZ,IAAR,CAAc,GAAd,CAF0B;AAGnCmZ,aAAO,EAAE;AAH0B,KAAlB;AADF,GAAF,CAAR,CAMH9e,IANG,CAMG,UAAU+e,KAAV,EAAkB;AAC3B,WAAOA,KAAK,CAAC9pB,GAAN,CAAW,UAAA+pB,IAAI;AAAA,aAAM;AAC3BjvB,aAAK,EAAEivB,IAAI,CAAC1e,EADe;AAE3BtQ,aAAK,EAAEyuB,cAAc,CAAEO,IAAI,CAAC1qB,KAAL,CAAW8qB,QAAb,CAAd,IAAyChwB,gBAAE,CAAE,YAAF;AAFvB,OAAN;AAAA,KAAf,CAAP;AAIA,GAXM,CAAP;AAYA,CAbD;;AAeA,IAAMiwB,8BAAc,GAAG,SAAjBA,cAAiB,CAAE/wB,KAAF,EAAa;AAAA,MAGlCgxB,WAHkC,GAM/BhxB,KAN+B,CAGlCgxB,WAHkC;AAAA,MAIlCC,aAJkC,GAM/BjxB,KAN+B,CAIlCixB,aAJkC;AAAA,MAKlCC,qBALkC,GAM/BlxB,KAN+B,CAKlCkxB,qBALkC;;AAQnC,MAAK,aAAaF,WAAlB,EAAgC;AAC/B,WAAO,IAAP;AACA;;AAED,SACC,yCAAC,uBAAD;AACC,OAAG,EAAC,OADL;AAEC,UAAM,EAAGC,aAAa,IAAI,EAF3B;AAGC,YAAQ,EAAGC,qBAHZ;AAIC,oBAAgB,EAAGb,oBAJpB;AAKC,kBAAc,EAAGM,eALlB;AAMC,SAAK,EAAG7vB,gBAAE,CAAE,OAAF,CANX;AAOC,QAAI,EAAGA,gBAAE,CAAE,+DAAF;AAPV,IADD;AAWA,CAvBD;;AAyBeiwB,kFAAf,E;;;;IChEQI,gC,GAAkBvyB,EAAE,CAACqC,U,CAArBkwB,a;AACR,IAAMlB,2BAAQ,GAAGrxB,EAAE,CAACqxB,QAApB;IACQC,+B,GAAiBtxB,EAAE,CAACqT,G,CAApBie,Y;IACAC,iC,GAAmBvxB,EAAE,CAACwxB,Y,CAAtBD,c;IAEArvB,mB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;AACR;;AAEA,IAAMswB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAEd,MAAF,EAAc;AAC5C,SAAOL,2BAAQ,CAAE;AAChBhF,QAAI,EAAEiF,+BAAY,CAAE,cAAF,EAAkB;AACnCI,YAAM,EAANA,MADmC;AAEnCC,cAAQ,EAAE,EAFyB;AAGnCC,aAAO,EAAE;AAH0B,KAAlB;AADF,GAAF,CAAR,CAMH9e,IANG,CAMG,UAAU2f,KAAV,EAAkB;AAC3B,WAAOA,KAAK,CAAC1qB,GAAN,CAAW,UAAAuM,IAAI;AAAA,aAAM;AAC3BzR,aAAK,EAAEyR,IAAI,CAAClB,EADe;AAE3BtQ,aAAK,EAAEyuB,iCAAc,CAAEjd,IAAI,CAAC5T,IAAP,CAAd,IAA+BwB,mBAAE,CAAE,WAAF;AAFb,OAAN;AAAA,KAAf,CAAP;AAIA,GAXM,CAAP;AAYA,CAbD;;AAeA,IAAMwwB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAEC,OAAF,EAAe;AACxC,SAAOtB,2BAAQ,CAAE;AAChBhF,QAAI,EAAEiF,+BAAY,CAAE,cAAF,EAAkB;AACnCK,cAAQ,EAAE,GADyB;AAEnCM,aAAO,EAAEU,OAAO,CAACla,IAAR,CAAc,GAAd,CAF0B;AAGnCmZ,aAAO,EAAE;AAH0B,KAAlB;AADF,GAAF,CAAR,CAMH9e,IANG,CAMG,UAAU2f,KAAV,EAAkB;AAC3B,WAAOA,KAAK,CAAC1qB,GAAN,CAAW,UAAAuM,IAAI;AAAA,aAAM;AAC3BzR,aAAK,EAAEyR,IAAI,CAAClB,EADe;AAE3BtQ,aAAK,EAAEyuB,iCAAc,CAAEjd,IAAI,CAAC5T,IAAP,CAAd,IAA+BwB,mBAAE,CAAE,WAAF;AAFb,OAAN;AAAA,KAAf,CAAP;AAIA,GAXM,CAAP;AAYA,CAbD;;AAeA,IAAM0wB,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAElB,MAAF,EAAc;AAC9C,SAAOL,2BAAQ,CAAE;AAChBhF,QAAI,EAAEiF,+BAAY,CAAE,mBAAF,EAAuB;AACxCI,YAAM,EAANA,MADwC;AAExCC,cAAQ,EAAE,EAF8B;AAGxCC,aAAO,EAAE,SAH+B;AAIxCiB,aAAO,EAAE,OAJ+B;AAKxCC,WAAK,EAAE;AALiC,KAAvB;AADF,GAAF,CAAR,CAQHhgB,IARG,CAQG,UAAUigB,UAAV,EAAuB;AAChC,WAAOA,UAAU,CAAChrB,GAAX,CAAgB,UAAAirB,QAAQ;AAAA,aAAM;AACpCnwB,aAAK,EAAEmwB,QAAQ,CAAC5f,EADoB;AAEpCtQ,aAAK,EAAEyuB,iCAAc,CAAEyB,QAAQ,CAACtyB,IAAX,CAAd,IAAmCwB,mBAAE,CAAE,YAAF;AAFR,OAAN;AAAA,KAAxB,CAAP;AAIA,GAbM,CAAP;AAcA,CAfD;;AAiBA,IAAM+wB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAEC,WAAF,EAAmB;AAC/C,SAAO7B,2BAAQ,CAAE;AAChBhF,QAAI,EAAEiF,+BAAY,CAAE,mBAAF,EAAuB;AACxCK,cAAQ,EAAE,GAD8B;AAExCC,aAAO,EAAE,SAF+B;AAGxCK,aAAO,EAAEiB,WAAW,CAACza,IAAZ,CAAkB,GAAlB;AAH+B,KAAvB;AADF,GAAF,CAAR,CAMH3F,IANG,CAMG,UAAUigB,UAAV,EAAuB;AAChC,WAAOA,UAAU,CAAChrB,GAAX,CAAgB,UAAAirB,QAAQ;AAAA,aAAM;AACpCnwB,aAAK,EAAEmwB,QAAQ,CAAC5f,EADoB;AAEpCtQ,aAAK,EAAEyuB,iCAAc,CAAEyB,QAAQ,CAACtyB,IAAX,CAAd,IAAmCwB,mBAAE,CAAE,YAAF;AAFR,OAAN;AAAA,KAAxB,CAAP;AAIA,GAXM,CAAP;AAYA,CAbD;;AAeA,IAAMixB,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAEzB,MAAF,EAAc;AACzC,SAAOL,2BAAQ,CAAE;AAChBhF,QAAI,EAAEiF,+BAAY,CAAE,aAAF,EAAiB;AAClCI,YAAM,EAANA,MADkC;AAElCC,cAAQ,EAAE,EAFwB;AAGlCC,aAAO,EAAE,SAHyB;AAIlCiB,aAAO,EAAE,OAJyB;AAKlCC,WAAK,EAAE;AAL2B,KAAjB;AADF,GAAF,CAAR,CAQHhgB,IARG,CAQG,UAAUsgB,IAAV,EAAiB;AAC1B,WAAOA,IAAI,CAACrrB,GAAL,CAAU,UAAAsrB,GAAG;AAAA,aAAM;AACzBxwB,aAAK,EAAEwwB,GAAG,CAACjgB,EADc;AAEzBtQ,aAAK,EAAEyuB,iCAAc,CAAE8B,GAAG,CAAC3yB,IAAN,CAAd,IAA8BwB,mBAAE,CAAE,YAAF;AAFd,OAAN;AAAA,KAAb,CAAP;AAIA,GAbM,CAAP;AAcA,CAfD;;AAiBA,IAAMoxB,cAAc,GAAG,SAAjBA,cAAiB,CAAEC,MAAF,EAAc;AACpC,SAAOlC,2BAAQ,CAAE;AAChBhF,QAAI,EAAEiF,+BAAY,CAAE,aAAF,EAAiB;AAClCK,cAAQ,EAAE,GADwB;AAElCC,aAAO,EAAE,SAFyB;AAGlCK,aAAO,EAAEsB,MAAM,CAAC9a,IAAP,CAAa,GAAb;AAHyB,KAAjB;AADF,GAAF,CAAR,CAMH3F,IANG,CAMG,UAAUsgB,IAAV,EAAiB;AAC1B,WAAOA,IAAI,CAACrrB,GAAL,CAAU,UAAAsrB,GAAG;AAAA,aAAM;AACzBxwB,aAAK,EAAEwwB,GAAG,CAACjgB,EADc;AAEzBtQ,aAAK,EAAEyuB,iCAAc,CAAE8B,GAAG,CAAC3yB,IAAN,CAAd,IAA8BwB,mBAAE,CAAE,YAAF;AAFd,OAAN;AAAA,KAAb,CAAP;AAIA,GAXM,CAAP;AAYA,CAbD;;AAeA,IAAMsxB,oCAAiB,GAAG,SAApBA,iBAAoB,CAAEpyB,KAAF,EAAa;AAAA,MAGrCqyB,OAHqC,GAUlCryB,KAVkC,CAGrCqyB,OAHqC;AAAA,MAIrCC,eAJqC,GAUlCtyB,KAVkC,CAIrCsyB,eAJqC;AAAA,MAKrCX,UALqC,GAUlC3xB,KAVkC,CAKrC2xB,UALqC;AAAA,MAMrCY,kBANqC,GAUlCvyB,KAVkC,CAMrCuyB,kBANqC;AAAA,MAOrCP,IAPqC,GAUlChyB,KAVkC,CAOrCgyB,IAPqC;AAAA,MAQrCQ,YARqC,GAUlCxyB,KAVkC,CAQrCwyB,YARqC;AAAA,MASrCxB,WATqC,GAUlChxB,KAVkC,CASrCgxB,WATqC;;AAYtC,MAAK,gBAAgBA,WAArB,EAAmC;AAClC,WAAO,IAAP;AACA;;AAED,SAAO,CACN,yCAAC,gCAAD;AACC,OAAG,EAAC;AADL,KAC0BhxB,KAD1B;AAEC,YAAQ,EAAG;AAFZ,KADM,EAKNsyB,eAAe,IACd,yCAAC,uBAAD;AACC,OAAG,EAAC,SADL;AAEC,UAAM,EAAGD,OAAO,IAAI,EAFrB;AAGC,YAAQ,EAAGC,eAHZ;AAIC,oBAAgB,EAAGlB,sBAJpB;AAKC,kBAAc,EAAGE,iBALlB;AAMC,SAAK,EAAGxwB,mBAAE,CAAE,SAAF;AANX,IANK,EAeNyxB,kBAAkB,IACjB,yCAAC,uBAAD;AACC,OAAG,EAAC,YADL;AAEC,UAAM,EAAGZ,UAAU,IAAI,EAFxB;AAGC,YAAQ,EAAGY,kBAHZ;AAIC,oBAAgB,EAAGf,wBAJpB;AAKC,kBAAc,EAAGK,oBALlB;AAMC,SAAK,EAAG/wB,mBAAE,CAAE,YAAF;AANX,IAhBK,EAyBN0xB,YAAY,IACX,yCAAC,uBAAD;AACC,OAAG,EAAC,MADL;AAEC,UAAM,EAAGR,IAAI,IAAI,EAFlB;AAGC,YAAQ,EAAGQ,YAHZ;AAIC,oBAAgB,EAAGT,mBAJpB;AAKC,kBAAc,EAAGG,cALlB;AAMC,SAAK,EAAGpxB,mBAAE,CAAE,MAAF;AANX,IA1BK,CAAP;AAoCA,CApDD;;AAsDesxB,2FAAf,E;;;;AC5JA;;;IAKQtxB,e,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAwM,2B,GAAiB1O,EAAE,CAACqC,U,CAApBqM,Y;AAER;AACA;;AAEA,IAAM6jB,4BAAa,GAAG,SAAhBA,aAAgB,CAAEnxB,KAAF,EAAa;AAAA,MAGjCgxB,WAHiC,GAM9BhxB,KAN8B,CAGjCgxB,WAHiC;AAAA,MAIjCyB,mBAJiC,GAM9BzyB,KAN8B,CAIjCyyB,mBAJiC;AAAA,MAKjCC,cALiC,GAM9B1yB,KAN8B,CAKjC0yB,cALiC;AAQlC,SAAO,CACNA,cAAc,IACb,yCAAC,2BAAD;AACC,SAAK,EAAG5xB,eAAE,CAAE,oBAAF,EAAwB,eAAxB,CADX;AAEC,YAAQ,EAAGkwB,WAFZ;AAGC,YAAQ,EAAGyB,mBAHZ;AAIC,WAAO,EAAG,CACT;AAAE/wB,WAAK,EAAEZ,eAAE,CAAE,0BAAF,CAAX;AAA2CW,WAAK,EAAE;AAAlD,KADS,EAET;AAAEC,WAAK,EAAEZ,eAAE,CAAE,yBAAF,CAAX;AAA0CW,WAAK,EAAE;AAAjD,KAFS;AAJX,IAFK,EAYN,yCAAC,kBAAD,EAAwBzB,KAAxB,CAZM,EAaN,yCAAC,eAAD,EAAqBA,KAArB,CAbM,CAAP;AAeA,CAvBD;;AAyBemxB,+EAAf,E;;;;;;;;;;;;;AC/BA;;;;;;AAMO,IAAMwB,wBAAwB,GAAG,SAA3BA,wBAA2B;AAAA,MAAI3B,WAAJ,QAAIA,WAAJ;AAAA,MAAiBC,aAAjB,QAAiBA,aAAjB;AAAA,SACvC,aAAaD,WAAb,IAA4BC,aAA5B,IAA6CA,aAAa,CAAC7qB,MADpB;AAAA,CAAjC;AAGP;;;;;;;AAMO,IAAMwsB,iCAA2B,GAAG,SAA9BA,2BAA8B,CAAArzB,UAAU,EAAI;AAAA,MAChDszB,WADgD,GACyBtzB,UADzB,CAChDszB,WADgD;AAAA,MACnCR,OADmC,GACyB9yB,UADzB,CACnC8yB,OADmC;AAAA,MAC1BV,UAD0B,GACyBpyB,UADzB,CAC1BoyB,UAD0B;AAAA,MACdK,IADc,GACyBzyB,UADzB,CACdyyB,IADc;AAAA,MACRf,aADQ,GACyB1xB,UADzB,CACR0xB,aADQ;AAAA,MACO6B,aADP,GACyBvzB,UADzB,CACOuzB,aADP;;AAExD,MAAMC,QAAQ,GAAG,iBAChBJ,wBAAwB,CAAEpzB,UAAF,CAAxB,GACG;AACDsxB,WAAO,EAAEI,aADR;AAEDQ,WAAO,EAAE,SAFR;AAGDlB,YAAQ,EAAEU,aAAa,CAAC7qB;AAHvB,GADH,GAMG;AACDmqB,YAAQ,EAAEsC,WADT;AAEDlB,cAAU,EAAVA,UAFC;AAGDqB,UAAM,EAAEX,OAHP;AAIDL,QAAI,EAAJA,IAJC;AAKDiB,gBAAY,EAAEH;AALb,GAPa,EAchB,UAAArxB,KAAK;AAAA,WAAI,CAAE,sBAAaA,KAAb,CAAN;AAAA,GAdW,CAAjB;;AAgBA,SAAOsxB,QAAP;AACA,CAnBM,C;;;;;;;;;;;;;ACfP;;;oBAQIn0B,EAAE,CAACwB,I;IAJNiD,mB,iBAAAA,a;IACAlD,Y,iBAAAA,M;IACA2kB,e,iBAAAA,S;IACAzG,c,iBAAAA,Q;AAGD;;;;AAGO,IAAM/a,gBAAU,GAAG,kBAAnB;AAEP,IAAM4vB,kBAAY,GAAG;AACpBC,aAAW,EAAE,EADO;AACH;AACjBC,cAAY,EAAE,EAFM;AAEF;AAClBC,sBAAoB,EAAE,EAHF,CAGM;;AAHN,CAArB;AAMA,IAAMC,aAAa,GAAG,eAAtB;AACA,IAAMC,oBAAoB,GAAG,sBAA7B;AACA,IAAMC,6BAA6B,GAAG,+BAAtC;AAEA,IAAM/vB,OAAO,GAAG;AACfgwB,cADe,wBACDte,MADC,EACQ;AACtB,WAAO;AACNxV,UAAI,EAAE2zB,aADA;AAENne,YAAM,EAANA;AAFM,KAAP;AAIA,GANc;AAOfue,sBAPe,gCAOOxzB,QAPP,EAOiBuwB,KAPjB,EAOyB;AACvC,WAAO;AACN9wB,UAAI,EAAE4zB,oBADA;AAENrzB,cAAQ,EAARA,QAFM;AAGNuwB,WAAK,EAALA;AAHM,KAAP;AAKA,GAbc;AAcfkD,8BAde,wCAcezzB,QAdf,EAcyBuwB,KAdzB,EAciC;AAC/C,WAAO;AACN9wB,UAAI,EAAE6zB,6BADA;AAENtzB,cAAQ,EAARA,QAFM;AAGNuwB,WAAK,EAALA;AAHM,KAAP;AAKA;AApBc,CAAhB;AAuBA;;;;;;;AAOA;;;;;;;;AAOA,IAAMmD,YAAY,GAAG,SAAfA,YAAe,CAAEC,aAAF,EAAiB3zB,QAAjB,EAA+B;AACnD,MAAM4zB,WAAW,GAAGD,aAAa,CAAChzB,SAAd,CAAyB,UAAAkzB,CAAC;AAAA,WAAIA,CAAC,CAAC7zB,QAAF,KAAeA,QAAnB;AAAA,GAA1B,CAApB;AACA,SAAO2zB,aAAa,CAACrW,KAAd,CAAqB,CAArB,EAAwBsW,WAAxB,CAAP;AACA,CAHD;;AAKA,IAAMtwB,SAAS,GAAG;AACjBwwB,iBADiB,2BACA/wB,KADA,EACOgxB,SADP,EACmB;AAAA,QAC3Bd,WAD2B,GACyBlwB,KADzB,CAC3BkwB,WAD2B;AAAA,QACdE,oBADc,GACyBpwB,KADzB,CACdowB,oBADc;AAAA,QACQD,YADR,GACyBnwB,KADzB,CACQmwB,YADR;AAGnC,QAAMc,uBAAuB,GAAGf,WAAW,CAC1ChrB,MAD+B,CACvB;AAAA,UAAIjI,QAAJ,QAAIA,QAAJ;AAAA,aAAoBmzB,oBAAoB,CAAEnzB,QAAF,CAAxC;AAAA,KADuB,EAE/Bi0B,OAF+B,CAEtB;AAAA,UAAIj0B,QAAJ,SAAIA,QAAJ;AAAA,aAAoBmzB,oBAAoB,CAAEnzB,QAAF,CAApB,CAAiCyG,GAAjC,CAAsC,UAAAytB,CAAC;AAAA,eAAIA,CAAC,CAACpiB,EAAN;AAAA,OAAvC,CAApB;AAAA,KAFsB,CAAhC;AAIA,QAAMgiB,eAAe,GAAGJ,YAAY,CAAET,WAAF,EAAec,SAAf,CAAZ,CACvB9rB,MADuB,CACf;AAAA,UAAIjI,QAAJ,SAAIA,QAAJ;AAAA,aAAoBkzB,YAAY,CAAElzB,QAAF,CAAhC;AAAA,KADe,EAEvBi0B,OAFuB,CAEd;AAAA,UAAIj0B,QAAJ,SAAIA,QAAJ;AAAA,aAAoBkzB,YAAY,CAAElzB,QAAF,CAAZ,CAAyByG,GAAzB,CAA8B,UAAAytB,CAAC;AAAA,eAAIA,CAAC,CAACpiB,EAAN;AAAA,OAA/B,CAApB;AAAA,KAFc,CAAxB;AAIA,WAAO,eAAMkiB,uBAAuB,CAAChwB,MAAxB,CAAgC8vB,eAAhC,CAAN,EAA0DK,IAA1D,EAAP;AACA;AAbgB,CAAlB;AAgBO,IAAMC,wBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,SAAS,EAAI;AAC9C;;;;;;;;AAQA,MAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAArf,MAAM;AAAA,WACnCA,MAAM,CAACgf,OAAP,CAAgB,UAAA/0B,KAAK,EAAI;AACxB,UAAM+zB,WAAW,GAAG,EAApB;;AACA,UAAK/zB,KAAK,CAACE,IAAN,KAAei1B,SAApB,EAAgC;AAC/BpB,mBAAW,CAACzuB,IAAZ,CAAkBtF,KAAlB;AACA;;AACD,aAAO+zB,WAAW,CAACjvB,MAAZ,CAAoBswB,qBAAqB,CAAEp1B,KAAK,CAAC0uB,WAAR,CAAzC,CAAP;AACA,KAND,CADmC;AAAA,GAApC;;AASA,MAAMvqB,OAAO,GAAG,SAAVA,OAAU,GAAoC;AAAA,QAAlCN,KAAkC,uEAA1BiwB,kBAA0B;AAAA,QAAZhwB,MAAY;;AACnD,YAASA,MAAM,CAACvD,IAAhB;AACC,WAAK2zB,aAAL;AACC,yDACIrwB,KADJ;AAECkwB,qBAAW,EAAEqB,qBAAqB,CAAEtxB,MAAM,CAACiS,MAAT;AAFnC;;AAID,WAAKoe,oBAAL;AACC,yDACItwB,KADJ;AAECmwB,sBAAY,EAAE,0CACVnwB,KAAK,CAACmwB,YADE,oCAETlwB,MAAM,CAAChD,QAFE,EAEUgD,MAAM,CAACutB,KAFjB;AAFb;;AAOD,WAAK+C,6BAAL;AACC,yDACIvwB,KADJ;AAECowB,8BAAoB,EAAE,0CAClBpwB,KAAK,CAACowB,oBADU,oCAEjBnwB,MAAM,CAAChD,QAFU,EAEEgD,MAAM,CAACutB,KAFT;AAFrB;AAfF;;AAuBA,WAAOxtB,KAAP;AACA,GAzBD;;AA0BAI,qBAAa,CAAEC,gBAAF,EAAc;AAC1BC,WAAO,EAAPA,OAD0B;AAE1BE,WAAO,EAAPA,OAF0B;AAG1BD,aAAS,EAATA,SAH0B;AAI1B0vB,gBAAY,EAAZA,kBAAYA;AAJc,GAAd,CAAb;;AA5C8C,gBAmDK/yB,YAAM,CAAE,mBAAF,CAnDX;AAAA,MAmDtCs0B,2BAnDsC,WAmDtCA,2BAnDsC;AAAA,MAmDT7zB,SAnDS,WAmDTA,SAnDS;;AAAA,kBAoDrByd,cAAQ,CAAE/a,gBAAF,CApDa;AAAA,MAoDtCmwB,YApDsC,aAoDtCA,YApDsC;;AAsD9C,MAAIiB,gBAAJ;AACA5P,iBAAS,CAAE,YAAM;AAChB,QAAM6P,YAAY,GAAGF,2BAA2B,EAAhD,CADgB,CAEhB;;AACA,QAAMG,aAAa,GAAGD,YAAY,KAAKD,gBAAvC;AACAA,oBAAgB,GAAGC,YAAnB;;AAEA,QAAKC,aAAL,EAAqB;AACpBnB,kBAAY,CAAE7yB,SAAS,EAAX,CAAZ;AACA;AACD,GATQ,CAAT;AAUA,CAjEM,C;;;ACtFP;AAEA;AAKA;AACA;AAEA0zB,wBAAkB,sBAAiBhxB,gBAAjB,EAAlB;IAEQxC,kB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAhC,2B,GAAcF,EAAE,CAACG,K,CAAjBD,S;IACAkC,0B,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;IACAI,mC,GAAsBxC,EAAE,CAACyC,W,CAAzBD,iB;IACAF,2B,GAActC,EAAE,CAACqC,U,CAAjBC,S;mCAKJtC,EAAE,CAACC,O;IAFNA,yB,gCAAAA,O;IACAF,4C,gCAAAA,0B;gCAMGC,EAAE,CAACwB,I;IAFNkB,4B,6BAAAA,U;IACA8b,8B,6BAAAA,Y;AAGD,IAAMyX,gCAAgC,GAAG,CAAE,6BAAF,CAAzC;AAEA,IAAMC,sBAAsB,GAAGn2B,4CAA0B,CAAC,UAAAiE,iBAAiB,EAAI;AAE9E,SAAO,UAAE5C,KAAF,EAAa;AAEnB,QAAK,CAAE60B,gCAAgC,CAACx1B,QAAjC,CAA2CW,KAAK,CAACV,IAAjD,CAAP,EAAiE;AAChE,aAAO,yCAAC,iBAAD,EAAwBU,KAAxB,CAAP;AACA;;AAJkB,QAOlBT,UAPkB,GASfS,KATe,CAOlBT,UAPkB;AAAA,QAQlBU,aARkB,GASfD,KATe,CAQlBC,aARkB;AAAA,QAYlB4yB,WAZkB,GAkBftzB,UAlBe,CAYlBszB,WAZkB;AAAA,QAalB7B,WAbkB,GAkBfzxB,UAlBe,CAalByxB,WAbkB;AAAA,QAclBC,aAdkB,GAkBf1xB,UAlBe,CAclB0xB,aAdkB;AAAA,QAelBoB,OAfkB,GAkBf9yB,UAlBe,CAelB8yB,OAfkB;AAAA,QAgBlBV,UAhBkB,GAkBfpyB,UAlBe,CAgBlBoyB,UAhBkB;AAAA,QAiBlBK,IAjBkB,GAkBfzyB,UAlBe,CAiBlByyB,IAjBkB;AAoBnB,WACC,yCAAC,0BAAD,QACC,yCAAC,iBAAD,EAAwBhyB,KAAxB,CADD,EAEC,yCAAC,gCAAD;AAAiB,WAAK,EAAGc,kBAAE,CAAE,OAAF,CAA3B;AAAyC,cAAQ,EAAG;AAApD,OACC,yCAAC,4BAAD;AAAa,WAAK,EAAGA,kBAAE,CAAE,UAAF;AAAvB,OACC,yCAAC,cAAD;AACC,SAAG,EAAG,gBADP;AAEC,oBAAc,EAAG,IAFlB;AAGC,mBAAa,EAAG+xB,WAHjB;AAIC,2BAAqB,EAAG,+BAAAkC,YAAY;AAAA,eACnC90B,aAAa,CAAE;AAAE4yB,qBAAW,EAAEkC;AAAf,SAAF,CADsB;AAAA,OAJrC;AAOC,iBAAW,EAAG/D,WAPf;AAQC,yBAAmB,EAAG,6BAAAgE,YAAY;AAAA,eACjC/0B,aAAa,CAAE;AAAE+wB,qBAAW,EAAEgE;AAAf,SAAF,CADoB;AAAA,OARnC;AAWC,mBAAa,EAAG/D,aAXjB;AAYC,2BAAqB,EAAG,+BAAAgE,cAAc;AAAA,eACrCh1B,aAAa,CAAE;AAAEgxB,uBAAa,EAAEgE;AAAjB,SAAF,CADwB;AAAA,OAZvC;AAeC,aAAO,EAAG5C,OAfX;AAgBC,qBAAe,EACd,yBAAA6C,QAAQ;AAAA,eAAIj1B,aAAa,CAAE;AAAEoyB,iBAAO,EAAE6C;AAAX,SAAF,CAAjB;AAAA,OAjBV;AAmBC,gBAAU,EAAGvD,UAnBd;AAoBC,wBAAkB,EACjB,4BAAAwD,WAAW;AAAA,eAAIl1B,aAAa,CAAE;AAAE0xB,oBAAU,EAAEwD;AAAd,SAAF,CAAjB;AAAA,OArBb;AAuBC,UAAI,EAAGnD,IAvBR;AAwBC,kBAAY,EAAG,sBAAAoD,KAAK,EAAI;AACvBn1B,qBAAa,CAAE;AAAE+xB,cAAI,EAAEoD;AAAR,SAAF,CAAb;AACA;AA1BF,MADD,CADD,CAFD,CADD;AAqCA,GAzDD;AA0DA,CA5DwD,CAAzD;;AA8DA,SAASC,wBAAT,CAAmCj2B,KAAnC,EAA2C;AAE1C,MAAK,CAAEy1B,gCAAgC,CAACx1B,QAAjC,CAA2CD,KAAK,CAACE,IAAjD,CAAP,EAAiE;AAChE,WAAOF,KAAP;AACA;;AAED,MAAK,OAAOA,KAAK,CAACG,UAAb,KAA4B,WAAjC,EAA+C;AAC9CH,SAAK,CAACG,UAAN,GAAmB,EAAnB;AACA;;AAEDH,OAAK,CAACG,UAAN,GAAmBC,MAAM,CAACC,MAAP,CAAeL,KAAK,CAACG,UAArB,EAAiC;AACnDszB,eAAW,EAAE;AACZlzB,UAAI,EAAE,SADM;AAEZC,aAAO,EAAE;AAFG,KADsC;AAKnDoxB,eAAW,EAAE;AACZrxB,UAAI,EAAE,QADM;AAEZC,aAAO,EAAE;AAFG,KALsC;AASnDqxB,iBAAa,EAAE;AACdtxB,UAAI,EAAE,OADQ;AAEdC,aAAO,EAAE,EAFK;AAGd01B,WAAK,EAAE;AACN31B,YAAI,EAAE;AADA;AAHO,KAToC;AAgBnD0yB,WAAO,EAAE;AACR1yB,UAAI,EAAE,OADE;AAERC,aAAO,EAAE,EAFD;AAGR01B,WAAK,EAAE;AACN31B,YAAI,EAAE;AADA;AAHC,KAhB0C;AAuBnDgyB,cAAU,EAAE;AACXhyB,UAAI,EAAE,OADK;AAEXC,aAAO,EAAE,EAFE;AAGX01B,WAAK,EAAE;AACN31B,YAAI,EAAE;AADA;AAHI,KAvBuC;AA8BnDqyB,QAAI,EAAE;AACLryB,UAAI,EAAE,OADD;AAELC,aAAO,EAAE,EAFJ;AAGL01B,WAAK,EAAE;AACN31B,YAAI,EAAE;AADA;AAHF;AA9B6C,GAAjC,CAAnB;AAuCA,SAAOP,KAAP;AACA;;AACDN,2BAAS,CAAE,0BAAF,EAA8B,wCAA9B,EAAwEu2B,wBAAxE,CAAT;AAEA,IAAME,eAAe,GAAG12B,yBAAO,CAAE,CAChCyC,4BAAU,CAAE,UAAEnB,MAAF,EAAUH,KAAV,EAAqB;AAAA,MACxBT,UADwB,GACCS,KADD,CACxBT,UADwB;AAAA,MACZW,QADY,GACCF,KADD,CACZE,QADY;AAGhC,MAAMs1B,gBAAgB,GAAG5C,iCAA2B,CAAErzB,UAAF,CAApD;;AAEA,MAAK,CAAEozB,wBAAwB,CAAEpzB,UAAF,CAA/B,EAAgD;AAC/C,QAAMk2B,gBAAgB,GAAGt1B,MAAM,CAAEmD,gBAAF,CAAN,CAAqB0wB,eAArB,CAAsC9zB,QAAtC,CAAzB;AACAs1B,oBAAgB,CAACE,OAAjB,GAA2BD,gBAAgB,CAACpe,IAAjB,CAAuB,GAAvB,CAA3B;AACA;;AAED,SAAO;AACNoZ,SAAK,EAAEtwB,MAAM,CAAE,MAAF,CAAN,CAAiBw1B,gBAAjB,CAAmC,UAAnC,EAA+C,MAA/C,EAAuDH,gBAAvD;AADD,GAAP;AAGA,CAbS,CADsB,EAehCpY,8BAAY,CAAE,UAAEiB,QAAF,EAAYre,KAAZ,EAAuB;AAAA,MAC5BT,UAD4B,GACbS,KADa,CAC5BT,UAD4B;AAEpC,MAAMm0B,oBAAoB,GAAGf,wBAAwB,CAAEpzB,UAAF,CAAxB,GAC1B8e,QAAQ,CAAE/a,gBAAF,CAAR,CAAuBqwB,4BADG,GAE1BtV,QAAQ,CAAE/a,gBAAF,CAAR,CAAuBowB,oBAF1B;AAIA,SAAO;AACNA,wBAAoB,EAApBA;AADM,GAAP;AAGA,CATW,CAfoB,EAyBhCoB,sBAzBgC,CAAF,CAA/B;AA2BAh2B,2BAAS,CAAE,kBAAF,EAAsB,8BAAtB,EAAsDy2B,eAAtD,CAAT,C;;;;;AC9KA;IAEQ52B,2D,GAA+BC,EAAE,CAACC,O,CAAlCF,0B;IACAG,0C,GAAcF,EAAE,CAACG,K,CAAjBD,S;kDACwBF,EAAE,CAACK,O;IAA3BD,0C,+CAAAA,S;IAAWgC,yC,+CAAAA,Q;AAEnB,IAAM40B,oCAAoC,GAAG,CAC5C,kBAD4C,EAE5C,6BAF4C,CAA7C;;AAKA,SAASC,4BAAT,CAAuCz2B,KAAvC,EAA+C;AAE9C,MAAK,CAAEw2B,oCAAoC,CAACv2B,QAArC,CAA+CD,KAAK,CAACE,IAArD,CAAP,EAAqE;AACpE,WAAOF,KAAP;AACA;;AAED,MAAK,OAAOA,KAAK,CAACG,UAAb,KAA4B,WAAjC,EAA+C;AAC9CC,UAAM,CAACC,MAAP,CAAeL,KAAK,CAACG,UAArB,EAAiCu2B,2BAAjC;AACA;;AAED,SAAO12B,KAAP;AACA;;AAEDN,0CAAS,CAAE,0BAAF,EAA8B,4CAA9B,EAA4E+2B,4BAA5E,CAAT,C;;;;;ACxBA;IAEQ/2B,iC,GAAcF,EAAE,CAACG,K,CAAjBD,S;AAER,IAAMi3B,8BAA8B,GAAG,CACtC,iBADsC,EAEtC,uBAFsC,EAGtC,sBAHsC,CAAvC;;AAMA,SAASC,oBAAT,CAA+B52B,KAA/B,EAAuC;AAEtC,MAAK,CAAE22B,8BAA8B,CAAC12B,QAA/B,CAAyCD,KAAK,CAACE,IAA/C,CAAP,EAA+D;AAC9D,WAAOF,KAAP;AACA;;AAED,MAAK,OAAOA,KAAK,CAACG,UAAb,KAA4B,WAAjC,EAA+C;AAC9CC,UAAM,CAACC,MAAP,CAAeL,KAAK,CAACG,UAArB,EAAiC02B,oCAAjC;AACA;;AAED,SAAO72B,KAAP;AACA;;AAEDN,iCAAS,CAAE,0BAAF,EAA8B,4CAA9B,EAA4Ek3B,oBAA5E,CAAT,C;;;;;ACvBA;IAEQr3B,wD,GAA+BC,EAAE,CAACC,O,CAAlCF,0B;IACAG,uC,GAAcF,EAAE,CAACG,K,CAAjBD,S;+CACwBF,EAAE,CAACK,O;IAA3BD,uC,4CAAAA,S;IAAWgC,sC,4CAAAA,Q;AAEnB,IAAMk1B,oCAAoC,GAAG,CAC5C,iBAD4C,EAE5C,sBAF4C,CAA7C;;AAKA,SAASC,yBAAT,CAAoC/2B,KAApC,EAA4C;AAE3C,MAAK,CAAE82B,oCAAoC,CAAC72B,QAArC,CAA+CD,KAAK,CAACE,IAArD,CAAP,EAAqE;AACpE,WAAOF,KAAP;AACA;;AAED,MAAK,OAAOA,KAAK,CAACG,UAAb,KAA4B,WAAjC,EAA+C;AAC9CC,UAAM,CAACC,MAAP,CAAeL,KAAK,CAACG,UAArB,EAAiC62B,yBAAjC;AACA;;AAED,SAAOh3B,KAAP;AACA;;AAEDN,uCAAS,CAAE,0BAAF,EAA8B,yCAA9B,EAAyEq3B,yBAAzE,CAAT,C;;;ACxBA;IAEQ/0B,wC,GAAsBxC,EAAE,CAACyC,W,CAAzBD,iB;IACAzC,iD,GAA+BC,EAAE,CAACC,O,CAAlCF,0B;IACAG,gC,GAAcF,EAAE,CAACG,K,CAAjBD,S;IACAkC,+B,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;AAER,IAAMq1B,oBAAoB,GAAG13B,iDAA0B,CAAC,UAAAiE,iBAAiB,EAAI;AAE5E,SAAO,UAAE5C,KAAF,EAAa;AACnB,WACC,yCAAC,+BAAD,QACC,yCAAC,wCAAD,QACC,yCAAC,iCAAD,EAAuBA,KAAvB,CADD,CADD,EAIC,yCAAC,iBAAD,EAAwBA,KAAxB,CAJD,CADD;AAQA,GATD;AAWA,CAbsD,CAAvD;AAcAlB,gCAAS,CAAE,kBAAF,EAAsB,mCAAtB,EAA2Du3B,oBAA3D,CAAT,C;;;;;;;;;;;;ACrBA;AAEA;AACA;AAEA;IAQQv1B,+B,GAAOlC,EAAE,CAACmC,I,CAAVD,E;mDAMJlC,EAAE,CAACqC,U;IAHN+a,uC,gDAAAA,Q;IACA3O,2C,gDAAAA,Y;IACA0C,4C,gDAAAA,a;gDAMGnR,EAAE,CAACC,O;IAFNA,sC,6CAAAA,O;IACAF,yD,6CAAAA,0B;IAIAqC,uC,GACGpC,EAAE,CAACK,O,CADN+B,Q;IAIAlC,wC,GACGF,EAAE,CAACG,K,CADND,S;AAGD,IAAMsvB,6CAAc,GAAG,CACtB,kBADsB,EAEtB,6BAFsB,EAGtB,6BAHsB,CAAvB;AAMA,IAAMkI,uBAAuB,GAAG,CAC/B,kBAD+B,CAAhC;;AAIA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,OAAiE;AAAA,MAA7DC,eAA6D,QAA7DA,eAA6D;AAAA,MAA5CC,iBAA4C,QAA5CA,iBAA4C;AAAA,MAAzB9I,iBAAyB,QAAzBA,iBAAyB;AAE9F,MAAM+I,cAAc,GAAG,CAAED,iBAAF,GAAsBD,eAAtB,GAAwC,CAAC,CAAD,GAAKA,eAApE;AAEA,SAAO;AACNA,mBAAe,EAASA,eADlB;AAENC,qBAAiB,EAAOA,iBAFlB;AAGNE,mBAAe,EAAMD,cAAc,GAAG,CAAjB,IAAsB,CAAC,QAAD,EAAW,QAAX,EAAqBr3B,QAArB,CAA+BsuB,iBAA/B,CAAxB,GAAgF+I,cAAhF,GAAiG,CAH9G;AAINE,sBAAkB,EAAKF,cAAc,GAAG,CAAjB,IAAsB,CAAC,QAAD,EAAW,KAAX,EAAkBr3B,QAAlB,CAA4BsuB,iBAA5B,CAAxB,GAA8E+I,cAA9E,GAA+F,CAJ9G;AAKNG,sBAAkB,EAAKlJ,iBAAiB,KAAK,KAAxB,GAAmC+I,cAAnC,GAAqD,CALpE;AAMNI,yBAAqB,EAAKnJ,iBAAiB,KAAK,QAAxB,GAAsC+I,cAAtC,GAAwD,CAN1E;AAON/I,qBAAiB,EAAOA;AAPlB,GAAP;AASA,CAbD;;AAeA,IAAMoJ,kDAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AACjC,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAAE,WAAOljB,uBAAuB,CAAE,CAAE,CAAC,CAAH,EAAM,CAAN,EAAS,CAAT,CAAF,EAAgB,CAAhB,CAAvB,CAA2C,CAA3C,CAAP;AAAsD,GAApF;;AACA,MAAM1U,KAAK,GAAGqU,gBAAgB,CAAE,CAAF,EAAK,CAAL,CAA9B;AACA,MAAMwjB,QAAQ,GAAGxjB,gBAAgB,CAAE,CAAF,EAAK,CAAL,CAAjC;AACA,MAAMyjB,YAAY,GAAGF,aAAa,EAAlC;AACA,MAAMG,eAAe,GAAGH,aAAa,EAArC;AACA,MAAMI,eAAe,GAAGJ,aAAa,EAArC;AACA,MAAMK,kBAAkB,GAAGL,aAAa,EAAxC;AACA,MAAMrJ,iBAAiB,GAAG7Z,uBAAuB,CAAE,CAAE,KAAF,EAAS,QAAT,EAAmB,QAAnB,CAAF,EAAiC,CAAjC,CAAvB,CAA4D,CAA5D,CAA1B;AACA,MAAM2iB,iBAAiB,GAAG3iB,uBAAuB,CAAE,CAAE,IAAF,EAAQ,KAAR,CAAF,EAAmB,CAAnB,CAAvB,CAA8C,CAA9C,CAA1B;AAEA,SAAO;AACN6iB,mBAAe,EAAEv3B,KAAK,GAAG83B,YADnB;AAENN,sBAAkB,EAAEx3B,KAAK,GAAG+3B,eAFtB;AAGNN,sBAAkB,EAAEI,QAAQ,GAAGG,eAHzB;AAINN,yBAAqB,EAAEG,QAAQ,GAAGI,kBAJ5B;AAKNZ,qBAAiB,EAAjBA,iBALM;AAMN9I,qBAAiB,EAAjBA;AANM,GAAP;AAQA,CAnBD;;AAqBA,IAAM2J,kCAAkC,GAAG34B,yDAA0B,CAAE,UAAAiE,iBAAiB,EAAI;AAE3F,SAAO,UAAE5C,KAAF,EAAa;AAAA;;AAEnB,QAAK,CAAEs2B,uBAAuB,CAACj3B,QAAxB,CAAkCW,KAAK,CAACV,IAAxC,CAAP,EAAwD;AACvD,aAAO,yCAAC,iBAAD,EAAwBU,KAAxB,CAAP;AACA;;AAED,QAAM8d,aAAa,GAAG9d,KAAH,aAAGA,KAAH,0CAAGA,KAAK,CAAEgD,QAAV,6EAAG,gBAAiBiL,KAApB,oFAAG,sBAAwBspB,cAA3B,2DAAG,uBAAwCzZ,aAA9D;AAEA,WACC,yCAAC,uCAAD,QACC,yCAAC,iBAAD,EAAwB9d,KAAxB,CADD,EAEC,yCAAC,gCAAD;AAAiB,WAAK,EAAGc,+BAAE,CAAE,kBAAF;AAA3B,OAEE,CAAC,CAAEgd,aAAH,IACA,yCAAC,4BAAD;AAAa,WAAK,EAAGhd,+BAAE,CAAE,SAAF;AAAvB,OACC,yCAAC,cAAD;AACC,SAAG,EAAG,0BADP;AAEC,WAAK,EAAGA,+BAAE,CAAE,yBAAF,EAA6B,eAA7B,CAFX;AAGC,aAAO,EAAGgd,aAHX;AAIC,eAAS,EAAGiZ,kDAAmBA;AAJhC,MADD,CAHF,CAFD,CADD;AAkBA,GA1BD;AA2BA,CA7BoE,CAArE;AA+BA,IAAMS,qBAAqB,GAAG34B,sCAAO,CAAE,CACtCiQ,aADsC,EAEtCwoB,kCAFsC,CAAF,CAArC;AAKAx4B,wCAAS,CAAE,kBAAF,EAAsB,2CAAtB,EAAmE04B,qBAAnE,CAAT;AAEA,IAAMC,0BAA0B,GAAG94B,yDAA0B,CAAE,UAAAiE,iBAAiB,EAAI;AAEnF,SAAO,UAAE5C,KAAF,EAAa;AAEnB,QAAK,CAAEouB,6CAAc,CAAC/uB,QAAf,CAAyBW,KAAK,CAACV,IAA/B,CAAP,EAA+C;AAC9C,aAAO,yCAAC,iBAAD,EAAwBU,KAAxB,CAAP;AACA;;AAJkB,QAOlBT,UAPkB,GASfS,KATe,CAOlBT,UAPkB;AAAA,QAQlBU,aARkB,GASfD,KATe,CAQlBC,aARkB;AAAA,QAYlB02B,eAZkB,GAkBfp3B,UAlBe,CAYlBo3B,eAZkB;AAAA,QAalBC,kBAbkB,GAkBfr3B,UAlBe,CAalBq3B,kBAbkB;AAAA,QAclBC,kBAdkB,GAkBft3B,UAlBe,CAclBs3B,kBAdkB;AAAA,QAelBC,qBAfkB,GAkBfv3B,UAlBe,CAelBu3B,qBAfkB;AAAA,QAgBlBN,eAhBkB,GAkBfj3B,UAlBe,CAgBlBi3B,eAhBkB;AAAA,QAiBlBC,iBAjBkB,GAkBfl3B,UAlBe,CAiBlBk3B,iBAjBkB;AAoBnB,QAAM9I,iBAAiB,GAAGpuB,UAAU,CAACouB,iBAAX,IAAgC,QAA1D;AAEA,QAAM+J,iBAAiB,GAAGpB,uBAAuB,CAACj3B,QAAxB,CAAkCW,KAAK,CAACV,IAAxC,IAAiD,CAAC,CAAlD,GAAsD,CAAhF;AACA,QAAMq4B,iBAAiB,GAAG,CAA1B;AAEA,QAAMC,OAAO,GAAG;AACf,2CAAqCjK,iBAAiB,KAAK,KAAtB,GAA8Bnf,IAAI,CAAC2O,GAAL,CAAS0Z,kBAAT,CAA9B,GAA6DA,kBADnF;AAEf,8CAAwClJ,iBAAiB,KAAK,QAAtB,GAAiCnf,IAAI,CAAC2O,GAAL,CAAS2Z,qBAAT,CAAjC,GAAmEA,qBAF5F;AAGf,wCAAkCH,eAHnB;AAIf,2CAAqCC,kBAJtB;AAKf,mCAA6BpoB,IAAI,CAACmF,GAAL,CAAU,CAAV,EAAa,CAAC,CAAD,IAAOgjB,eAAe,GAAGC,kBAAzB,CAAb;AALd,KAAhB;AAQA,WACC,yCAAC,uCAAD,QACC;AAAK,WAAK,EAAGgB;AAAb,OACC,yCAAC,iBAAD,EAAwB53B,KAAxB,CADD,CADD,EAIC,yCAAC,gCAAD;AAAiB,WAAK,EAAGc,+BAAE,CAAE,kBAAF;AAA3B,OACC,yCAAC,4BAAD;AAAa,WAAK,EAAGA,+BAAE,CAAE,WAAF;AAAvB,OACC;AAAK,SAAG,EAAG,8BAAX;AAA4C,eAAS,EAAGwW,wBAAkB,CAAE/X,UAAF,EAAcg3B,qBAAd;AAA1E,OACC,yCAAC,2CAAD;AACC,WAAK,EAAGC,eADT;AAEC,cAAQ,EAAG,kBAAEA,eAAF,EAAuB;AACjC,YAAMpe,aAAa,GAAGme,qBAAqB,CAAC,4FAAMh3B,UAAP;AAAmBi3B,yBAAe,EAAfA;AAAnB,WAA3C;AACAv2B,qBAAa,CAAEmY,aAAF,CAAb;AACA,OALF;AAMC,WAAK,EAAGtX,+BAAE,CAAE,mBAAF,CANX;AAOC,SAAG,EAAG,CAPP;AAQC,SAAG,EAAG;AARP,MADD,EAWC,yCAAC,4CAAD;AACC,WAAK,EAAGA,+BAAE,CAAE,oBAAF,CADX;AAEC,aAAO,EAAG21B,iBAFX;AAGC,cAAQ,EAAG,kBAAAA,iBAAiB,EAAI;AAC/B,YAAMre,aAAa,GAAGme,qBAAqB,CAAC,4FAAMh3B,UAAP;AAAmBk3B,2BAAiB,EAAjBA;AAAnB,WAA3C;AACAx2B,qBAAa,CAAEmY,aAAF,CAAb;AACA;AANF,MAXD,EAmBC,yCAAC,uCAAD,QACC,uDAAQtX,+BAAE,CAAE,UAAF,EAAc,eAAd,CAAV,CADD,EAEC,yCAAC,gCAAD;AACC,WAAK,EAAG6sB,iBADT;AAEC,cAAQ,EAAG,kBAAEA,iBAAF,EAAyB;AACnC,YAAMvV,aAAa,GAAGme,qBAAqB,CAAC,4FAAMh3B,UAAP;AAAmBouB,2BAAiB,EAAjBA;AAAnB,WAA3C;AACA1tB,qBAAa,CAAEmY,aAAF,CAAb;AACA;AALF,MAFD,CAnBD,CADD,CADD,EAiCC,yCAAC,4BAAD;AAAa,WAAK,EAAGtX,+BAAE,CAAE,UAAF;AAAvB,OACC;AAAK,SAAG,EAAG;AAAX,OACC,yCAAC,cAAD;AAAe,WAAK,EAAGA,+BAAE,CAAE,eAAF;AAAzB,OACC,yCAAC,2CAAD;AACC,SAAG,EAAG,8BADP;AAEC,WAAK,EAAG61B,eAFT;AAGC,cAAQ,EAAG,kBAAEA,eAAF;AAAA,eAAuB12B,aAAa,CAAE;AAAE02B,yBAAe,EAAfA;AAAF,SAAF,CAApC;AAAA,OAHZ;AAIC,WAAK,EAAG71B,+BAAE,CAAE,KAAF,CAJX;AAKC,SAAG,EAAG42B,iBALP;AAMC,SAAG,EAAGC;AANP,MADD,EASC,yCAAC,2CAAD;AACC,SAAG,EAAG,iCADP;AAEC,WAAK,EAAGf,kBAFT;AAGC,cAAQ,EAAG,kBAAEA,kBAAF;AAAA,eAA0B32B,aAAa,CAAE;AAAE22B,4BAAkB,EAAlBA;AAAF,SAAF,CAAvC;AAAA,OAHZ;AAIC,WAAK,EAAG91B,+BAAE,CAAE,QAAF,CAJX;AAKC,SAAG,EAAG42B,iBALP;AAMC,SAAG,EAAGC;AANP,MATD,CADD,EAmBC,yCAAC,cAAD;AAAe,WAAK,EAAG72B,+BAAE,CAAE,sBAAF;AAAzB,OACC;AAAK,SAAG,EAAG;AAAX,OACC,yCAAC,2CAAD;AACC,SAAG,EAAG,gCADP;AAEC,WAAK,EAAG+1B,kBAFT;AAGC,cAAQ,EAAG,kBAAEA,kBAAF;AAAA,eAA0B52B,aAAa,CAAE;AAAE42B,4BAAkB,EAAlBA;AAAF,SAAF,CAAvC;AAAA,OAHZ;AAIC,WAAK,EAAG/1B,+BAAE,CAAE,KAAF,CAJX;AAKC,SAAG,EAAG42B,iBALP;AAMC,SAAG,EAAGC;AANP,MADD,EASC,yCAAC,2CAAD;AACC,SAAG,EAAG,mCADP;AAEC,WAAK,EAAGb,qBAFT;AAGC,cAAQ,EAAG,kBAAEA,qBAAF;AAAA,eAA6B72B,aAAa,CAAE;AAAE62B,+BAAqB,EAArBA;AAAF,SAAF,CAA1C;AAAA,OAHZ;AAIC,WAAK,EAAGh2B,+BAAE,CAAE,QAAF,CAJX;AAKC,SAAG,EAAG42B,iBALP;AAMC,SAAG,EAAGC;AANP,MATD,CADD,CAnBD,CADD,CAjCD,CAJD,CADD;AAmFA,GApHD;AAqHA,CAvH4D,CAA7D;AAyHA74B,wCAAS,CAAE,kBAAF,EAAsB,kCAAtB,EAA0D24B,0BAA1D,CAAT;;AAEA,SAASI,2BAAT,CAAsCz4B,KAAtC,EAA8C;AAE7C,MAAK,CAAEgvB,6CAAc,CAAC/uB,QAAf,CAAyBD,KAAK,CAACE,IAA/B,CAAP,EAA+C;AAC9C,WAAOF,KAAP;AACA;;AAED,MAAK,OAAOA,KAAK,CAACG,UAAb,KAA4B,WAAjC,EAA+C;AAC9CC,UAAM,CAACC,MAAP,CAAeL,KAAK,CAACG,UAArB,EAAiCA,yCAAjC;AACA;;AAED,SAAOH,KAAP;AACA;;AACDN,wCAAS,CAAE,0BAAF,EAA8B,4CAA9B,EAA4E+4B,2BAA5E,CAAT,C;;;;;;;;;IC7PQl5B,4C,GAA+BC,EAAE,CAACC,O,CAAlCF,0B;IACAG,2B,GAAcF,EAAE,CAACG,K,CAAjBD,S;IACAkC,0B,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;IAEAM,4B,GAAe1C,EAAE,CAACwB,I,CAAlBkB,U;AAER,IAAMw2B,iBAAiB,GAAG,CACzB,sBADyB,EAEzB,8BAFyB,EAGzB,6BAHyB,CAA1B;AAMA,IAAMC,eAAe,GAAGz2B,4BAAU,CAAE,UAAEnB,MAAF,EAAUH,KAAV,EAAqB;AAAA,MAChDE,QADgD,GACnCF,KADmC,CAChDE,QADgD;;AAAA,gBAEnCC,MAAM,CAAE,mBAAF,CAF6B;AAAA,MAEhDge,QAFgD,WAEhDA,QAFgD;;AAGxD,MAAM6Z,WAAW,GAAG7Z,QAAQ,CAAEje,QAAF,CAA5B;AACA,MAAM4tB,WAAW,GAAGkK,WAAW,CAAClK,WAAhC;AAEA;AACCA,eAAW,EAAXA;AADD,KAEI9tB,KAFJ;AAIA,CAViC,CAAlC;AAYA,IAAMi4B,wBAAwB,GAAGt5B,4CAA0B,CAAE,UAAAiE,iBAAiB,EAAI;AAEjF,MAAMC,eAAe,GAAGk1B,eAAe,CAACn1B,iBAAD,CAAvC;AAEA,SAAO,UAAE5C,KAAF,EAAa;AAEnB,QAAK,CAAE83B,iBAAiB,CAACz4B,QAAlB,CAA4BW,KAAK,CAACV,IAAlC,CAAP,EAAkD;AACjD,aAAO,yCAAC,iBAAD,EAAwBU,KAAxB,CAAP;AACA;;AAED,WAAO,yCAAC,eAAD,EAAsBA,KAAtB,CAAP;AACA,GAPD;AAQA,CAZ0D,CAA3D;AAcAlB,2BAAS,CAAE,kBAAF,EAAsB,wCAAtB,EAAgEm5B,wBAAhE,CAAT,C;;ACtCA;AAEA,IAAIC,MAAM,GAAGA,MAAM,IAAI,EAAvB;AACAA,MAAM,CAACC,IAAP,GAAcD,MAAM,CAACC,IAAP,IAAe,EAA7B;AAEAD,MAAM,CAACC,IAAP,CAAYC,KAAZ,GAAoB;AAClB;;;;;AAKAC,UAAQ,EAAE,kBAASC,IAAT,EAAe;AACvB;AACA;AACA;AACAA,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,iCAAb,EAAgD,SAAhD,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,iCAAb,EAAgD,SAAhD,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,iCAAb,EAAgD,UAAhD,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,iCAAb,EAAgD,UAAhD,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,8BAAb,EAA6C,WAA7C,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,8BAAb,EAA6C,WAA7C,CAAP;AACA,WAAOo2B,IAAP;AACD,GAjBiB;;AAmBlB;;;;;AAKAC,aAAW,EAAE,qBAASC,IAAT,EAAeC,YAAf,EAA6BC,UAA7B,EAAyC;AACpD;AACA,QAAID,YAAY,IAAIC,UAAhB,IAA8BA,UAAU,IAAI,GAAhD,EAAqD;AACnDA,gBAAU,IAAI,IAAd;AACD;;AACD,QAAIC,cAAc,GAAGT,MAAM,CAACC,IAAP,CAAYC,KAAZ,CAAkBQ,aAAlB,CAAgCH,YAAhC,CAArB;AACA,QAAII,YAAY,GAAGX,MAAM,CAACC,IAAP,CAAYC,KAAZ,CAAkBQ,aAAlB,CAAgCF,UAAhC,CAAnB;AAEA;AAAO;AAA0D;AAC/DF,YAAI,EAAEA,IADyD;AAE/D1vB,YAAI,EAAE;AAAE;AAAsD;AAC5Dgd,eAAK,EAAE6S,cADqD;AAE5D5S,aAAG,EAAE8S;AAFuD,SAAxD;AAFyD;AAAjE;AAOD,GAvCiB;;AAyClB;;;;AAIAD,eAAa,EAAE,uBAASE,OAAT,EAAkB;AAC/B,QAAIC,EAAE,GAAGvqB,IAAI,CAACC,KAAL,CAAWqqB,OAAO,GAAG,EAArB,CAAT;AACA,QAAIE,EAAE,GAAGF,OAAO,GAAG,EAAnB;AACA,QAAIG,WAAW,GAAKF,EAAE,GAAG,EAAN,KAAcA,EAAjC;AACAA,MAAE,GAAIA,EAAE,GAAG,EAAX;;AACA,QAAIA,EAAE,GAAG,EAAL,KAAYA,EAAhB,EAAoB;AAClBA,QAAE,GAAG,MAAMA,EAAX;AACD;;AACD,QAAIE,WAAJ,EAAiB;AACfF,QAAE,GAAG,MAAMA,EAAX;AACD;;AACD,QAAIC,EAAE,GAAG,EAAL,KAAYA,EAAhB,EAAoB;AAClBA,QAAE,GAAG,MAAMA,EAAX;AACD;;AACD,WAAOD,EAAE,GAAG,EAAL,GAAUC,EAAjB;AACD,GA5DiB;;AA8DlB;;;;;;AAMAE,sBAAoB,EAAE,8BAASC,SAAT,EAAoBC,WAApB,EAAiCC,QAAjC,EAA2C;AAC/D,QAAIC,KAAK,GAAG/oB,QAAQ,CAAC4oB,SAAD,EAAY,EAAZ,CAApB;AACA,QAAIL,OAAO,GAAIM,WAAW,KAAKtP,SAAjB,GAA8BvZ,QAAQ,CAAC6oB,WAAD,EAAc,EAAd,CAAtC,GAA0D,CAAxE;;AACA,QAAIE,KAAK,KAAK,EAAV,IAAgBD,QAApB,EAA8B;AAC5BC,WAAK,IAAI,EAAT;AACD;;AACD,QAAID,QAAQ,IAAIA,QAAQ,CAAC,CAAD,CAAR,KAAgB,GAAhC,EAAqC;AACnCC,WAAK,IAAI,EAAT;AACD;;AAED,WAAQA,KAAK,GAAG,EAAT,GAAeR,OAAtB;AACD;AA/EiB,CAApB;AAkFAZ,MAAM,CAACC,IAAP,CAAYoB,WAAZ,GAA0B;AAExB;;;AAGAC,OAAK,EAAE,eAASlB,IAAT,EAAe;AACpBA,QAAI,GAAGA,IAAI,CAACmB,WAAL,EAAP,CADoB,CAGpB;;AACAnB,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,KAAb,EAAoB,KAApB,CAAP,CAJoB,CAMpB;AACA;;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,sBAAb,EAAqC,OAArC,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,kBAAb,EAAiC,OAAjC,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,wBAAb,EAAuC,aAAvC,CAAP,CAVoB,CAYpB;;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,qBAAb,EAAoC,GAApC,CAAP,CAboB,CAepB;;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,+CAAb,EAA8D,GAA9D,CAAP,CAhBoB,CAkBpB;;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,eAAb,EAA8B,GAA9B,CAAP;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,eAAb,EAA8B,GAA9B,CAAP,CApBoB,CAsBpB;;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,mCAAb,EAAkD,WAAlD,CAAP,CAvBoB,CAyBpB;AACA;;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,yEAAb,EAAwF,YAAxF,CAAP,CA3BoB,CA4BpB;;AACAo2B,QAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,mCAAb,EAAkD,MAAlD,CAAP,CA7BoB,CA8BpB;AACA;;AAEAo2B,QAAI,GAAGJ,MAAM,CAACC,IAAP,CAAYC,KAAZ,CAAkBC,QAAlB,CAA2BC,IAA3B,CAAP,CAjCoB,CAmCpB;;AACA,QAAIoB,aAAa,GAAGC,CAAC,CAAChzB,GAAF,CAAMgzB,CAAC,CAAC7kB,KAAF,CAAQ,CAAR,EAAW,CAAX,CAAN,EAAqB,UAAS8kB,IAAT,EAAe;AACtD,UAAIC,QAAQ,GAAG3B,MAAM,CAACC,IAAP,CAAYoB,WAAZ,CAAwBO,UAAxB,CAAmCF,IAAnC,CAAf;;AACA,UAAIG,SAAS,GAAGJ,CAAC,CAACK,IAAF,CAAOH,QAAP,CAAhB,CAFsD,CAEpB;;;AAClC,UAAII,OAAO,GAAGN,CAAC,CAACO,IAAF,CAAOL,QAAP,CAAd;;AACAI,aAAO,CAACE,OAAR,GAJsD,CAIlC;;AACpB,UAAIJ,SAAS,IAAIE,OAAjB,EAA0B;AACxBN,SAAC,CAAClW,IAAF,CAAOwW,OAAP,EAAgB,UAASG,KAAT,EAAgB;AAC9B9B,cAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa,IAAID,MAAJ,CAAWm4B,KAAX,EAAkB,GAAlB,CAAb,EAAqCL,SAArC,CAAP;AACD,SAFD;AAGD;;AACD,aAAOA,SAAP;AACD,KAXmB,CAApB;;AAaA,QAAIM,UAAU,GAAG,MAAMX,aAAa,CAACriB,IAAd,CAAmB,GAAnB,CAAN,GAAgC,GAAjD;AACA,QAAIijB,WAAW,GAAG,qCAAlB;AACA,QAAIC,eAAe,GAAI,mBAAvB;AACA,QAAIC,oBAAoB,GAAG,MAAMD,eAAN,GAAwB,SAAxB,GAAoCA,eAApC,GAAsD,GAAjF,CApDoB,CAsDpB;;AACA,QAAIE,uBAAuB,GAAGJ,UAAU,GAAG,KAAb,GAAqBG,oBAAnD;AACA,QAAIE,wBAAwB,GAAGF,oBAAoB,GAAG,KAAvB,GAA+BH,UAA9D;AAEA,QAAIM,eAAe,GAAGrC,IAAI,CAAChI,MAAL,CAAY,IAAIruB,MAAJ,CAAWw4B,uBAAX,CAAZ,CAAtB;AACA,QAAIG,gBAAgB,GAAGtC,IAAI,CAAChI,MAAL,CAAY,IAAIruB,MAAJ,CAAWy4B,wBAAX,CAAZ,CAAvB,CA3DoB,CA6DpB;;AACA,QAAIG,SAAS,GAAIF,eAAe,KAAK,CAAC,CAArB,IAA0BA,eAAe,IAAIC,gBAA9C,IAAmEA,gBAAgB,KAAK,CAAC,CAAzG,CA9DoB,CA+DpB;AACA;AAEA;;AACA,QAAIC,SAAJ,EAAe;AACb,UAAIC,gBAAgB,GAAGT,UAAU,GAAG,GAAb,GAAmBA,UAAnB,GAAgC,QAAhC,GAA2CG,oBAAlE;AACA,UAAIO,cAAc,GAAG,IAAI94B,MAAJ,CAAW64B,gBAAX,EAA6B,GAA7B,CAArB;;AACA,WAAK,IAAI9lB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0kB,aAAa,CAACtzB,MAAlC,EAA0C,EAAE4O,CAA5C,EAA+C;AAC7CsjB,YAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa64B,cAAb,EAA6B,gBAA7B,CAAP;AACD;AACF,KAND,MAMO;AACL,UAAID,gBAAgB,GAAGN,oBAAoB,GAAG,YAAvB,GAAsCH,UAAtC,GAAmD,GAAnD,GAAyDA,UAAhF;AACA,UAAIU,cAAc,GAAG,IAAI94B,MAAJ,CAAW64B,gBAAX,EAA6B,GAA7B,CAArB;;AACA,WAAK,IAAI9lB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0kB,aAAa,CAACtzB,MAAlC,EAA0C,EAAE4O,CAA5C,EAA+C;AAC7CsjB,YAAI,GAAGA,IAAI,CAACp2B,OAAL,CAAa64B,cAAb,EAA6B,mBAA7B,CAAP;AACD;AACF;;AAED,QAAIC,eAAe,GAAGX,UAAU,GAAG,YAAb,GAA4BA,UAA5B,GAAyC,GAA/D;AACA,QAAIY,gBAAgB,GAAGX,WAAW,GAAG,SAAd,GAA0BA,WAAjD;AACA,QAAIY,gBAAgB,GAAGL,SAAS,GAC5BG,eAAe,GAAG,KAAlB,GAA0BC,gBADE,GAG5BA,gBAAgB,GAAG,KAAnB,GAA2BD,eAH/B;AAKA,QAAIG,cAAc,GAAG,IAAIl5B,MAAJ,CAAWi5B,gBAAX,EAA6B,GAA7B,CAArB;AAEA,QAAInlB,OAAO,GAAG,EAAd;;AACA,OAAG;AACD,UAAIqlB,YAAY,GAAGD,cAAc,CAACE,IAAf,CAAoB/C,IAApB,CAAnB;;AACA,UAAI8C,YAAJ,EAAkB;AAChBrlB,eAAO,CAACrR,IAAR,CAAa02B,YAAb;AACD;AACF,KALD,QAKSA,YALT;;AAOA,QAAIrlB,OAAO,CAAC3P,MAAR,IAAkB,CAAtB,EAAyB;AACvB;AACA;AACA;AACA,UAAIk1B,gBAAgB,GAAG,IAAIr5B,MAAJ,CAAW,uBAAuBg5B,gBAAlC,CAAvB;AACA,UAAIM,cAAc,GAAGD,gBAAgB,CAACD,IAAjB,CAAsB/C,IAAtB,CAArB;;AACA,UAAIiD,cAAJ,EAAoB;AAClBxlB,eAAO,CAACrR,IAAR,CAAa62B,cAAb;AACD;AACF;;AAED,QAAIC,UAAU,GAAG7B,CAAC,CAAChzB,GAAF,CAAMoP,OAAN,EAAe,UAAS0lB,KAAT,EAAgB;AAC9C;AACA,UAAIC,IAAI,GAAGb,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAAvC;AACA,UAAIE,IAAI,GAAGd,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAAvC;AACA,UAAIG,QAAQ,GAAIF,IAAI,KAAK5R,SAAV,GAAuB4P,aAAa,CAACmC,OAAd,CAAsBH,IAAtB,CAAvB,GAAqD,CAApE;AAEA,UAAII,MAAM,GAAG,IAAb;;AACA,UAAIH,IAAI,KAAK7R,SAAb,EAAwB;AACtB,YAAI4R,IAAI,KAAK5R,SAAb,EAAwB;AACtB8R,kBAAQ,GAAGlC,aAAa,CAACmC,OAAd,CAAsBF,IAAtB,CAAX;AACD,SAFD,MAEO;AACLG,gBAAM,GAAGpC,aAAa,CAACmC,OAAd,CAAsBF,IAAtB,CAAT;AACD;AACF,OAND,MAMO,IAAID,IAAI,KAAK5R,SAAb,EAAwB;AAC7B;AACAgS,cAAM,GAAG,CAAT;AACD;;AACD,UAAIA,MAAM,KAAK,IAAf,EAAqB;AACnBA,cAAM,GAAGF,QAAT;AACD;;AAED,UAAIE,MAAM,GAAGF,QAAb,EAAuB;AACrB;AACAE,cAAM,IAAI,CAAV;AACD;;AACD,UAAItD,IAAI,GAAGmB,CAAC,CAAChzB,GAAF,CAAMgzB,CAAC,CAAC7kB,KAAF,CAAQ8mB,QAAR,EAAkBE,MAAM,GAAG,CAA3B,CAAN,EAAqC,UAASC,GAAT,EAAc;AAC5D;AACA,eAAQA,GAAG,GAAG,CAAP,GAAY,CAAnB;AACD,OAHU,CAAX,CAzB8C,CA8B9C;;;AACA,UAAIC,SAAS,GAAGnB,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAA5C;AACA,UAAIQ,WAAW,GAAGpB,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAA9C;AACA,UAAIS,aAAa,GAAGrB,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAAhD;AACA,UAAIU,OAAO,GAAGtB,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAA1C;AACA,UAAIW,SAAS,GAAGvB,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAA5C;AACA,UAAIY,WAAW,GAAGxB,SAAS,GAAGY,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAA9C,CApC8C,CAqC9C;;AACA,UAAIpV,SAAS,GAAG6R,MAAM,CAACC,IAAP,CAAYC,KAAZ,CAAkBc,oBAAlB,CAAuC8C,SAAvC,EAAkDC,WAAlD,EAA+DC,aAA/D,CAAhB;AACA,UAAII,OAAO,GAAGpE,MAAM,CAACC,IAAP,CAAYC,KAAZ,CAAkBc,oBAAlB,CAAuCiD,OAAvC,EAAgDC,SAAhD,EAA2DC,WAA3D,CAAd;AACA,aAAOnE,MAAM,CAACC,IAAP,CAAYC,KAAZ,CAAkBG,WAAlB,CAA8BC,IAA9B,EAAoCnS,SAApC,EAA+CiW,OAA/C,CAAP;AACD,KAzCgB,CAAjB;;AA2CA,QAAId,UAAU,CAACp1B,MAAf,EAAuB;AACrB;AAAO;AAAsD;AAC3Do1B,oBAAU,EAAEA;AAD+C;AAA7D;AAGD,KAJD,MAIO;AACL,aAAO,IAAP;AACD;AACF,GApKuB;;AAsKxB;;;;AAIA1B,YAAU,EAAE,oBAASiC,GAAT,EAAc;AACxB,QAAIzD,IAAI,GAAG,EAAX;AACA,QAAI2B,OAAO,GAAG,EAAd;;AACA,YAAO8B,GAAP;AACE,WAAK,CAAL;AAAQ9B,eAAO,GAAG,CAAC,SAAD,EAAW,QAAX,EAAoB,OAApB,EAA4B,MAA5B,EAAmC,KAAnC,EAAyC,IAAzC,EAA8C,GAA9C,CAAV;AAA8D;;AACtE,WAAK,CAAL;AAAQA,eAAO,GAAG,CAAC,UAAD,EAAY,SAAZ,EAAsB,OAAtB,EAA8B,MAA9B,EAAqC,KAArC,EAA2C,IAA3C,CAAV;AAA4D;;AACpE,WAAK,CAAL;AAAQA,eAAO,GAAG,CAAC,YAAD,EAAc,WAAd,EAA0B,QAA1B,EAAmC,OAAnC,EAA2C,MAA3C,EAAkD,KAAlD,EAAwD,IAAxD,EAA6D,GAA7D,CAAV;AAA6E;;AACrF,WAAK,CAAL;AAAQA,eAAO,GAAG,CAAC,WAAD,EAAa,UAAb,EAAwB,OAAxB,EAAgC,MAAhC,EAAuC,KAAvC,EAA6C,IAA7C,CAAV;AAA8D;;AACtE,WAAK,CAAL;AAAQA,eAAO,GAAG,CAAC,SAAD,EAAW,QAAX,EAAoB,OAApB,EAA4B,MAA5B,EAAmC,KAAnC,EAAyC,IAAzC,EAA8C,GAA9C,CAAV;AAA8D;;AACtE,WAAK,CAAL;AAAQA,eAAO,GAAG,CAAC,WAAD,EAAa,UAAb,EAAwB,OAAxB,EAAgC,MAAhC,EAAuC,KAAvC,EAA6C,IAA7C,CAAV;AAA8D;;AACtE,WAAK,CAAL;AAAQA,eAAO,GAAG,CAAC,SAAD,EAAW,QAAX,EAAoB,OAApB,EAA4B,MAA5B,EAAmC,KAAnC,EAAyC,IAAzC,CAAV;AAA0D;;AAClE;AAAS,eAAO,EAAP;AARX;;AAUA,WAAON,CAAC,CAAC4C,MAAF,CAAStC,OAAT,EAAkB,UAASG,KAAT,EAAgB;AACvC,aAAOA,KAAK,CAACh0B,MAAb;AACD,KAFM,CAAP;AAGD;AA1LuB,CAA1B,C,CA6LA;;AACA,SAASo2B,gBAAT,CAA2BC,QAA3B,EAAsC;AACpC,MAAIC,WAAW,GAAE,EAAjB;AACA,MAAIC,KAAK,GAAGF,QAAQ,CAACG,KAAT,CAAe,IAAf,CAAZ;;AACA,OAAK,IAAI5nB,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAE2nB,KAAK,CAACv2B,MAAvB,EAA+B4O,CAAC,EAAhC,EAAoC;AAClC,QAAI2nB,KAAK,CAAC3nB,CAAD,CAAL,CAAS3V,QAAT,CAAkB,QAAlB,KAA+Bs9B,KAAK,CAAC3nB,CAAD,CAAL,CAAS3V,QAAT,CAAkB,QAAlB,CAA/B,IAA8D,CAACs9B,KAAK,CAAC3nB,CAAD,CAAL,CAASymB,KAAT,CAAe,MAAf,CAAnE,EAA2F,CACzF;AACD,KAFD,MAEO;AACLiB,iBAAW,IAAIC,KAAK,CAAC3nB,CAAD,CAAL,GAAW,IAA1B;AACD;AACF;;AAED,SAAO0nB,WAAP;AACD;;AAEM,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAAUC,YAAV,EAAyB;AACjDA,cAAY,GAAGN,gBAAgB,CAACM,YAAD,CAA/B;AACA,MAAIxD,KAAK,GAAGpB,MAAM,CAACC,IAAP,CAAYoB,WAAZ,CAAwBC,KAAxB,CAA8BsD,YAA9B,CAAZ;AACA,SAAOC,IAAI,CAACC,SAAL,CAAe1D,KAAf,CAAP;AACH,CAJM,C;;;ACnSP;AAEO,IAAM2D,6BAAmB,GAAG,SAAtBA,mBAAsB,CAAEj6B,QAAF,EAAgB;AAElD,MAAMk6B,SAAS,GAAG,SAAZA,SAAY,CAAEl9B,KAAF,EAAa;AAC9B,QAAM6B,SAAS,GAAGiE,oBAAU,CAC3B,oBAD2B,EAE3B9F,KAAK,CAAC6B,SAFqB,CAA5B;AAKA,WACC;AAAK,eAAS,EAAGA,SAAjB;AAA6B,6BAAuB,EAAG;AACtDs7B,cAAM,EAAEn6B,QAAQ,CAACo6B,SAAT,IAAsBp6B,QAAQ,CAACo6B,SAAT,CAAmBC;AADK;AAAvD,MADD;AAMA,GAZD;;AAcA,MAAMC,oBAAoB,GAAG1+B,EAAE,CAACC,OAAH,CAAWF,0BAAX,CAAuC,UAAEmB,SAAF,EAAiB;AACpF,WAAO,UAAEE,KAAF,EAAa;AACnB,UAAK,qBAAqBA,KAAK,CAACV,IAAhC,EAAuC;AACtC,eAAO,yCAAC,SAAD;AAAW,mBAAS,EAAGU,KAAK,CAACT,UAAN,CAAiBsC;AAAxC,UAAP;AACA,OAFD,MAEO;AACN,eAAO,yCAAC,SAAD,EAAgB7B,KAAhB,CAAP;AACA;AACD,KAND;AAOA,GAR4B,EAQ1B,sBAR0B,CAA7B;;AAUA,MAAMu9B,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAEt+B,OAAF,EAAWu+B,SAAX,EAAsBj+B,UAAtB,EAAsC;AAClE,QAAK,qBAAqBi+B,SAAS,CAACl+B,IAApC,EAA2C;AAC1C,aAAOL,OAAP;AACA;;AAED,WAAO,IAAP;AACA,GAND;;AAQAL,IAAE,CAACG,KAAH,CAASD,SAAT,CAAoB,kBAApB,EAAwC,sBAAxC,EAAgEw+B,oBAAhE;AACA1+B,IAAE,CAACG,KAAH,CAASD,SAAT,CAAoB,uBAApB,EAA6C,sBAA7C,EAAqEy+B,oBAArE;AACA,CApCM,C;;;;;ACFP,IAAME,SAAS,GAAG,EAAlB;AAEO,IAAMC,4BAAb;AAEC,8BAAa7sB,MAAb,EAAqBtR,UAArB,EAAkC;AAAA;;AACjC,QAAMo+B,kBAAkB,GAAGp+B,UAAU,CAACo+B,kBAAX,GAAgC,EAAhC,GAAqC,CAAhE;AAEA,SAAKC,SAAL,GAAiB/sB,MAAM,CAAClK,GAAP,CAAY,UAAEokB,KAAF,EAASvmB,KAAT,EAAoB;AAChD,UAAMq5B,UAAU,GAAGrvB,IAAI,CAACC,KAAL,CAAYjK,KAAK,GAAG,CAApB,IAA0B,CAA7C;AACA,UAAMs5B,QAAQ,GAAGtvB,IAAI,CAACkF,GAAL,CAAUmqB,UAAU,GAAG,CAAvB,EAA0BhtB,MAAM,CAACzK,MAAjC,CAAjB;AACA,UAAM23B,cAAc,GAAGD,QAAQ,GAAGD,UAAX,KAA0B,CAAjD;AAEA,aAAO,IAAIG,kBAAJ,CAAcjT,KAAd,EAAqBvmB,KAArB,EAA4BjF,UAA5B,EAAwCw+B,cAAxC,CAAP;AACA,KANgB,CAAjB;AAQA,SAAKE,WAAL;;AAEA,QAAKN,kBAAkB,KAAK,CAAvB,IAA4BA,kBAAkB,KAAK,CAAxD,EAA4D;AAC3D,WAAKO,KAAL;AACA;;AAED,QAAKP,kBAAkB,KAAK,CAAvB,IAA4BA,kBAAkB,KAAK,CAAxD,EAA4D;AAC3D,WAAKQ,KAAL;AACA;AACD;;AAtBF;AAAA;AAAA,kCAwBe;AACb,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,UAAMC,QAAQ,GAAG,KAAKC,WAAL,EAAjB;AACA,UAAMC,YAAY,GAAG,KAAKC,eAAL,EAArB;AAEA,WAAKb,SAAL,GAAiB,KAAKA,SAAL,CAAej3B,GAAf,CAAoB,UAAE+3B,QAAF,EAAYl6B,KAAZ,EAAuB;AAC3D,YAAMm6B,UAAU,GAAGnwB,IAAI,CAACC,KAAL,CAAYjK,KAAK,GAAG,CAApB,CAAnB;AAEAk6B,gBAAQ,CAACh8B,CAAT,GAAag8B,QAAQ,CAACh8B,CAAT,GAAa07B,SAA1B;AACAM,gBAAQ,CAAC7nB,CAAT,GAAa6nB,QAAQ,CAAC7nB,CAAT,GAAaynB,QAAb,GAAwBK,UAAU,GAAGH,YAAlD;AAEA,eAAOE,QAAP;AACA,OAPgB,CAAjB;AAQA;AArCF;AAAA;AAAA,4BAuCS;AACP,UAAME,IAAI,GAAGpwB,IAAI,CAACmF,GAAL,OAAAnF,IAAI,8BAAS,KAAKovB,SAAL,CAAej3B,GAAf,CAAoB,UAAA+3B,QAAQ;AAAA,eAAIA,QAAQ,CAACh8B,CAAT,GAAag8B,QAAQ,CAACtsB,KAA1B;AAAA,OAA5B,CAAT,EAAjB;AAEA,WAAKwrB,SAAL,GAAiB,KAAKA,SAAL,CAAej3B,GAAf,CAAoB,UAAE+3B,QAAF,EAAYl6B,KAAZ,EAAuB;AAC3Dk6B,gBAAQ,CAACh8B,CAAT,GAAak8B,IAAI,GAAGF,QAAQ,CAACh8B,CAAhB,GAAoBg8B,QAAQ,CAACtsB,KAA7B,GAAqC,CAAlD;AACA,eAAOssB,QAAP;AACA,OAHgB,CAAjB;AAIA;AA9CF;AAAA;AAAA,4BAgDS;AACP,UAAMG,IAAI,GAAGrwB,IAAI,CAACmF,GAAL,OAAAnF,IAAI,8BAAS,KAAKovB,SAAL,CAAej3B,GAAf,CAAoB,UAAA+3B,QAAQ;AAAA,eAAIA,QAAQ,CAAC7nB,CAAT,GAAa6nB,QAAQ,CAAC10B,MAA1B;AAAA,OAA5B,CAAT,EAAjB;AAEA,WAAK4zB,SAAL,GAAiB,KAAKA,SAAL,CAAej3B,GAAf,CAAoB,UAAE+3B,QAAF,EAAYl6B,KAAZ,EAAuB;AAC3Dk6B,gBAAQ,CAAC7nB,CAAT,GAAagoB,IAAI,GAAGH,QAAQ,CAAC7nB,CAAhB,GAAoB6nB,QAAQ,CAAC10B,MAA7B,GAAsC,CAAnD;AACA,eAAO00B,QAAP;AACA,OAHgB,CAAjB;AAIA;AAvDF;AAAA;AAAA,mCAyDgB;AACd,aAAOlwB,IAAI,CAACkF,GAAL,OAAAlF,IAAI,8BAAS,KAAKovB,SAAL,CAAej3B,GAAf,CAAoB,UAAA+3B,QAAQ;AAAA,eAAIA,QAAQ,CAACh8B,CAAb;AAAA,OAA5B,CAAT,EAAJ,GAA8D,CAArE;AACA;AA3DF;AAAA;AAAA,kCA6De;AACb,aAAO8L,IAAI,CAACkF,GAAL,OAAAlF,IAAI,8BAAS,KAAKovB,SAAL,CAAej3B,GAAf,CAAoB,UAAA+3B,QAAQ;AAAA,eAAIA,QAAQ,CAAC7nB,CAAb;AAAA,OAA5B,CAAT,EAAJ,GAA8D,CAArE;AACA;AA/DF;AAAA;AAAA,sCAiEmB;AACjB,UAAMioB,UAAU,GAAG,KAAKlB,SAAL,CAAepgB,KAAf,CAAsB,CAAtB,EAAyB,CAAzB,CAAnB;AACA,UAAMuhB,SAAS,GAAGvwB,IAAI,CAACmF,GAAL,OAAAnF,IAAI,8BAASswB,UAAU,CAACn4B,GAAX,CAAgB,UAAA+3B,QAAQ;AAAA,eAAIA,QAAQ,CAAC7nB,CAAT,GAAa6nB,QAAQ,CAAC10B,MAA1B;AAAA,OAAxB,CAAT,EAAtB;AAEA,aAAOyzB,SAAS,GAAG,CAAZ,GAAgBsB,SAAhB,GAA4B,CAAnC;AACA;AAtEF;;AAAA;AAAA;;IAyEqBf,kB;AAEpB,oBAAajT,KAAb,EAAoBvmB,KAApB,EAA2BjF,UAA3B,EAAuCw+B,cAAvC,EAAwD;AAAA;;AAEvD,SAAKiB,YAAL,GAAoBz/B,UAAU,CAACy/B,YAAX,GAA0B,EAA9C;AACA,SAAKC,aAAL,GAAqB1/B,UAAU,CAAC0/B,aAAX,GAA2B,CAAhD;AACA,SAAK1d,cAAL,GAAsBhiB,UAAU,CAACgiB,cAAjC;AACA,SAAKlF,aAAL,GAAqB9c,UAAU,CAAC8c,aAAhC;AACA,SAAK6iB,aAAL,GAAqB3/B,UAAU,CAAC2/B,aAAhC;AAEA,SAAKnU,KAAL,GAAaA,KAAb;AACA,SAAKvmB,KAAL,GAAaA,KAAb;AAEA,SAAK26B,GAAL,GAAW,KAAKC,QAAL,CAAe56B,KAAf,CAAX;AACA,SAAK66B,GAAL,GAAW,KAAKF,GAAL,GAAW,CAAtB;AACA,SAAKG,GAAL,GAAW9wB,IAAI,CAACC,KAAL,CAAYjK,KAAK,GAAG,CAApB,CAAX;;AAEA,QAAK,CAAC,CAAEu5B,cAAR,EAAyB;AAExB,UAAKv5B,KAAK,KAAK,CAAf,EAAmB;AAClB,aAAKy6B,aAAL,GAAqBzwB,IAAI,CAACkF,GAAL,CAAU,KAAKurB,aAAf,EAA8B,EAA9B,CAArB;AACA;;AAED,UAAKz6B,KAAK,KAAK,CAAf,EAAmB;AAClB,aAAKy6B,aAAL,GAAqBzwB,IAAI,CAACmF,GAAL,CAAU,KAAKsrB,aAAf,EAA8B,EAA9B,CAArB;AACA;AAED;;AAzBsD,2BA2B5B,KAAKM,UAAL,EA3B4B;AAAA,QA2BjDre,OA3BiD,oBA2BjDA,OA3BiD;AAAA,QA2BxCC,OA3BwC,oBA2BxCA,OA3BwC;;AA4BvD,QAAMqe,IAAI,GAAG/B,SAAS,GAAG,KAAKuB,YAAL,IAAsBx6B,KAAK,GAAG,CAA9B,CAAzB;AAEA,SAAK9B,CAAL,GAAS+6B,SAAS,GAAG,KAAK4B,GAAjB,GAAuB,CAAvB,GAA2Bne,OAApC;AACA,SAAKrK,CAAL,GAAS4mB,SAAS,GAAG,KAAK6B,GAAjB,GAAuB,CAAvB,GAA2Bne,OAApC;AAEA,SAAK/O,KAAL,GAAaotB,IAAb;AACA,SAAKx1B,MAAL,GAAcw1B,IAAd;AACA;;;;iCAEY;AAAA,UACJF,GADI,GAC6C,IAD7C,CACJA,GADI;AAAA,UACCD,GADD,GAC6C,IAD7C,CACCA,GADD;AAAA,UACM76B,KADN,GAC6C,IAD7C,CACMA,KADN;AAAA,UACaw6B,YADb,GAC6C,IAD7C,CACaA,YADb;AAAA,UAC2BC,aAD3B,GAC6C,IAD7C,CAC2BA,aAD3B,EAGZ;;AACA,UAAI/d,OAAO,GAAG,CAAE,IAAIme,GAAG,GAAG,CAAZ,KAAoB76B,KAAK,GAAG,CAA5B,IAAkCw6B,YAAhD;AACA,UAAI7d,OAAO,GAAG,CAAE,IAAIme,GAAG,GAAG,CAAZ,KAAoB96B,KAAK,GAAG,CAA5B,IAAkCw6B,YAAhD,CALY,CAOZ;AACA;;AACA9d,aAAO,IAAI,CAAE,IAAIme,GAAG,GAAG,CAAZ,KAAoB,IAAIC,GAAG,GAAG,CAA9B,IAAoCL,aAA/C,CATY,CAUZ;;AACA/d,aAAO,IAAMme,GAAG,GAAG,CAAR,IAAgBC,GAAG,GAAG,CAAtB,IAA4BL,aAAvC,CAXY,CAYZ;;AACA9d,aAAO,IAAI,CAAE,IAAIke,GAAG,GAAG,CAAZ,KAAoBC,GAAG,GAAG,CAA1B,IAAgCL,aAA3C,CAbY,CAcZ;;AACA9d,aAAO,IAAMke,GAAG,GAAG,CAAR,IAAgB,IAAIC,GAAG,GAAG,CAA1B,IAAgCL,aAA3C;AAEA,aAAO;AACN/d,eAAO,EAAPA,OADM;AAENC,eAAO,EAAPA;AAFM,OAAP;AAIA,K,CAED;;;;6BACU3c,K,EAAQ;AACjB,UAAKA,KAAK,GAAG,CAAR,KAAc,CAAnB,EAAuB,OAAOA,KAAK,GAAG,CAAf;AACvB,UAAKA,KAAK,GAAG,CAAR,KAAc,CAAnB,EAAuB,OAAOA,KAAK,GAAG,CAAf;AAEvB,aAAOA,KAAP;AACA;;;+BAEU;AAAA,UACFA,KADE,GAC4C,IAD5C,CACFA,KADE;AAAA,UACK9B,CADL,GAC4C,IAD5C,CACKA,CADL;AAAA,UACQmU,CADR,GAC4C,IAD5C,CACQA,CADR;AAAA,UACWzE,KADX,GAC4C,IAD5C,CACWA,KADX;AAAA,UACkBpI,MADlB,GAC4C,IAD5C,CACkBA,MADlB;AAAA,UAC0Bk1B,aAD1B,GAC4C,IAD5C,CAC0BA,aAD1B;AAEV,UAAMO,QAAQ,oBAAc,CAAEj7B,KAAK,GAAG,CAAR,GAAY,GAAd,IAAsB06B,aAAtB,GAAsC,EAApD,SAAd;AAEA,aAAO;AACNQ,uBAAe,EAAEh9B,CAAC,GAAG,EADf;AAENi9B,qBAAa,iBAAWvtB,KAAX,CAFP;AAGNwtB,oBAAY,EAAE/oB,CAAC,GAAG,EAHZ;AAINgpB,kBAAU,iBAAW71B,MAAX,CAJJ;AAKND,iBAAS,EAAE01B;AALL,OAAP;AAOA;;;oCAEe;AAAA,UACPN,GADO,GAC0C,IAD1C,CACPA,GADO;AAAA,UACFG,GADE,GAC0C,IAD1C,CACFA,GADE;AAAA,UACGD,GADH,GAC0C,IAD1C,CACGA,GADH;AAAA,UACQ9d,cADR,GAC0C,IAD1C,CACQA,cADR;AAAA,UACwBlF,aADxB,GAC0C,IAD1C,CACwBA,aADxB;AAEf,UAAMyjB,SAAS,GAAGR,GAAG,GAAG,CAAN,KAAY,CAAZ,GAAgB,MAAM/d,cAAtB,GAAuCA,cAAzD;AACA,UAAMwe,SAAS,GAAGV,GAAG,GAAG,CAAN,KAAY,CAAZ,GAAgB,MAAM9d,cAAtB,GAAuCA,cAAzD;AACA,UAAMye,MAAM,GAAG3jB,aAAa,KAAK,UAAlB,aAAmC0jB,SAAnC,eAAmDD,SAAnD,SAAmE,EAAlF;AAEA,aAAO;AACNG,iBAAS,EAAE5jB,aAAa,KAAK,SAAlB,GAA8B,OAA9B,GAAwC,YAD7C;AAENkF,sBAAc,YAAMwe,SAAN,eAAsBD,SAAtB;AAFR,OAAP;AAIA;;;;;;;;ACxKF;AACA;AAEO,IAAM/I,wBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AACxC,SAAO;AACNiI,gBAAY,EAAEvrB,gBAAgB,CAAC,CAAD,EAAI,CAAJ,CAAhB,GAAyB,EADjC;AAENwrB,iBAAa,EAAExrB,gBAAgB,CAAC,CAAD,EAAI,EAAJ,CAAhB,GAA0B,CAFnC;AAGNysB,oBAAgB,EAAEzsB,gBAAgB,CAAC,CAAD,EAAI,CAAJ,CAAhB,GAAyB,EAHrC;AAINkqB,sBAAkB,EAAElqB,gBAAgB,CAAC,CAAD,EAAI,CAAJ,CAAhB,GAAyB,EAJvC;AAKN0sB,eAAW,EAAE;AALP,GAAP;AAOA,CARM;AAUA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAE7gC,UAAF,EAAkB;AAChD,MAAI6c,eAAe,GAAG7c,UAAU,CAAC6c,eAAX,GAA6B,EAA7B,GAAkC,CAAxD;AACA,MAAIa,SAAS,GAAG,CAAhB;AACA,MAAIC,WAAW,GAAG,CAAlB;AAEAd,iBAAe,GAAG5N,IAAI,CAACkF,GAAL,CAAUlF,IAAI,CAACmF,GAAL,CAAU,CAAC,CAAX,EAAcyI,eAAd,CAAV,EAA2C,CAA3C,CAAlB;;AAEA,MAAKA,eAAe,GAAG,CAAvB,EAA2B;AAC1Ba,aAAS,GAAG,IAAIb,eAAhB;AACA;;AAED,MAAKA,eAAe,GAAG,CAAvB,EAA2B;AAC1Bc,eAAW,GAAG,IAAI1O,IAAI,CAAC2O,GAAL,CAAUf,eAAV,CAAlB;AACA;;AAED,SAAO;AACNikB,cAAU,YAAMpjB,SAAS,GAAG,GAAZ,GAAkBC,WAAxB;AADJ,GAAP;AAGA,CAlBM;AAoBA,IAAMojB,YAAY,GAAG,SAAfA,YAAe,CAAE/gC,UAAF,EAAkB;AAAA,MACrC2gC,gBADqC,GAChB3gC,UADgB,CACrC2gC,gBADqC;AAG7C,SAAO;AACN,wDAA8CA,gBAA9C;AADM,GAAP;AAGA,CANM;AAQA,IAAMK,oBAAe,GAAG,SAAlBA,eAAkB,CAAEC,IAAF,EAAY;AAE1C,MAAK,CAAElrB,QAAP,EAAkB;AACjB;AACA;;AAED,MAAMgB,MAAM,GAAGkqB,IAAI,CAACz0B,UAApB;AACA,MAAM00B,KAAK,GAAG9c,yBAAC,CAAE6c,IAAF,CAAf;AACA,MAAME,OAAO,GAAG/c,yBAAC,CAAErN,MAAF,CAAjB;;AAEA,MAAMqqB,WAAW,GAAG,SAAdA,WAAc,GAAM;AACzB,QAAMC,SAAS,GAAGF,OAAO,CAACG,WAAR,EAAlB;AAEAJ,SAAK,CAACrc,GAAN,CAAW,QAAX,EAAqBwc,SAArB;AACA,GAJD;;AAMA,MAAME,oBAAoB,GAAG1sB,QAAQ,CAAEusB,WAAF,EAAe,EAAf,CAArC;AAEAA,aAAW;;AAEX,MAAK,OAAO5vB,MAAM,CAAC/J,cAAd,KAAiC,WAAtC,EAAoD;AACnD,QAAMa,QAAQ,GAAG,IAAIb,cAAJ,CAAoB,UAAAC,OAAO,EAAI;AAC/C65B,0BAAoB;AACpB,KAFgB,CAAjB;AAIAj5B,YAAQ,CAACX,OAAT,CAAkBoP,MAAlB;AACA,GAND,MAMO;AACNqN,6BAAC,CAAE5S,MAAF,CAAD,CAAYgT,EAAZ,CAAgB,QAAhB,EAA0B,YAAW;AACpC+c,0BAAoB;AACpB,KAFD;AAGA;AACD,CA/BM,C;;;;ACzCP;AAEA;AACA;AACA;yBAEwCliC,EAAE,CAACK,O;IAAnCwG,gB,sBAAAA,Q;IAAUD,iB,sBAAAA,S;IAAW6B,c,sBAAAA,M;;AAE7B,IAAM05B,8BAAsB,GAAG,SAAzBA,sBAAyB,CAAE/gC,KAAF,EAAa;AAAA,MAEnCT,UAFmC,GAEpBS,KAFoB,CAEnCT,UAFmC;AAG3C,MAAMopB,OAAO,GAAKppB,UAAU,CAACopB,OAAX,IAAsBppB,UAAU,CAACopB,OAAX,CAAmBviB,MAA3C,GAAsD7G,UAAU,CAACopB,OAAjE,GAA2EppB,UAAU,CAACsR,MAAtG;;AAH2C,kBAKbpL,gBAAQ,CAAC,CAAD,CALK;AAAA;AAAA,MAKnCuE,MALmC;AAAA,MAK3Bg3B,SAL2B;;AAM3C,MAAM93B,GAAG,GAAG7B,cAAM,CAAE,IAAF,CAAlB;AAEA7B,mBAAS,CAAC,YAAM;AACfw7B,aAAS,CAAE,CAAC,CAAE93B,GAAG,CAAC/B,OAAP,GAAiB+B,GAAG,CAAC/B,OAAJ,CAAYsC,YAA7B,GAA4C,CAA9C,CAAT;AACA,GAFQ,CAAT;;AAIA,MAAK,CAAEkf,OAAF,IAAa,CAAEA,OAAO,CAACviB,MAA5B,EAAqC;AACpC,WAAO,IAAP;AACA;;AAED,MAAM66B,mBAAmB,GAAG,IAAIvD,4BAAJ,CAAwB/U,OAAxB,EAAiCppB,UAAjC,CAA5B;AACA,MAAM2hC,SAAS,GAAGZ,YAAY,CAAE/gC,UAAF,CAA9B;;AAEA,MAAK,CAAC,CAAE+V,QAAR,EAAmB;AAClB9V,UAAM,CAACC,MAAP,CAAeyhC,SAAf,EAA0B;AAAEl3B,YAAM,EAANA;AAAF,KAA1B;AACA;;AAED,SACC;AAAK,aAAS,+BAAd;AAAiD,SAAK,EAAGo2B,eAAe,CAAE7gC,UAAF,CAAxE;AAAyF,OAAG,EAAG2J;AAA/F,KACC;AAAK,aAAS,qCAAd;AAAuD,SAAK,EAAGg4B;AAA/D,KACGD,mBAAmB,CAACrD,SAApB,CAA8Bj3B,GAA9B,CAAmC,UAAE0P,IAAF,EAAQ7R,KAAR;AAAA,WACpC,yCAAC,2BAAD;AAAqB,cAAQ,EAAG6R,IAAhC;AAAuC,SAAG,EAAG7R;AAA7C,MADoC;AAAA,GAAnC,CADH,CADD,CADD;AASA,CAhCD;;AAkCA,IAAM28B,2BAAmB,GAAG,SAAtBA,mBAAsB,OAAoB;AAAA;;AAAA,MAAhBzC,QAAgB,QAAhBA,QAAgB;AAC/C;AACA,SACC;AAAK,aAAS,0CAAd;AAA4D,SAAK,EAAGA,QAAQ,CAAC0C,QAAT;AAApE,KACC;AAAK,aAAS,sCAAd;AAAwD,SAAK,EAAG1C,QAAQ,CAAC2C,aAAT,EAAhE;AAA2F,OAAG,EAAG,CAAA3C,QAAQ,SAAR,IAAAA,QAAQ,WAAR,+BAAAA,QAAQ,CAAE3T,KAAV,6FAAiB1Y,KAAjB,0GAAwBS,iBAAxB,kFAA2Cb,GAA3C,MAAkDysB,QAAlD,aAAkDA,QAAlD,2CAAkDA,QAAQ,CAAE3T,KAA5D,qDAAkD,iBAAiB9Y,GAAnE;AAAjG,IADD,CADD;AAKA,CAPD;;AASe8uB,0EAAf,E;;;iCChDIniC,EAAE,CAACyC,W;IAFNkpB,4B,8BAAAA,gB;IACA+W,S,8BAAAA,S;;AAGD,IAAMC,sCAA0B,GAAG,SAA7BA,0BAA6B,CAAEvhC,KAAF,EAAa;AAAA,MAG9CT,UAH8C,GAK3CS,KAL2C,CAG9CT,UAH8C;AAAA,MAI9CU,aAJ8C,GAK3CD,KAL2C,CAI9CC,aAJ8C;AAO/C,MAAM0oB,OAAO,GAAKppB,UAAU,CAACopB,OAAX,IAAsBppB,UAAU,CAACopB,OAAX,CAAmBviB,MAA3C,GAAsD7G,UAAU,CAACopB,OAAjE,GAA2EppB,UAAU,CAACsR,MAAtG;;AAEA,MAAK,CAAC,CAAE8X,OAAH,IAAc,CAAC,CAAEA,OAAO,CAACviB,MAA9B,EAAuC;AACtC,WAAO,KAAP;AACA;;AAED,SACC,yCAAC,4BAAD;AACC,QAAI,EAAG,yCAAC,SAAD;AAAW,UAAI,EAAC;AAAhB,MADR;AAEC,YAAQ,EAAG,kBAAAyK,MAAM,EAAI;AACpB5Q,mBAAa,CAAE;AAAE4Q,cAAM,EAANA;AAAF,OAAF,CAAb;AACA,KAJF;AAKC,UAAM,EAAC,SALR;AAMC,gBAAY,EAAG,CAAE,OAAF,CANhB;AAOC,YAAQ;AAPT,IADD;AAWA,CAxBD;;AA0Be0wB,uGAAf,E;;;AC/BA;AAEA;AAKA;AAEA;AACA;IAEQzgC,oC,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAE,2B,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;IAGPI,qD,GACGxC,EAAE,CAACyC,W,CADND,iB;wDAQGxC,EAAE,CAACqC,U;IAJNiO,yB,qDAAAA,M;IACAhO,6C,qDAAAA,S;IACAoM,gD,qDAAAA,Y;IACAD,gD,qDAAAA,Y;;AAGD,IAAMm0B,mDAAgC,GAAG,SAAnCA,gCAAmC,CAAExhC,KAAF,EAAa;AAAA,MAGpDC,aAHoD,GAuBjDD,KAvBiD,CAGpDC,aAHoD;AAAA,0BAuBjDD,KAvBiD,CAIpDT,UAJoD;AAAA,MAMnD4gC,WANmD,qBAMnDA,WANmD;AAAA,MASnDnB,YATmD,qBASnDA,YATmD;AAAA,MAUnDC,aAVmD,qBAUnDA,aAVmD;AAAA,MAWnDiB,gBAXmD,qBAWnDA,gBAXmD;AAAA,MAYnDvC,kBAZmD,qBAYnDA,kBAZmD;AAAA,MAenDthB,aAfmD,qBAenDA,aAfmD;AAAA,MAgBnDkF,cAhBmD,qBAgBnDA,cAhBmD;AAAA,MAiBnDnF,eAjBmD,qBAiBnDA,eAjBmD;AAAA,MAkBnD8iB,aAlBmD,qBAkBnDA,aAlBmD;AAAA,MAqBnDuC,4BArBmD,GAuBjDzhC,KAvBiD,CAoBpDgD,QApBoD,CAqBnDy+B,4BArBmD;AAyBrD,SACC,yCAAC,2BAAD,QAEC,yCAAC,gCAAD;AAAiB,SAAK,EAAG3gC,oCAAE,CAAE,mBAAF,CAA3B;AAAqD,SAAK,EAAGA,oCAAE,CAAE,SAAF;AAA/D,KAEC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,oCAAE,CAAE,SAAF;AAAvB,KACC,yCAAC,MAAD;AACC,OAAG,EAAG,8BADP;AAEC,MAAE,EAAG,yCAFN;AAGC,WAAO,EAAG,oDAAG,wEAAH,gHAHX;AAIC,gBAAY,EAAG;AAJhB,IADD,EAOC,yCAAC,cAAD;AACC,OAAG,EAAG,+BADP;AAEC,WAAO,EAAG2gC,4BAFX;AAGC,aAAS,EAAG1K,wBAAmBA;AAHhC,IAPD,CAFD,EAgBC,yCAAC,4BAAD;AAAa,SAAK,EAAGj2B,oCAAE,CAAE,WAAF;AAAvB,KACC,yCAAC,gDAAD;AACC,OAAG,EAAG,6BADP;AAEC,SAAK,EAAGA,oCAAE,CAAE,mBAAF,EAAuB,eAAvB,CAFX;AAGC,SAAK,EAAGub,aAAa,KAAK,SAAlB,GAA8B,CAA9B,GAAkC,CAH3C;AAIC,YAAQ,EAAG,kBAAAqlB,SAAS,EAAI;AACvBzhC,mBAAa,CAAE;AAAEoc,qBAAa,EAAEqlB,SAAS,KAAK,CAAd,GAAkB,SAAlB,GAA8B;AAA/C,OAAF,CAAb;AACA,KANF;AAOC,OAAG,EAAG,CAPP;AAQC,OAAG,EAAG,CARP;AASC,QAAI,EAAG;AATR,IADD,CAhBD,EA8BC,yCAAC,4BAAD;AAAa,SAAK,EAAG5gC,oCAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,cAAD;AAAe,SAAK,EAAGA,oCAAE,CAAE,SAAF;AAAzB,KACC,yCAAC,gDAAD;AACC,OAAG,EAAG,gCADP;AAEC,SAAK,EAAGA,oCAAE,CAAE,eAAF,EAAmB,eAAnB,CAFX;AAGC,SAAK,EAAGk+B,YAHT;AAIC,YAAQ,EAAG,kBAAAA,YAAY;AAAA,aAAI/+B,aAAa,CAAE;AAAE++B,oBAAY,EAAZA;AAAF,OAAF,CAAjB;AAAA,KAJxB;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IADD,EAUC,yCAAC,gDAAD;AACC,OAAG,EAAG,iCADP;AAEC,SAAK,EAAGl+B,oCAAE,CAAE,gBAAF,EAAoB,eAApB,CAFX;AAGC,SAAK,EAAGm+B,aAHT;AAIC,YAAQ,EAAG,kBAAAA,aAAa;AAAA,aAAIh/B,aAAa,CAAE;AAAEg/B,qBAAa,EAAbA;AAAF,OAAF,CAAjB;AAAA,KAJzB;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IAVD,EAmBC,yCAAC,gDAAD;AACC,OAAG,EAAG,oCADP;AAEC,SAAK,EAAGn+B,oCAAE,CAAE,mBAAF,EAAuB,eAAvB,CAFX;AAGC,SAAK,EAAGo/B,gBAHT;AAIC,YAAQ,EAAG,kBAAAA,gBAAgB;AAAA,aAAIjgC,aAAa,CAAE;AAAEigC,wBAAgB,EAAhBA;AAAF,OAAF,CAAjB;AAAA,KAJ5B;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IAnBD,EA4BC,yCAAC,gDAAD;AACC,OAAG,EAAG,sCADP;AAEC,SAAK,EAAGp/B,oCAAE,CAAE,qBAAF,EAAyB,eAAzB,CAFX;AAGC,SAAK,EAAG68B,kBAHT;AAIC,YAAQ,EAAG,kBAAAA,kBAAkB;AAAA,aAAI19B,aAAa,CAAE;AAAE09B,0BAAkB,EAAlBA;AAAF,OAAF,CAAjB;AAAA,KAJ9B;AAKC,OAAG,EAAG,EALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IA5BD,EAqCC,yCAAC,gDAAD;AACC,OAAG,EAAG,iCADP;AAEC,SAAK,EAAG78B,oCAAE,CAAE,gBAAF,EAAoB,eAApB,CAFX;AAGC,SAAK,EAAGo+B,aAHT;AAIC,YAAQ,EAAG,kBAAAA,aAAa;AAAA,aAAIj/B,aAAa,CAAE;AAAEi/B,qBAAa,EAAbA;AAAF,OAAF,CAAjB;AAAA,KAJzB;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IArCD,CADD,EAgDC,yCAAC,cAAD;AAAe,SAAK,EAAGp+B,oCAAE,CAAE,SAAF;AAAzB,KACC,yCAAC,gDAAD;AACC,OAAG,EAAG,yCADP;AAEC,SAAK,EAAGA,oCAAE,CAAE,wBAAF,EAA4B,eAA5B,CAFX;AAGC,SAAK,EAAGsb,eAHT;AAIC,YAAQ,EAAG,kBAAAA,eAAe;AAAA,aAAInc,aAAa,CAAE;AAAEmc,uBAAe,EAAfA;AAAF,OAAF,CAAjB;AAAA,KAJ3B;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IADD,EAUC,yCAAC,gDAAD;AACC,OAAG,EAAG,iCADP;AAEC,SAAK,EAAG,gBAFT;AAGC,YAAQ,EAAGC,aAHZ;AAIC,YAAQ,EAAG,kBAAAA,aAAa;AAAA,aAAIpc,aAAa,CAAE;AAAEoc,qBAAa,EAAbA;AAAF,OAAF,CAAjB;AAAA,KAJzB;AAKC,WAAO,EAAG,CACT;AAAE3a,WAAK,EAAE,+BAAT;AAA0CD,WAAK,EAAE;AAAjD,KADS,EAET;AAAEC,WAAK,EAAE,yBAAT;AAAoCD,WAAK,EAAE;AAA3C,KAFS;AALX,IAVD,EAoBC,yCAAC,gDAAD;AACC,OAAG,EAAG,iCADP;AAEC,SAAK,EAAGX,oCAAE,CAAE,gBAAF,EAAoB,eAApB,CAFX;AAGC,SAAK,EAAGygB,cAHT;AAIC,YAAQ,EAAG,kBAAAA,cAAc;AAAA,aAAIthB,aAAa,CAAE;AAAEshB,sBAAc,EAAdA;AAAF,OAAF,CAAjB;AAAA,KAJ1B;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IApBD,CAhDD,CA9BD,CAFD,CADD;AAoHA,CA7ID;;AA+IeigB,2HAAf,E;;;ACzKA;IAEQ1gC,e,GAAOlC,EAAE,CAACmC,I,CAAVD,E;AACR,IAAMmvB,uBAAQ,GAAGrxB,EAAE,CAACqxB,QAApB;oCAKIrxB,EAAE,CAACyC,W;IAFNsgC,a,iCAAAA,a;IACAC,W,iCAAAA,W;mCAMGhjC,EAAE,CAACqC,U;IAFNiO,qB,gCAAAA,M;IACA2Z,sB,gCAAAA,O;IAIA7nB,uB,GACGpC,EAAE,CAACK,O,CADN+B,Q;;AAGD,IAAM6gC,gDAAiC,GAAG,SAApCA,iCAAoC,CAAE7hC,KAAF,EAAa;AAAA,MAGrDC,aAHqD,GAKlDD,KALkD,CAGrDC,aAHqD;AAAA,MAIrDV,UAJqD,GAKlDS,KALkD,CAIrDT,UAJqD;AAOtD,MAAMopB,OAAO,GAAKppB,UAAU,CAACopB,OAAX,IAAsBppB,UAAU,CAACopB,OAAX,CAAmBviB,MAA3C,GAAsD7G,UAAU,CAACopB,OAAjE,GAA2EppB,UAAU,CAACsR,MAAtG;;AAEA,MAAK,CAAE8X,OAAF,IAAa,CAAEA,OAAO,CAACviB,MAA5B,EAAqC;AACpC,WAAO,KAAP;AACA;;AAED,SACC,yCAAC,sBAAD,QACC,yCAAC,WAAD;AACC,QAAI,EAAC,OADN;AAEC,YAAQ,MAFT;AAGC,WAAO,MAHR;AAIC,SAAK,EAAGuiB,OAAO,CAAChiB,GAAR,CAAa,UAAEokB,KAAF;AAAA,aAAaA,KAAK,CAAC/Y,EAAnB;AAAA,KAAb,CAJT;AAKC,YAAQ,EAAG,kBAAEnB,MAAF,EAAc;AACxB5Q,mBAAa,CAAE;AAAE4Q,cAAM,EAAES,wBAAS,CAAET,MAAF;AAAnB,OAAF,CAAb;AACA,KAPF;AAQC,UAAM,EAAG;AAAA,UAAI/H,IAAJ,QAAIA,IAAJ;AAAA,aACR,yCAAC,qBAAD;AACC,iBAAS,EAAC,oDADX;AAEC,aAAK,EAAGhI,eAAE,CAAE,cAAF,EAAkB,eAAlB,CAFX;AAGC,YAAI,EAAGonB,IAHR;AAIC,eAAO,EAAGpf;AAJX,QADQ;AAAA;AARV,IADD,CADD;AAqBA,CAlCD,C,CAoCA;AACA;;;AACA,IAAMwI,wBAAS,GAAG,SAAZA,SAAY,CAAET,MAAF,EAAc;AAC/B,MAAMia,QAAQ,GAAGja,MAAM,CAAClK,GAAP,CAAY,UAAAokB,KAAK,EAAI,CAErC,CAFgB,CAAjB;AAGA,SAAOla,MAAP;AACA,CALD;;AAOA,IAAMixB,2CAA4B,GAAG,SAA/BA,4BAA+B,CAAE9hC,KAAF,EAAa;AAAA,MAGhDC,aAHgD,GAI7CD,KAJ6C,CAGhDC,aAHgD;AAMjD,SACC,yCAAC,aAAD,QACC,yCAAC,gDAAD,EAAwCD,KAAxC,CADD,CADD;AAKA,CAXD;;AAae8hC,8FAAf,E;;;AC7EA;AACA;AACA;AACA;AACA;IAGC9gC,yB,GACGpC,EAAE,CAACK,O,CADN+B,Q;;AAGD,IAAM+gC,gCAAe,GAAG,SAAlBA,eAAkB,CAAE/hC,KAAF,EAAa;AAEpC,SACC,yCAAC,yBAAD,QACC,yCAAC,4BAAD,EAAiCA,KAAjC,CADD,EAEC,yCAAC,OAAD,EAA6BA,KAA7B,CAFD,EAGC,yCAAC,mCAAD,EAAuCA,KAAvC,CAHD,EAIC,yCAAC,cAAD,EAAmCA,KAAnC,CAJD,CADD;AAQA,CAVD;;AAYe8O,kEAAY,CAAEizB,gCAAF,CAA3B,E;;;ACtBA;;AAEA,IAAMC,SAAI,GAAG,SAAPA,IAAO,CAAEhiC,KAAF,EAAa;AAAA,MAIvB6B,SAJuB,GAMrB7B,KANqB,CAGxBT,UAHwB,CAIvBsC,SAJuB;AAQzB,SACC;AAAK,aAAS,EAAGA;AAAjB,KACC,yCAAC,gBAAD,EAAsB7B,KAAtB,CADD,CADD;AAMA,CAdD;;AAgBegiC,mEAAf,E;;;;;;;;;;;;;AClBA;AACA;AAEA,IAAMziC,qBAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,kCAAnB,EAAoCC,2BAApC,CAAnB;;IAEQrxB,iB,GAAuCtR,qB,CAAvCsR,M;IAAWsxB,uB,qCAA4B5iC,qB;;AAE/C,IAAM6iC,oBAAoB,GAAG,oDACzBD,uBADsB;AAEzBxZ,SAAO,EAAE;AACRhpB,QAAI,EAAE,OADE;AAER21B,SAAK,EAAE;AACN31B,UAAI,EAAE;AADA,KAFC;AAKRC,WAAO,EAAE;AALD;AAFgB,EAA1B;;AAWA,IAAMyiC,UAAU,GAAG,EAAnB;AAEAA,UAAU,CAAC39B,IAAX,CAAgB;AACfnF,YAAU,EAAE6iC,oBADG;AAEfE,YAFe,sBAEH/iC,UAFG,EAESuuB,WAFT,EAEuB;AACrC,WAAO,gBAAgB,OAAOvuB,UAAU,CAACsR,MAAlC,IAA4C,iBAAO,WAAP,MAAuBtR,UAAU,CAACopB,OAArF;AACA,GAJc;AAKf4Z,SALe,mBAKNhjC,UALM,EAKMuuB,WALN,EAKoB;AAAA,QAC1BnF,OAD0B,GACIppB,UADJ,CAC1BopB,OAD0B;AAAA,QACdvQ,aADc,qCACI7Y,UADJ;;AAGlC,+DACI6Y,aADJ;AAECvH,YAAM,EAAE8X;AAFT;AAIA,GAZc;AAaf6Z,MAbe,kBAaR;AACN,WAAO,KAAP;AACA;AAfc,CAAhB;AAkBAH,UAAU,CAAC39B,IAAX,CAAgB;AACfnF,YAAU,EAAE6iC,oBADG;AAEfE,YAFe,sBAEH/iC,UAFG,EAESuuB,WAFT,EAEuB;AACrC,WAAO,gBAAgB,OAAOvuB,UAAU,CAACkjC,iBAAzC;AACA,GAJc;AAKfF,SALe,mBAKNhjC,UALM,EAKMuuB,WALN,EAKoB;AAClC,+DACIvuB,UADJ;AAECkjC,uBAAiB,EAAE;AAFpB;AAIA,GAVc;AAWfD,MAXe,kBAWR;AACN,WAAO,KAAP;AACA;AAbc,CAAhB;AAgBeH,0EAAf,E;;ICtDQK,W,GAAgB9jC,EAAE,CAACuW,M,CAAnButB,W;AAEO;AACdC,MAAI,EAAE,CACL;AACChjC,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,cAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,WAAW,CAAE,6BAAF,EAAiC;AAClD7xB,cAAM,EAAEtR,UAAU,CAACsR;AAD+B,OAAjC,CAAlB;AAGA;AAPF,GADK,CADQ;AAYd+xB,IAAE,EAAE,CACH;AACCjjC,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,kBAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,WAAW,CAAE,kBAAF,EAAsB;AACvC7xB,cAAM,EAAEtR,UAAU,CAACsR;AADoB,OAAtB,CAAlB;AAGA;AAPF,GADG,EAUH;AACClR,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,cAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,WAAW,CAAE,cAAF,EAAkB;AACnC7xB,cAAM,EAAEtR,UAAU,CAACsR;AADgB,OAAlB,CAAlB;AAGA;AAPF,GAVG;AAZU,CAAf,E;;;;;;;;gCCEIjS,EAAE,CAACwB,I;IAHNie,0B,6BAAAA,Q;IACAle,wB,6BAAAA,M;IACA2kB,2B,6BAAAA,S;AAGc,gEAAE0Y,SAAF,EAAaqF,cAAb,EAAiC;AAAA,gBACc1iC,wBAAM,CAAE,mBAAF,CADpB;AAAA,MACvC2iC,mBADuC,WACvCA,mBADuC;AAAA,MAClBrO,2BADkB,WAClBA,2BADkB;;AAAA,iBAEjBt0B,wBAAM,CAAE,aAAF,CAFW;AAAA,MAEvC4iC,iBAFuC,YAEvCA,iBAFuC;;AAAA,kBAGb1kB,0BAAQ,CAAE,mBAAF,CAHK;AAAA,MAGvCC,qBAHuC,aAGvCA,qBAHuC;;AAK/C,MAAInJ,MAAM,GAAGsf,2BAA2B,EAAxC;AACA,MAAIuO,iBAAiB,GAAG,KAAxB;AAEA,SAAOle,2BAAS,CAAE,YAAM;AACvB,QAAMme,SAAS,GAAGxO,2BAA2B,EAA7C;AAEA,QAAIyO,WAAW,GAAGD,SAAS,CAAC96B,MAAV,CAAkB,UAAAg7B,QAAQ;AAAA,aAAI,CAAEhuB,MAAM,CAAC9V,QAAP,CAAiB8jC,QAAjB,CAAN;AAAA,KAA1B,CAAlB;;AAEA,QAAKF,SAAS,KAAK9tB,MAAd,IAAwB,CAAE+tB,WAAW,CAAC98B,MAA3C,EAAoD;AACnD;AACA,KAPsB,CASvB;;;AACA,QAAK,CAAE48B,iBAAP,EAA2B;AAC1BA,uBAAiB,GAAG,IAApB;AACA;AACA;;AAED7tB,UAAM,GAAG8tB,SAAT;AAEAH,uBAAmB,CAAEI,WAAF,CAAnB,CAAmCv8B,GAAnC,CAAwC,UAAAvH,KAAK,EAAI;AAChD,UAAKA,KAAK,CAACE,IAAN,KAAek+B,SAAf,IAA4B,CAAEp+B,KAAK,CAACG,UAAN,CAAiBkjC,iBAA/C,IAAoE,OAAOI,cAAP,KAA0B,UAAnG,EAAgH;AAC/GA,sBAAc,GAAGnxB,IAAjB,CAAuB,UAAA0xB,QAAQ,EAAI;AAClC9kB,+BAAqB,CAAElf,KAAK,CAACc,QAAR,iCAAC,mCAClBkjC,QADiB;AAEpBX,6BAAiB,EAAE;AAFC,aAArB;AAIA,SALD;AAMA;AACD,KATD;AAUA,GA3Be,CAAhB;AA4BA,CApCD,E;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA,IAAMljC,sCAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,kCAAnB,EAAoCC,2BAApC,CAAnB;AAEA;;;;IAGQphC,iB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,iB,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;SAEOR,c;;;;;wFAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AACOS,0BADP,GACwB7vB,gBAAgB,CAAE,CAAF,EAAK,CAAL,CADxC;AAAA;AAAA,mBAEiCD,oBAAoB,EAFrD;;AAAA;AAEO+vB,6BAFP;AAGOC,wBAHP,GAGsB1vB,uBAAuB,CAAEyvB,iBAAF,EAAqBD,cAArB,CAH7C;AAIOG,4BAJP,GAI0B1M,wBAAmB,EAJ7C;AAMCyM,wBAAY,CAACl/B,OAAb,CAAsB,UAAAymB,KAAK,EAAI;AAC9B,kBAAK,QAAOA,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAE1X,QAAd,MAA2B,UAAhC,EAA6C;AAC5C0X,qBAAK,CAAC1X,QAAN;AACA;AACD,aAJD;AAND,6GAaKowB,gBAbL;AAcE5yB,oBAAM,EAAE2yB;AAdV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAkBA,SAASE,IAAT,GAAgB;AAEfC,mBAAgB,CAAE,6BAAF,EAAiCd,cAAjC,CAAhB;AAEAQ,mBAAiB,CAAE,6BAAF,EAAiC;AACjDr9B,SAAK,EAAElF,iBAAE,CAAE,sBAAF,EAA0B,eAA1B,CADwC;AAEjDkS,eAAW,EAAElS,iBAAE,CAAE,kEAAF,EAAsE,eAAtE,CAFkC;AAGjD8wB,YAAQ,EAAE,aAHuC;AAIjDtW,QAAI,EAAE8N,aAJ2C;AAKjDwa,YAAQ,EAAE;AACT/Z,WAAK,EAAE,CAAE,MAAF,EAAU,MAAV;AADE,KALuC;AAQjD;AACAga,YAAQ,EAAE,CAAE/iC,iBAAE,CAAE,iBAAF,EAAqB,eAArB,CAAJ,EAA4CA,iBAAE,CAAE,SAAF,EAAa,eAAb,CAA9C,EAA8EA,iBAAE,CAAE,WAAF,EAAe,eAAf,CAAhF,CATuC;AAUjDgjC,QAAI,EAAJA,qBAViD;AAWjDtB,QAXiD,kBAW1C;AACN,aAAO,KAAP;AACA,KAbgD;AAcjDjjC,cAAU,EAAVA,sCAdiD;AAejD8iC,cAAU,EAAVA,2BAfiD;AAgBjD0B,cAAU,EAAVA,UAAUA;AAhBuC,GAAjC,CAAjB;AAkBA;;AAEcL,gEAAf,E;;;;;;;;;cC7DiBM,M;IAATC,I,WAAAA,I;IACAvB,sB,GAAgB9jC,EAAE,CAACuW,M,CAAnButB,W;AAER,IAAMT,eAAe,GAAG;AACvBpY,OAAK,EAAE;AACNlqB,QAAI,EAAE,QADA;AAENC,WAAO,EAAE;AAFH,GADgB;AAKvBqS,KAAG,EAAE;AACJtS,QAAI,EAAE,QADF;AAEJC,WAAO,EAAE;AAFL,GALkB;AASvBskC,eAAa,EAAE;AACdvkC,QAAI,EAAE,SADQ;AAEdC,WAAO,EAAE;AAFK;AATQ,CAAxB;AAeA,IAAMyiC,qBAAU,GAAG,CAClB;AACCC,YAAU,EAAE,oBAAE/iC,UAAF,EAAcuuB,WAAd,EAA+B;AAC1C,WAAO,OAAOvuB,UAAU,CAACwsB,OAAlB,KAA8B,WAA9B,IAA6C,CAAE+B,WAAW,CAAC1nB,MAAlE;AACA,GAHF;AAIC7G,YAAU,EAAE;AACXwsB,WAAO,EAAE;AACRpsB,UAAI,EAAE,QADE;AAERC,aAAO,EAAE;AAFD;AADA,KAKNqiC,eALM,CAJX;AAYCM,SAZD,mBAYUhjC,UAZV,EAYsBuuB,WAZtB,EAYoC;AAClC,WAAO,CACNmW,IAAI,CAAE1kC,UAAF,EAAc,SAAd,CADE,GAGLmjC,sBAAW,CAAE,gBAAF,EAAoB;AAC9B3W,aAAO,EAAExsB,UAAU,CAACwsB;AADU,KAApB,CAHN,qCAMF+B,WANE,GAAP;AASA,GAtBF;AAwBC0U,MAAI,EAAE,gBAAW,CAAE;AAxBpB,CADkB,CAAnB;AA6BeH,qFAAf,E;;;;AC/CA;;;AAGA;AACA;AACA;AAEA;;;;IAGQvhC,iB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,kC,GAAuBzkC,EAAE,CAACuW,M,CAA1BkuB,iB;IACAriC,yB,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;qCAKJpC,EAAE,CAACqC,U;IAFNsrB,4B,kCAAAA,W;IACAxc,8B,kCAAAA,a;sCAMGnR,EAAE,CAACyC,W;IAFN8iC,Q,mCAAAA,Q;IACAC,W,mCAAAA,W;AAGD,IAAMhW,+BAAc,GAAG,CAAE,sBAAF,EAA0B,gBAA1B,CAAvB;AACA,IAAMiW,yBAAyB,GAAG,CAAE,CAAE,sBAAF,EAA0B;AAAEC,gBAAc,EAAE;AAAlB,CAA1B,CAAF,CAAlC;;AAEA,SAASZ,qBAAT,GAAgB;AAEfL,oCAAiB,CAAE,6BAAF,EAAiC;AACjDr9B,SAAK,EAAElF,iBAAE,CAAE,kBAAF,EAAsB,eAAtB,CADwC;AAEjDkS,eAAW,EAAElS,iBAAE,CAAE,0EAAF,EAA8E,eAA9E,CAFkC;AAGjD8wB,YAAQ,EAAE,aAHuC;AAIjDtW,QAAI,EAAE8N,YAJ2C;AAKjDya,YAAQ,EAAE,CAAE/iC,iBAAE,CAAE,WAAF,EAAe,eAAf,CAAJ,EAAsCA,iBAAE,CAAE,oBAAF,EAAwB,eAAxB,CAAxC,EAAmFA,iBAAE,CAAE,SAAF,EAAa,eAAb,CAArF,CALuC;AAMjDggB,UAAM,EAAE,CAAE;AACTxhB,UAAI,EAAE,QADG;AAEToC,WAAK,EAAEZ,iBAAE,CAAE,QAAF,EAAY,eAAZ,CAFA;AAGTyjC,eAAS,EAAE;AAHF,KAAF,EAIL;AACFjlC,UAAI,EAAE,aADJ;AAEFoC,WAAK,EAAEZ,iBAAE,CAAE,aAAF,EAAiB,eAAjB;AAFP,KAJK,EAOL;AACFxB,UAAI,EAAE,OADJ;AAEFoC,WAAK,EAAEZ,iBAAE,CAAE,OAAF,EAAW,eAAX;AAFP,KAPK,CANyC;AAiBjDvB,cAAU,EAAE;AACXsqB,WAAK,EAAE;AACNlqB,YAAI,EAAE,QADA;AAENC,eAAO,EAAE;AAFH,OADI;AAKXqS,SAAG,EAAE;AACJtS,YAAI,EAAE,QADF;AAEJC,eAAO,EAAE;AAFL,OALM;AASXskC,mBAAa,EAAE;AACdvkC,YAAI,EAAE,SADQ;AAEdC,eAAO,EAAE;AAFK,OATJ;AAaXmsB,aAAO,EAAE;AACRpsB,YAAI,EAAE,QADE;AAERC,eAAO,EAAE;AAFD;AAbE,KAjBqC;AAmCjD4iC,QAnCiD,kBAmC1C;AACN,aAAO,yCAAC,WAAD,CAAa,OAAb,OAAP;AACA,KArCgD;AAsCjDsB,QAAI,EAAE,cAAU9jC,KAAV,EAAkB;AAAA,UAGtB6B,SAHsB,GAWnB7B,KAXmB,CAGtB6B,SAHsB;AAAA,8BAWnB7B,KAXmB,CAItBT,UAJsB;AAAA,UAKrB0S,GALqB,qBAKrBA,GALqB;AAAA,UAMrBiyB,aANqB,qBAMrBA,aANqB;AAAA,UAOrBnY,OAPqB,qBAOrBA,OAPqB;AAAA,UAStB9rB,aATsB,GAWnBD,KAXmB,CAStBC,aATsB;AAAA,UAUtBiN,UAVsB,GAWnBlN,KAXmB,CAUtBkN,UAVsB;AAcvB,UAAMkK,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,EAE5B,6BAF4B,CAA7B;AAKA,aACC,yCAAC,yBAAD,QACC;AAAK,iBAAS,EAAGuV;AAAjB,SACC,yCAAC,WAAD;AACC,qBAAa,EAAGgX,+BADjB;AAEC,gBAAQ,EAAGiW;AAFZ,QADD,CADD,EAOGn3B,UAAU,IACV;AAAK,iBAAS,EAAC;AAAf,SACC,yCAAC,4BAAD;AACC,aAAK,EAAGpM,iBAAE,CAAE,0DAAF,EAA8D,eAA9D,CADX;AAEC,iBAAS,EAAC;AAFX,SAGC,yCAAC,QAAD;AACC,iBAAS,EAAC,oCADX;AAEC,aAAK,EAAGmR,GAFT;AAGC,iBAAS,EAAG,KAHb;AAIC,gBAAQ,EAAG,kBAAExQ,KAAF;AAAA,iBAAaxB,aAAa,CAAE;AAAEgS,eAAG,EAAExQ;AAAP,WAAF,CAA1B;AAAA,SAJZ;AAKC,0BAAkB,EAAG,CAAEyL,UALxB;AAMC,mBAAW,MANZ;AAOC,iBAAS;AAPV,QAHD,CADD,EAcC,yCAAC,8BAAD;AACC,eAAO,EAAGg3B,aADX;AAEC,gBAAQ,EAAG,kBAAEA,aAAF,EAAqB;AAC/BjkC,uBAAa,CAAE;AAAEikC,yBAAa,EAAbA;AAAF,WAAF,CAAb;AACA,SAJF;AAKC,aAAK,EAAGpjC,iBAAE,CAAE,iBAAF,EAAqB,eAArB;AALX,QAdD,CARH,CADD;AAkCA,KA3FgD;AA4FjD0jC,uBA5FiD,+BA4F5BjlC,UA5F4B,EA4Ff;AACjC,aAAO;AAAE,sBAAc;AAAhB,OAAP;AACA,KA9FgD;AA+FjD8iC,cAAU,EAAVA,2BAAUA;AA/FuC,GAAjC,CAAjB;AAiGA;;AAEcqB,0EAAf,E;;;;;;;;;;;;;AChIA;IAEQ5iC,Y,GAAOlC,EAAE,CAACmC,I,CAAVD,E;6BAKJlC,EAAE,CAACK,O;IAFND,qB,0BAAAA,S;IACAgC,oB,0BAAAA,Q;gCAOGpC,EAAE,CAACqC,U;IAHNiO,kB,6BAAAA,M;IACAu1B,W,6BAAAA,W;IACAC,W,6BAAAA,W;IAGOC,iB,GAAU/lC,EAAE,CAACgmC,Q,CAAbD,K;;IAEFE,0B;;;;;AAEL,4BAAc;AAAA;;AAAA;;AACb,+BAAU9kC,SAAV;AAEA,UAAKkD,KAAL,GAAa;AACZ6N,YAAM,EAAE,MAAK9Q,KAAL,CAAW8Q;AADP,KAAb;AAHa;AAMb;;;;kCAEcg0B,O,EAAU;AACxB,UAAKA,OAAO,KAAKH,iBAAjB,EAAyB;AACxB,aAAK3kC,KAAL,CAAW+kC,UAAX,CAAuB,KAAK9hC,KAAL,CAAW6N,MAAlC;AACA;AACD;;;6BAEQ;AAAA;;AAAA,UAEAk0B,kBAFA,GAEuB,KAAKhlC,KAF5B,CAEAglC,kBAFA;AAGR,UAAM1pB,IAAI,GAAG;AAAK,iBAAS,EAAC;AAAf,SAA6D8N,GAA7D,CAAb;AAEA,aACC,yCAAC,WAAD;AACC,YAAI,EAAG9N,IADR;AAEC,aAAK,EAAGxa,YAAE,CAAE,2BAAF,EAA+B,eAA/B;AAFX,SAGGkkC,kBAAkB,IAAI;AAAK,iBAAS,EAAC;AAAf,SACrBA,kBADqB,CAHzB,EAMC,yCAAC,WAAD;AACC,iBAAS,EAAC,+BADX;AAEC,mBAAW,EAAGlkC,YAAE,CAAE,oBAAF,EAAwB,eAAxB,CAFjB;AAGC,aAAK,EAAG,KAAKmC,KAAL,CAAW6N,MAHpB;AAIC,gBAAQ,EAAG,kBAAEA,MAAF,EAAc;AAAE,gBAAI,CAAC4U,QAAL,CAAe;AAAE5U,kBAAM,EAANA;AAAF,WAAf;AAA6B,SAJzD;AAKC,iBAAS,EAAG,yBAAmB;AAAA,cAAfg0B,OAAe,QAAfA,OAAe;;AAAE,gBAAI,CAACG,aAAL,CAAoBH,OAApB;AAA+B;AALjE,QAND,EAaC,yCAAC,kBAAD;AAAQ,eAAO,MAAf;AAAgB,gBAAQ,EAAG,CAAE,KAAK7hC,KAAL,CAAW6N,MAAxC;AAAiD,YAAI,EAAC,QAAtD;AAA+D,eAAO,EAAG,mBAAM;AAAE,gBAAI,CAAC9Q,KAAL,CAAW+kC,UAAX,CAAuB,MAAI,CAAC9hC,KAAL,CAAW6N,MAAlC;AAA4C;AAA7H,SACGhQ,YAAE,CAAE,MAAF,EAAU,eAAV,CADL,CAbD,CADD;AAmBA;;;;EAxC2B9B,qB;;AA2Cd6lC,qFAAf,E;;AC5De,6kC;;ACAf,IAAMK,gBAAgB,GAAG;AACxBC,KAAG,EAAE,UADmB;AAExBC,KAAG,EAAE;AAFmB,CAAzB;AAKeF,uEAAf,E;;ACLe,gDACd;AACC,iBAAe,UADhB;AAEC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAFZ,CADc,EASd;AACC,iBAAe,aADhB;AAEC,aAAW,CACV;AACC,kBAAc,CAAC;AADhB,GADU,EAIV;AACC,iBAAa;AADd,GAJU;AAFZ,CATc,EAoBd;AACC,iBAAe,oBADhB;AAEC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAFZ,CApBc,EA4Bd;AACC,iBAAe,KADhB;AAEC,iBAAe,UAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAHZ,CA5Bc,EAqCd;AACC,iBAAe,KADhB;AAEC,iBAAe,kBAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAHZ,CArCc,EA8Cd;AACC,iBAAe,eADhB;AAEC,iBAAe,eAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU,EAIV;AACC,iBAAa;AADd,GAJU;AAHZ,CA9Cc,EA0Dd;AACC,iBAAe,eADhB;AAEC,iBAAe,kBAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAHZ,CA1Dc,EAmEd;AACC,iBAAe,cADhB;AAEC,iBAAe,UAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAHZ,CAnEc,EA4Ed;AACC,iBAAe,cADhB;AAEC,iBAAe,kBAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAHZ,CA5Ec,EAqFd;AACC,iBAAe,YADhB;AAEC,iBAAe,eAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU,EAIV;AACC,kBAAc,CAAC;AADhB,GAJU,EAOV;AACC,iBAAa;AADd,GAPU;AAHZ,CArFc,EAoGd;AACC,iBAAe,YADhB;AAEC,iBAAe,kBAFhB;AAGC,aAAW,CACV;AACC,iBAAa;AADd,GADU;AAHZ,CApGc,EA6Gd;AACC,iBAAe,cADhB;AAEC,iBAAe,UAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAHZ,CA7Gc,EAsHd;AACC,iBAAe,OADhB;AAEC,iBAAe,UAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU;AAHZ,CAtHc,EA+Hd;AACC,iBAAe,OADhB;AAEC,iBAAe,eAFhB;AAGC,aAAW,CACV;AACC,aAAS;AADV,GADU,EAIV;AACC,iBAAa;AADd,GAJU;AAHZ,CA/Hc,EA2Id;AACC,iBAAe,OADhB;AAEC,iBAAe,kBAFhB;AAGC,aAAW,CACV;AACC,kBAAc,CAAC;AADhB,GADU;AAHZ,CA3Ic,CAAf,E;;ACAA;AAEA,IAAMpkB,aAAM,GAAG,CACd;AAAEukB,MAAI,EAAE,YAAR;AAAsB3jC,OAAK,EAAE,YAA7B;AAA2Cof,QAAM,EAAEwkB,UAAUA;AAA7D,CADc,EAEd;AAAED,MAAI,EAAE,UAAR;AAAoB3jC,OAAK,EAAE,UAA3B;AAAuCof,QAAM,EAAE;AAA/C,CAFc,CAAf;AAKeA,mEAAf,E;;ACPA;AACA;AAEO,IAAMykB,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAUzkB,MAAV,EAAkB0kB,UAAlB,EAA8BC,SAA9B,EAA0C;AAE9E,MAAK,CAAED,UAAP,EAAoB;AACnB1kB,UAAM,CAAC4kB,OAAP,CAAgB;AACf,qBAAe,aADA;AAEf,iBAAW,CAAE;AAAE,sBAAc;AAAhB,OAAF;AAFI,KAAhB;AAIA;;AAED,MAAK,CAAED,SAAP,EAAmB;AAClB3kB,UAAM,CAAC4kB,OAAP,CAAgB;AACf,qBAAe,aADA;AAEf,iBAAW,CAAE;AAAE,sBAAc;AAAhB,OAAF;AAFI,KAAhB;AAIA;;AAED,SAAO5kB,MAAP;AACA,CAjBM;AAmBA,IAAM6kB,aAAa,GAAG,SAAhBA,aAAgB,CAAUC,SAAV,EAAsB;AAAA,8BAO9C,KAAK5lC,KAPyC,CAEjDT,UAFiD;AAAA,MAGhDimC,UAHgD,yBAGhDA,UAHgD;AAAA,MAIhDC,SAJgD,yBAIhDA,SAJgD;AAAA,MAKhDI,SALgD,yBAKhDA,SALgD;AASlD,MAAMn/B,WAAW,GAAGo/B,iBAAiB,CAACC,IAAlB,CAAwB,IAAxB,CAApB;AACA,MAAMC,eAAe,GAAGjJ,IAAI,CAACC,SAAL,CAAgB4I,SAAhB,EAA4B1jC,OAA5B,CAAqC,iBAArC,EAAwDwE,WAAxD,CAAxB;AACA,SAAOq2B,IAAI,CAACvD,KAAL,CAAYwM,eAAZ,CAAP;AACA,CAZM;AAcA,IAAMC,kBAAY,GAAG,SAAfA,YAAe,GAAW;AAAA,MAC9B1mC,UAD8B,GACf,KAAKS,KADU,CAC9BT,UAD8B;AAAA,MAE9BqmC,SAF8B,GAELrmC,UAFK,CAE9BqmC,SAF8B;AAAA,MAEnBC,SAFmB,GAELtmC,UAFK,CAEnBsmC,SAFmB;AAGtC,MAAMK,sBAAsB,GAAGL,SAAS,KAAK,UAAd,IAA4BD,SAAS,CAACx/B,MAAV,KAAqB,CAAhF;AACA,MAAM+/B,cAAc,GAAGrlB,iBAAM,CAACre,IAAP,CAAa,UAAAuJ,KAAK;AAAA,WAAIA,KAAK,CAACq5B,IAAN,KAAeQ,SAAnB;AAAA,GAAlB,CAAvB;AACA,MAAMO,eAAe,GAAGD,cAAc,GAAGA,cAAc,CAACrlB,MAAlB,GAA2B,EAAjE;AACA,MAAMulB,SAAS,GAAGH,sBAAsB,IAAIE,eAA1B,IAA6CR,SAA/D;AACA,SAAOD,aAAa,CAACI,IAAd,CAAoB,IAApB,EAA0BM,SAA1B,CAAP;AACA,CARM;AAUA,IAAMP,iBAAiB,GAAG,SAApBA,iBAAoB,GAAW;AAAA,MACnC9iC,QADmC,GACtB,KAAKhD,KADiB,CACnCgD,QADmC;AAAA,MAEnCypB,MAFmC,GAExBzpB,QAFwB,CAEnCypB,MAFmC;AAG3C,MAAM6Z,aAAa,GAAG,SAAtB;;AAEA,MAAK7Z,MAAM,IAAIA,MAAM,CAACrmB,MAAtB,EAA+B;AAE9B,QAAMmgC,OAAO,GAAG9Z,MAAM,CAAChqB,IAAP,CAAa,UAAAiqB,KAAK;AAAA,aAAIA,KAAK,CAAC2Y,IAAN,KAAe,kBAAnB;AAAA,KAAlB,CAAhB;AACA,QAAMmB,SAAS,GAAG/Z,MAAM,CAAChqB,IAAP,CAAa,UAAAiqB,KAAK;AAAA,aAAIA,KAAK,CAAC2Y,IAAN,KAAe,oBAAnB;AAAA,KAAlB,CAAlB;AACA,QAAMoB,QAAQ,GAAGha,MAAM,CAAChqB,IAAP,CAAa,UAAAiqB,KAAK;AAAA,aAAIA,KAAK,CAAC2Y,IAAN,KAAe,mBAAnB;AAAA,KAAlB,CAAjB;;AAEA,QAAKkB,OAAL,EAAe;AACd,aAAOA,OAAO,CAAC7Z,KAAf;AACA;;AAED,QAAK8Z,SAAL,EAAiB;AAChB,aAAOA,SAAS,CAAC9Z,KAAjB;AACA;;AAED,QAAK+Z,QAAL,EAAgB;AACf,aAAOA,QAAQ,CAAC/Z,KAAhB;AACA;;AAED,WAAOD,MAAM,CAAC,CAAD,CAAN,CAAUC,KAAjB;AACA;;AAED,SAAO4Z,aAAP;AACA,CA3BM;AA6BA,IAAMI,0BAAoB,GAAG,SAAvBA,oBAAuB,CAAUC,OAAV,EAAoB;AAEvD,MAAK,OAAOC,MAAP,KAAkB,WAAlB,IAAiC,OAAOA,MAAM,CAACC,IAAd,KAAuB,WAA7D,EAA2E;AAC1E,WAAO3B,kBAAP;AACA;;AAED,MAAM4B,MAAM,GAAG,IAAIF,MAAM,CAACC,IAAP,CAAYE,YAAhB,EAAf,CANuD,CAQvD;;AACA,MAAKJ,OAAO,CAACvgC,MAAR,KAAmB,CAAxB,EAA4B;AAC3B,QAAMijB,MAAM,GAAG0T,IAAI,CAACvD,KAAL,CAAYmN,OAAO,CAAC,CAAD,CAAnB,CAAf;AACA,WAAO,IAAIC,MAAM,CAACC,IAAP,CAAYG,MAAhB,CAAwB3d,MAAM,CAAC4d,QAAP,CAAgBC,QAAxC,CAAP;AACA;;AAEDP,SAAO,CAACriC,OAAR,CAAiB,UAAA6iC,YAAY,EAAI;AAChC,QAAMC,MAAM,GAAGrK,IAAI,CAACvD,KAAL,CAAY2N,YAAZ,CAAf;;AAEA,QAAK,CAAEC,MAAM,CAACH,QAAd,EAAyB;AACxB;AACA;;AAED,QAAKG,MAAM,CAACH,QAAP,CAAgBle,QAArB,EAAgC;AAC/B+d,YAAM,CAACO,KAAP,CAAcD,MAAM,CAACH,QAAP,CAAgBle,QAA9B;AACA,KAFD,MAEO;AACN+d,YAAM,CAACQ,MAAP,CAAeF,MAAM,CAACH,QAAP,CAAgBC,QAA/B;AACA;AACD,GAZD;AAcA,SAAOJ,MAAM,CAACS,SAAP,EAAP;AACA,CA7BM;AA+BA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAW;AAC1C,SAAOd,0BAAoB,CAAE,KAAK1mC,KAAL,CAAWT,UAAX,CAAsBonC,OAAxB,CAA3B;AACA,CAFM,C;;;;;;;;;;;;;;;;AC1GP;AACA;AACA;AACA;IAEQ7lC,I,GAAOlC,EAAE,CAACmC,I,CAAVD,E;qBAKJlC,EAAE,CAACK,O;IAFND,a,kBAAAA,S;IACAgC,Y,kBAAAA,Q;IAIAyjC,e,GACG7lC,EAAE,CAACqC,U,CADNwjC,W;;IAGKgD,O;;;;;AAEL,iBAAc;AAAA;;AAAA;;AACb,+BAAU1nC,SAAV;AAEA,UAAK4G,GAAL,GAAW,IAAX;AACA,UAAK+gC,SAAL,GAAiB,IAAjB;AACA,UAAKf,OAAL,GAAe,EAAf;AAEA,UAAKV,YAAL,GAAoBA,kBAAY,CAAC10B,IAAb,wCAApB;AAPa;AAQb;;;;mCAEc;AACd,WAAKo1B,OAAL,CAAariC,OAAb,CAAsB,UAAA8iC,MAAM,EAAI;AAAEA,cAAM,CAACO,MAAP,CAAe,IAAf;AAAuB,OAAzD;AACA,WAAKhB,OAAL,GAAe,EAAf;AACA;;;sCAEiB;AAEjB,UAAK,CAAE,KAAKe,SAAZ,EAAwB;AACvB;AACA;;AAED,WAAK1nC,KAAL,CAAW4Z,QAAX,CAAqB,KAAK8tB,SAAL,CAAeE,SAAf,GAA2BjhC,GAA3B,CAAgC,UAAAkhC,KAAK,EAAI;AAC7D,YAAMC,SAAS,GAAG,CAAE,MAAF,EAAU,UAAV,CAAlB;AACA,YAAMC,QAAQ,GAAGvoC,MAAM,CAACiN,IAAP,CAAao7B,KAAb,EACO1/B,MADP,CACe,UAAAuE,GAAG;AAAA,iBAAIo7B,SAAS,CAACzoC,QAAV,CAAoBqN,GAApB,CAAJ;AAAA,SADlB,EAEOI,MAFP,CAEe,UAAEmX,GAAF,EAAOvX,GAAP,EAAgB;AACxBuX,aAAG,CAAEvX,GAAF,CAAH,GAAam7B,KAAK,CAAEn7B,GAAF,CAAlB;AACA,iBAAOuX,GAAP;AACA,SALP,EAKS,EALT,CAAjB;AAOA,eAAO8Y,IAAI,CAACC,SAAL,CAAgB+K,QAAhB,CAAP;AACA,OAVoB,CAArB;AAWA;;;oCAEe;AAAA;;AAAA,UACPxoC,UADO,GACQ,KAAKS,KADb,CACPT,UADO;AAAA,UAEPonC,OAFO,GAEgBpnC,UAFhB,CAEPonC,OAFO;AAAA,UAEEd,SAFF,GAEgBtmC,UAFhB,CAEEsmC,SAFF;AAIf,UAAMn/B,WAAW,GAAGm/B,SAAS,KAAK,YAAd,GAA6BC,iBAAiB,CAACC,IAAlB,CAAwB,IAAxB,CAA7B,GAA8D,SAAlF;AACA,UAAMiC,SAAS,GAAGC,GAAG,CAAC/lC,OAAJ,CAAa,gBAAb,EAA+BwE,WAA/B,CAAlB;AAEAigC,aAAO,CAACriC,OAAR,CAAiB,UAAA6iC,YAAY,EAAI;AAChC,YAAMC,MAAM,GAAGrK,IAAI,CAACvD,KAAL,CAAY2N,YAAZ,CAAf;;AAEA,YAAK,CAAEC,MAAM,CAACH,QAAd,EAAyB;AACxB;AACA;;AAED,cAAI,CAACN,OAAL,CAAajiC,IAAb,CAAmB,IAAIkiC,MAAM,CAACC,IAAP,CAAYqB,MAAhB,CAAwB;AAC1CvhC,aAAG,EAAE,MAAI,CAACA,GADgC;AAE1C2U,cAAI,EAAE;AAAErJ,eAAG,EAAE,sCAAsCk2B,kBAAkB,CAAEH,SAAF;AAA/D,WAFoC;AAG1ChiC,eAAK,EAAEohC,MAAM,CAAC9nC,IAH4B;AAI1C8oC,kBAAQ,EAAEhB,MAAM,CAACH,QAAP,CAAgBC;AAJgB,SAAxB,CAAnB;AAMA,OAbD;;AAeA,UAAK,KAAKP,OAAL,CAAavgC,MAAlB,EAA2B;AAC1B,aAAKO,GAAL,CAAS0hC,SAAT,CAAoBb,gBAAgB,CAACzB,IAAjB,CAAuB,IAAvB,CAApB;AACA;AACD;;;oCAIe;AAAA,UACPxmC,UADO,GACQ,KAAKS,KADb,CACPT,UADO;AAAA,UAEP+oC,YAFO,GAEuC/oC,UAFvC,CAEP+oC,YAFO;AAAA,UAEO9C,UAFP,GAEuCjmC,UAFvC,CAEOimC,UAFP;AAAA,UAEmBC,SAFnB,GAEuClmC,UAFvC,CAEmBkmC,SAFnB;AAAA,UAE8B8C,IAF9B,GAEuChpC,UAFvC,CAE8BgpC,IAF9B;AAIf,WAAK5hC,GAAL,GAAW,IAAIigC,MAAM,CAACC,IAAP,CAAYY,GAAhB,CAAqB77B,QAAQ,CAAC48B,cAAT,iCAAmD,KAAKxoC,KAAL,CAAWE,QAA9D,EAArB,EAAkG;AAC5GuoC,iBAAS,EAAE,SADiG;AAE5Gpf,cAAM,EAAE6b,kBAFoG;AAG5GqD,YAAI,EAAEA,IAHsG;AAI5GznB,cAAM,EAAEykB,qBAAqB,CAAE,KAAKU,YAAL,EAAF,EAAuBT,UAAvB,EAAmCC,SAAnC,CAJ+E;AAM5GiD,sBAAc,EAAE,KAN4F;AAO5GC,wBAAgB,EAAE,CAAEL,YAPwF;AAQ5GM,8BAAsB,EAAE,IARoF;AAS5GC,iBAAS,EAAE,KATiG;AAU5GC,uBAAe,EAAE,MAV2F;AAW5GC,yBAAiB,EAAE,KAXyF;AAY5GC,mBAAW,EAAE;AAZ+F,OAAlG,CAAX;AAcA;;;0CAEqB;AAAA;;AACrB;AACA,UAAM1Z,KAAK,GAAG1jB,QAAQ,CAAC48B,cAAT,8CAAgE,KAAKxoC,KAAL,CAAWE,QAA3E,EAAd;AACA,WAAKwnC,SAAL,GAAiB,IAAId,MAAM,CAACC,IAAP,CAAYoC,MAAZ,CAAmBC,SAAvB,CAAkC5Z,KAAlC,CAAjB,CAHqB,CAKrB;;AACA,WAAK3oB,GAAL,CAASwiC,WAAT,CAAsB,gBAAtB,EAAwC,YAAM;AAC7C,cAAI,CAACzB,SAAL,CAAe0B,SAAf,CAA0B,MAAI,CAACziC,GAAL,CAAS0iC,SAAT,EAA1B;AACA,OAFD,EANqB,CAUrB;AACA;;AACA,WAAK3B,SAAL,CAAeyB,WAAf,CAA4B,gBAA5B,EAA8C,KAAKG,eAAL,CAAqB/3B,IAArB,CAA2B,IAA3B,CAA9C;AACA;;;uCAEkB;AAElB,UAAK,KAAK5K,GAAL,KAAa,IAAlB,EAAyB;AACxB;AACA;;AAED,UAAM4W,OAAO,GAAG,EAAhB;AANkB,UAOVhe,UAPU,GAOK,KAAKS,KAPV,CAOVT,UAPU;AAAA,UAQV+oC,YARU,GAQoC/oC,UARpC,CAQV+oC,YARU;AAAA,UAQI9C,UARJ,GAQoCjmC,UARpC,CAQIimC,UARJ;AAAA,UAQgBC,SARhB,GAQoClmC,UARpC,CAQgBkmC,SARhB;AAAA,UAQ2B8C,IAR3B,GAQoChpC,UARpC,CAQ2BgpC,IAR3B;AAUlBhrB,aAAO,CAACgrB,IAAR,GAAeA,IAAf;AACAhrB,aAAO,CAACorB,gBAAR,GAA2B,CAAEL,YAA7B;AACA/qB,aAAO,CAACuD,MAAR,GAAiBykB,qBAAqB,CAAE,KAAKU,YAAL,EAAF,EAAuBT,UAAvB,EAAmCC,SAAnC,CAAtC;AAEA,WAAK9+B,GAAL,CAAS4iC,UAAT,CAAqBhsB,OAArB;AACA;;;uCAEkB;AAClB,WAAKisB,YAAL;AACA,WAAKC,aAAL;AACA;;;wCAEmB;AAEnB,UAAK,KAAK9iC,GAAL,KAAa,IAAlB,EAAyB;AACxB,aAAK+iC,aAAL;AACA,aAAKC,mBAAL;AACA,aAAKF,aAAL;AACA;AACA;;AAED7C,YAAM,CAACC,IAAP,CAAY+C,KAAZ,CAAkBC,OAAlB,CAA2B,KAAKljC,GAAhC,EAAqC,QAArC;AACA;;;0CAEsBmjC,S,EAAY;AAClC,UAAIC,YAAY,GAAG,KAAnB;AACAvqC,YAAM,CAACyH,OAAP,CAAgB,KAAKjH,KAArB,EAA6BsE,OAA7B,CAAsC,gBAAoB;AAAA;AAAA,YAAhBoI,GAAgB;AAAA,YAAXs9B,GAAW;;AACzD,YAAKF,SAAS,CAAEp9B,GAAF,CAAT,KAAqBs9B,GAA1B,EAAgC;AAC/BD,sBAAY,GAAG,IAAf;AACA;AACD,OAJD;AAMA,aAAOA,YAAP;AACA;;;uCAEmBE,S,EAAWC,S,EAAY;AAC1C,WAAKC,gBAAL;;AAEA,UAAKF,SAAS,CAAC1qC,UAAV,CAAqBonC,OAArB,KAAiC,KAAK3mC,KAAL,CAAWT,UAAX,CAAsBonC,OAAvD,IACAsD,SAAS,CAAC1qC,UAAV,CAAqBsmC,SAArB,KAAmC,KAAK7lC,KAAL,CAAWT,UAAX,CAAsBsmC,SAD9D,EAC0E;AACzE,aAAKuE,gBAAL;AACA;AACD;;;6BAEQ;AACR,aAAO;AAAK,iBAAS,EAAC,qBAAf;AAAqC,UAAE,kCAA6B,KAAKpqC,KAAL,CAAWE,QAAxC;AAAvC,QAAP;AACA;;;;EA5JgBlB,a;;AA+JlB,IAAMqrC,cAAU,GAAG,SAAbA,UAAa,CAAE5C,GAAF,EAAW;AAE7B,SAAO,UAAEznC,KAAF,EAAa;AAAA,QAEXmmB,QAFW,GAEiBnmB,KAFjB,CAEXmmB,QAFW;AAAA,QAEEmkB,UAFF,qCAEiBtqC,KAFjB;;AAGnB,QAAMuqC,eAAe,GAAG,EAAxB;;AAEA,QAAK,CAAEvqC,KAAK,CAACkN,UAAb,EAA0B;AACzBq9B,qBAAe,CAACC,OAAhB,GAA0B,MAA1B;AACA;;AAED,WACC;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,eAAS,EAAC;AAAf,OACC,yCAAC,eAAD;AAAa,WAAK,EAAGD;AAArB,OACC;AACC,UAAI,EAAC,MADN;AAEC,QAAE,+CAA0CvqC,KAAK,CAACE,QAAhD,CAFH;AAGC,iBAAW,EAAGY,IAAE,CAAE,4CAAF;AAHjB,MADD,CADD,CADD,EAUC;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,WAAK,EAAGqlB,QAAQ,CAACna;AAAtB,OACC,yCAAC,GAAD,EAAUs+B,UAAV,CADD,CADD,CADD,CAVD,CADD;AAoBA,GA7BD;AA8BA,CAhCD;;AAkCeD,iEAAU,CAAE5C,OAAF,CAAzB,E;;;;;;;;;;;;;ICjNQ3mC,mB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;uCAMJlC,EAAE,CAACqC,U;IAHNiO,yB,oCAAAA,M;IACAw1B,8B,oCAAAA,W;IACAxjC,4B,oCAAAA,S;oCAMGtC,EAAE,CAACK,O;IAFND,4B,iCAAAA,S;IACAgC,2B,iCAAAA,Q;;IAGKypC,kC;;;;;AAEL,6BAAc;AAAA;;AAAA,8BACH1qC,SADG;AAEb;;;;6BAEQ;AAAA,wBAOJ,KAAKC,KAPD;AAAA,UAEP8Q,MAFO,eAEPA,MAFO;AAAA,UAGPk0B,kBAHO,eAGPA,kBAHO;AAAA,UAIP0F,WAJO,eAIPA,WAJO;AAAA,UAKPC,cALO,eAKPA,cALO;AAAA,UAMPC,YANO,eAMPA,YANO;;AASR,UAAKF,WAAW,KAAK,EAArB,EAA0B;AACzB,eAAO,IAAP;AACA;;AAED,aACC,yCAAC,2BAAD,QACC,yCAAC,8BAAD;AACC,mBAAW,EAAG5pC,mBAAE,CAAE,oBAAF,EAAwB,eAAxB,CADjB;AAEC,aAAK,EAAGgQ,MAFT;AAGC,aAAK,EAAGhQ,mBAAE,CAAE,qBAAF,EAAyB,eAAzB,CAHX;AAIC,gBAAQ,EAAG6pC,cAJZ;AAKC,YAAI,EAAG3F;AALR,QADD,EAQC,yCAAC,yBAAD;AAAQ,mBAAW,MAAnB;AAAoB,eAAO,EAAG,mBAAM;AAAE4F,sBAAY,CAAE95B,MAAF,CAAZ;AAAwB;AAA9D,SACGhQ,mBAAE,CAAE,MAAF,EAAU,eAAV,CADL,CARD,CADD;AAcA;;;;EAjC4B9B,4B;;AAoCfyrC,yFAAf,E;;;;;;;;;;;;;;ACjDA;AACA;AACA;IAGCzrC,0B,GACGJ,EAAE,CAACK,O,CADND,S;;IAGK6rC,+B;;;;;AAEL,4BAAc;AAAA;;AAAA;;AACb,+BAAU9qC,SAAV;AAEA,UAAKkD,KAAL,GAAa;AACZ2F,YAAM,EAAE,MAAK5I,KAAL,CAAWyB;AADP,KAAb;AAIA,UAAKkkC,aAAL,GAAqBA,aAAa,CAACp0B,IAAd,wCAArB;AAPa;AAQb;;;;mCAEeuP,M,EAAS;AACxB,UAAI7M,MAAM,GAAG,EAAb;AACA6M,YAAM,CAACxc,OAAP,CAAgB,UAAUwmC,CAAV,EAAa91B,CAAb,EAAgB+1B,CAAhB,EAAoB;AACnC,YAAI/+B,KAAK,GAAG,EAAZ;;AACA,YAAK8+B,CAAC,CAACE,OAAP,EAAiB;AAChB,cAAKF,CAAC,CAACE,OAAF,CAAU5kC,MAAV,GAAmB,CAAxB,EAA4B;AAC3B4F,iBAAK,IAAI,CAAE8+B,CAAC,CAAC9vB,cAAF,CAAkB,aAAlB,IAAoC,aAAa8vB,CAAC,CAACG,WAAnD,GAAiE,aAAnE,IAAqF,GAA9F;AACAj/B,iBAAK,IAAI,CAAE8+B,CAAC,CAAC9vB,cAAF,CAAkB,aAAlB,IAAoC,aAAa8vB,CAAC,CAACI,WAAnD,GAAiE,aAAnE,IAAqF,GAA9F;AACAJ,aAAC,CAACE,OAAF,CAAU1mC,OAAV,CAAmB,UAAU0lC,GAAV,EAAeh1B,CAAf,EAAkB+1B,CAAlB,EAAsB;AACxC,kBAAII,IAAI,GAAG3rC,MAAM,CAACiN,IAAP,CAAau9B,GAAb,EAAmB,CAAnB,CAAX;AACA,kBAAIoB,WAAW,GAAGpB,GAAG,CAAEmB,IAAF,CAAH,CAAYE,QAAZ,GAAuBnpC,OAAvB,CAAgC,GAAhC,EAAqC,IAArC,CAAlB;AACA8J,mBAAK,IAAIm/B,IAAI,GAAG,GAAP,GAAaC,WAAb,GAA2B,GAApC;AACA,aAJD;AAKA;AACD;;AACDn3B,cAAM,CAACvP,IAAP,CAAa,WAAWyjC,kBAAkB,CAAEn8B,KAAF,CAA1C;AACA,OAdD;AAeA,aAAOiI,MAAM,CAACoD,IAAP,CAAa,GAAb,CAAP;AACA;;;6BAEQ;AAAA;;AAAA,wBAOJ,KAAKrX,KAPD;AAAA,UAEPT,UAFO,eAEPA,UAFO;AAAA,UAGPge,OAHO,eAGPA,OAHO;AAAA,UAIP9b,KAJO,eAIPA,KAJO;AAAA,UAKPmY,QALO,eAKPA,QALO;AAAA,UAMP9I,MANO,eAMPA,MANO;AAAA,UASA61B,OATA,GASkBpnC,UATlB,CASAonC,OATA;AAAA,UASS4B,IATT,GASkBhpC,UATlB,CASSgpC,IATT;AAWR,UAAMlf,MAAM,GAAGsd,OAAO,CAACvgC,MAAR,GAAiBohC,gBAAgB,CAACzB,IAAjB,CAAuB,IAAvB,CAAjB,GAAiD,IAAIa,MAAM,CAACC,IAAP,CAAYG,MAAhB,CAAwB9B,kBAAxB,CAAhE;AACA,UAAMoG,QAAQ,GAAGjiB,MAAM,CAAC8b,GAAP,EAAjB;AACA,UAAMoG,SAAS,GAAGliB,MAAM,CAAC+b,GAAP,EAAlB;AAEA,aACC;AAAK,iBAAS,EAAC;AAAf,SACC;AAAK,iBAAS,EAAC;AAAf,SACG7nB,OAAO,CAAC5W,GAAR,CAAa,UAAA0H,MAAM,EAAI;AACxB,YAAMrC,KAAK,GAAG,MAAI,CAACw/B,cAAL,CAAqB,MAAI,CAAC7F,aAAL,CAAoBt3B,MAAM,CAACyS,MAA3B,CAArB,CAAd;;AACA,YAAM0e,IAAI,GAAG,SAAb;AACA,YAAMiM,OAAO,GAAG,SAAhB;AACA,YAAMx5B,GAAG,GAAG,gDAAZ;AACA,YAAMyZ,GAAG,aAAMzZ,GAAN,qBAAoBq5B,QAApB,cAAgCC,SAAhC,mBAAkDhD,IAAlD,mBAA+D/I,IAA/D,sBAA+EiM,OAA/E,cAA0Fz/B,KAA1F,kBAAuG8E,MAAvG,CAAT;AAEA,eACC;AACC,aAAG,EAAGzC,MAAM,CAACg3B,IADd;AAEC,mBAAS,EAAGv/B,oBAAU,CAAE,2DAAF,EAA+D;AACpF,yBAAauI,MAAM,CAACg3B,IAAP,KAAgB,MAAI,CAACpiC,KAAL,CAAW2F;AAD4C,WAA/D,CAFvB;AAKC,iBAAO,EAAG,mBAAM;AACf,kBAAI,CAAC8c,QAAL,CAAe;AAAE9c,oBAAM,EAAEyF,MAAM,CAACg3B;AAAjB,aAAf;;AACAzrB,oBAAQ,CAAEvL,MAAM,CAACg3B,IAAT,CAAR;AACA,WARF;AASC,cAAI,EAAC,QATN;AAUC,kBAAQ,EAAC,GAVV;AAWC,wBAAah3B,MAAM,CAAC3M;AAXrB,WAaC;AAAK,mBAAS,EAAC;AAAf,WACC;AACC,aAAG,EAAGgqB,GADP;AAEC,aAAG,YAAOrd,MAAM,CAAC3M,KAAd;AAFJ,UADD,CAbD,EAmBC;AAAK,mBAAS,EAAC;AAAf,WACG2M,MAAM,CAAC3M,KADV,CAnBD,CADD;AA0BA,OAjCC,CADH,CADD,CADD;AAwCA;;;;EAvF2B1C,0B;;AA0Fd6rC,oFAAf,E;;;;;;;;;;;;;;;AClGA;AACA;AACA;AAEA;AACA;AACA;IAEQ/pC,8B,GAAOlC,EAAE,CAACmC,I,CAAVD,E;kDAOJlC,EAAE,CAACqC,U;IAJNC,uC,+CAAAA,S;IACAmM,0C,+CAAAA,Y;IACAlM,gC,+CAAAA,a;IACA4O,gC,+CAAAA,a;IAIA/Q,4B,GACGJ,EAAE,CAACK,O,CADND,S;IAIAoC,+C,GACGxC,EAAE,CAACyC,W,CADND,iB;;IAGKsqC,0C;;;;;AAEL,qCAAc;AAAA;;AAAA;;AACb,+BAAU3rC,SAAV;AAEA,UAAK4lC,aAAL,GAAqBA,aAAa,CAACp0B,IAAd,wCAArB;AAHa;AAIb;;;;6BAEQ;AAAA;;AAAA,wBAYJ,KAAKvR,KAZD;AAAA,8CAGPT,UAHO;AAAA,UAINsmC,SAJM,yBAINA,SAJM;AAAA,UAKN0C,IALM,yBAKNA,IALM;AAAA,UAMN/C,UANM,yBAMNA,UANM;AAAA,UAON8C,YAPM,yBAONA,YAPM;AAAA,UAQN7C,SARM,yBAQNA,SARM;AAAA,UAUPiF,WAVO,eAUPA,WAVO;AAAA,UAWPzqC,aAXO,eAWPA,aAXO;;AAcR,UAAK,CAAEyqC,WAAP,EAAqB;AACpB,eAAO,IAAP;AACA;;AAED,aACC,yCAAC,2BAAD,QACC,yCAAC,gCAAD;AAAiB,aAAK,EAAG5pC,8BAAE,CAAE,YAAF;AAA3B,SACC,yCAAC,4BAAD;AAAa,aAAK,EAAGA,8BAAE,CAAE,WAAF;AAAvB,SACC,yCAAC,gBAAD,wBACM,KAAKd,KADX;AAEC,WAAG,EAAG,2BAFP;AAGC,cAAM,EAAG0qC,WAHV;AAIC,aAAK,EAAG7E,SAJT;AAKC,eAAO,EAAG/kB,iBALX;AAMC,gBAAQ,EAAG,kBAAA6qB,YAAY,EAAI;AAC1B,cAAMtF,SAAS,GAAGvlB,iBAAM,CAACre,IAAP,CAAa,UAAAuJ,KAAK;AAAA,mBAAIA,KAAK,CAACq5B,IAAN,KAAesG,YAAnB;AAAA,WAAlB,EAAoD7qB,MAAtE;;AACA,cAAM8qB,SAAS,GAAG,MAAI,CAACjG,aAAL,CAAoBU,SAApB,CAAlB;;AACA,cAAMwF,WAAW,GAAGF,YAAY,KAAK,YAAjB,GAAgC7F,iBAAiB,CAACC,IAAlB,CAAwB,MAAxB,CAAhC,GAAiE,SAArF;AAEA9lC,uBAAa,CAAE;AACd4lC,qBAAS,EAAE8F,YADG;AAEd/F,qBAAS,EAAEgG,SAFG;AAGdE,oBAAQ,EAAED;AAHI,WAAF,CAAb;AAKA;AAhBF,SADD,CADD,EAqBC,yCAAC,4BAAD;AAAa,aAAK,EAAG/qC,8BAAE,CAAE,UAAF;AAAvB,SACC,yCAAC,gCAAD;AACC,WAAG,EAAG,gCADP;AAEC,aAAK,EAAGA,8BAAE,CAAE,oBAAF,EAAwB,eAAxB,CAFX;AAGC,eAAO,EAAG2kC,SAHX;AAIC,gBAAQ,EAAG;AAAA,iBAAMxlC,aAAa,CAAE;AAAEwlC,qBAAS,EAAE,CAAEA;AAAf,WAAF,CAAnB;AAAA;AAJZ,QADD,EAOC,yCAAC,gCAAD;AACC,WAAG,EAAG,gCADP;AAEC,aAAK,EAAG3kC,8BAAE,CAAE,aAAF,EAAiB,eAAjB,CAFX;AAGC,eAAO,EAAG0kC,UAHX;AAIC,gBAAQ,EAAG;AAAA,iBAAMvlC,aAAa,CAAE;AAAEulC,sBAAU,EAAE,CAAEA;AAAhB,WAAF,CAAnB;AAAA;AAJZ,QAPD,EAaC,yCAAC,gCAAD;AACC,WAAG,EAAG,0BADP;AAEC,aAAK,EAAG1kC,8BAAE,CAAE,eAAF,EAAmB,eAAnB,CAFX;AAGC,eAAO,EAAGwnC,YAHX;AAIC,gBAAQ,EAAG;AAAA,iBAAMroC,aAAa,CAAE;AAAEqoC,wBAAY,EAAE,CAAEA;AAAlB,WAAF,CAAnB;AAAA;AAJZ,QAbD,EAmBC,yCAAC,0CAAD;AACC,WAAG,EAAG,0BADP;AAEC,aAAK,EAAGC,IAFT;AAGC,gBAAQ,EAAG,kBAAEwD,OAAF;AAAA,iBAAe9rC,aAAa,CAAE;AAAEsoC,gBAAI,EAAEwD;AAAR,WAAF,CAA5B;AAAA,SAHZ;AAIC,WAAG,EAAG,CAJP;AAKC,WAAG,EAAG,EALP;AAMC,aAAK,EAAGjrC,8BAAE,CAAE,YAAF,EAAgB,eAAhB;AANX,QAnBD,CArBD,CADD,EAmDC,yCAAC,gCAAD;AAAiB,aAAK,EAAGA,8BAAE,CAAE,OAAF;AAA3B,SACC,yCAAC,4BAAD;AAAa,aAAK,EAAGA,8BAAE,CAAE,UAAF;AAAvB,SACC,yCAAC,kBAAD;AACC,WAAG,EAAG;AADP,SAEM,KAAKd,KAFX,EADD,CADD,CAnDD,CADD;AA8DA;;;;EAxFoChB,4B;;AA2FvB0sC,4GAAf,E;;;;;;;;;;;;;;;;ACpHA;AACA;AACA;AAEA;IAEQ5qC,K,GAAOlC,EAAE,CAACmC,I,CAAVD,E;AAER,IAAMkrC,kBAAkB,GAAG,gCAA3B;sBAKIptC,EAAE,CAACK,O;IAFND,c,mBAAAA,S;IACAgC,a,mBAAAA,Q;yBAMGpC,EAAE,CAACqC,U;IAFNgrC,Y,sBAAAA,O;IACAvH,gB,sBAAAA,W;0BAMG9lC,EAAE,CAACyC,W;IAFN6qC,qB,uBAAAA,qB;IACAvK,kB,uBAAAA,a;sBAMG/iC,EAAE,CAACC,O;IAFNA,Y,mBAAAA,O;IACAF,+B,mBAAAA,0B;IAIAwtC,Q,GACGvtC,EAAE,CAACuS,GAAH,CAAOi7B,M,CADVD,Q,EAGD;;AACAp7B,MAAM,CAACs7B,cAAP,GAAwB,YAAW;AAClCt7B,QAAM,CAACu7B,sBAAP,GAAgC,IAAhC;AACAv7B,QAAM,CAACw7B,aAAP,CAAsB,IAAIC,KAAJ,CAAU,kCAAV,CAAtB;AACA,CAHD;;IAKMxK,oB;;;;;AAEL,kBAAc;AAAA;;AAAA;;AACb,+BAAUjiC,SAAV;AAEA,UAAKkD,KAAL,GAAa;AACZwpC,mBAAa,EAAE,KADH;AAEZC,mBAAa,EAAE,KAFH;AAGZhC,iBAAW,EAAE,EAHD;AAIZ55B,YAAM,EAAE,EAJI;AAKZ67B,mBAAa,EAAI,OAAO57B,MAAM,CAACu7B,sBAAd,KAAyC,WAA3C,GAA2D,KAA3D,GAAmE,CAAC,CAACv7B,MAAM,CAACu7B;AAL/E,KAAb;AAQA,UAAKM,eAAL,GAAuB,MAAKA,eAAL,CAAqBr7B,IAArB,wCAAvB;AACA,UAAKs7B,uBAAL,GAA+B,MAAKA,uBAAL,CAA6Bt7B,IAA7B,wCAA/B;AACA,UAAKvO,QAAL,GAAgB,IAAhB;AAba;AAcb;;;;4CAEuB4mC,K,EAAO;AAC9B,WAAKlkB,QAAL,CAAe;AACdinB,qBAAa,EAAE;AADD,OAAf;AAGA;;;oCAEgBhG,O,EAAU;AAC1B,WAAK3mC,KAAL,CAAWC,aAAX,CAA0B;AAAE0mC,eAAO,EAAPA;AAAF,OAA1B;AACA;;;wCAEmB;AAAA;;AAEnB51B,YAAM,CAAC3E,gBAAP,CAAwB,kCAAxB,EAA4D,KAAKygC,uBAAjE;AAEAjuC,QAAE,CAACuS,GAAH,CAAO27B,WAAP,CAAmBC,IAAnB,CAAyB,YAAM;AAC9B,cAAI,CAAC/pC,QAAL,GAAgB,IAAIpE,EAAE,CAACuS,GAAH,CAAOi7B,MAAP,CAAcD,QAAlB,EAAhB;;AAEA,cAAI,CAACnpC,QAAL,CAAc+gB,EAAd,kBAA6BioB,kBAA7B,GAAoD,UAAAgB,KAAK,EAAI;AAC5D,cAAMl8B,MAAM,GAAGk8B,KAAK,CAACpjC,GAAN,CAAWoiC,kBAAX,CAAf;;AAEA,gBAAI,CAACtmB,QAAL,CAAe;AACdgnB,yBAAa,EAAE,IADD;AAEdhC,uBAAW,EAAE55B,MAFC;AAGdA,kBAAM,EAANA;AAHc,WAAf;;AAMA,cAAK,CAAC,CAACA,MAAP,EAAgB;AACf,kBAAI,CAACm8B,oBAAL;AACA;AACD,SAZD;;AAcA,cAAI,CAACjqC,QAAL,CAAc8O,KAAd;AACA,OAlBD;AAmBA;;;2CAEsB;AACtBf,YAAM,CAAC0U,mBAAP,CAA2B,kCAA3B,EAA+D,KAAKonB,uBAApE;AACA;;;2CAEsB;AAAA;;AAAA,UACdnC,WADc,GACE,KAAKznC,KADP,CACdynC,WADc;AAEtB,UAAMwC,QAAQ,GAAGxC,WAAW,KAAK,EAAhB,iBAA4BA,WAA5B,SAA6C,EAA9D;AACA,UAAMyC,SAAS,+CAAwCD,QAAxC,qBAAf;AACA,UAAME,OAAO,GAAGxhC,QAAQ,CAACyhC,gBAAT,CAA0B,oCAA1B,CAAhB;;AAEA,UAAKD,OAAO,CAAChnC,MAAb,EAAsB;AACrB,aAAKsf,QAAL,CAAe;AAAE+mB,uBAAa,EAAE;AAAjB,SAAf;AACA,eAAOthB,OAAO,CAACmiB,OAAR,EAAP;AACA;;AAED,UAAMC,OAAO,GAAG,IAAIpiB,OAAJ,CAAa,UAAEmiB,OAAF,EAAWE,MAAX,EAAuB;AACnD,YAAMC,MAAM,GAAG7hC,QAAQ,CAAC8hC,aAAT,CAAwB,QAAxB,CAAf;AACAD,cAAM,CAACE,MAAP,GAAgBL,OAAhB;AACAG,cAAM,CAACG,OAAP,GAAiBJ,MAAjB;AACAC,cAAM,CAACI,KAAP,GAAe,IAAf;AACAJ,cAAM,CAAC/hB,GAAP,GAAayhB,SAAb;AACAvhC,gBAAQ,CAACkiC,IAAT,CAAcC,WAAd,CAA2BN,MAA3B;AACA,OAPe,CAAhB;AASA,aAAOF,OAAO,CAAC77B,IAAR,CAAc,YAAM;AAC1B,cAAI,CAACgU,QAAL,CAAe;AAAE+mB,uBAAa,EAAE;AAAjB,SAAf;AACA,OAFM,CAAP;AAGA;;;+BAEW37B,M,EAAS;AAAA;;AACpB,UAAMpE,GAAG,GAAG,IAAI9N,EAAE,CAACuS,GAAH,CAAOi7B,MAAP,CAAcD,QAAlB,8BAAgCH,kBAAhC,EAAsDl7B,MAAtD,EAAZ;AAEApE,SAAG,CAAC81B,IAAJ,GAAW9wB,IAAX,CAAgB,YAAM;AACrB,cAAI,CAACgU,QAAL,CAAe;AAAEinB,uBAAa,EAAE;AAAjB,SAAf;;AACA,cAAI,CAAC3pC,QAAL,CAAc8O,KAAd;AACA,OAHD;AAIA;;;oCAEe;AAAA,wBAEsD,KAAK7O,KAF3D;AAAA,UAEPypC,aAFO,eAEPA,aAFO;AAAA,UAEQD,aAFR,eAEQA,aAFR;AAAA,UAEuB/B,WAFvB,eAEuBA,WAFvB;AAAA,UAEoCiC,aAFpC,eAEoCA,aAFpC;;AAIf,UAAK,CAAED,aAAP,EAAuB;AACtB,eAAO,yCAAC,YAAD,OAAP;AACA;;AAED,UAAK,CAAED,aAAF,IAAmB,CAAE/B,WAArB,IAAoCiC,aAAzC,EAAyD;AACxD,eAAO,yCAAC,sBAAD;AACN,oBAAU,EAAG,KAAK5H,UAAL,CAAgBxzB,IAAhB,CAAsB,IAAtB,CADP;AAEN,gBAAM,EAAGm5B,WAFH;AAGN,4BAAkB,EAAG,KAAKsD,eAAL;AAHf,UAAP;AAKA;;AAED,aACC,yCAAC,aAAD,QACC,yCAAC,cAAD,wBACM,KAAKhuC,KADX;AAEC,gBAAQ,EAAG,KAAK4sC;AAFjB,SADD,CADD;AAQA;;;sCAEiB;AAAA,UACTD,aADS,GACS,KAAK1pC,KADd,CACT0pC,aADS;AAEjB,UAAM16B,GAAG,GAAG,mEAAZ;AACA,UAAMg8B,SAAS,GAAG;AAAG,cAAM,EAAC,QAAV;AAAmB,YAAI,EAAGh8B;AAA1B,SAAkCnR,KAAE,CAAE,gCAAF,EAAoC,eAApC,CAApC,CAAlB;;AAEA,UAAK6rC,aAAL,EAAqB;AACpB,eACC,yCAAC,aAAD,QAAY7rC,KAAE,CAAE,sLAAF,EAA0L,eAA1L,CAAd,OAA8NmtC,SAA9N,CADD;AAGA;;AAED,aACC,yCAAC,aAAD,QAAYntC,KAAE,CAAE,iCAAF,EAAqC,eAArC,CAAd,OAAyEmtC,SAAzE,OAAuFntC,KAAE,CAAE,wBAAF,EAA4B,eAA5B,CAAzF,CADD;AAGA;;;6BAEQ;AAAA;;AAAA,yBAC6D,KAAKmC,KADlE;AAAA,UACAypC,aADA,gBACAA,aADA;AAAA,UACeD,aADf,gBACeA,aADf;AAAA,UAC8B/B,WAD9B,gBAC8BA,WAD9B;AAAA,UAC2CiC,aAD3C,gBAC2CA,aAD3C;AAAA,wBAE8B,KAAK3sC,KAFnC;AAAA,UAEAT,UAFA,eAEAA,UAFA;AAAA,UAEYU,aAFZ,eAEYA,aAFZ;AAAA,UAGA4pB,KAHA,GAGqBtqB,UAHrB,CAGAsqB,KAHA;AAAA,UAGO+b,SAHP,GAGqBrmC,UAHrB,CAGOqmC,SAHP;AAIR,UAAMsI,QAAQ,GAAG1uC,MAAM,CAACC,MAAP,CAAe,KAAKO,KAApB,CAAjB;;AAEA,UAAK,OAAO4lC,SAAP,KAAqB,QAA1B,EAAqC;AACpCsI,gBAAQ,CAAC3uC,UAAT,CAAoBqmC,SAApB,GAAgC7I,IAAI,CAACvD,KAAL,CAAYoM,SAAZ,CAAhC;AACA;;AAED,aACC,yCAAC,aAAD,QACC,yCAAC,kBAAD,QACC,yCAAC,qBAAD;AACC,aAAK,EAAG/b,KADT;AAEC,gBAAQ,EAAG,kBAAAA,KAAK;AAAA,iBAAI5pB,aAAa,CAAE;AAAE4pB,iBAAK,EAALA;AAAF,WAAF,CAAjB;AAAA,SAFjB;AAGC,gBAAQ,EAAG,CAAE,QAAF,EAAY,MAAZ;AAHZ,QADD,CADD,EAQG,CAAC,CAAC6iB,aAAF,IAAmB,CAAC,CAACD,aAArB,IAAsC,CAAC,CAAC/B,WAAxC,IAAuD,CAACiC,aAAxD,IAAyE,yCAAC,6BAAD,wBACrEuB,QADqE;AAE1E,cAAM,EAAG,KAAKjrC,KAAL,CAAW6N,MAFsD;AAG1E,mBAAW,EAAG,KAAK7N,KAAL,CAAWynC,WAHiD;AAI1E,sBAAc,EAAG,wBAAE55B,MAAF,EAAc;AAC9B,gBAAI,CAAC4U,QAAL,CAAe;AAAE5U,kBAAM,EAANA;AAAF,WAAf;AACA,SANyE;AAO1E,oBAAY,EAAG,KAAKi0B,UAAL,CAAgBxzB,IAAhB,CAAsB,IAAtB,CAP2D;AAQ1E,0BAAkB,EAAG,KAAKy8B,eAAL;AARqD,SAR5E,EAkBG,KAAKG,aAAL,EAlBH,CADD;AAsBA;;;;EArKiBnvC,c;;AAwKJL,mFAA0B,CAACE,YAAO,CAAC,CACjDiQ,aADiD,EAEjDwY,aAFiD,CAAD,CAAR,CAA1B,CAGV0a,oBAHU,CAAf,E;;;;;AChNA;;;AAGA;AACA;AAEA;AACA;AAEA;AACA;AAEA,IAAMziC,4BAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,qBAAnB,EAAoChM,oCAApC,CAAnB;AAEA;;;;IAGQn1B,W,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,4B,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;AAER,SAASK,eAAT,GAAgB;AAEfL,8BAAiB,CAAE,uBAAF,EAA2B;AAC3Cr9B,SAAK,EAAElF,WAAE,CAAE,kBAAF,EAAsB,eAAtB,CADkC;AAE3CkS,eAAW,EAAElS,WAAE,CAAE,gEAAF,EAAoE,eAApE,CAF4B;AAG3C8wB,YAAQ,EAAE,aAHiC;AAI3CtW,QAAI,EAAE8N,GAJqC;AAK3Cya,YAAQ,EAAE,CACT/iC,WAAE,CAAE,QAAF,EAAY,eAAZ,CADO,EAETA,WAAE,CAAE,MAAF,EAAU,eAAV,CAFO,EAGTA,WAAE,CAAE,aAAF,EAAiB,eAAjB,CAHO,EAITA,WAAE,CAAE,UAAF,EAAc,eAAd,CAJO,CALiC;AAW3C0jC,uBAX2C,+BAWtBjlC,UAXsB,EAWT;AAAA,UACzBsqB,KADyB,GACftqB,UADe,CACzBsqB,KADyB;;AAEjC,UAAK,aAAaA,KAAb,IAAsB,WAAWA,KAAtC,EAA8C;AAC7C,eAAO;AAAE,wBAAcA;AAAhB,SAAP;AACA;AACD,KAhB0C;AAiB3CtqB,cAAU,EAAVA,4BAjB2C;AAkB3CukC,QAAI,EAAJA,eAlB2C;AAmB3CtB,QAAI,EAAE,gBAAW,CAAE;AAnBwB,GAA3B,CAAjB;AAqBA;;AAEckB,8DAAf,E;;;iCC7CsB9kC,EAAE,CAACqC,U;IAAjB2Z,gB,8BAAAA,G;IAAKD,iB,8BAAAA,I;AAEN,IAAMyzB,QAAQ,GAAG;AAAK,OAAK,EAAC,4BAAX;AAAwC,OAAK,EAAC,MAA9C;AAAqD,QAAM,EAAC,MAA5D;AAAmE,SAAO,EAAC;AAA3E,GACvB;AAAG,MAAI,EAAC,MAAR;AAAe,UAAQ,EAAC,SAAxB;AAAkC,QAAM,EAAC,MAAzC;AAAgD,aAAW,EAAC;AAA5D,GACC;AACC,MAAI,EAAC,SADN;AAEC,GAAC,EAAC,4QAFH;AAGC,WAAS,EAAC;AAHX,EADD,EAMC;AACC,MAAI,EAAC,SADN;AAEC,GAAC,EAAC,+HAFH;AAGC,WAAS,EAAC;AAHX,EAND,EAWC;AAAM,MAAI,EAAC,SAAX;AAAqB,GAAC,EAAC;AAAvB,EAXD,CADuB,CAAjB;AAgBA,IAAMC,SAAS,GAAG;AAAK,OAAK,EAAC,4BAAX;AAAwC,OAAK,EAAC,MAA9C;AAAqD,QAAM,EAAC,MAA5D;AAAmE,SAAO,EAAC;AAA3E,GACxB;AAAG,MAAI,EAAC,MAAR;AAAe,UAAQ,EAAC,SAAxB;AAAkC,QAAM,EAAC,MAAzC;AAAgD,aAAW,EAAC;AAA5D,GACC;AACC,MAAI,EAAC,SADN;AAEC,GAAC,EAAC,4QAFH;AAGC,WAAS,EAAC;AAHX,EADD,EAMC;AACC,MAAI,EAAC,SADN;AAEC,GAAC,EAAC,+HAFH;AAGC,WAAS,EAAC;AAHX,EAND,EAWC;AAAM,MAAI,EAAC,SAAX;AAAqB,GAAC,EAAC;AAAvB,EAXD,CADwB,CAAlB;AAgBA,IAAMC,UAAU,GAAG;AAAK,OAAK,EAAC,4BAAX;AAAwC,OAAK,EAAC,MAA9C;AAAqD,QAAM,EAAC,MAA5D;AAAmE,SAAO,EAAC;AAA3E,GACzB;AAAG,MAAI,EAAC,MAAR;AAAe,UAAQ,EAAC,SAAxB;AAAkC,QAAM,EAAC,MAAzC;AAAgD,aAAW,EAAC;AAA5D,GACC;AACC,MAAI,EAAC,SADN;AAEC,GAAC,EAAC,4QAFH;AAGC,WAAS,EAAC;AAHX,EADD,EAMC;AACC,MAAI,EAAC,SADN;AAEC,GAAC,EAAC,+HAFH;AAGC,WAAS,EAAC;AAHX,EAND,EAWC;AAAM,MAAI,EAAC,SAAX;AAAqB,GAAC,EAAC;AAAvB,EAXD,EAYC;AAAM,MAAI,EAAC,SAAX;AAAqB,GAAC,EAAC;AAAvB,EAZD,EAaC;AAAM,MAAI,EAAC,SAAX;AAAqB,GAAC,EAAC;AAAvB,EAbD,CADyB,CAAnB,C;;;;;;;;;;;;;;;;;;;;;;AClCP;AAEA;AACA;AACA;IAEQxtC,Y,GAAOlC,EAAE,CAACmC,I,CAAVD,E;6BAKJlC,EAAE,CAACK,O;IAFND,qB,0BAAAA,S;IACAgC,oB,0BAAAA,Q;iCAG2DpC,EAAE,CAACyC,W;IAAvD+iC,gB,8BAAAA,W;IAAamK,kC,8BAAAA,kC;iBAE2B3vC,EAAE,CAACuW,M;IAA3CutB,gB,cAAAA,W;IAAa8L,sB,cAAAA,sB;IAGpB3vC,mB,GACGD,EAAE,CAACC,O,CADNA,O;mBAMGD,EAAE,CAACwB,I;IAFNkB,e,gBAAAA,U;IACA8b,iB,gBAAAA,Y;AAGD,IAAMqxB,gBAAgB,GAAG,CACxB;AACCzoC,OAAK,EAAElF,YAAE,CAAE,+CAAF,EAAmD,eAAnD,CADV;AAECxB,MAAI,EAAE,WAFP;AAGCgc,MAAI,EAAE8N,QAHP;AAICslB,UAAQ,EAAE,CACT,CAAE,iBAAF,CADS,EAET,CAAE,uBAAF,EAA2B;AAC1B7sC,aAAS,EAAE,8CADe;AAE1BwjC,QAAI,EAAE;AAFoB,GAA3B,CAFS;AAJX,CADwB,EAaxB;AACCr/B,OAAK,EAAElF,YAAE,CAAE,oDAAF,EAAwD,eAAxD,CADV;AAECxB,MAAI,EAAE,aAFP;AAGCgc,MAAI,EAAE8N,UAHP;AAICslB,UAAQ,EAAE,CACT,CAAE,uBAAF,EAA2B;AAC1B7sC,aAAS,EAAE,gDADe;AAE1BwjC,QAAI,EAAE;AAFoB,GAA3B,CADS,EAKT,CAAE,iBAAF,CALS,EAMT,CAAE,uBAAF,EAA2B;AAC1BxjC,aAAS,EAAE,8CADe;AAE1BwjC,QAAI,EAAE;AAFoB,GAA3B,CANS;AAJX,CAbwB,CAAzB;;IA+BMrD,gB;;;;;AAEL,kBAAc;AAAA;;AAAA,8BACHjiC,SADG;AAEb;;;;gCAEY4uC,M,EAAS;AACrB,WAAKjpB,QAAL,CAAe;AAAEgpB,gBAAQ,EAAEC;AAAZ,OAAf;AACA;;;wDAEoCC,mB,EAAsB;AAAA;;AAC1D,aAAOjoC,aAAG,CAAEioC,mBAAF,EAAuB;AAAA;AAAA,YAAItvC,IAAJ;AAAA,YAAUC,UAAV;AAAA;AAAA,YAAsBuuB,WAAtB,uBAAoC,EAApC;;AAAA,eAA8C4U,gBAAW,CAAEpjC,IAAF,EAAQC,UAAR,EAAoB,KAAI,CAACsvC,mCAAL,CAA0C/gB,WAA1C,CAApB,CAAzD;AAAA,OAAvB,CAAV;AACA;;;gDAE2B;AAC3B,aAAO,OAAOsW,gBAAW,CAAC0K,SAAnB,KAA+B,WAAtC;AACA;;;mDAE8B;AAC9B,aAAO,CAAC,CAACN,sBAAT;AACA;;;2CAEsB;AACtB,aACC,yCAAC,oBAAD,QACC,yCAAC,gBAAD;AACC,sBAAc,EAAK;AADpB,QADD,CADD;AAOA;;;wCAEmB;AAAA,wBACuC,KAAKxuC,KAD5C;AAAA,UACX+uC,cADW,eACXA,cADW;AAAA,UACKjhB,WADL,eACKA,WADL;AAAA,UACkBkhB,gBADlB,eACkBA,gBADlB;;AAEnB,UAAKD,cAAL,EAAsB;AACrB,aAAKrpB,QAAL,CAAe;AAAEgpB,kBAAQ,EAAE5gB;AAAZ,SAAf;AACA;;AAED,UAAK,CAAC,KAAKmhB,yBAAL,EAAD,IAAqC,CAAC,KAAKC,4BAAL,EAAtC,IAA6EH,cAAc,KAAK,KAArG,EAA6G;AAC5G,aAAKI,WAAL,CAAkBH,gBAAlB;AACA;AACD;;;wCAEmB;AAAA;;AAAA,UACXD,cADW,GACQ,KAAK/uC,KADb,CACX+uC,cADW;AAEnB,aACC,yCAAC,oBAAD,QACC,yCAAC,gBAAD;AACC,qCAA6B,EAAGN,gBADjC;AAEC,4CAAoC,EAAG,8CAAEW,cAAF,EAAsB;AAC5D,cAAKA,cAAc,KAAKtlB,SAAxB,EAAoC;AACnCslB,0BAAc,GAAGX,gBAAgB,CAAE,CAAF,CAAhB,CAAsBC,QAAvC;AACA;;AACD,gBAAI,CAACS,WAAL,CAAkBC,cAAlB;AACA,SAPF;AAQC,6CAAqC,MARtC;AASC,gBAAQ,EAAG,KAAKH,yBAAL,KAAmC,KAAKhsC,KAAL,CAAWyrC,QAA9C,GAAyDD,gBAAgB,CAAE,CAAF,CAAhB,CAAsBC,QAT3F;AAUC,sCAA8B,EAAG;AAVlC,QADD,CADD;AAgBA;;;6BAEQ;AAAA;;AAAA,yBAYJ,KAAK1uC,KAZD;AAAA,UAGN2uC,MAHM,gBAEPpvC,UAFO,CAGNovC,MAHM;AAAA,UAKPnR,SALO,gBAKPA,SALO;AAAA,UAMPwR,gBANO,gBAMPA,gBANO;AAAA,UAOPK,kBAPO,gBAOPA,kBAPO;AAAA,UAQPN,cARO,gBAQPA,cARO;AAAA,UASPO,UATO,gBASPA,UATO;AAAA,UAUPztC,SAVO,gBAUPA,SAVO;AAAA,UAWP5B,aAXO,gBAWPA,aAXO;AAcR,UAAMmX,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,uCAGb8sC,MAHa,EAA7B;;AAOA,UAAKI,cAAc,IAAI,CAAC,KAAKG,4BAAL,EAAxB,EAA8D;AAC7D,eACC,yCAAC,oBAAD,QACC;AAAK,mBAAS,EAAG93B;AAAjB,WACG,KAAK83B,4BAAL,KAAsC,KAAKK,oBAAL,EAAtC,GAAoE,KAAKC,iBAAL,EADvE,CADD,CADD;AAOA;;AAED,UAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAwC;AAAA,YAAtCC,aAAsC,uEAAtBV,gBAAsB;AAE5E,YAAMW,iBAAiB,GAAGD,aAAa,CAACpwC,IAAxC;AACAW,qBAAa,CAAE;AAAE0uC,gBAAM,EAAEgB;AAAV,SAAF,CAAb;;AAEA,YAAKD,aAAa,CAACnwC,UAAnB,EAAgC;AAC/B,gBAAI,CAACS,KAAL,CAAWC,aAAX,CAA0ByvC,aAAa,CAACnwC,UAAxC;AACA;;AAED,YAAKmwC,aAAa,CAAC5hB,WAAnB,EAAiC;AAChCuhB,4BAAkB,CACjB,MAAI,CAACrvC,KAAL,CAAWE,QADM,EAEjB,MAAI,CAAC2uC,mCAAL,CAA0Ca,aAAa,CAAC5hB,WAAxD,CAFiB,CAAlB;AAIA;AACD,OAfD;;AAiBA,aACC,yCAAC,oBAAD,QACC,yCAAC,kCAAD;AACC,YAAI,EAAGlkB,aAAG,CAAE4zB,SAAF,EAAa,CAAE,MAAF,EAAU,KAAV,CAAb,CADX;AAEC,aAAK,EAAG5zB,aAAG,CAAE4zB,SAAF,EAAa,CAAE,OAAF,CAAb,CAFZ;AAGC,oBAAY,EAAG18B,YAAE,CAAE,mCAAF,EAAuC,eAAvC,CAHlB;AAIC,kBAAU,EAAGwuC,UAJd;AAKC,iBAAS,MALV;AAMC,gBAAQ,EAAG,kBAAEI,aAAF;AAAA,iBAAqBD,4BAA4B,CAAEC,aAAF,CAAjD;AAAA;AANZ,QADD,CADD;AAYA;;;;EA3HiB1wC,qB;;AA+HnB,IAAMkf,oBAAe,GAAG5c,eAAU,CAAE,UAAEnB,MAAF,EAAUH,KAAV,EAAqB;AAAA,gBAClCG,MAAM,CAAE,mBAAF,CAD4B;AAAA,MAChDS,SADgD,WAChDA,SADgD;;AAAA,iBAExBT,MAAM,CAAE,aAAF,CAFkB;AAAA,MAEhD2iC,mBAFgD,YAEhDA,mBAFgD;;AAAA,iBAGe3iC,MAAM,CAAE,aAAF,CAHrB;AAAA,MAGhDyvC,YAHgD,YAGhDA,YAHgD;AAAA,MAGlCC,kBAHkC,YAGlCA,kBAHkC;AAAA,MAGdC,wBAHc,YAGdA,wBAHc;;AAIxD,MAAMhiB,WAAW,GAAGltB,SAAS,CAAEZ,KAAK,CAACE,QAAR,CAA7B;AAEA,SAAO;AACNs9B,aAAS,EAAEoS,YAAY,CAAE5vC,KAAK,CAACV,IAAR,CADjB;AAEN0vC,oBAAgB,EAAE,OAAOc,wBAAP,KAAoC,WAApC,GAAkD,IAAlD,GAAyDA,wBAAwB,CAAE9vC,KAAK,CAACV,IAAR,CAF7F;AAGNwjC,uBAAmB,EAAnBA,mBAHM;AAINiM,kBAAc,EAAE5uC,MAAM,CAAE,mBAAF,CAAN,CAA8BS,SAA9B,CAAyCZ,KAAK,CAACE,QAA/C,EAA0DkG,MAA1D,GAAmE,CAJ7E;AAKN0nB,eAAW,EAAXA,WALM;AAMNwhB,cAAU,EAAE,OAAOO,kBAAP,KAA8B,WAA9B,GAA4C,IAA5C,GAAmDA,kBAAkB,CAAE7vC,KAAK,CAACV,IAAR;AAN3E,GAAP;AAQA,CAdiC,CAAlC;AAgBA,IAAM8e,sBAAiB,GAAGhB,iBAAY,CAAE,UAAEiB,QAAF,EAAgB;AAAA,kBAInDA,QAAQ,CAAE,mBAAF,CAJ2C;AAAA,MAEtD0xB,WAFsD,aAEtDA,WAFsD;AAAA,MAGtDV,kBAHsD,aAGtDA,kBAHsD;;AAAA,mBAQnDhxB,QAAQ,CAAE,aAAF,CAR2C;AAAA,MAOtDC,qBAPsD,cAOtDA,qBAPsD;;AAUvD,SAAO;AACNyxB,eAAW,EAAXA,WADM;AAENV,sBAAkB,EAAlBA,kBAFM;AAGN/wB,yBAAqB,EAArBA;AAHM,GAAP;AAKA,CAfqC,CAAtC;AAiBezf,mEAAO,CAAE,CAAEqf,oBAAF,EAAmBE,sBAAnB,CAAF,CAAP,CAAmD4jB,gBAAnD,CAAf,E;;ACzNA;IACOlhC,W,GAAMlC,EAAE,CAACmC,I,CAATD,E;AAEP,IAAMwuC,qBAAU,GAAG,CAClB;AACChwC,MAAI,EAAE,WADP;AAEC0G,OAAK,EAAElF,WAAE,CAAE,+CAAF,EAAmD,eAAnD,CAFV;AAGCwa,MAAI,EAAE8N,QAHP;AAICmb,WAAS,EAAE,IAJZ;AAKCzW,aAAW,EAAG,CACb,CAAE,iBAAF,CADa,EAEb,CAAE,uBAAF,EAA2B;AAC1BjsB,aAAS,EAAE,8CADe;AAE1BwjC,QAAI,EAAE;AAFoB,GAA3B,CAFa,CALf;AAYC2K,OAAK,EAAE,CAAE,OAAF;AAZR,CADkB,EAelB;AACC1wC,MAAI,EAAE,aADP;AAEC0G,OAAK,EAAElF,WAAE,CAAE,oDAAF,EAAwD,eAAxD,CAFV;AAGCwa,MAAI,EAAE8N,UAHP;AAIC0E,aAAW,EAAG,CACb,CAAE,uBAAF,EAA2B;AAC1BjsB,aAAS,EAAE,gDADe;AAE1BwjC,QAAI,EAAE;AAFoB,GAA3B,CADa,EAKb,CAAE,iBAAF,CALa,EAMb,CAAE,uBAAF,EAA2B;AAC1BxjC,aAAS,EAAE,8CADe;AAE1BwjC,QAAI,EAAE;AAFoB,GAA3B,CANa,CAJf;AAeC2K,OAAK,EAAE,CAAE,OAAF;AAfR,CAfkB,CAAnB;AAkCeV,2EAAf,E;;;;ACrCA;;;AAGA;AACA;AACA;AAGA;;;;IAGQxuC,O,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,wB,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;IACAe,kB,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;;AAER,SAASV,WAAT,GAAgB;AAEfL,0BAAiB,CAAE,mBAAF,EAAuB;AACvCr9B,SAAK,EAAElF,OAAE,CAAE,QAAF,EAAY,eAAZ,CAD8B;AAEvCkS,eAAW,EAAElS,OAAE,CAAE,+BAAF,EAAmC,eAAnC,CAFwB;AAGvC8wB,YAAQ,EAAE,aAH6B;AAIvCtW,QAAI,EAAE8N,MAJiC;AAKvC;AACAya,YAAQ,EAAE,CAAE/iC,OAAE,CAAE,MAAF,EAAU,eAAV,CAAJ,EAAiCA,OAAE,CAAE,MAAF,EAAU,eAAV,CAAnC,CAN6B;AAOvC8iC,YAAQ,EAAE;AAAE/Z,WAAK,EAAE,CAAC,MAAD,EAAS,MAAT,CAAT;AAA2BjqB,aAAO,EAAE;AAApC,KAP6B;AAQvC0vC,cAAU,EAAVA,iBARuC;AASvCxL,QAAI,EAAJA,WATuC;AAUvCtB,QAAI,EAAE,gBAAW;AAChB,aAAO,yCAAC,kBAAD,CAAa,OAAb,OAAP;AACA;AAZsC,GAAvB,CAAjB;AAcA;;AAEckB,6DAAf,E;;;;ACjCA;AACA;IAEQ5iC,c,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGPE,sB,GACGpC,EAAE,CAACK,O,CADN+B,Q;IAIAE,c,GACGtC,EAAE,CAACqC,U,CADNC,S;mCAQGtC,EAAE,CAACyC,W;IAJNsa,a,gCAAAA,Q;IACAM,qB,gCAAAA,gB;IACA0lB,2B,gCAAAA,a;IACAvgC,sB,gCAAAA,iB;AAGc,SAAS6uC,YAAT,CAAuBjwC,KAAvB,EAA+B;AAAA,MAG5CT,UAH4C,GAMzCS,KANyC,CAG5CT,UAH4C;AAAA,MAI5CU,aAJ4C,GAMzCD,KANyC,CAI5CC,aAJ4C;AAAA,MAK5C4B,SAL4C,GAMzC7B,KANyC,CAK5C6B,SAL4C;AAAA,MAS5CgoB,KAT4C,GAazCtqB,UAbyC,CAS5CsqB,KAT4C;AAAA,MAU5C0c,OAV4C,GAazChnC,UAbyC,CAU5CgnC,OAV4C;AAAA,MAW5CC,SAX4C,GAazCjnC,UAbyC,CAW5CinC,SAX4C;AAAA,MAY5CjkC,KAZ4C,GAazChD,UAbyC,CAY5CgD,KAZ4C;AAe7C,MAAM2tC,OAAO,cAAO3tC,KAAP,CAAb;AAEA,SACC,yCAAC,sBAAD,QACC,yCAAC,2BAAD,QACC,yCAAC,eAAD;AAAgB,YAAQ,EAAG,CAA3B;AAA+B,YAAQ,EAAG,CAA1C;AAA8C,iBAAa,EAAGA,KAA9D;AAAsE,YAAQ,EAAG,kBAAE4tC,QAAF;AAAA,aAAgBlwC,aAAa,CAAE;AAAEsC,aAAK,EAAE4tC;AAAT,OAAF,CAA7B;AAAA;AAAjF,IADD,EAEC,yCAAC,qBAAD;AACC,SAAK,EAAGtmB,KADT;AAEC,YAAQ,EAAG,kBAAEumB,SAAF,EAAiB;AAC3BnwC,mBAAa,CAAE;AAAE4pB,aAAK,EAAEumB;AAAT,OAAF,CAAb;AACA;AAJF,IAFD,CADD,EAUC,yCAAC,sBAAD,QACC,yCAAC,cAAD;AAAW,SAAK,EAAGtvC,cAAE,CAAE,mBAAF,EAAuB,eAAvB,CAArB;AAAgE,eAAW,EAAG;AAA9E,KACC,oDAAKA,cAAE,CAAE,OAAF,EAAW,eAAX,CAAP,CADD,EAEC,yCAAC,eAAD;AAAgB,YAAQ,EAAG,CAA3B;AAA+B,YAAQ,EAAG,CAA1C;AAA8C,iBAAa,EAAGyB,KAA9D;AAAsE,YAAQ,EAAG,kBAAE4tC,QAAF;AAAA,aAAgBlwC,aAAa,CAAE;AAAEsC,aAAK,EAAE4tC;AAAT,OAAF,CAA7B;AAAA;AAAjF,IAFD,CADD,CAVD,EAiBC,yCAAC,OAAD;AACC,aAAS,EAAGrqC,oBAAU,CAAEjE,SAAF,EAAa,YAAb,wDACDgoB,KADC,GACWA,KADX;AADvB,KAKC,yCAAC,aAAD;AACC,aAAS,EAAC,uBADX;AAEC,cAAU,EAAC,WAFZ;AAGC,WAAO,EAAC,MAHT;AAIC,SAAK,EAAG2c,SAJT;AAKC,YAAQ,EAAG,kBAAE/kC,KAAF;AAAA,aAAaxB,aAAa,CAAE;AAAEumC,iBAAS,EAAE/kC;AAAb,OAAF,CAA1B;AAAA,KALZ;AAMC,eAAW,EAAGX,cAAE,CAAE,WAAF,EAAe,eAAf,CANjB;AAOC,0BAAsB,EAAI,IAP3B;AAQC,kBAAc,EAAG;AARlB,IALD,EAeC,yCAAC,aAAD;AACC,aAAS,EAAC,qBADX;AAEC,cAAU,EAAC,SAFZ;AAGC,WAAO,EAAC,MAHT;AAIC,SAAK,EAAGylC,OAJT;AAKC,YAAQ,EAAG,kBAAE9kC,KAAF;AAAA,aAAaxB,aAAa,CAAE;AAAEsmC,eAAO,EAAE9kC;AAAX,OAAF,CAA1B;AAAA,KALZ;AAMC,eAAW,EAAGX,cAAE,CAAE,cAAF,EAAkB,eAAlB,CANjB;AAOC,0BAAsB,EAAI,IAP3B;AAQC,kBAAc,EAAG;AARlB,IAfD,CAjBD,CADD;AA+CA,C;;;;;ACpFD;;;AAGA;AAEA;;;;IAIC6a,a,GACG/c,EAAE,CAACyC,W,CADNsa,Q;AAGc,SAAS6mB,SAAT,CAAexiC,KAAf,EAAuB;AAAA,MAGpCT,UAHoC,GAIjCS,KAJiC,CAGpCT,UAHoC;AAAA,MAOpCsqB,KAPoC,GAWjCtqB,UAXiC,CAOpCsqB,KAPoC;AAAA,MAQpC0c,OARoC,GAWjChnC,UAXiC,CAQpCgnC,OARoC;AAAA,MASpCC,SAToC,GAWjCjnC,UAXiC,CASpCinC,SAToC;AAAA,MAUpCjkC,KAVoC,GAWjChD,UAXiC,CAUpCgD,KAVoC;AAarC,MAAM2tC,OAAO,cAAO3tC,KAAP,CAAb;AAEA,MAAMV,SAAS,GAAGiE,oBAAU,CAAE,YAAF,wDACN+jB,KADM,GACMA,KADN,EAA5B;AAIA,SACC,yCAAC,OAAD;AAAS,aAAS,EAAGhoB,SAAS,GAAGA,SAAH,GAAeioB;AAA7C,KACC,yCAAC,aAAD,CAAU,OAAV;AAAkB,aAAS,EAAC,uBAA5B;AAAoD,SAAK,EAAG0c,SAA5D;AAAwE,WAAO,EAAC;AAAhF,IADD,OAGC,yCAAC,aAAD,CAAU,OAAV;AAAkB,aAAS,EAAC,qBAA5B;AAAkD,SAAK,EAAGD,OAA1D;AAAoE,WAAO,EAAC;AAA5E,IAHD,CADD;AAOA,C;;ICtCO7D,sB,GAAgB9jC,EAAE,CAACuW,M,CAAnButB,W;AAEO;AACdC,MAAI,EAAE,CACL;AACChjC,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,cAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,sBAAW,CAAE,qBAAF,EAAyB;AAC1C6D,eAAO,EAAEhnC,UAAU,CAACwsB,OADsB;AAE1Cya,iBAAS,EAAE,EAF+B;AAG1CjkC,aAAK,EAAEhD,UAAU,CAACgD,KAHwB;AAI1CT,gBAAQ,EAAEvC,UAAU,CAACuC,QAJqB;AAK1CD,iBAAS,EAAEtC,UAAU,CAACsC,SALoB;AAM1CgoB,aAAK,EAAEtqB,UAAU,CAACsqB;AANwB,OAAzB,CAAlB;AAQA;AAZF,GADK,CADQ;AAiBd+Y,IAAE,EAAE,CACH;AACCjjC,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,cAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,sBAAW,CAAE,cAAF,EAAkB;AACnC3W,eAAO,EAAExsB,UAAU,CAACinC,SAAX,GAAuB,GAAvB,GAA6BjnC,UAAU,CAACgnC,OADd;AAEnChkC,aAAK,EAAEhD,UAAU,CAACgD,KAFiB;AAGnCT,gBAAQ,EAAEvC,UAAU,CAACuC,QAHc;AAInCD,iBAAS,EAAEtC,UAAU,CAACsC,SAJa;AAKnCgoB,aAAK,EAAEtqB,UAAU,CAACsqB;AALiB,OAAlB,CAAlB;AAOA;AAXF,GADG;AAjBU,CAAf,E;;ACFA;;;AAGA;AACA;AACA;AACA;AAEA;AAEA;;;;IAGQ/oB,S,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,0B,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;AAER,SAASK,aAAT,GAAgB;AACfL,4BAAiB,CAAE,qBAAF,EAAyB;AACzCr9B,SAAK,EAAElF,SAAE,CAAE,UAAF,EAAc,eAAd,CADgC;AAEzCkS,eAAW,EAAElS,SAAE,CAAE,gDAAF,EAAoD,eAApD,CAF0B;AAGzC8wB,YAAQ,EAAE,aAH+B;AAIzCtW,QAAI,EAAE8N,QAJmC;AAKzC;AACAya,YAAQ,EAAE,CAAE/iC,SAAE,CAAE,SAAF,EAAa,eAAb,CAAJ,EAAoCA,SAAE,CAAE,OAAF,EAAW,eAAX,CAAtC,EAAoEA,SAAE,CAAE,KAAF,EAAS,eAAT,CAAtE,EAAkGA,SAAE,CAAE,gBAAF,EAAoB,eAApB,CAApG,CAN+B;AAOzCvB,cAAU,EAAE;AACXsqB,WAAK,EAAE;AACNlqB,YAAI,EAAE,QADA;AAENC,eAAO,EAAE;AAFH,OADI;AAKX2mC,aAAO,EAAE;AACR5mC,YAAI,EAAE,QADE;AAERC,eAAO,EAAEkB,SAAE,CAAE,WAAF,EAAe,eAAf;AAFH,OALE;AASX0lC,eAAS,EAAE;AACV7mC,YAAI,EAAE,QADI;AAEVC,eAAO,EAAEkB,SAAE,CAAE,UAAF,EAAc,eAAd;AAFD,OATA;AAaXyB,WAAK,EAAE;AACN5C,YAAI,EAAE,QADA;AAENC,eAAO,EAAE;AAFH;AAbI,KAP6B;AAyBzC4iC,QAAI,EAAJA,SAzByC;AA0BzCsB,QAAI,EAAJA,YA1ByC;AA2BzCC,cAAU,EAAVA,mBAAUA;AA3B+B,GAAzB,CAAjB;AA6BA;;AAEcL,iEAAf,E;;;;;;;;;;;;AChDA;;;AAGA;;AAEA,IAAM2M,yBAAc,GAAG,SAAjBA,cAAiB,CAAUrwC,KAAV,EAAkB;AAAA,0BAQpCA,KARoC,CAEvCT,UAFuC;AAAA,MAGtCqtB,kBAHsC,qBAGtCA,kBAHsC;AAAA,MAItCC,qBAJsC,qBAItCA,qBAJsC;AAAA,MAKtC5e,KALsC,qBAKtCA,KALsC;AAAA,MAMtCgf,YANsC,qBAMtCA,YANsC;;AAUxC,MAAMnM,MAAM,GAAG,oDACX9gB,KAAK,CAACmmB,QAAN,CAAena,KADP;AAEXoO,WAAO,EAAE;AAFE,IAAZ;;AAKA,MAAKwS,kBAAkB,KAAK,MAA5B,EAAqC;AACpC9L,UAAM,CAAC1G,OAAP,GAAiB,IAAMyS,qBAAqB,GAAG,GAA/C;AACA;;AAED,SACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC;AAAf,KACG,CAAC,CAAE5e,KAAH,IAAYA,KAAK,CAACtO,IAAN,KAAe,OAA3B,IAAsC,OAAOsO,KAAK,CAACoE,KAAb,KAAuB,WAA7D,IACD;AAAK,aAAS,EAAC,wBAAf;AAAwC,OAAG,EAAGpE,KAAK,CAACoE,KAAN,CAAYF,IAAZ,CAAiBF,GAA/D;AAAqE,OAAG,EAAGhE,KAAK,CAACqiC,GAAjF;AAAuF,SAAK,EAAGxvB;AAA/F,IAFF,EAGG,CAAC,CAAE7S,KAAH,IAAYA,KAAK,CAACtO,IAAN,KAAe,OAA3B,IACD;AAAO,SAAK,MAAZ;AAAa,YAAQ,MAArB;AAAsB,QAAI,MAA1B;AAA2B,eAAW,MAAtC;AAAuC,aAAS,EAAC,wBAAjD;AAA0E,SAAK,EAAGmhB,MAAlF;AAA2F,OAAG,EAAG7S,KAAK,CAACgE;AAAvG,IAJF,CADD,CADD;AAUA,CA7BD;;AA+Beo+B,wEAAf,E;;;;ACpCA;;;AAGA;AAEA;;;;IAGQjM,mB,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;IAGPjkC,c,GACGvB,EAAE,CAACwB,I,CADND,M;;AAGD,IAAMowC,mBAAW,GAAG,SAAdA,WAAc,CAAUvwC,KAAV,EAAkB;AAAA,MAGpCT,UAHoC,GAOjCS,KAPiC,CAGpCT,UAHoC;AAAA,MAIpCsC,SAJoC,GAOjC7B,KAPiC,CAIpC6B,SAJoC;AAAA,MAKpC3B,QALoC,GAOjCF,KAPiC,CAKpCE,QALoC;AAAA,MAMpC8C,QANoC,GAOjChD,KAPiC,CAMpCgD,QANoC;AAAA,MAWpCqM,cAXoC,GA2BjC9P,UA3BiC,CAWpC8P,cAXoC;AAAA,MAYpCC,oBAZoC,GA2BjC/P,UA3BiC,CAYpC+P,oBAZoC;AAAA,MAapCI,YAboC,GA2BjCnQ,UA3BiC,CAapCmQ,YAboC;AAAA,MAcpCC,kBAdoC,GA2BjCpQ,UA3BiC,CAcpCoQ,kBAdoC;AAAA,MAgBpCge,iBAhBoC,GA2BjCpuB,UA3BiC,CAgBpCouB,iBAhBoC;AAAA,MAiBpCD,mBAjBoC,GA2BjCnuB,UA3BiC,CAiBpCmuB,mBAjBoC;AAAA,MAmBpCnV,iBAnBoC,GA2BjChZ,UA3BiC,CAmBpCgZ,iBAnBoC;AAAA,MAqBpCi4B,oBArBoC,GA2BjCjxC,UA3BiC,CAqBpCixC,oBArBoC;AAAA,MAuBpCvjB,YAvBoC,GA2BjC1tB,UA3BiC,CAuBpC0tB,YAvBoC;AAAA,MAwBpCL,kBAxBoC,GA2BjCrtB,UA3BiC,CAwBpCqtB,kBAxBoC;AAAA,MA0BpC9U,eA1BoC,GA2BjCvY,UA3BiC,CA0BpCuY,eA1BoC;AA6BrC,MAAMN,OAAO,GAAG,CACf3V,SADe,EAEf,iBAFe,gCAGS8rB,iBAHT,iCAISD,mBAJT,kCAKUre,cALV,wCAMgBK,YANhB,gEAQakd,kBARb,EAAhB;AAWA,MAAM9L,MAAM,GAAG;AACd2G,QAAI,EAAE;AACL,sCAAgCwF;AAD3B,KADQ;AAIdwjB,cAAU,EAAE,EAJE;AAKd1kB,WAAO,EAAE;AALK,GAAf;;AAQA,MAAKkB,YAAY,KAAK,MAAtB,EAA+B;AAC9BnM,UAAM,CAAC2G,IAAP,CAAY,sBAAZ,IAAsC,MAAtC;AACA;;AAED,MAAM0G,UAAU,GAAGhuB,cAAM,CAAE,mBAAF,CAAN,CAA8BS,SAA9B,GAA0CuH,MAA1C,CAAkD,UAAE/I,KAAF,EAAa;AACjF,WAAOA,KAAK,CAACE,IAAN,KAAe,iBAAtB;AACA,GAFkB,CAAnB;AAIA,MAAIoxC,UAAU,GAAGn4B,iBAAjB;AACA,MAAIo4B,aAAa,GAAGD,UAApB;;AAEA,MAAK54B,eAAe,KAAK,SAAzB,EAAqC;AACpC44B,cAAU,GAAGn4B,iBAAiB,GAAG,CAAjC;AACAo4B,iBAAa,GAAG,GAAhB;AACA7vB,UAAM,CAAC2G,IAAP,CAAYmpB,UAAZ,GAAyB,YAAzB;AACA;;AAED9vB,QAAM,CAAC2G,IAAP,CAAYpG,SAAZ,GAAwBqvB,UAAU,GAAG,IAArC;AACA5vB,QAAM,CAAC2vB,UAAP,CAAkBpvB,SAAlB,GAA8BsvB,aAAa,GAAG,IAA9C;;AAEA,MAAKthC,cAAc,KAAK,QAAxB,EAAmC;AAClCyR,UAAM,CAAC2vB,UAAP,CAAkBpQ,UAAlB,aAAmC/wB,oBAAnC;AACAwR,UAAM,CAAC2vB,UAAP,CAAkBI,aAAlB,aAAsCvhC,oBAAtC;AACA;;AAED,MAAKI,YAAY,KAAK,QAAtB,EAAiC;AAChCoR,UAAM,CAACiL,OAAP,CAAezK,QAAf,aAA8B3R,kBAA9B;AACA;;AAED,MAAMnL,KAAK,GAAG2pB,UAAU,CAACttB,SAAX,CAAsB,UAAEzB,KAAF;AAAA,WAAaA,KAAK,CAACc,QAAN,KAAmBA,QAAhC;AAAA,GAAtB,CAAd;AACA,MAAM4wC,uBAAuB,GAAGtsC,KAAK,KAAK,CAAV,IAAeksC,UAAU,IAAI,GAA7D;AACA,MAAMziB,eAAe,GAAGjrB,QAAQ,CAAC+tC,qBAAT,GAAiCP,oBAAjC,GAAwDM,uBAAhF;AAEA,SACC;AAAK,aAAS,EAAGt5B,OAAO,CAACH,IAAR,CAAc,GAAd,CAAjB;AAAuC,SAAK,EAAGyJ,MAAM,CAAC2G;AAAtD,KACC,yCAAC,UAAD,EAAqBznB,KAArB,CADD,EAEC;AAAK,aAAS,EAAC,2GAAf;AAA2H,SAAK,EAAG8gB,MAAM,CAAC2vB;AAA1I,KACC;AAAK,aAAS,EAAC,6DAAf;AAA6E,SAAK,EAAG3vB,MAAM,CAACiL;AAA5F,KACC,yCAAC,mBAAD;AAAa,YAAQ,EAAG/oB,QAAQ,CAACykB,IAAT,CAAcinB;AAAtC,IADD,CADD,EAIGzgB,eAAe,IAAI;AAAK,aAAS,EAAC;AAAf,IAJtB,CAFD,CADD;AAWA,CA5FD;;AA8FesiB,oEAAf,E;;;;AC5GA;;;AAGA;AACA;AAEA;;;;IAGQzvC,oB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;yCAKJlC,EAAE,CAACyC,W;IAFNsgC,4B,sCAAAA,a;IACAC,0B,sCAAAA,W;wCAMGhjC,EAAE,CAACqC,U;IAFNiO,0B,qCAAAA,M;IACA2Z,2B,qCAAAA,O;AAGD,IAAM2B,kCAAmB,GAAG,CAAE,OAAF,EAAW,OAAX,CAA5B;;AAEA,IAAMwmB,gCAAiB,GAAG,SAApBA,iBAAoB,CAAUhxC,KAAV,EAAkB;AAAA,MAE1CC,aAF0C,GAGvCD,KAHuC,CAE1CC,aAF0C;AAK3C,SACC,yCAAC,4BAAD,QACC,yCAAC,mCAAD,EAAuBD,KAAvB,CADD,EAEC,yCAAC,2BAAD,EAAmBA,KAAnB,CAFD,EAGC,yCAAC,2BAAD,QACC,yCAAC,0BAAD;AACC,gBAAY,EAAGwqB,kCADhB;AAEC,YAAQ,EAAG,kBAAEvc,KAAF;AAAA,aAAahO,aAAa,CAAE;AAAEgO,aAAK,EAALA;AAAF,OAAF,CAA1B;AAAA,KAFZ;AAGC,UAAM,EAAG,sBAAgB;AAAA,UAAZnF,IAAY,QAAZA,IAAY;AACxB,aAAO,yCAAC,0BAAD;AACN,iBAAS,EAAC,oDADJ;AAEN,aAAK,EAAGhI,oBAAE,CAAE,cAAF,EAAkB,eAAlB,CAFJ;AAGN,YAAI,EAAGsoB,IAHD;AAIN,eAAO,EAAGtgB;AAJJ,QAAP;AAMA;AAVF,IADD,CAHD,CADD;AAoBA,CAzBD;;AA2BekoC,wFAAf,E;;;;;;;;;;;;;;;;;;;AClDA;;;AAGA;AASA;AAEA;AAEA;AAEA;AACA;IAEQlwC,U,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGPM,2B,GACGxC,EAAE,CAACyC,W,CADND,iB;8BAMGxC,EAAE,CAACqC,U;IAFNC,mB,2BAAAA,S;IACAoM,iB,2BAAAA,Y;2BAMG1O,EAAE,CAACK,O;IAFND,mB,wBAAAA,S;IACAgC,kB,wBAAAA,Q;2BAMGpC,EAAE,CAACC,O;IAFNA,iB,wBAAAA,O;IACAF,oC,wBAAAA,0B;IAIAwB,W,GACGvB,EAAE,CAACwB,I,CADND,M;AAGD,IAAM8wC,kBAAkB,GAAGh8B,8BAAwB,CAAE,UAAUjV,KAAV,EAAkB;AAEtE,SACC,yCAAC,kBAAD,QACC,yCAAC,oBAAD,EAA2BA,KAA3B,CADD,EAEC,yCAAC,yBAAD,EAA8BA,KAA9B,CAFD,CADD;AAMA,CARkD,CAAnD;;AAUA,IAAMkxC,wBAAmB,GAAG,SAAtBA,mBAAsB,CAAUlxC,KAAV,EAAkB;AAAA,MAG5CT,UAH4C,GAMzCS,KANyC,CAG5CT,UAH4C;AAAA,MAI5CU,aAJ4C,GAMzCD,KANyC,CAI5CC,aAJ4C;AAAA,MAK5C+C,QAL4C,GAMzChD,KANyC,CAK5CgD,QAL4C;AAAA,MAQrCuV,iBARqC,GAQfhZ,UARe,CAQrCgZ,iBARqC;AAU7C,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAGzX,UAAE,CAAE,QAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,UAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,iBAAD;AACC,OAAG,EAAG,8BADP;AAEC,SAAK,EAAGA,UAAE,CAAE,gBAAF,EAAoB,eAApB,CAFX;AAGC,YAAQ,EAAGyX,iBAHZ;AAIC,YAAQ,EAAG,kBAAAA,iBAAiB,EAAI;AAC/BtY,mBAAa,CAAE;AACdsY,yBAAiB,EAAEvB,UAAU,CAAEuB,iBAAF;AADf,OAAF,CAAb;AAGA,KARF;AASC,WAAO,EAAGvV,QAAQ,CAACmuC;AATpB,IADD,CADD,CADD;AAiBA,CA3BD;;IA6BMC,a;;;;;;;;;;;;;gCAEQ7xC,U,EAAa;AAAA,UACjByD,QADiB,GACJ,KAAKhD,KADD,CACjBgD,QADiB;AAAA,UAEjBirB,eAFiB,GAEG1uB,UAFH,CAEjB0uB,eAFiB;AAGzB,UAAMmV,QAAQ,GAAG,EAAjB;;AAEA,UAAKpgC,QAAQ,CAAC+tC,qBAAd,EAAsC;AACrC,YAAK,CAAE9iB,eAAP,EAAyB;AACxBmV,kBAAQ,CAACnV,eAAT,GAA2BojB,eAAc,CAACpjB,eAAf,CAA+BruB,OAA1D;AACA;AACD;;AAED,aAAOwjC,QAAP;AACA;;;qCAEiB7jC,U,EAAa;AAAA;;AAAA,UACtB0uB,eADsB,GACF1uB,UADE,CACtB0uB,eADsB;AAG9B,UAAMzpB,KAAK,GAAGrE,WAAM,CAAE,mBAAF,CAAN,CAA8BS,SAA9B,GAA0CuH,MAA1C,CAAkD,UAAE/I,KAAF,EAAa;AAC5E,eAAOA,KAAK,CAACE,IAAN,KAAe,iBAAtB;AACA,OAFa,EAEVuB,SAFU,CAEC,UAAAzB,KAAK,EAAI;AACvB,eAAOA,KAAK,CAACc,QAAN,KAAmB,KAAI,CAACF,KAAL,CAAWE,QAArC;AACA,OAJa,CAAd;AAMA,UAAMoxC,uBAAuB,GAAG9sC,KAAK,KAAK,CAAV,IAAeypB,eAA/C;AAEA,aAAO;AACNA,uBAAe,EAAEA,eADX;AAENuiB,4BAAoB,EAAEc;AAFhB,OAAP;AAIA;;;uCAEsC;AAAA,UAArBl5B,aAAqB,uEAAL,EAAK;AAAA,wBACA,KAAKpY,KADL;AAAA,UAC9BT,UAD8B,eAC9BA,UAD8B;AAAA,UAClBU,aADkB,eAClBA,aADkB;AAEtC,UAAMmjC,QAAQ,GAAG,KAAKmO,WAAL,CAAkBhyC,UAAlB,CAAjB;AACA,UAAMiyC,kBAAkB,GAAG,KAAKC,gBAAL,2DAA4BlyC,UAA5B,GAA2C6jC,QAA3C,GAAwDhrB,aAAxD,EAA3B;AACAnY,mBAAa,CAAEuxC,kBAAF,CAAb;AACA;;;wCAEmB;AACnB,WAAKtjB,gBAAL;AACA;;;6BAEQ;AAAA,UACAlrB,QADA,GACa,KAAKhD,KADlB,CACAgD,QADA;AAAA,UAEA+tC,qBAFA,GAE0B/tC,QAF1B,CAEA+tC,qBAFA;AAGR,UAAM7iB,gBAAgB,GAAG,KAAKA,gBAAL,CAAsB3c,IAAtB,CAA4B,IAA5B,CAAzB;AAEA,aACC,yCAAC,kBAAD,QACC,yCAAC,YAAD,EAAkB,KAAKvR,KAAvB,CADD,EAEC,yCAAC,mBAAD,EAAoB,KAAKA,KAAzB,CAFD,EAGC,yCAAC,2BAAD,QACC,yCAAC,YAAD,EAAkB,KAAKA,KAAvB,CADD,EAEC,yCAAC,wBAAD,EAA0B,KAAKA,KAA/B,CAFD,EAGG+wC,qBAAqB,IAAI,yCAAC,kBAAD,wBAAyB,KAAK/wC,KAA9B;AAAsC,wBAAgB,EAAGkuB;AAAzD,SAH5B,CAHD,CADD;AAWA;;;;EA5DqBlvB,mB;;AA6DtB;AAEcL,kFAA0B,CAACE,iBAAO,CAAC,CACjDiQ,aADiD,EAEjDwY,aAFiD,CAAD,CAAR,CAA1B,CAGV8pB,aAHU,CAAf,E;;;ICpJQhN,gB,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;AAEO,0DAAM;AACpB,SAAO,yCAAC,gBAAD,CAAa,OAAb,OAAP;AACA,CAFD,E;;;;;;;;;;;;;;ACFA;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAM7kC,0BAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,eAAnB,EAAoCyP,6BAApC,EAAyDC,yBAAzD,EAA0EC,uBAA1E,EAA4FC,oCAA5F,CAAnB;AAEA,IAAMxP,0BAAU,GAAG,EAAnB;AAEAA,0BAAU,CAAC39B,IAAX,CAAgB;AACfnF,YAAU,EAAVA,0BADe;AAEf+iC,YAFe,sBAEH/iC,UAFG,EAESuuB,WAFT,EAEuB;AACrC,WAAO,gBAAgB,OAAOvuB,UAAU,CAACkjC,iBAAzC;AACA,GAJc;AAKfF,SALe,mBAKNhjC,UALM,EAKMuuB,WALN,EAKoB;AAClC,yEACIvuB,UADJ;AAECkjC,uBAAiB,EAAE;AAFpB;AAIA,GAVc;AAWfD,MAAI,EAAJA,SAAIA;AAXW,CAAhB;AAceH,8EAAf,E;;;;;;;;;;AC1BA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAM9iC,sBAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,eAAnB,EAAoCyP,6BAApC,EAAyDC,yBAAzD,EAA0EC,uBAA1E,EAA4FC,oCAA5F,CAAnB;AAEA;AAEA;;;;IAGQ/wC,K,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,sB,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;IACAljC,W,GAAWvB,EAAE,CAACwB,I,CAAdD,M;;SAEO0iC,mB;;;;;mGAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACiCrvB,oBAAoB,EADrD;;AAAA;AACO+vB,6BADP;AAEO/+B,iBAFP,GAEeiP,gBAAgB,CAAE,CAAF,EAAK8vB,iBAAiB,CAACn9B,MAAlB,GAA2B,CAAhC,CAF/B;AAGO2kB,iBAHP,GAGewY,iBAAiB,CAAC/+B,KAAD,CAHhC;;AAKC,gBAAK,QAAOumB,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAE1X,QAAd,MAA2B,UAAhC,EAA6C;AAC5C0X,mBAAK,CAAC1X,QAAN;AACA;;AAPF,6CASQ;AACNpF,mBAAK,EAAE,wCACH8c,KADC;AAEJprB,oBAAI,EAAE;AAFF;AADC,aATR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAiBA,SAAS+jC,SAAT,GAAgB;AAEfC,mBAAgB,CAAE,iBAAF,EAAqBd,mBAArB,CAAhB;AAEAQ,wBAAiB,CAAE,iBAAF,EAAqB;AACrCr9B,SAAK,EAAElF,KAAE,CAAE,oBAAF,EAAwB,eAAxB,CAD4B;AAErCkS,eAAW,EAAElS,KAAE,CAAE,gEAAF,EAAoE,eAApE,CAFsB;AAGrC8wB,YAAQ,EAAE,aAH2B;AAIrCtW,QAAI,EAAE8N,IAJ+B;AAKrC;AACAya,YAAQ,EAAE,CACT/iC,KAAE,CAAE,OAAF,EAAW,eAAX,CADO,EAETA,KAAE,CAAE,YAAF,EAAgB,eAAhB,CAFO,EAGTA,KAAE,CAAE,YAAF,EAAgB,eAAhB,CAHO,EAITA,KAAE,CAAE,eAAF,EAAmB,eAAnB,CAJO,CAN2B;AAYrCgxC,WAAO,EAAE,EAZ4B;AAarClO,YAAQ,EAAE;AACTmO,YAAM,EAAE;AADC,KAb2B;AAgBrC1P,cAAU,EAAVA,eAhBqC;AAiBrC9iC,cAAU,EAAVA,sBAjBqC;AAkBrCukC,QAAI,EAAJA,SAlBqC;AAmBrCtB,QAAI,EAAJA,SAnBqC;AAoBrCgC,uBApBqC,iCAoBf;AACrB,UAAMxhC,QAAQ,GAAG7C,WAAM,CAAE,mBAAF,CAAN,CAA8BgD,WAA9B,EAAjB;AACA,aAAOH,QAAQ,CAACgvC,SAAT,GAAqB;AAAE,sBAAc;AAAhB,OAArB,GAAgD,EAAvD;AACA;AAvBoC,GAArB,CAAjB;AAyBA;;AAEctO,yDAAf,E;;;;AC1EA;;;AAGA;AAEA;;;;IAGQ5iC,K,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,sB,GAAuBzkC,EAAE,CAACuW,M,CAA1BkuB,iB;;AAER,SAASK,SAAT,GAAgB;AACfL,wBAAiB,CAAE,iBAAF,EAAqB;AACrCr9B,SAAK,EAAElF,KAAE,CAAE,MAAF,EAAU,eAAV,CAD4B;AAErCkS,eAAW,EAAElS,KAAE,CAAE,6BAAF,EAAiC,eAAjC,CAFsB;AAGrC8wB,YAAQ,EAAE,aAH2B;AAIrCtW,QAAI,EAAE8N,IAJ+B;AAKrC;AACAya,YAAQ,EAAE,CAAE/iC,KAAE,CAAE,UAAF,EAAc,eAAd,CAAJ,CAN2B;AAOrCwV,UAAM,EAAE,CAAC,mBAAD,CAP6B;AAQrCksB,QAAI,EAAE,gBAAW,CAAE,CARkB;AASrCsB,QAAI,EAAE,cAAU9jC,KAAV,EAAkB;AACvB,aACC,yCAAC,EAAD,CAAI,gBAAJ;AACC,aAAK,EAAC,iBADP;AAEC,kBAAU,EAAGA,KAAK,CAACT;AAFpB,QADD;AAMA;AAhBoC,GAArB,CAAjB;AAkBA;;AAEcmkC,yDAAf,E;;;;;;;;;AChCA;;;AAGA;AACA;AAEA;;;;IAGQ5iC,qB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;0CAKJlC,EAAE,CAACyC,W;IAFNugC,gC,uCAAAA,W;IACAD,kC,uCAAAA,a;IAIA9Y,4B,GACGjqB,EAAE,CAACqC,U,CADN4nB,O;AAGD,IAAMopB,yBAAyB,GAAG;AACjC53B,MAAI,EAAE;AACLiB,QAAI,EAAE,iBADD;AAELtV,SAAK,EAAElF,qBAAE,CAAE,yBAAF,EAA6B,eAA7B;AAFJ,GAD2B;AAKjCysB,OAAK,EAAE;AACNjS,QAAI,EAAE,kBADA;AAENtV,SAAK,EAAElF,qBAAE,CAAE,0BAAF,EAA8B,eAA9B;AAFH;AAL0B,CAAlC;;AAWA,IAAMoxC,iCAAkB,GAAG,SAArBA,kBAAqB,CAAUlyC,KAAV,EAAkB;AAAA,MAG3CT,UAH2C,GAKxCS,KALwC,CAG3CT,UAH2C;AAAA,MAI3CU,aAJ2C,GAKxCD,KALwC,CAI3CC,aAJ2C;AAAA,MAQ3CkyC,aAR2C,GASxC5yC,UATwC,CAQ3C4yC,aAR2C;AAW5C,SACC,yCAAC,kCAAD,QAEC,yCAAC,4BAAD;AACC,YAAQ,EAAG3yC,MAAM,CAACiN,IAAP,CAAawlC,yBAAb,EAAyCtrC,GAAzC,CAA8C,UAAEsjB,OAAF,EAAe;AACvE,yEACIgoB,yBAAyB,CAAEhoB,OAAF,CAD7B;AAECrjB,eAAO,EAAE,mBAAM;AACd3G,uBAAa,CAAE;AAAEkyC,yBAAa,EAAEloB;AAAjB,WAAF,CAAb;AACA,SAJF;AAKC3e,gBAAQ,EAAE6mC,aAAa,KAAKloB;AAL7B;AAOA,KARU;AADZ,IAFD,EAcC,yCAAC,mCAAD,EAAuBjqB,KAAvB,CAdD,CADD;AAmBA,CA9BD;;AAgCekyC,0FAAf,E;;;;AC/DA;;;AAGA;AAEA;AAEA;;;;IAIC9N,yB,GACGxlC,EAAE,CAACyC,W,CADN+iC,W;;AAGD,IAAMgO,oBAAY,GAAG,SAAfA,YAAe,CAAUpyC,KAAV,EAAkB;AAAA,0BAgBlCA,KAhBkC,CAErCT,UAFqC;AAAA,MAGpCuO,YAHoC,qBAGpCA,YAHoC;AAAA,MAIpCC,UAJoC,qBAIpCA,UAJoC;AAAA,MAKpCokC,aALoC,qBAKpCA,aALoC;AAAA,MAMpCthC,MANoC,qBAMpCA,MANoC;AAAA,MAQpC8c,iBARoC,qBAQpCA,iBARoC;AAAA,MASpC0kB,YAToC,qBASpCA,YAToC;AAAA,MAWpCC,gBAXoC,qBAWpCA,gBAXoC;AAAA,MAYpCC,YAZoC,qBAYpCA,YAZoC;AAAA,MAcrC1wC,SAdqC,GAgBlC7B,KAhBkC,CAcrC6B,SAdqC;AAAA,MAerCmB,QAfqC,GAgBlChD,KAhBkC,CAerCgD,QAfqC;AAkBtC,MAAMoU,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,iDAGPswC,aAHO,iCAIJxkB,iBAJI,EAA7B;AAOA,MAAM6kB,WAAW,GAAGxyC,KAApB;;AAEA,MAAK,gBAAgB,OAAO6Q,MAAvB,IAAiCA,MAAM,CAACzK,MAAxC,IAAkD,OAAOyK,MAAM,CAAC,CAAD,CAAb,KAAqB,QAA5E,EAAuF;AACtF2hC,eAAW,CAACjzC,UAAZ,CAAuBsR,MAAvB,GAAgCA,MAAM,CAAClK,GAAP,CAAY,UAAAokB,KAAK;AAAA,aAAIgS,IAAI,CAACvD,KAAL,CAAYzO,KAAZ,CAAJ;AAAA,KAAjB,CAAhC;AACA;;AAED,MAAM6M,OAAO,GAAG;AACf,uBAAmBya,YADJ;AAEf,kDAAuCC,gBAAvC,MAFe;AAGf,iDAAsCC,YAAtC;AAHe,GAAhB;AAMA,MAAME,eAAe,GAAG3sC,oBAAU,wCAEpBiI,UAFoB,wBAGlBD,YAHkB,EAAlC;AAMA,SACC;AAAK,aAAS,EAAGsJ,UAAjB;AAA8B,SAAK,EAAGwgB;AAAtC,KACC;AAAK,aAAS,EAAG6a;AAAjB,KACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC,UAAf;AAA0B,kBAAW;AAArC,KACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,yBAAD;AACC,iBAAa,EAAGzvC,QAAQ,CAACiL,KAAT,CAAeykC,aADhC;AAEC,YAAQ,EAAG1vC,QAAQ,CAACiL,KAAT,CAAeygC;AAF3B,IADD,CADD,CADD,EASC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,gBAAD,EAAsB8D,WAAtB,CADD,CATD,CADD,CADD,CADD,CADD,CADD;AAuBA,CAlED;;AAoEeJ,sEAAf,E;;;;;;;;;AClFA;AAEA;AAEA;AAKA;AAIA;AAIA;;;;IAGQtxC,yB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGPE,iC,GACGpC,EAAE,CAACK,O,CADN+B,Q;6CAMGpC,EAAE,CAACqC,U;IAFNqM,qC,0CAAAA,Y;IACAD,qC,0CAAAA,Y;AAGD,IAAMslC,sBAAsB,GAAG,EAA/B;AACA,IAAMC,sBAAsB,GAAG,EAA/B;AACA,IAAMC,sBAAsB,GAAG,CAAED,sBAAsB,GAAGD,sBAA3B,IAAsD,GAArF;;AAEA,IAAMG,yCAAsB,GAAG,SAAzBA,sBAAyB,CAAE9yC,KAAF,EAAa;AAAA,MAG1CT,UAH0C,GAKvCS,KALuC,CAG1CT,UAH0C;AAAA,MAI1CU,aAJ0C,GAKvCD,KALuC,CAI1CC,aAJ0C;AAAA,MAQ1CoyC,YAR0C,GAiBvC9yC,UAjBuC,CAQ1C8yC,YAR0C;AAAA,MAU1CC,gBAV0C,GAiBvC/yC,UAjBuC,CAU1C+yC,gBAV0C;AAAA,MAW1CC,YAX0C,GAiBvChzC,UAjBuC,CAW1CgzC,YAX0C;AAAA,MAY1CxkC,UAZ0C,GAiBvCxO,UAjBuC,CAY1CwO,UAZ0C;AAAA,MAe1CglC,eAf0C,GAiBvCxzC,UAjBuC,CAe1CwzC,eAf0C;AAAA,MAgB1CC,iBAhB0C,GAiBvCzzC,UAjBuC,CAgB1CyzC,iBAhB0C;;AAmB3C,MAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAA8C;AAAA,QAA1CF,eAA0C,QAA1CA,eAA0C;AAAA,QAAzBC,iBAAyB,QAAzBA,iBAAyB;AAC1E,QAAM5gC,KAAK,GAAG2gC,eAAe,IAAKJ,sBAAsB,GAAGE,sBAA9B,CAAf,GAAwE,GAAxE,GAA8EA,sBAA5F;AACA,QAAMP,gBAAgB,GAAG,cAAcU,iBAAd,GAAkC5gC,KAAlC,GAA0C,MAAMA,KAAzE;AAEA,WAAO;AACN2gC,qBAAe,EAAfA,eADM;AAENC,uBAAiB,EAAjBA,iBAFM;AAGNV,sBAAgB,EAAhBA;AAHM,KAAP;AAKA,GATD;;AAYA,SACC,yCAAC,iCAAD,QAEC,yCAAC,iDAAD,QAEEvkC,UAAU,KAAK,OAAf,IACA,yCAAC,qCAAD;AACC,SAAK,EAAGskC,YADT;AAEC,YAAQ,EAAG,kBAAEA,YAAF;AAAA,aAAoBpyC,aAAa,CAAE;AAAEoyC,oBAAY,EAAZA;AAAF,OAAF,CAAjC;AAAA,KAFZ;AAGC,SAAK,EAAGvxC,yBAAE,CAAE,eAAF,CAHX;AAIC,OAAG,EAAG,EAJP;AAKC,OAAG,EAAG,GALP;AAMC,QAAI,EAAG;AANR,IAHF,CAFD,EAgBC,yCAAC,gCAAD;AAAiB,SAAK,EAAGA,yBAAE,CAAE,gBAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,yBAAE,CAAE,WAAF;AAAvB,KACC;AAAK,OAAG,EAAG,uCAAX;AAAqD,aAAS,EAAGwW,wBAAkB,CAAE/X,UAAF,EAAc0zC,oBAAd;AAAnF,KACC,yCAAC,qCAAD;AACC,SAAK,EAAGF,eADT;AAEC,YAAQ,EAAG,kBAAEA,eAAF,EAAuB;AACjC9yC,mBAAa,CAAEgzC,oBAAoB,CAAC,oEAAM1zC,UAAP;AAAmBwzC,uBAAe,EAAfA;AAAnB,SAAtB,CAAb;AACA,KAJF;AAKC,SAAK,EAAGjyC,yBAAE,CAAE,qBAAF,CALX;AAMC,OAAG,EAAG,CANP;AAOC,OAAG,EAAG,GAPP;AAQC,QAAI,EAAG;AARR,IADD,EAWC,yCAAC,qCAAD;AACC,SAAK,EAAGA,yBAAE,CAAE,aAAF,EAAiB,eAAjB,CADX;AAEC,YAAQ,EAAGkyC,iBAFZ;AAGC,YAAQ,EAAG,kBAAEA,iBAAF,EAAyB;AACnC/yC,mBAAa,CAAEgzC,oBAAoB,CAAC,oEAAM1zC,UAAP;AAAmByzC,yBAAiB,EAAjBA;AAAnB,SAAtB,CAAb;AACA,KALF;AAMC,WAAO,EAAG,CACT;AAAEtxC,WAAK,EAAEZ,yBAAE,CAAE,cAAF,CAAX;AAA+BW,WAAK,EAAE;AAAtC,KADS,EAET;AAAEC,WAAK,EAAEZ,yBAAE,CAAE,iBAAF,CAAX;AAAkCW,WAAK,EAAE;AAAzC,KAFS;AANX,IAXD,CADD,CADD,EA2BC,yCAAC,4BAAD;AAAa,SAAK,EAAGX,yBAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,cAAD;AAAe,SAAK,EAAGA,yBAAE,CAAE,QAAF;AAAzB,KACC,yCAAC,qCAAD;AACC,OAAG,EAAG,+BADP;AAEC,SAAK,EAAGwxC,gBAFT;AAGC,YAAQ,EAAG,kBAAEA,gBAAF;AAAA,aAAwBryC,aAAa,CAAE;AAAEqyC,wBAAgB,EAAhBA;AAAF,OAAF,CAArC;AAAA,KAHZ;AAIC,SAAK,EAAGxxC,yBAAE,CAAE,oBAAF,CAJX;AAKC,OAAG,EAAG8xC,sBALP;AAMC,OAAG,EAAGD,sBANP;AAOC,QAAI,EAAG;AAPR,IADD,EAUC,yCAAC,qCAAD;AACC,OAAG,EAAG,0BADP;AAEC,SAAK,EAAGJ,YAFT;AAGC,YAAQ,EAAG,kBAAEA,YAAF;AAAA,aAAoBtyC,aAAa,CAAE;AAAEsyC,oBAAY,EAAZA;AAAF,OAAF,CAAjC;AAAA,KAHZ;AAIC,SAAK,EAAGzxC,yBAAE,CAAE,eAAF,CAJX;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG,GANP;AAOC,QAAI,EAAG;AAPR,IAVD,CADD,CA3BD,CAhBD,CADD;AAuEA,CAtGD;;AAwGegyC,sGAAf,E;;;;;;;;;AC3IA;;;AAGA;AACA;AACA;AACA;AAEA;;;;IAGQ9xC,mB,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;;AAER,IAAMkyC,cAAS,GAAG,SAAZA,SAAY,CAAUlzC,KAAV,EAAkB;AACnC,WAASmzC,YAAT,CAAuBllC,KAAvB,EAA+B;AAC9BjO,SAAK,CAACC,aAAN,CAAqB;AACpB4Q,YAAM,EAAE5C,KAAK,CAACtH,GAAN,CAAW,UAAEokB,KAAF;AAAA,eAAagS,IAAI,CAACC,SAAL,CAAgB;AAAEhrB,YAAE,EAAE+Y,KAAK,CAAC/Y,EAAZ;AAAgBC,aAAG,EAAE8Y,KAAK,CAAC9Y,GAA3B;AAAgCq+B,aAAG,EAAEvlB,KAAK,CAACulB;AAA3C,SAAhB,CAAb;AAAA,OAAX;AADY,KAArB;AAGA;;AAED,SACC,yCAAC,mBAAD,QACC,yCAAC,wBAAD,EAAwBtwC,KAAxB,CADD,EAEC,yCAAC,aAAD,sDAAwBA,KAAxB;AAA+BmzC,gBAAY,EAAZA;AAA/B,KAFD,EAGC,yCAAC,oBAAD,sDAAyBnzC,KAAzB;AAAgCmzC,gBAAY,EAAZA;AAAhC,KAHD,CADD;AAOA,CAdD;;AAgBerkC,4DAAY,CAAEokC,cAAF,CAA3B,E;;;IC7BQ9O,sB,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;AAEO,2DAAM;AACpB,SAAO,yCAAC,sBAAD,CAAa,OAAb,OAAP;AACA,CAFD,E;;ICFQ1B,4B,GAAgB9jC,EAAE,CAACuW,M,CAAnButB,W;AAEO;AACdC,MAAI,EAAE,CACL;AACChjC,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,cAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,4BAAW,CAAE,kBAAF,EAAsB;AACvC7xB,cAAM,EAAEtR,UAAU,CAACsR;AADoB,OAAtB,CAAlB;AAGA;AAPF,GADK,CADQ;AAYd+xB,IAAE,EAAE,CACH;AACCjjC,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,6BAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,4BAAW,CAAE,6BAAF,EAAiC;AAClD7xB,cAAM,EAAEtR,UAAU,CAACsR;AAD+B,OAAjC,CAAlB;AAGA;AAPF,GADG,EAUH;AACClR,QAAI,EAAE,OADP;AAECwV,UAAM,EAAE,CAAC,cAAD,CAFT;AAGCpL,aAAS,EAAE,mBAAUxK,UAAV,EAAuB;AACjC,aAAOmjC,4BAAW,CAAE,cAAF,EAAkB;AACnC7xB,cAAM,EAAEtR,UAAU,CAACsR;AADgB,OAAlB,CAAlB;AAGA;AAPF,GAVG;AAZU,CAAf,E;;;;;;;;;;;;;ACFA;AAEA;AACA;AAEA,IAAMtR,2BAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,gBAAnB,EAAoCC,2BAApC,CAAnB;;IAEQrxB,uB,GAAuCtR,2B,CAAvCsR,M;IAAWsxB,kC,qCAA4B5iC,2B;;AAE/C,IAAM6zC,aAAa,GAAG,gEAClBjR,kCADe;AAElBxZ,SAAO,EAAE;AACRhpB,QAAI,EAAE,OADE;AAER21B,SAAK,EAAE;AACN31B,UAAI,EAAE;AADA,KAFC;AAKRC,WAAO,EAAE;AALD;AAFS,EAAnB;;AAWA,IAAMyiC,2BAAU,GAAG,EAAnB;AAEAA,2BAAU,CAAC39B,IAAX,CAAgB;AACfnF,YAAU,EAAE6zC,aADG;AAEf9Q,YAFe,sBAEH/iC,UAFG,EAEU;AACxB,WAAO,gBAAgB,OAAOA,UAAU,CAACsR,MAAlC,IAA4C,iBAAO,WAAP,MAAuBtR,UAAU,CAACopB,OAArF;AACA,GAJc;AAKf4Z,SALe,mBAKNhjC,UALM,EAKO;AAAA,QACbopB,OADa,GACiBppB,UADjB,CACbopB,OADa;AAAA,QACDvQ,aADC,qCACiB7Y,UADjB;;AAGrB,2EACI6Y,aADJ;AAECvH,YAAM,EAAE8X;AAFT;AAIA,GAZc;AAaf6Z,MAAI,EAAJA,UAAIA;AAbW,CAAhB;AAgBAH,2BAAU,CAAC39B,IAAX,CAAgB;AACfnF,YAAU,EAAE6zC,aADG;AAEf9Q,YAFe,sBAEH/iC,UAFG,EAEU;AACxB,WAAO,gBAAgB,OAAOA,UAAU,CAACkjC,iBAAzC;AACA,GAJc;AAKfF,SALe,mBAKNhjC,UALM,EAKO;AAAA,QACbuO,YADa,GACIvO,UADJ,CACbuO,YADa;AAGrB,2EACIvO,UADJ;AAECuO,kBAAY,EAAEA,YAAY,KAAK,OAAjB,GAA2B,UAA3B,GAAwCA,YAFvD;AAGCulC,wBAAkB,EAAE,IAHrB;AAIC5Q,uBAAiB,EAAE;AAJpB;AAMA,GAdc;AAefD,MAAI,EAAJA,UAAIA;AAfW,CAAhB;AAkBeH,gFAAf,E;;;;;;;;;;ACxDA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA,IAAM9iC,uBAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,gBAAnB,EAAoCC,2BAApC,CAAnB;AAGA;;;;IAGQphC,M,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,uB,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;SAEOR,oB;;;;;oGAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AACOS,0BADP,GACwB7vB,gBAAgB,CAAE,CAAF,EAAK,CAAL,CADxC;AAAA;AAAA,mBAEiCD,oBAAoB,EAFrD;;AAAA;AAEO+vB,6BAFP;AAGOC,wBAHP,GAGsB1vB,uBAAuB,CAAEyvB,iBAAF,EAAqBD,cAArB,CAH7C;AAIOG,4BAJP,GAI0B1M,wBAAmB,EAJ7C;AAMCyM,wBAAY,CAACl/B,OAAb,CAAsB,UAAAymB,KAAK,EAAI;AAC9B,kBAAK,QAAOA,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAE1X,QAAd,MAA2B,UAAhC,EAA6C;AAC5C0X,qBAAK,CAAC1X,QAAN;AACA;AACD,aAJD;AAND,uFAaKowB,gBAbL;AAcE9V,+BAAiB,EAAE,QAdrB;AAeE9c,oBAAM,EAAE2yB;AAfV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAmBA,SAASE,UAAT,GAAgB;AAEfC,mBAAgB,CAAE,kBAAF,EAAsBd,oBAAtB,CAAhB;AAEAQ,yBAAiB,CAAE,kBAAF,EAAsB;AACtCr9B,SAAK,EAAElF,MAAE,CAAE,0BAAF,EAA8B,eAA9B,CAD6B;AAEtCkS,eAAW,EAAElS,MAAE,CAAE,0DAAF,EAA8D,eAA9D,CAFuB;AAGtC8wB,YAAQ,EAAE,aAH4B;AAItCtW,QAAI,EAAE8N,WAJgC;AAKtC;AACAya,YAAQ,EAAE,CAAE/iC,MAAE,CAAE,iBAAF,EAAqB,eAArB,CAAJ,EAA4CA,MAAE,CAAE,SAAF,EAAa,eAAb,CAA9C,EAA8EA,MAAE,CAAE,WAAF,EAAe,eAAf,CAAhF,CAN4B;AAOtCvB,cAAU,EAAVA,uBAPsC;AAQtCukC,QAAI,EAAJA,UARsC;AAStCtB,QAAI,EAAJA,UATsC;AAUtCgC,uBAVsC,iCAUhB;AACrB,UAAMxhC,QAAQ,GAAGpE,EAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,EAAsCgD,WAAtC,EAAjB;AACA,aAAOH,QAAQ,CAACgvC,SAAT,GAAqB;AAAE,sBAAc;AAAhB,OAArB,GAAgD,EAAvD;AACA,KAbqC;AActC3P,cAAU,EAAVA,gBAdsC;AAetC0B,cAAU,EAAVA,gBAAUA;AAf4B,GAAtB,CAAjB;AAiBA;;AAEcL,2DAAf,E;;;;;;;;;ACnEA;;;AAGA,IAAM4P,8BAAmB,GAAG,SAAtBA,mBAAsB,CAAUtzC,KAAV,EAAkB;AAAA;;AAAA,0BAOzCA,KAPyC,CAE5CT,UAF4C;AAAA,MAG3CqtB,kBAH2C,qBAG3CA,kBAH2C;AAAA,MAI3CC,qBAJ2C,qBAI3CA,qBAJ2C;AAAA,MAM5C0mB,YAN4C,GAOzCvzC,KAPyC,CAM5CuzC,YAN4C;AAS7C,MAAMnjC,UAAU,GAAGmjC,YAAY,CAACnjC,UAAb,IAA2B;AAAE1N,KAAC,EAAE,GAAL;AAAUmU,KAAC,EAAE;AAAb,GAA9C;;AAEA,MAAMiK,MAAM,GAAG,wEACX9gB,KAAK,CAACmmB,QAAN,CAAena,KADP;AAEXoO,WAAO,EAAE,CAFE;AAGXmH,kBAAc,EAAEnR,UAAU,CAAC1N,CAAX,GAAe,GAAf,GAAqB,IAArB,GAA4B0N,UAAU,CAACyG,CAAX,GAAe,GAA3C,GAAiD;AAHtD,IAAZ;;AAMA,MAAK+V,kBAAkB,KAAK,MAA5B,EAAqC;AACpC9L,UAAM,CAAC1G,OAAP,GAAiB,IAAMyS,qBAAqB,GAAG,GAA/C;AACA;;AAED,MAAM2mB,QAAQ,GAAG,CAAAD,YAAY,SAAZ,IAAAA,YAAY,WAAZ,mCAAAA,YAAY,CAAElhC,KAAd,qGAAqBQ,gBAArB,gFAAuCZ,GAAvC,MAA8CshC,YAA9C,aAA8CA,YAA9C,+CAA8CA,YAAY,CAAElhC,KAA5D,kFAA8C,qBAAqBO,eAAnE,0DAA8C,sBAAsCX,GAApF,CAAjB;AACA,MAAMwhC,QAAQ,GAAGF,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAEthC,GAA/B;AAEA,SACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC;AAAf,KACGshC,YAAY,CAAC5zC,IAAb,KAAsB,OAAtB,IAAiC;AAAK,aAAS,EAAC,6BAAf;AAA6C,OAAG,EAAG6zC,QAAnD;AAA8D,OAAG,EAAC,EAAlE;AAAqE,SAAK,EAAG1yB;AAA7E,IADpC,EAEGyyB,YAAY,CAAC5zC,IAAb,KAAsB,OAAtB,IAAiC;AAAO,aAAS,EAAC,6BAAjB;AAA+C,OAAG,EAAG8zC,QAArD;AAAgE,SAAK,MAArE;AAAsE,YAAQ,MAA9E;AAA+E,QAAI,MAAnF;AAAoF,eAAW,MAA/F;AAAgG,SAAK,EAAG3yB;AAAxG,IAFpC,CADD,CADD;AAQA,CAhCD;;AAkCewyB,uFAAf,E;;;;;;;;;;;;;ACrCA;;;AAGA;AACA;AACA;AAEA;;;;mCAMI10C,EAAE,CAACK,O;IAFND,iB,gCAAAA,S;IACAgC,gB,gCAAAA,Q;;AAGD,IAAM0yC,wBAAgB;AAAA;;AAAA;;AACrB,8BAAc;AAAA;;AAAA;;AACb,+BAAU3zC,SAAV;AAEA,UAAKkD,KAAL,GAAa;AACZ0wC,iBAAW,EAAE5iC,MAAM,CAAC6iC,UADR;AAEZC,kBAAY,EAAE9iC,MAAM,CAACsS;AAFT,KAAb;AAHa;AAOb;;AARoB;AAAA;AAAA,wCAUD;AACnBtS,YAAM,CAAC3E,gBAAP,CAAwB,QAAxB,EAAkC,KAAK0nC,gBAAL,CAAsBviC,IAAtB,CAA4B,IAA5B,CAAlC;AACA,WAAKuiC,gBAAL;AACA;AAboB;AAAA;AAAA,uCAeF;AAClB,UAAK,CAAC,KAAKxxB,SAAX,EAAuB;AACtB;AACA;;AAED,WAAKoD,QAAL,CAAe;AACdquB,kBAAU,EAAE;AACX3hC,eAAK,EAAE,KAAKkQ,SAAL,CAAeS,WADX;AAEX/Y,gBAAM,EAAE,KAAKsY,SAAL,CAAepW;AAFZ;AADE,OAAf;AAMA;AA1BoB;AAAA;AAAA,oCA4BL;AAAA;;AAAA,wBAoBX,KAAKlM,KApBM;AAAA,8CAEdT,UAFc;AAAA,UAIb8P,cAJa,yBAIbA,cAJa;AAAA,UAKbC,oBALa,yBAKbA,oBALa;AAAA,UAMbI,YANa,yBAMbA,YANa;AAAA,UAObC,kBAPa,yBAObA,kBAPa;AAAA,UAQb0R,SARa,yBAQbA,SARa;AAAA,UAUbsM,iBAVa,yBAUbA,iBAVa;AAAA,UAWbD,mBAXa,yBAWbA,mBAXa;AAAA,UAabT,YAba,yBAabA,YAba;AAAA,UAcbL,kBAda,yBAcbA,kBAda;AAAA,UAgBblC,aAhBa,yBAgBbA,aAhBa;AAAA,UAkBd6oB,YAlBc,eAkBdA,YAlBc;AAAA,UAmBd1xC,SAnBc,eAmBdA,SAnBc;AAsBf,UAAM2V,OAAO,GAAG,CACf3V,SADe,EAEf,+BAFe,gCAGS8rB,iBAHT,iCAISD,mBAJT,kCAKUre,cALV,wCAMgBK,YANhB,gEAQakd,kBARb,EAAhB;AAWA,UAAM9L,MAAM,GAAG;AACd4G,iBAAS,EAAE;AACV,+CAAqCuF;AAD3B,SADG;AAIdlB,eAAO,EAAE,EAJK;AAKd0kB,kBAAU,EAAE;AALE,OAAf;;AAQA,UAAKphC,cAAc,KAAK,QAAxB,EAAmC;AAClCyR,cAAM,CAAC2vB,UAAP,CAAkBpQ,UAAlB,aAAmC/wB,oBAAnC;AACAwR,cAAM,CAAC2vB,UAAP,CAAkBI,aAAlB,aAAsCvhC,oBAAtC;AACA;;AAED,UAAKI,YAAY,KAAK,QAAtB,EAAiC;AAChCoR,cAAM,CAACiL,OAAP,CAAezK,QAAf,aAA8B3R,kBAA9B;AACA;;AAED,UAAIqkC,cAAc,GAAG,CAArB;AACA,UAAIC,cAAc,GAAG,CAArB;AAEAvpB,mBAAa,CAAC/jB,GAAd,CAAmB,UAAEokB,KAAF,EAAa;AAC/B,YAAK,CAAC,CAAEA,KAAK,CAAC1Y,KAAT,IAAkB,CAAC,CAAE0Y,KAAK,CAAC1Y,KAAN,CAAYF,IAAjC,IAAyC,CAAC,CAAE4Y,KAAK,CAAC3Y,KAAlD,IAA2D,CAAC,CAAE2Y,KAAK,CAAC/gB,MAAzE,EAAkF;AACjF,cAAMkqC,WAAW,GAAGnpB,KAAK,CAAC3Y,KAAN,GAAc2Y,KAAK,CAAC/gB,MAAxC;AACAgqC,wBAAc,GAAGE,WAAW,GAAGF,cAAd,GAA+BE,WAA/B,GAA6CF,cAA9D;AACAC,wBAAc,GAAG,MAAI,CAAChxC,KAAL,CAAW8wC,UAAX,CAAsB3hC,KAAtB,GAA8B4hC,cAA/C;AACA;;AACD,eAAO,IAAP;AACA,OAPD;AASA,UAAIG,gBAAgB,GAAG,KAAKn0C,KAAL,CAAWmmB,QAAX,CAAoBljB,KAApB,CAA0Bgf,qBAA1B,GAAkDZ,SAAlD,GAA8D,GAArF;AAEAP,YAAM,CAAC4G,SAAP,CAAiBrG,SAAjB,GAA6B7S,IAAI,CAACmF,GAAL,CAAUwgC,gBAAV,EAA4BF,cAA5B,EAA4CD,cAA5C,IAA+D,IAA5F;AAEA,aACC,yCAAC,gBAAD,QACG,CAAC,CAAEtpB,aAAa,CAACtkB,MAAjB,IAA2B;AAAK,iBAAS,EAAGoR,OAAO,CAACH,IAAR,CAAc,GAAd,CAAjB;AAAuC,aAAK,EAAGyJ,MAAM,CAAC4G;AAAtD,SAC5B;AAAK,iBAAS,EAAC;AAAf,SACC;AAAK,iBAAS,EAAC;AAAf,SACG6rB,YAAY,IAAI,yCAAC,gBAAD,QACjB,yCAAC,oBAAD,EAA0B,KAAKvzC,KAA/B,CADiB,EAEjB;AAAK,iBAAS,EAAC,gHAAf;AAAgI,aAAK,EAAG8gB,MAAM,CAAC2vB;AAA/I,SACC;AACC,iBAAS,EAAC,kEADX;AAEC,aAAK,EAAG3vB,MAAM,CAACiL,OAFhB;AAGC,+BAAuB,EAAG;AACzBoR,gBAAM,EACL,CAAE,OAAOoW,YAAY,CAACvtC,KAApB,KAA8B,QAA9B,kBAAkDutC,YAAY,CAACvtC,KAA/D,cAAgF,EAAlF,KACE,OAAOutC,YAAY,CAACtgC,OAApB,KAAgC,QAAhC,IAA4CsgC,YAAY,CAACtgC,OAAzD,IAAoE,EADtE;AAFwB;AAH3B,QADD,CAFiB,CADnB,CADD,CAD4B,EAmB1ByX,aAAa,CAACtkB,MAAd,GAAuB,CAAvB,IAA4B;AAAK,iBAAS,EAAC;AAAf,SAC7B;AAAK,iBAAS,EAAC,qGAAf;AAAqH,eAAO,EAAG,KAAKpG,KAAL,CAAWo0C;AAA1I,QAD6B,EAE7B;AAAK,iBAAS,EAAC,qGAAf;AAAqH,eAAO,EAAG,KAAKp0C,KAAL,CAAWq0C;AAA1I,QAF6B,CAnBF,CAD9B,EAyBG,CAAE3pB,aAAa,CAACtkB,MAAhB,IAA0B,yCAAC,kCAAD,EAAyB,KAAKpG,KAA9B,CAzB7B,CADD;AA6BA;AA3HoB;AAAA;AAAA,6BA6HZ;AAAA;;AAAA,UACA+zC,UADA,GACe,KAAK9wC,KADpB,CACA8wC,UADA;AAER,aACC;AAAK,WAAG,EAAG,aAAEpuB,EAAF;AAAA,iBAAY,MAAI,CAACrD,SAAL,GAAiBqD,EAA7B;AAAA;AAAX,SACGouB,UAAU,IAAI,KAAKO,aAAL,EADjB,CADD;AAKA;AApIoB;;AAAA;AAAA,EAAiBt1C,iBAAjB,CAAtB;;AAuIe00C,8EAAf,E;;;;ACtJA;;;AAGA;AAKA;AACA;AAEA;;;;IAGQ5yC,6B,GAAOlC,EAAE,CAACmC,I,CAAVD,E;iDAOJlC,EAAE,CAACqC,U;IAJN0W,mC,8CAAAA,gB;IACAzW,sC,8CAAAA,S;IACAoM,yC,8CAAAA,Y;IACAD,yC,8CAAAA,Y;IAIAjM,8C,GACGxC,EAAE,CAACyC,W,CADND,iB;IAIAJ,qC,GACGpC,EAAE,CAACK,O,CADN+B,Q;;AAGD,IAAMuzC,6CAA0B,GAAG,SAA7BA,0BAA6B,CAAUv0C,KAAV,EAAkB;AAAA,0BAgBhDA,KAhBgD,CAGnDT,UAHmD;AAAA,MAIlDmrB,aAJkD,qBAIlDA,aAJkD;AAAA,MAKlDrJ,SALkD,qBAKlDA,SALkD;AAAA,MAMlDmzB,aANkD,qBAMlDA,aANkD;AAAA,MAQnDC,aARmD,GAgBhDz0C,KAhBgD,CAQnDy0C,aARmD;AAAA,MASnDC,QATmD,GAgBhD10C,KAhBgD,CASnD00C,QATmD;AAAA,MAUnDz0C,aAVmD,GAgBhDD,KAhBgD,CAUnDC,aAVmD;AAAA,MAajD00C,gBAbiD,GAgBhD30C,KAhBgD,CAWnDgD,QAXmD,CAYlD0kB,SAZkD,CAajDitB,gBAbiD;AAkBpD,MAAMC,aAAa,GAAGlqB,aAAa,CAAE+pB,aAAF,CAAnC;AAEA,MAAII,0BAA0B,GAAG,CAAE,+BAAF,CAAjC;;AAEA,MAAKD,aAAL,EAAqB;AACpB,QAAIE,uBAAuB,GAAGF,aAAa,CAACxkC,UAAd,IAA4B;AAAE1N,OAAC,EAAE,GAAL;AAAUmU,OAAC,EAAE;AAAb,KAA1D;AACAg+B,8BAA0B,CAACnwC,IAA3B,CAAiCyS,gBAAgB,CAAE29B,uBAAF,CAAjD;AACA;;AAEDD,4BAA0B,GAAGA,0BAA0B,CAACx9B,IAA3B,CAAiC,GAAjC,CAA7B;AAEA,MAAI3E,SAAJ,EACCN,KADD,EAECpI,MAFD;;AAIA,MAAK,aAAY4qC,aAAZ,aAAYA,aAAZ,uBAAYA,aAAa,CAAEj1C,IAA3B,CAAL,EAAuC;AACtC+S,aAAS,GAAG,yFAAZ;AACAN,SAAK,GAAG,GAAR;AACApI,UAAM,GAAG,GAAT;AACA,GAJD,MAIO;AAAA;;AACN0I,aAAS,GAAG,CAAAkiC,aAAa,SAAb,IAAAA,aAAa,WAAb,oCAAAA,aAAa,CAAEviC,KAAf,uGAAsBU,eAAtB,gFAAuCd,GAAvC,MAA8C2iC,aAA9C,aAA8CA,aAA9C,gDAA8CA,aAAa,CAAEviC,KAA7D,mFAA8C,sBAAsBQ,gBAApE,0DAA8C,sBAAwCZ,GAAtF,MAA6F2iC,aAA7F,aAA6FA,aAA7F,gDAA6FA,aAAa,CAAEviC,KAA5G,mFAA6F,sBAAsBO,eAAnH,0DAA6F,sBAAuCX,GAApI,CAAZ;AACAG,SAAK,GAAGwiC,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAExiC,KAAvB;AACApI,UAAM,GAAG4qC,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAE5qC,MAAxB;AACA;;AAED,SACC,yCAAC,qCAAD,QAGE,CAAC,CAAE0gB,aAAa,CAACtkB,MAAjB,IACA,yCAAC,gCAAD;AAAiB,SAAK,EAAGtF,6BAAE,CAAE,QAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,6BAAE,CAAE,SAAF;AAAvB,KACC,yCAAC,8BAAD;AACC,OAAG,EAAG,2BADP;AAEC,iBAAa,EAAG4pB,aAFjB;AAGC,iBAAa,EAAGgqB,QAHjB;AAIC,YAAQ,EAAGD;AAJZ,IADD,EAQEG,aAAa,IACb,yCAAC,mCAAD;AACC,OAAG,EAAG,8BADP;AAEC,aAAS,EAAGC,0BAFb;AAGC,OAAG,EAAGniC,SAHP;AAIC,cAAU,EAAG;AACZN,WAAK,EAAEwiC,aAAa,CAACxiC,KADT;AAEZpI,YAAM,EAAE4qC,aAAa,CAAC5qC;AAFV,KAJd;AAQC,SAAK,EAAG4qC,aAAa,CAACxkC,UAAd,IAA4B;AAAE1N,OAAC,EAAE,GAAL;AAAUmU,OAAC,EAAE;AAAb,KARrC;AASC,YAAQ,EAAG,kBAAAzG,UAAU,EAAI;AACxB,UAAMya,gBAAgB,GAAGH,aAAzB;AACAG,sBAAgB,CAAE4pB,aAAF,CAAhB,CAAkCrkC,UAAlC,GAA+C0G,mBAAmB,CAAE1G,UAAF,CAAlE;AACAnQ,mBAAa,CAAE;AAAEyqB,qBAAa,EAAEG;AAAjB,OAAF,CAAb;AACA;AAbF,IATF,CADD,CAJF,EAmCE,cAAc2pB,aAAd,IACA,yCAAC,qCAAD,QACC,yCAAC,YAAD,EAAkBx0C,KAAlB,CADD,EAEC,yCAAC,gCAAD;AAAiB,SAAK,EAAGc,6BAAE,CAAE,QAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,6BAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,yCAAD;AACC,OAAG,EAAG,mCADP;AAEC,SAAK,EAAGA,6BAAE,CAAE,gBAAF,EAAoB,eAApB,CAFX;AAGC,YAAQ,EAAGugB,SAHZ;AAIC,YAAQ,EAAG,kBAAE0zB,aAAF,EAAqB;AAC/B90C,mBAAa,CAAE;AAAEohB,iBAAS,EAAE9Q,QAAQ,CAAEwkC,aAAF,EAAiB,EAAjB;AAArB,OAAF,CAAb;AACA,KANF;AAOC,WAAO,EAAGJ;AAPX,IADD,CADD,CAFD,CApCF,CADD;AAwDA,CAnGD;;AAqGeJ,8GAAf,E;;;;;;;;;ACpIA;;;AAGA;AACA;AACA;AAEA;;;;IAGQzzC,yB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;6CAKJlC,EAAE,CAACqC,U;IAFNiO,+B,0CAAAA,M;IACA2Z,gC,0CAAAA,O;IAIA8Y,sC,GACG/iC,EAAE,CAACyC,W,CADNsgC,a;IAIAC,oC,GACGhjC,EAAE,CAACyC,W,CADNugC,W;AAGD,IAAMpX,4CAAmB,GAAG,CAAE,OAAF,EAAW,OAAX,CAA5B;;AAEA,IAAMwqB,qCAAsB,GAAG,SAAzBA,sBAAyB,CAAUh1C,KAAV,EAAkB;AAAA,MAI9C0qB,aAJ8C,GAO5C1qB,KAP4C,CAG/CT,UAH+C,CAI9CmrB,aAJ8C;AAAA,MAM/CzqB,aAN+C,GAO5CD,KAP4C,CAM/CC,aAN+C;;AAShD,MAAM2qB,eAAe,GAAG,SAAlBA,eAAkB,CAAU0K,KAAV,EAAkB;AACzC,QAAMxK,QAAQ,GAAGwK,KAAK,CAAC3uB,GAAN,CAAW,UAAE0P,IAAF,EAAQ7R,KAAR,EAAmB;AAC9C,aAAO5F,EAAE,CAACosB,UAAH,CAAe;AAAEC,YAAI,EAAE,kBAAkB5U,IAAI,CAACrE;AAA/B,OAAf,EAAqDN,IAArD,CAA2D,UAAAtR,IAAI,EAAI;AACzEk1B,aAAK,CAAE9wB,KAAF,CAAL,mFAAsBpE,IAAtB,GAA+BiW,IAA/B;AACA,OAFM,CAAP;AAGA,KAJgB,CAAjB;AAMA8U,WAAO,CAACC,GAAR,CAAaN,QAAb,EAAwBpZ,IAAxB,CAA8B,YAAM;AACnCzR,mBAAa,CAAE;AAAEyqB,qBAAa,EAAE4K;AAAjB,OAAF,CAAb;AACA,KAFD;AAGA,GAVD;;AAYA,SACC,yCAAC,sCAAD,QACC,yCAAC,mCAAD,EAAuBt1B,KAAvB,CADD,EAEC,yCAAC,2BAAD,EAAmBA,KAAnB,CAFD,EAGC,yCAAC,gCAAD,QACC,yCAAC,oCAAD;AACC,YAAQ,MADT;AAEC,gBAAY,EAAGwqB,4CAFhB;AAGC,SAAK,EAAGE,aAAa,CAAC/jB,GAAd,CAAmB,UAAEokB,KAAF;AAAA,aAAaA,KAAK,CAAC/Y,EAAnB;AAAA,KAAnB,CAHT;AAIC,YAAQ,EAAG4Y,eAJZ;AAKC,UAAM,EAAG;AAAA,UAAI9hB,IAAJ,QAAIA,IAAJ;AAAA,aACR,yCAAC,+BAAD;AACC,iBAAS,EAAC,oDADX;AAEC,aAAK,EAAGhI,yBAAE,CAAE,cAAF,EAAkB,eAAlB,CAFX;AAGC,YAAI,EAAGsoB,IAHR;AAIC,eAAO,EAAGtgB;AAJX,QADQ;AAAA;AALV,IADD,CAHD,CADD;AAsBA,CA3CD;;AA6CeksC,kGAAf,E;;;;;;;;;;;;;;;;;;;ACxEA;;;AAGA;AAEA;AACA;AACA;AAEA;AAEA;;;;IAGQl0C,e,GAAOlC,EAAE,CAACmC,I,CAAVD,E;gCAKJlC,EAAE,CAACK,O;IAFND,wB,6BAAAA,S;IACAgC,uB,6BAAAA,Q;gCAMGpC,EAAE,CAACC,O;IAFNA,sB,6BAAAA,O;IACAF,yC,6BAAAA,0B;;IAGKqjC,mB;;;;;AACL,kBAAc;AAAA;;AAAA;;AACb,+BAAUjiC,SAAV;AAEA,UAAKkD,KAAL,GAAa;AACZwxC,mBAAa,EAAE;AADH,KAAb;AAHa;AAMb;;;;uCAEkB;AAAA,UACI/pB,aADJ,GACwB,KAAK1qB,KAD7B,CACVT,UADU,CACImrB,aADJ;AAAA,UAEV+pB,aAFU,GAEQ,KAAKxxC,KAFb,CAEVwxC,aAFU;AAGlB,UAAM9zC,QAAQ,GAAG,CAAE8zC,aAAa,GAAG/pB,aAAa,CAACtkB,MAA9B,GAAuC,CAAzC,IAA+CskB,aAAa,CAACtkB,MAA9E;AACA,WAAKsf,QAAL,CAAe;AAAE+uB,qBAAa,EAAE9zC;AAAjB,OAAf;AACA;;;uCAEkB;AAAA,UACI+pB,aADJ,GACwB,KAAK1qB,KAD7B,CACVT,UADU,CACImrB,aADJ;AAAA,UAEV+pB,aAFU,GAEQ,KAAKxxC,KAFb,CAEVwxC,aAFU;AAGlB,UAAM9zC,QAAQ,GAAG,CAAE8zC,aAAa,GAAG,CAAlB,IAAwB/pB,aAAa,CAACtkB,MAAvD;AACA,WAAKsf,QAAL,CAAe;AAAE+uB,qBAAa,EAAE9zC;AAAjB,OAAf;AACA;;;6BAES8zC,a,EAAgB;AACzB,WAAK/uB,QAAL,CAAe;AAAE+uB,qBAAa,EAAbA;AAAF,OAAf;AACA;;;6BAEQ;AAAA,UAIN/pB,aAJM,GAMJ,KAAK1qB,KAND,CAGPT,UAHO,CAINmrB,aAJM;AAQR,UAAMgqB,QAAQ,GAAG,KAAKA,QAAL,CAAcnjC,IAAd,CAAoB,IAApB,CAAjB;AARQ,UAUFkjC,aAVE,GAUgB,KAAKxxC,KAVrB,CAUFwxC,aAVE;;AAYR,UAAKA,aAAa,IAAI/pB,aAAa,CAACtkB,MAApC,EAA6C;AAC5CquC,qBAAa,GAAG/pB,aAAa,CAACtkB,MAAd,GAAuB,CAAvC;AACA;;AAED,aACC,yCAAC,uBAAD,QAEC,yCAAC,iBAAD,wBACM,KAAKpG,KADX;AAEC,oBAAY,EAAG0qB,aAAa,CAAE+pB,aAAF,CAF7B;AAGC,wBAAgB,EAAG,KAAKL,gBAAL,CAAsB7iC,IAAtB,CAA4B,IAA5B,CAHpB;AAIC,wBAAgB,EAAG,KAAK8iC,gBAAL,CAAsB9iC,IAAtB,CAA4B,IAA5B;AAJpB,SAFD,EASC,yCAAC,4BAAD,8DAA6B,KAAKvR,KAAlC;AAAyC00C,gBAAQ,EAARA,QAAzC;AAAmDD,qBAAa,EAAbA;AAAnD,SATD,EAUC,yCAAC,wBAAD,EAAoB,KAAKz0C,KAAzB,CAVD,CADD;AAeA;;;;EA1DiBhB,wB;;AA6DJL,4FAA0B,CAACE,sBAAO,CAAC,CACjDiQ,aADiD,EAEjDwY,aAFiD,CAAD,CAAR,CAA1B,CAGV0a,mBAHU,CAAf,E;;;ICvFQoC,0B,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;AAEO,+DAAM;AACpB,SAAO,yCAAC,0BAAD,CAAa,OAAb,OAAP;AACA,CAFD,E;;;;;;;;;;;ACFA;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAM7kC,+BAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,oBAAnB,EAAoCyP,6BAApC,EAAyDC,yBAAzD,EAA0EC,uBAA1E,EAA4FC,oCAA5F,CAAnB;AAEA,IAAMxP,+BAAU,GAAG,EAAnB;AAEAA,+BAAU,CAAC39B,IAAX,CAAgB;AACfnF,YAAU,EAAVA,+BADe;AAEf+iC,YAFe,sBAEH/iC,UAFG,EAESuuB,WAFT,EAEuB;AACrC,WAAO,gBAAgB,OAAOvuB,UAAU,CAACkjC,iBAAzC;AACA,GAJc;AAKfF,SALe,mBAKNhjC,UALM,EAKMuuB,WALN,EAKoB;AAClC,mFACIvuB,UADJ;AAECkjC,uBAAiB,EAAE;AAFpB;AAIA,GAVc;AAWfD,MAAI,EAAJA,cAAIA;AAXW,CAAhB;AAceH,wFAAf,E;;;;;AC1BA;;;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAM9iC,2BAAU,GAAGC,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwiC,oBAAnB,EAAoCyP,6BAApC,EAAyDC,yBAAzD,EAA0EC,uBAA1E,EAA4FC,oCAA5F,CAAnB;AAEA;;;;IAGQ/wC,U,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,2B,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;SAEOR,wB;;;;;wGAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACiCrvB,oBAAoB,EADrD;;AAAA;AACO+vB,6BADP;AAEO0R,iBAFP,GAEexhC,gBAAgB,CAAE,CAAF,EAAK,CAAL,CAF/B;AAGO5C,kBAHP,GAGgBiD,uBAAuB,CAAEyvB,iBAAF,EAAqB0R,KAArB,CAHvC;AAKCpkC,kBAAM,CAACvM,OAAP,CAAgB,UAAAymB,KAAK,EAAI;AACxB,kBAAK,QAAOA,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAE1X,QAAd,MAA2B,UAAhC,EAA6C;AAC5C0X,qBAAK,CAAC1X,QAAN;AACA;AACD,aAJD;AALD,6CAWQ;AACNqX,2BAAa,EAAE7Z;AADT,aAXR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAgBA,SAAS6yB,cAAT,GAAgB;AAEfC,mBAAgB,CAAE,sBAAF,EAA0Bd,wBAA1B,CAAhB;AAEAQ,6BAAiB,CAAE,sBAAF,EAA0B;AAC1Cr9B,SAAK,EAAElF,UAAE,CAAE,sBAAF,EAA0B,eAA1B,CADiC;AAE1CkS,eAAW,EAAElS,UAAE,CAAE,oEAAF,EAAwE,eAAxE,CAF2B;AAG1C8wB,YAAQ,EAAE,aAHgC;AAI1CtW,QAAI,EAAE8N,SAJoC;AAK1C;AACAya,YAAQ,EAAE,CAAE/iC,UAAE,CAAE,QAAF,EAAY,eAAZ,CAAJ,EAAmCA,UAAE,CAAE,UAAF,EAAc,eAAd,CAArC,EAAsEA,UAAE,CAAE,QAAF,EAAY,eAAZ,CAAxE,EAAuGA,UAAE,CAAE,OAAF,EAAW,eAAX,CAAzG,CANgC;AAO1CvB,cAAU,EAAVA,2BAP0C;AAQ1CukC,QAAI,EAAJA,cAR0C;AAS1CtB,QAAI,EAAJA,cAT0C;AAU1CH,cAAU,EAAVA,oBAV0C;AAW1CmC,uBAX0C,iCAWpB;AACrB,UAAMxhC,QAAQ,GAAGpE,EAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,EAAsCgD,WAAtC,EAAjB;AACA,aAAOH,QAAQ,CAACgvC,SAAT,GAAqB;AAAE,sBAAc;AAAhB,OAArB,GAAgD,EAAvD;AACA;AAdyC,GAA1B,CAAjB;AAgBA;;AAEctO,mEAAf,E;;;;;;;;;;;;;IChEQ5iC,gB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGP9B,yB,GACGJ,EAAE,CAACK,O,CADND,S;;IAGoBgjC,oB;;;;;AAEpB,kBAAc;AAAA;;AAAA,8BACHjiC,SADG;AAEb;;;;6BAEQ;AAAA,UAGNslC,IAHM,GAKJ,KAAKrlC,KALD,CAEPT,UAFO,CAGN8lC,IAHM;AAOR,aAAO,CACN,yCAAC,EAAD,CAAI,gBAAJ;AACE,aAAK,EAAC,uBADR;AAEE,kBAAU,EAAG,KAAKrlC,KAAL,CAAWT;AAF1B,QADM,CAAP;AAMA;;;;EAnBgCP,yB;;;;ACNlC;;;AAGA;AACA;AAEA;;;;IAGQ8B,W,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,4B,GAAuBzkC,EAAE,CAACuW,M,CAA1BkuB,iB;;AAER,SAASK,eAAT,GAAgB;AACfL,8BAAiB,CAAE,uBAAF,EAA2B;AAC3Cr9B,SAAK,EAAElF,WAAE,CAAE,kBAAF,EAAsB,eAAtB,CADkC;AAE3CkS,eAAW,EAAElS,WAAE,CAAE,wCAAF,EAA4C,eAA5C,CAF4B;AAG3C8wB,YAAQ,EAAE,aAHiC;AAI3CtW,QAAI,EAAE8N,UAJqC;AAK3C;AACAya,YAAQ,EAAE,CAAE/iC,WAAE,CAAE,MAAF,EAAU,eAAV,CAAJ,EAAiCA,WAAE,CAAE,WAAF,EAAe,eAAf,CAAnC,EAAqEA,WAAE,CAAE,SAAF,EAAa,eAAb,CAAvE,EAAuGA,WAAE,CAAE,WAAF,EAAe,eAAf,CAAzG,CANiC;AAO3CwV,UAAM,EAAE,CAAC,mBAAD,CAPmC;AAQ3CksB,QAAI,EAAE,gBAAW,CAAE,CARwB;AAS3CsB,QAAI,EAAJA,oBAAIA;AATuC,GAA3B,CAAjB;AAWA;;AAEcJ,qEAAf,E;;;AC1BA;IAEQ5iC,6B,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAiP,0C,GAAkBnR,EAAE,CAACqC,U,CAArB8O,a;;AAER,IAAMmlC,4CAAyB,GAAG,SAA5BA,yBAA4B,CAAUl1C,KAAV,EAAkB;AAAA,0BAQ/CA,KAR+C,CAElDT,UAFkD;AAAA,MAGjD41C,gBAHiD,qBAGjDA,gBAHiD;AAAA,MAIjDC,UAJiD,qBAIjDA,UAJiD;AAAA,MAKjDC,eALiD,qBAKjDA,eALiD;AAAA,MAOlDp1C,aAPkD,GAQ/CD,KAR+C,CAOlDC,aAPkD;AAUnD,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAGa,6BAAE,CAAE,QAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,6BAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,0CAAD;AACC,SAAK,EAAEA,6BAAE,CAAE,WAAF,EAAe,eAAf,CADV;AAEC,WAAO,EAAEq0C,gBAFV;AAGC,YAAQ,EAAE;AAAA,aAAMl1C,aAAa,CAAE;AAACk1C,wBAAgB,EAAE,CAACA;AAApB,OAAF,CAAnB;AAAA;AAHX,IADD,EAOC,yCAAC,0CAAD;AACC,SAAK,EAAEr0C,6BAAE,CAAE,OAAF,EAAW,eAAX,CADV;AAEC,WAAO,EAAEs0C,UAFV;AAGC,YAAQ,EAAE;AAAA,aAAMn1C,aAAa,CAAE;AAACm1C,kBAAU,EAAE,CAACA;AAAd,OAAF,CAAnB;AAAA;AAHX,IAPD,EAaC,yCAAC,0CAAD;AACC,SAAK,EAAEt0C,6BAAE,CAAE,aAAF,EAAiB,eAAjB,CADV;AAEC,WAAO,EAAEu0C,eAFV;AAGC,YAAQ,EAAE;AAAA,aAAMp1C,aAAa,CAAE;AAACo1C,uBAAe,EAAE,CAACA;AAAnB,OAAF,CAAnB;AAAA;AAHX,IAbD,CADD,CADD;AAuBA,CAjCD;;AAmCeH,6GAAf,E;;;;ACxCA;;;AAGA;IAEOp0C,Q,GAAMlC,EAAE,CAACmC,I,CAATD,E;IACAsjC,6B,GAAexlC,EAAE,CAACyC,W,CAAlB+iC,W;IACA1B,mB,GAAe9jC,EAAE,CAACuW,M,CAAlButB,W;IAEAxzB,c,GAAUtQ,EAAE,CAACqC,U,CAAbiO,M;AAEP,IAAMkf,sBAAc,GAAG,CAAC,8BAAD,CAAvB;AACA,IAAMknB,QAAQ,GAAG,CAChB,CAAC,8BAAD,EAAiC;AAACC,cAAY,EAAE;AAAf,CAAjC,EACC,CACC,CAAC,2BAAD,EAA8B;AAACvvC,OAAK,EAAE,iBAAR;AAA2BgN,aAAW,EAAE,4BAAxC;AAAsEwiC,OAAK,EAAE,OAA7E;AAAsFJ,YAAU,EAAE,IAAlG;AAAwGC,iBAAe,EAAE,IAAzH;AAA+HI,iBAAe,EAAE,IAAhJ;AAAsJC,WAAS,EAAE;AAAjK,CAA9B,CADD,EAEC,CAAC,2BAAD,EAA8B;AAAC1vC,OAAK,EAAE,gBAAR;AAA0BgN,aAAW,EAAE,yBAAvC;AAAkEwiC,OAAK,EAAE,QAAzE;AAAmFJ,YAAU,EAAE,IAA/F;AAAqGC,iBAAe,EAAE;AAAtH,CAA9B,CAFD,EAGC,CAAC,2BAAD,EAA8B;AAACrvC,OAAK,EAAE,2BAAR;AAAqCgN,aAAW,EAAE,2BAAlD;AAA+EwiC,OAAK,EAAE,QAAtF;AAAgGJ,YAAU,EAAE,IAA5G;AAAkHC,iBAAe,EAAE;AAAnI,CAA9B,CAHD,CADD,CADgB,EAShB,CAAC,8BAAD,EAAiC;AAACE,cAAY,EAAE;AAAf,CAAjC,EACC,CACC,CAAC,2BAAD,EAA8B;AAACvvC,OAAK,EAAE,iCAAR;AAA2CgN,aAAW,EAAE,uCAAxD;AAAiGwiC,OAAK,EAAE,OAAxG;AAAiHJ,YAAU,EAAE,IAA7H;AAAmIC,iBAAe,EAAE;AAApJ,CAA9B,CADD,EAEC,CAAC,2BAAD,EAA8B;AAACrvC,OAAK,EAAE,yBAAR;AAAmCgN,aAAW,EAAE,gDAAhD;AAAkGwiC,OAAK,EAAE,OAAzG;AAAkHJ,YAAU,EAAE,IAA9H;AAAoIC,iBAAe,EAAE,IAArJ;AAA2JM,yBAAuB,EAAE,IAApL;AAA0LC,gBAAc,EAAE;AAA1M,CAA9B,CAFD,EAGC,CAAC,2BAAD,EAA8B;AAAC5vC,OAAK,EAAE,wBAAR;AAAkCgN,aAAW,EAAE,wCAA/C;AAAyFwiC,OAAK,EAAE,OAAhG;AAAyGJ,YAAU,EAAE,IAArH;AAA2HC,iBAAe,EAAE;AAA5I,CAA9B,CAHD,CADD,CATgB,EAiBhB,CAAC,8BAAD,EAAiC;AAACE,cAAY,EAAE;AAAf,CAAjC,EACC,CACC,CAAC,2BAAD,EAA8B;AAACvvC,OAAK,EAAE,oBAAR;AAA8BgN,aAAW,EAAE,8DAA3C;AAA2GwiC,OAAK,EAAE,QAAlH;AAA4HJ,YAAU,EAAE,IAAxI;AAA8IC,iBAAe,EAAE;AAA/J,CAA9B,CADD,EAEC,CAAC,2BAAD,EAA8B;AAACrvC,OAAK,EAAE,cAAR;AAAwBgN,aAAW,EAAE,iDAArC;AAAwFwiC,OAAK,EAAE,QAA/F;AAAyGJ,YAAU,EAAE,IAArH;AAA2HC,iBAAe,EAAE;AAA5I,CAA9B,CAFD,EAGC,CAAC,2BAAD,EAA8B;AAACrvC,OAAK,EAAE,2BAAR;AAAqCgN,aAAW,EAAE,yDAAlD;AAA6GwiC,OAAK,EAAE,QAApH;AAA8HJ,YAAU,EAAE,IAA1I;AAAgJC,iBAAe,EAAE,IAAjK;AAAuKM,yBAAuB,EAAE,IAAhM;AAAsMC,gBAAc,EAAE;AAAtN,CAA9B,CAHD,EAIC,CAAC,2BAAD,EAA8B;AAAC5vC,OAAK,EAAE,mBAAR;AAA6BgN,aAAW,EAAE,yDAA1C;AAAqGwiC,OAAK,EAAE,QAA5G;AAAsHJ,YAAU,EAAE,IAAlI;AAAwIC,iBAAe,EAAE;AAAzJ,CAA9B,CAJD,EAKC,CAAC,2BAAD,EAA8B;AAACrvC,OAAK,EAAE,uBAAR;AAAiCgN,aAAW,EAAE,6DAA9C;AAA6GwiC,OAAK,EAAE,QAApH;AAA8HJ,YAAU,EAAE,IAA1I;AAAgJC,iBAAe,EAAE;AAAjK,CAA9B,CALD,EAMC,CAAC,2BAAD,EAA8B;AAACrvC,OAAK,EAAE,kBAAR;AAA4BgN,aAAW,EAAE,+CAAzC;AAA0FwiC,OAAK,EAAE,QAAjG;AAA2GJ,YAAU,EAAE,IAAvH;AAA6HC,iBAAe,EAAE;AAA9I,CAA9B,CAND,EAOC,CAAC,2BAAD,EAA8B;AAACrvC,OAAK,EAAE,yBAAR;AAAmCgN,aAAW,EAAE,qDAAhD;AAAuGwiC,OAAK,EAAE,QAA9G;AAAwHJ,YAAU,EAAE,IAApI;AAA0IC,iBAAe,EAAE;AAA3J,CAA9B,CAPD,CADD,CAjBgB,CAAjB;;AA8BA,IAAMQ,uBAAe,GAAG,SAAlBA,eAAkB,CAAU71C,KAAV,EAAkB;AAAA,0BASrCA,KATqC,CAExCT,UAFwC;AAAA,MAGvC41C,gBAHuC,qBAGvCA,gBAHuC;AAAA,MAIvCC,UAJuC,qBAIvCA,UAJuC;AAAA,MAKvCC,eALuC,qBAKvCA,eALuC;AAAA,MAOxCn1C,QAPwC,GASrCF,KATqC,CAOxCE,QAPwC;AAAA,MAQxC2B,SARwC,GASrC7B,KATqC,CAQxC6B,SARwC;;AAWzC,MAAMi0C,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAChC,QAAM12C,KAAK,GAAGsjC,mBAAW,CAAE,8BAAF,CAAzB;AACA,QAAMl+B,KAAK,GAAG5F,EAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,EAAsC2iC,mBAAtC,CAA2D5iC,QAA3D,EAAsE,CAAtE,EAAyE4tB,WAAzE,CAAqF1nB,MAAnG;AACAxH,MAAE,CAACwB,IAAH,CAAQie,QAAR,CAAkB,mBAAlB,EAAwC0xB,WAAxC,CAAqD3wC,KAArD,EAA4DoF,KAA5D,EAAmEtE,QAAnE;AACA,GAJD;;AAMA,MAAMkX,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,oBAG5B;AACC,8BAA2BszC,gBAAgB,KAAK,IADjD;AAEC,wBAAqBC,UAAU,KAAK;AAFrC,GAH4B,CAA7B;AASA,SACC;AAAK,aAAS,EAAEh+B;AAAhB,KACC,yCAAC,6BAAD;AACC,iBAAa,EAAEgX,sBADhB;AAEC,YAAQ,EAAEknB,QAFX;AAGC,kBAAc,EAAE;AAHjB,IADD,EAOC,yCAAC,cAAD;AACC,aAAS,EAAC,2EADX;AAEC,SAAK,EAAEx0C,QAAE,CAAE,sBAAF,EAA0B,eAA1B,CAFV;AAGC,QAAI,EAAC,QAHN;AAIC,WAAO,EAAEg1C;AAJV,KAMGh1C,QAAE,CAAE,kBAAF,EAAsB,eAAtB,CANL,CAPD,CADD;AAkBA,CA5CD;;AA8Ce+0C,6EAAf,E;;;;ACxFA;;;IAIC70C,uB,GACGpC,EAAE,CAACK,O,CADN+B,Q;IAIArC,yC,GACGC,EAAE,CAACC,O,CADNF,0B;6BAMGC,EAAE,CAACwB,I;IAFND,qB,0BAAAA,M;IACAke,a,0BAAAA,Q;AAGD;;;;AAGA;AACA;;AAEA,IAAM03B,iBAAY,GAAG,SAAfA,YAAe,CAAU/1C,KAAV,EAAkB;AACtC,SACC,yCAAC,uBAAD,QACC,yCAAC,iBAAD,EAAqBA,KAArB,CADD,EAEC,yCAAC,4BAAD,EAAuBA,KAAvB,CAFD,CADD;AAMA,CAPD;;AASA,IAAMg2C,4BAA4B,GAAGr3C,yCAA0B,CAAE,UAAEs3C,cAAF,EAAsB;AACtF,SAAO,UAAEj2C,KAAF,EAAa;AACnB,QAAK,2BAA2BA,KAAK,CAACV,IAAtC,EAA6C;AAAA,UACpCY,QADoC,GACXF,KADW,CACpCE,QADoC;AAAA,UAC1BX,UAD0B,GACXS,KADW,CAC1BT,UAD0B;;AAAA,oBAEvBY,qBAAM,CAAE,mBAAF,CAFiB;AAAA,UAEpCge,QAFoC,WAEpCA,QAFoC;;AAAA,sBAGVE,aAAQ,CAAE,mBAAF,CAHE;AAAA,UAGpCC,qBAHoC,aAGpCA,qBAHoC;;AAI5C,UAAM43B,IAAI,GAAG/3B,QAAQ,CAAEje,QAAF,CAArB;AACA,UAAMmE,QAAQ,GAAG6xC,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEpoB,WAAvB;;AACA,UAAM1V,aAAa,GAClB;AAAA,YAAIg9B,UAAJ,QAAIA,UAAJ;AAAA,YAAgBC,eAAhB,QAAgBA,eAAhB;AAAA,eACC;AAAED,oBAAU,EAAVA,UAAF;AAAcC,yBAAe,EAAfA;AAAd,SADD;AAAA,OADqB,CAInB91C,UAJmB,CAAtB;;AAMA,UAAKwE,KAAK,CAACC,OAAN,CAAeK,QAAf,CAAL,EAAiC;AAChCA,gBAAQ,CAACC,OAAT,CAAkB,UAAAlF,KAAK,EAAI;AAC1B,cAAK2E,KAAK,CAACC,OAAN,CAAe5E,KAAK,CAAC0uB,WAArB,CAAL,EAA0C;AACzC1uB,iBAAK,CAAC0uB,WAAN,CAAkBxpB,OAAlB,CAA2B,UAAA6xC,UAAU,EAAI;AACxC73B,mCAAqB,CAAE63B,UAAU,CAACj2C,QAAb,EAAuBkY,aAAvB,CAArB;AACA,aAFD;AAGA;AACD,SAND;AAOA;AACD;;AACD,WAAO,yCAAC,cAAD,EAAqBpY,KAArB,CAAP;AACA,GAxBD;AAyBA,CA1B8D,EA0B5D,oCA1B4D,CAA/D;AA4BApB,EAAE,CAACG,KAAH,CAASD,SAAT,CAAoB,uBAApB,EAA6C,4CAA7C,EAA2Fk3C,4BAA3F;AAEeD,oEAAf,E;;;AC7DA;AAEA;;;;IAIOj1C,K,GAAMlC,EAAE,CAACmC,I,CAATD,E;IACAsjC,0B,GAAexlC,EAAE,CAACyC,W,CAAlB+iC,W;;AAEP,IAAMgS,iBAAY,GAAG,SAAfA,YAAe,CAAUp2C,KAAV,EAAkB;AAAA,0BAQlCA,KARkC,CAErCT,UAFqC;AAAA,MAGpC41C,gBAHoC,qBAGpCA,gBAHoC;AAAA,MAIpCC,UAJoC,qBAIpCA,UAJoC;AAAA,MAKpCC,eALoC,qBAKpCA,eALoC;AAAA,MAOrCxzC,SAPqC,GAQlC7B,KARkC,CAOrC6B,SAPqC;AAUtC,MAAMuV,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,oBAG5B;AACC,8BAA2BszC,gBAAgB,KAAK,IADjD;AAEC,wBAAqBC,UAAU,KAAK;AAFrC,GAH4B,CAA7B;AASA,SACC;AAAK,aAAS,EAAEh+B,UAAhB;AAA4B,aAAS,MAArC;AAAsC,YAAQ,EAAC;AAA/C,KACC,yCAAC,0BAAD,CAAa,OAAb,OADD,CADD;AAKA,CAxBD;;AA0Beg/B,oEAAf,E;;ACnCA;;;AAGA;AACA;AACA;AAEA;;;;IAGQt1C,U,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,2B,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;IAEAljC,gB,GAAWvB,EAAE,CAACwB,I,CAAdD,M;;AAER,SAASujC,cAAT,GAAgB;AACfL,6BAAiB,CAAE,sBAAF,EAA0B;AAC1Cr9B,SAAK,EAAElF,UAAE,CAAE,WAAF,EAAe,eAAf,CADiC;AAE1CkS,eAAW,EAAElS,UAAE,CAAE,gEAAF,EAAoE,eAApE,CAF2B;AAG1C8wB,YAAQ,EAAE,aAHgC;AAI1CtW,QAAI,EAAE8N,QAJoC;AAK1C;AACAya,YAAQ,EAAE,CAAE/iC,UAAE,CAAE,WAAF,EAAe,eAAf,CAAJ,EAAsCA,UAAE,CAAE,iBAAF,EAAqB,eAArB,CAAxC,EAAgFA,UAAE,CAAE,QAAF,EAAY,eAAZ,CAAlF,EAAiHA,UAAE,CAAE,MAAF,EAAU,eAAV,CAAnH,EAAgJA,UAAE,CAAE,WAAF,EAAe,eAAf,CAAlJ,CANgC;AAO1CvB,cAAU,EAAE;AACX41C,sBAAgB,EAAG;AAClBx1C,YAAI,EAAE,SADY;AAElBC,eAAO,EAAE;AAFS,OADR;AAKXiqB,WAAK,EAAE;AACNlqB,YAAI,EAAE,QADA;AAENC,eAAO,EAAE;AAFH,OALI;AASXw1C,gBAAU,EAAE;AACXz1C,YAAI,EAAE,SADK;AAEXC,eAAO,EAAE;AAFE,OATD;AAaXy1C,qBAAe,EAAE;AAChB11C,YAAI,EAAE,SADU;AAEhBC,eAAO,EAAE;AAFO;AAbN,KAP8B;AAyB1CkyC,WAAO,EAAE;AACRvyC,gBAAU,EAAE;AACX41C,wBAAgB,EAAE;AADP,OADJ;AAIRrnB,iBAAW,EAAE,CACZ;AACCxuB,YAAI,EAAE,8BADP;AAECwuB,mBAAW,EAAE,CACZ;AACCxuB,cAAI,EAAE;AADP,SADY,EAIZ;AACCA,cAAI,EAAE;AADP,SAJY;AAFd,OADY;AAJL,KAzBiC;AA2C1CwhB,UAAM,EAAE,CACP;AACCxhB,UAAI,EAAE,SADP;AAECoC,WAAK,EAAEZ,UAAE,CAAE,SAAF,EAAa,eAAb,CAFV;AAGCyjC,eAAS,EAAE;AAHZ,KADO,EAMP;AACCjlC,UAAI,EAAE,OADP;AAECoC,WAAK,EAAEZ,UAAE,CAAE,OAAF,EAAW,eAAX;AAFV,KANO,CA3CkC;AAsD1C0jC,uBAtD0C,iCAsDpB;AACrB,UAAMxhC,QAAQ,GAAG7C,gBAAM,CAAE,mBAAF,CAAN,CAA8BgD,WAA9B,EAAjB;AACA,aAAOH,QAAQ,CAACgvC,SAAT,GAAqB;AAAE,sBAAc;AAAhB,OAArB,GAAgD,EAAvD;AACA,KAzDyC;AA0D1ClO,QAAI,EAAJA,cA1D0C;AA2D1CtB,QAAI,EAAJA,cAAIA;AA3DsC,GAA1B,CAAjB;AA6DA;;AAEckB,4DAAf,E;;;;AC/EA;;;AAGA;IAEO5iC,0B,GAAMlC,EAAE,CAACmC,I,CAATD,E;6BACyBlC,EAAE,CAACyC,W;IAA5B+iC,qC,0BAAAA,W;IAAazoB,gB,0BAAAA,Q;IACb+mB,qC,GAAe9jC,EAAE,CAACuW,M,CAAlButB,W;IACAxzB,gC,GAAUtQ,EAAE,CAACqC,U,CAAbiO,M;AAEP;;;;AAGA,IAAMkf,wCAAc,GAAG,CAAC,2BAAD,CAAvB;AACA,IAAMknB,gBAAQ,GAAG,CAChB,CAAC,2BAAD,CADgB,CAAjB;;AAIA,IAAMe,8BAAsB,GAAG,SAAzBA,sBAAyB,CAAUr2C,KAAV,EAAkB;AAAA,0BAU5CA,KAV4C,CAE/CT,UAF+C;AAAA,MAG9Cg2C,YAH8C,qBAG9CA,YAH8C;AAAA,MAI9CH,UAJ8C,qBAI9CA,UAJ8C;AAAA,MAK9CC,eAL8C,qBAK9CA,eAL8C;AAAA,MAO/Cp1C,aAP+C,GAU5CD,KAV4C,CAO/CC,aAP+C;AAAA,MAQ/CC,QAR+C,GAU5CF,KAV4C,CAQ/CE,QAR+C;AAAA,MAS/C2B,SAT+C,GAU5C7B,KAV4C,CAS/C6B,SAT+C;;AAYhD,MAAMy0C,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC7B,QAAMl3C,KAAK,GAAGsjC,qCAAW,CAAE,2BAAF,CAAzB;AACA,QAAMl+B,KAAK,GAAG5F,EAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,EAAsC2iC,mBAAtC,CAA2D5iC,QAA3D,EAAsE,CAAtE,EAAyE4tB,WAAzE,CAAqF1nB,MAAnG;AACAxH,MAAE,CAACwB,IAAH,CAAQie,QAAR,CAAkB,mBAAlB,EAAwC0xB,WAAxC,CAAqD3wC,KAArD,EAA4DoF,KAA5D,EAAmEtE,QAAnE;AACA,GAJD;;AAMA,MAAMkX,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,4BAA7B;AAKA,SACC;AAAK,aAAS,EAAEuV;AAAhB,KACC;AAAQ,aAAS,EAAC;AAAlB,KACC,yCAAC,gBAAD;AACC,WAAO,EAAC,IADT;AAEC,aAAS,EAAC,eAFX;AAGC,SAAK,EAAEm+B,YAHR;AAIC,YAAQ,EAAE,kBAAEA,YAAF;AAAA,aAAoBt1C,aAAa,CAAE;AAACs1C,oBAAY,EAAZA;AAAD,OAAF,CAAjC;AAAA;AAJX,IADD,CADD,EAUC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,qCAAD;AACC,iBAAa,EAAEnnB,wCADhB;AAEC,YAAQ,EAAEknB,gBAFX;AAGC,kBAAc,EAAE;AAHjB,IADD,CAVD,EAkBC,yCAAC,gCAAD;AACC,aAAS,EAAC,2EADX;AAEC,SAAK,EAAEx0C,0BAAE,CAAE,mBAAF,EAAuB,eAAvB,CAFV;AAGC,QAAI,EAAC,QAHN;AAIC,WAAO,EAAEw1C;AAJV,KAMGx1C,0BAAE,CAAE,eAAF,EAAmB,eAAnB,CANL,CAlBD,CADD;AA+BA,CAtDD;;AAwDeu1C,4FAAf,E;;;;AC1EA;;;IAIOr1C,+B,GAAYpC,EAAE,CAACK,O,CAAf+B,Q;AAEP;;;;AAGA;;AAEA,IAAMu1C,wBAAmB,GAAG,SAAtBA,mBAAsB,CAAUv2C,KAAV,EAAkB;AAC7C,SACC,yCAAC,+BAAD,QACC,yCAAC,yBAAD,EAA4BA,KAA5B,CADD,CADD;AAKA,CAND;;AAQeu2C,mFAAf,E;;;ACnBA;AAEA;;;;IAIOz1C,uB,GAAMlC,EAAE,CAACmC,I,CAATD,E;0BACyBlC,EAAE,CAACyC,W;IAA5B+iC,kC,uBAAAA,W;IAAazoB,+B,uBAAAA,Q;;AAGpB,IAAM66B,wBAAmB,GAAG,SAAtBA,mBAAsB,CAAUx2C,KAAV,EAAkB;AAAA,MAG3Cu1C,YAH2C,GAOzCv1C,KAPyC,CAE5CT,UAF4C,CAG3Cg2C,YAH2C;AAAA,MAK5Ct1C,aAL4C,GAOzCD,KAPyC,CAK5CC,aAL4C;AAAA,MAM5C4B,SAN4C,GAOzC7B,KAPyC,CAM5C6B,SAN4C;AAS7C,MAAMuV,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,4BAA7B;AAKA,SACC;AAAK,aAAS,EAAEuV,UAAhB;AAA4B,aAAS,MAArC;AAAsC,YAAQ,EAAC;AAA/C,KAEC;AAAQ,aAAS,EAAC;AAAlB,KACC,yCAAC,+BAAD,CAAU,OAAV;AACC,WAAO,EAAC,IADT;AAEC,aAAS,EAAC,eAFX;AAGC,SAAK,EAAEm+B,YAHR;AAIC,YAAQ,EAAE,kBAAEA,YAAF;AAAA,aAAoBt1C,aAAa,CAAE;AAACs1C,oBAAY,EAAZA;AAAD,OAAF,CAAjC;AAAA,KAJX;AAKC,YAAQ,EAAC;AALV,IADD,CAFD,EAYC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,kCAAD,CAAa,OAAb,OADD,CAZD,CADD;AAmBA,CAjCD;;AAmCeiB,mFAAf,E;;AC7CA;;;AAGA;AACA;AACA;AAEA;;;;IAGQ11C,kB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,mC,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;AAER,SAASK,sBAAT,GAAgB;AACfL,qCAAiB,CAAE,8BAAF,EAAkC;AAClDr9B,SAAK,EAAElF,kBAAE,CAAE,mBAAF,EAAuB,eAAvB,CADyC;AAElDkS,eAAW,EAAElS,kBAAE,CAAE,4BAAF,EAAgC,eAAhC,CAFmC;AAGlD8wB,YAAQ,EAAE,aAHwC;AAIlDtW,QAAI,EAAE8N,QAJ4C;AAKlD;AACAya,YAAQ,EAAE,CAAE/iC,kBAAE,CAAE,cAAF,EAAkB,eAAlB,CAAJ,EAAyCA,kBAAE,CAAE,cAAF,EAAkB,eAAlB,CAA3C,EAAgFA,kBAAE,CAAE,cAAF,EAAkB,eAAlB,CAAlF,EAAuHA,kBAAE,CAAE,gBAAF,EAAoB,eAApB,CAAzH,CANwC;AAOlDwV,UAAM,EAAE,CAAC,sBAAD,CAP0C;AAQlD/W,cAAU,EAAE;AACXg2C,kBAAY,EAAE;AACb51C,YAAI,EAAE,QADO;AAEbC,eAAO,EAAEkB,kBAAE,CAAE,QAAF,EAAY,eAAZ;AAFE;AADH,KARsC;AAclDgjC,QAAI,EAAJA,sBAdkD;AAelDtB,QAAI,EAAJA,sBAAIA;AAf8C,GAAlC,CAAjB;AAiBA;;AAEckB,4EAAf,E;;;;ACjCA;;;AAGA;AAEA;;;;IAGO/nB,+B,GAAY/c,EAAE,CAACyC,W,CAAfsa,Q;IAEA7a,uB,GAAMlC,EAAE,CAACmC,I,CAATD,E;;AAGP,IAAM21C,2BAAmB,GAAG,SAAtBA,mBAAsB,CAAUz2C,KAAV,EAAkB;AAAA,0BAezCA,KAfyC,CAE5CT,UAF4C;AAAA,MAG3Co2C,uBAH2C,qBAG3CA,uBAH2C;AAAA,MAI3CC,cAJ2C,qBAI3CA,cAJ2C;AAAA,MAK3CH,eAL2C,qBAK3CA,eAL2C;AAAA,MAM3CJ,eAN2C,qBAM3CA,eAN2C;AAAA,MAO3CD,UAP2C,qBAO3CA,UAP2C;AAAA,MAQ3CM,SAR2C,qBAQ3CA,SAR2C;AAAA,MAS3CF,KAT2C,qBAS3CA,KAT2C;AAAA,MAU3CxiC,WAV2C,qBAU3CA,WAV2C;AAAA,MAW3ChN,KAX2C,qBAW3CA,KAX2C;AAAA,MAa5C/F,aAb4C,GAezCD,KAfyC,CAa5CC,aAb4C;AAAA,MAc5C4B,SAd4C,GAezC7B,KAfyC,CAc5C6B,SAd4C;AAiB7C,MAAMuV,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,yBAG5B;AACC,wCAAoC8zC,uBAAuB,KAAK,IADjE;AAEC,sBAAkBF,eAAe,KAAK;AAFvC,GAH4B,CAA7B;AASA,SACC;AAAK,aAAS,EAAEr+B;AAAhB,KAEEu+B,uBAAuB,IACvB;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,+BAAD;AACC,WAAO,EAAC,IADT;AAEC,aAAS,EAAC,4BAFX;AAGC,SAAK,EAAEC,cAHR;AAIC,YAAQ,EAAE,kBAAEA,cAAF;AAAA,aAAsB31C,aAAa,CAAE;AAAC21C,sBAAc,EAAdA;AAAD,OAAF,CAAnC;AAAA,KAJX;AAKC,kBAAc,EAAG;AALlB,IADD,CAHF,EAcC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,+BAAD;AACC,SAAK,EAAE5vC,KADR;AAEC,WAAO,EAAC,IAFT;AAGC,aAAS,EAAC,YAHX;AAIC,eAAW,EAAElF,uBAAE,CAAE,eAAF,EAAmB,eAAnB,CAJhB;AAKC,YAAQ,EAAE,kBAAAkF,KAAK;AAAA,aAAI/F,aAAa,CAAE;AAAC+F,aAAK,EAALA;AAAD,OAAF,CAAjB;AAAA;AALhB,IADD,CAdD,EAwBEovC,UAAU,IAAI;AAAK,aAAS,EAAC;AAAf,KACd,yCAAC,+BAAD;AACC,SAAK,EAAEI,KADR;AAEC,WAAO,EAAC,MAFT;AAGC,aAAS,EAAC,YAHX;AAIC,eAAW,EAAE10C,uBAAE,CAAE,OAAF,EAAW,eAAX,CAJhB;AAKC,YAAQ,EAAE,kBAAA00C,KAAK;AAAA,aAAIv1C,aAAa,CAAE;AAACu1C,aAAK,EAALA;AAAD,OAAF,CAAjB;AAAA;AALhB,IADc,EASbC,eAAe,IACf;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,+BAAD;AACC,WAAO,EAAC,MADT;AAEC,aAAS,EAAC,kBAFX;AAGC,SAAK,EAAEC,SAHR;AAIC,YAAQ,EAAE,kBAAEA,SAAF;AAAA,aAAiBz1C,aAAa,CAAE;AAACy1C,iBAAS,EAATA;AAAD,OAAF,CAA9B;AAAA,KAJX;AAKC,kBAAc,EAAG;AALlB,IADD,CAVa,CAxBhB,EA8CGL,eAAe,IAAI;AAAK,aAAS,EAAC;AAAf,KACpB,yCAAC,+BAAD;AACC,SAAK,EAAEriC,WADR;AAEC,WAAO,EAAC,GAFT;AAGC,aAAS,EAAC,kBAHX;AAIC,eAAW,EAAElS,uBAAE,CAAE,qBAAF,EAAyB,eAAzB,CAJhB;AAKC,YAAQ,EAAE,kBAAAkS,WAAW;AAAA,aAAI/S,aAAa,CAAE;AAAC+S,mBAAW,EAAXA;AAAD,OAAF,CAAjB;AAAA;AALtB,IADoB,CA9CtB,CADD;AA2DA,CArFD;;AAuFeyjC,sFAAf,E;;;ACpGA;AAEA;;;;IAGQ31C,kC,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAiP,+C,GAAkBnR,EAAE,CAACqC,U,CAArB8O,a;;AAER,IAAM2mC,gDAA6B,GAAG,SAAhCA,6BAAgC,CAAU12C,KAAV,EAAkB;AAAA,0BASnDA,KATmD,CAEtDT,UAFsD;AAAA,MAGrDo2C,uBAHqD,qBAGrDA,uBAHqD;AAAA,MAIrDF,eAJqD,qBAIrDA,eAJqD;AAAA,MAKrDL,UALqD,qBAKrDA,UALqD;AAAA,MAMrDC,eANqD,qBAMrDA,eANqD;AAAA,MAQtDp1C,aARsD,GASnDD,KATmD,CAQtDC,aARsD;AAWvD,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAEa,kCAAE,CAAC,QAAD;AAA1B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,kCAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,+CAAD;AACC,SAAK,EAAEA,kCAAE,CAAE,gBAAF,EAAoB,eAApB,CADV;AAEC,QAAI,EAAEA,kCAAE,CAAE,iFAAF,EAAqF,eAArF,CAFT;AAGC,WAAO,EAAE60C,uBAHV;AAIC,YAAQ,EAAE;AAAA,aAAM11C,aAAa,CAAE;AAAC01C,+BAAuB,EAAE,CAAEA;AAA5B,OAAF,CAAnB;AAAA;AAJX,IADD,EAQGP,UAAU,IAAI,yCAAC,+CAAD;AACf,SAAK,EAAEt0C,kCAAE,CAAE,SAAF,EAAa,eAAb,CADM;AAEf,WAAO,EAAE20C,eAFM;AAGf,YAAQ,EAAE;AAAA,aAAMx1C,aAAa,CAAE;AAACw1C,uBAAe,EAAE,CAAEA;AAApB,OAAF,CAAnB;AAAA;AAHK,IARjB,CADD,CADD;AAkBA,CA7BD;;AA+BeiB,sHAAf,E;;;;ACvCA;;;AAGA;AACA;AAEA;;;;IAIC11C,4B,GACGpC,EAAE,CAACK,O,CADN+B,Q;;AAGD,IAAM21C,iBAAY,GAAG,SAAfA,YAAe,CAAU32C,KAAV,EAAkB;AACtC,SACC,yCAAC,4BAAD,QACC,yCAAC,sBAAD,EAAyBA,KAAzB,CADD,EAEC,yCAAC,iCAAD,EAAuBA,KAAvB,CAFD,CADD;AAMA,CAPD;;AASe22C,yEAAf,E;;;ACtBA;AAEA;;;;IAGO71C,oB,GAAMlC,EAAE,CAACmC,I,CAATD,E;IACA6a,4B,GAAY/c,EAAE,CAACyC,W,CAAfsa,Q;;AAEP,IAAMi7B,qBAAgB,GAAG,SAAnBA,gBAAmB,CAAU52C,KAAV,EAAkB;AAAA,0BAetCA,KAfsC,CAEzCT,UAFyC;AAAA,MAGxCo2C,uBAHwC,qBAGxCA,uBAHwC;AAAA,MAIxCC,cAJwC,qBAIxCA,cAJwC;AAAA,MAKxCH,eALwC,qBAKxCA,eALwC;AAAA,MAMxCJ,eANwC,qBAMxCA,eANwC;AAAA,MAOxCD,UAPwC,qBAOxCA,UAPwC;AAAA,MAQxCM,SARwC,qBAQxCA,SARwC;AAAA,MASxCF,KATwC,qBASxCA,KATwC;AAAA,MAUxCxiC,WAVwC,qBAUxCA,WAVwC;AAAA,MAWxChN,KAXwC,qBAWxCA,KAXwC;AAAA,MAazC/F,aAbyC,GAetCD,KAfsC,CAazCC,aAbyC;AAAA,MAczC4B,SAdyC,GAetC7B,KAfsC,CAczC6B,SAdyC;AAiB1C,MAAMuV,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,yBAG5B;AACC,wCAAoC8zC,uBAAuB,KAAK,IADjE;AAEC,sBAAkBF,eAAe,KAAK;AAFvC,GAH4B,CAA7B;AASA,SACC;AAAK,aAAS,EAAEr+B,UAAhB;AAA4B,aAAS,MAArC;AAAsC,YAAQ,EAAC;AAA/C,KAEEu+B,uBAAuB,IACvB;AAAK,aAAS,EAAC;AAAf,KACA;AAAI,aAAS,EAAC;AAAd,UAA6CC,cAA7C,MADA,CAHF,EAQC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,4BAAD,CAAU,OAAV;AACC,SAAK,EAAE5vC,KADR;AAEC,WAAO,EAAC,IAFT;AAGC,aAAS,EAAC,YAHX;AAIC,YAAQ,EAAE,kBAAAA,KAAK;AAAA,aAAI/F,aAAa,CAAE;AAAC+F,aAAK,EAALA;AAAD,OAAF,CAAjB;AAAA,KAJhB;AAKC,YAAQ,EAAC;AALV,IADD,CARD,EAkBGovC,UAAU,IAAI;AAAK,aAAS,EAAC,6BAAf;AAA6C,aAAS,MAAtD;AAAuD,YAAQ,EAAC;AAAhE,KACf,yCAAC,4BAAD,CAAU,OAAV;AACC,SAAK,EAAEI,KADR;AAEC,WAAO,EAAC,MAFT;AAGC,aAAS,EAAC,YAHX;AAIC,YAAQ,EAAE,kBAAAA,KAAK;AAAA,aAAIv1C,aAAa,CAAE;AAACu1C,aAAK,EAALA;AAAD,OAAF,CAAjB;AAAA,KAJhB;AAKC,YAAQ,EAAC;AALV,IADe,EASdC,eAAe,IACf;AAAK,aAAS,EAAC;AAAf,KACA;AAAM,aAAS,EAAC;AAAhB,UAAqCC,SAArC,MADA,CAVc,CAlBjB,EAkCGL,eAAe,IAAI;AAAK,aAAS,EAAC;AAAf,KACpB,yCAAC,4BAAD,CAAU,OAAV;AACC,SAAK,EAAEriC,WADR;AAEC,WAAO,EAAC,GAFT;AAGC,aAAS,EAAC,kBAHX;AAIC,YAAQ,EAAE,kBAAAA,WAAW;AAAA,aAAI/S,aAAa,CAAE;AAAC+S,mBAAW,EAAXA;AAAD,OAAF,CAAjB;AAAA,KAJtB;AAKC,YAAQ,EAAC;AALV,IADoB,CAlCtB,CADD;AA+CA,CAzED;;AA2Ee4jC,6EAAf,E;;ACnFA;;;AAGA;AACA;AACA;AAEA;;;;IAGQ91C,e,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,gC,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;AAER,SAASK,mBAAT,GAAgB;AACfL,kCAAiB,CAAE,2BAAF,EAA+B;AAC/Cr9B,SAAK,EAAElF,eAAE,CAAE,WAAF,EAAe,eAAf,CADsC;AAE/CkS,eAAW,EAAElS,eAAE,CAAE,2DAAF,EAA+D,eAA/D,CAFgC;AAG/C8wB,YAAQ,EAAE,aAHqC;AAI/CtW,QAAI,EAAE8N,QAJyC;AAK/C;AACAya,YAAQ,EAAE,CAAE/iC,eAAE,CAAE,WAAF,EAAe,eAAf,CAAJ,EAAsCA,eAAE,CAAE,WAAF,EAAe,eAAf,CAAxC,EAA0EA,eAAE,CAAE,MAAF,EAAU,eAAV,CAA5E,EAAyGA,eAAE,CAAE,WAAF,EAAe,eAAf,CAA3G,CANqC;AAO/CwV,UAAM,EAAE,CAAC,8BAAD,CAPuC;AAQ/C/W,cAAU,EAAE;AACXyG,WAAK,EAAE;AACNrG,YAAI,EAAE,QADA;AAENC,eAAO,EAAEkB,eAAE,CAAE,oBAAF,EAAwB,eAAxB;AAFL,OADI;AAKXkS,iBAAW,EAAE;AACZrT,YAAI,EAAE,QADM;AAEZC,eAAO,EAAEkB,eAAE,CAAE,4CAAF,EAAgD,eAAhD;AAFC,OALF;AASX00C,WAAK,EAAE;AACN71C,YAAI,EAAE,QADA;AAENC,eAAO,EAAE;AAFH,OATI;AAaX81C,eAAS,EAAE;AACV/1C,YAAI,EAAE,QADI;AAEVC,eAAO,EAAE;AAFC,OAbA;AAiBXg2C,oBAAc,EAAE;AACfj2C,YAAI,EAAE,QADS;AAEfC,eAAO,EAAEkB,eAAE,CAAE,cAAF,EAAkB,eAAlB;AAFI,OAjBL;AAqBX60C,6BAAuB,EAAE;AACxBh2C,YAAI,EAAE,SADkB;AAExBC,eAAO,EAAE;AAFe,OArBd;AAyBX61C,qBAAe,EAAE;AAChB91C,YAAI,EAAE,SADU;AAEhBC,eAAO,EAAE;AAFO,OAzBN;AA6BXw1C,gBAAU,EAAE;AACXz1C,YAAI,EAAE,SADK;AAEXC,eAAO,EAAE;AAFE,OA7BD;AAiCXy1C,qBAAe,EAAE;AAChB11C,YAAI,EAAE,SADU;AAEhBC,eAAO,EAAE;AAFO;AAjCN,KARmC;AA8C/CkkC,QAAI,EAAJA,mBA9C+C;AA+C/CtB,QAAI,EAAJA,mBAAIA;AA/C2C,GAA/B,CAAjB;AAiDA;;AAEckB,sEAAf,E;;;;;;;;;;;;;;;;;ACjEA;AACA;AAGA;;;;IAIO5iC,kB,GAAMlC,EAAE,CAACmC,I,CAATD,E;IACA9B,2B,GAAaJ,EAAE,CAACK,O,CAAhBD,S;IACA63C,O,GAAWj4C,EAAE,CAACqC,U,CAAd41C,O;;IAGDC,wB;;;;;;;;;;;;;0CAEkB7M,S,EAAY;AAClC,aAAO,CAAE8M,0BAAc,CAAE9M,SAAS,CAAC1qC,UAAZ,EAAwB,KAAKS,KAAL,CAAWT,UAAnC,CAAvB;AACA;;;6BAEQ;AAAA,wBAUJ,KAAKS,KAVD;AAAA,8CAGPT,UAHO;AAAA,UAINy3C,YAJM,yBAINA,YAJM;AAAA,UAKNC,QALM,yBAKNA,QALM;AAAA,UAMNC,UANM,yBAMNA,UANM;AAAA,UAONC,iBAPM,yBAONA,iBAPM;AAAA,UASPt1C,SATO,eASPA,SATO;AAYR,UAAMuV,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,0DAGHq1C,UAHG,GAK5B;AACC,8BAAsBC,iBAAiB,KAAK;AAD7C,OAL4B,CAA7B;;AAUA,UAAMC,SAAS,GAAG,SAAZA,SAAY,CAAEp3C,KAAF,EAAa;AAC9B,eAAO,yCAAC,OAAD,EAAaA,KAAb,CAAP;AACA,OAFD;;AAIA,UAAMoT,IAAI,GAAG,4CAAoCgE,UAApC,2GACyF4/B,YADzF,kCAC6HE,UAD7H,yDACsLD,QADtL,6DAEgCI,eAAe,CAACC,0BAFhD,wEAGgCD,eAAe,CAACE,wBAHhD,8BAIA,QAJb;AAMA,aACC,yCAAC,SAAD;AACC,YAAI,EAAEnkC,IADP;AAEC,aAAK,EAAC,SAFP;AAGC,YAAI,EAAC;AAHN,QADD;AAQA;;;;EA9C6BpU,2B;;AAkDhB83C,8EAAf,E;;;AC/DA;AAEA;;;;IAGOh2C,6B,GAAMlC,EAAE,CAACmC,I,CAATD,E;IACAE,qC,GAAYpC,EAAE,CAACK,O,CAAf+B,Q;IACAI,8C,GAAqBxC,EAAE,CAACyC,W,CAAxBD,iB;iDACsExC,EAAE,CAACqC,U;IAAzEC,sC,8CAAAA,S;IAAWwjC,8B,8CAAAA,W;IAAa30B,0C,8CAAAA,a;IAAezC,yC,8CAAAA,Y;IAAcnM,0C,8CAAAA,a;;AAE5D,IAAMq2C,6CAA0B,GAAG,SAA7BA,0BAA6B,CAAUx3C,KAAV,EAAkB;AAAA,0BAShDA,KATgD,CAEnDT,UAFmD;AAAA,MAGlDy3C,YAHkD,qBAGlDA,YAHkD;AAAA,MAIlDC,QAJkD,qBAIlDA,QAJkD;AAAA,MAKlDC,UALkD,qBAKlDA,UALkD;AAAA,MAMlDC,iBANkD,qBAMlDA,iBANkD;AAAA,MAQnDl3C,aARmD,GAShDD,KATgD,CAQnDC,aARmD;AAWpD,SACC,yCAAC,qCAAD,QAEC,yCAAC,gCAAD;AAAiB,SAAK,EAAGa,6BAAE,CAAE,OAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,6BAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,8BAAD;AACC,OAAG,EAAG,kCADP;AAEC,SAAK,EAAGA,6BAAE,CAAE,eAAF,CAFX;AAGC,eAAW,EAAGA,6BAAE,CAAE,GAAF,CAHjB;AAIC,QAAI,EAAGA,6BAAE,CAAE,2DAAF,CAJV;AAKC,QAAI,EAAC,QALN;AAMC,SAAK,EAAGk2C,YANT;AAOC,YAAQ,EAAG,kBAAEA,YAAF;AAAA,aAAoB/2C,aAAa,CAAE;AAAE+2C,oBAAY,EAAEA;AAAhB,OAAF,CAAjC;AAAA;AAPZ,IADD,EAUC,yCAAC,0CAAD;AACC,OAAG,EAAG,6BADP;AAEC,SAAK,EAAGl2C,6BAAE,CAAE,UAAF,CAFX;AAGC,SAAK,EAAGm2C,QAHT;AAIC,WAAO,EAAG,CACT;AAAEv1C,WAAK,EAAE,YAAT;AAAuBD,WAAK,EAAE;AAA9B,KADS,EAET;AAAEC,WAAK,EAAE,aAAT;AAAwBD,WAAK,EAAE;AAA/B,KAFS,EAGT;AAAEC,WAAK,EAAE,YAAT;AAAuBD,WAAK,EAAE;AAA9B,KAHS,EAIT;AAAEC,WAAK,EAAE,YAAT;AAAuBD,WAAK,EAAE;AAA9B,KAJS,EAKT;AAAEC,WAAK,EAAE,QAAT;AAAmBD,WAAK,EAAE;AAA1B,KALS,EAMT;AAAEC,WAAK,EAAE,eAAT;AAA0BD,WAAK,EAAE;AAAjC,KANS,EAOT;AAAEC,WAAK,EAAE,aAAT;AAAwBD,WAAK,EAAE;AAA/B,KAPS,CAJX;AAaC,YAAQ,EAAG,kBAAEg2C,YAAF;AAAA,aAAoBx3C,aAAa,CAAE;AAAEg3C,gBAAQ,EAAEQ;AAAZ,OAAF,CAAjC;AAAA;AAbZ,IAVD,CADD,CAFD,EA+BC,yCAAC,gCAAD;AAAiB,SAAK,EAAG32C,6BAAE,CAAE,QAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,6BAAE,CAAE,WAAF;AAAvB,KACC,yCAAC,yCAAD;AACC,OAAG,EAAG,2BADP;AAEC,SAAK,EAAGA,6BAAE,CAAE,QAAF,EAAY,eAAZ,CAFX;AAGC,SAAK,EAAGo2C,UAHT;AAIC,YAAQ,EAAGA,UAJZ;AAKC,WAAO,EAAG,CACT;AAAEx1C,WAAK,EAAE,YAAT;AAAuBD,WAAK,EAAE;AAA9B,KADS,EAET;AAAEC,WAAK,EAAE,UAAT;AAAqBD,WAAK,EAAE;AAA5B,KAFS,CALX;AASC,YAAQ,EAAG,kBAAEi2C,UAAF;AAAA,aAAkBz3C,aAAa,CAAE;AAAEi3C,kBAAU,EAAEQ;AAAd,OAAF,CAA/B;AAAA;AATZ,IADD,EAYC,yCAAC,0CAAD;AACC,OAAG,EAAG,yBADP;AAEC,SAAK,EAAG52C,6BAAE,CAAE,qBAAF,EAAyB,eAAzB,CAFX;AAGC,WAAO,EAAGq2C,iBAHX;AAIC,YAAQ,EAAG;AAAA,aAAMl3C,aAAa,CAAE;AAAEk3C,yBAAiB,EAAE,CAAEA;AAAvB,OAAF,CAAnB;AAAA;AAJZ,IAZD,CADD,CA/BD,CADD;AAwDA,CAnED;;AAqEeK,8GAAf,E;;;AC/EA;AACA;AAEA;;;;IAGOx2C,uB,GAAYpC,EAAE,CAACK,O,CAAf+B,Q;;AAEP,IAAMo2C,cAAS,GAAG,SAAZA,SAAY,CAAUp3C,KAAV,EAAkB;AACnC,SACC,yCAAC,uBAAD,QACC,yCAAC,iBAAD,EAAsBA,KAAtB,CADD,EAEC,yCAAC,4BAAD,EAAuBA,KAAvB,CAFD,CADD;AAMA,CAPD;;AASeo3C,iEAAf,E;;;ACjBA;AAEA;;;;IAGOt2C,e,GAAMlC,EAAE,CAACmC,I,CAATD,E;;AAEP,IAAM62C,kBAAa,GAAG,SAAhBA,aAAgB,CAAU33C,KAAV,EAAkB;AAAA,0BASnCA,KATmC,CAEtCT,UAFsC;AAAA,MAGrCy3C,YAHqC,qBAGrCA,YAHqC;AAAA,MAIrCC,QAJqC,qBAIrCA,QAJqC;AAAA,MAKrCE,iBALqC,qBAKrCA,iBALqC;AAAA,MAMrCD,UANqC,qBAMrCA,UANqC;AAAA,MAQtCr1C,SARsC,GASnC7B,KATmC,CAQtC6B,SARsC;AAWvC,MAAM+1C,OAAO,+DAAwDZ,YAAxD,6CAAuGE,UAAvG,yDAAgKD,QAAhK,CAAb;AAEA,MAAM7/B,UAAU,GAAGtR,oBAAU,CAC5BjE,SAD4B,0DAGFq1C,UAHE,GAK5B;AACC,0BAAsBC,iBAAiB,KAAK;AAD7C,GAL4B,CAA7B;AAWA,SAEC;AAAK,aAAS,EAAE//B;AAAhB,KACC;AAAQ,QAAI,EAAC,iBAAb;AAA+B,OAAG,EAAIwgC;AAAtC,IADD,CAFD;AAQA,CAhCD;;AAkCeD,qEAAf,E;;ACzCA;;;AAGA;AACA;AACA;AAEA;;;;IAGQ72C,U,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,2B,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;AAGR,SAASK,cAAT,GAAgB;AACfL,6BAAiB,CAAE,sBAAF,EAA0B;AAC1Cr9B,SAAK,EAAElF,UAAE,CAAE,uBAAF,EAA2B,eAA3B,CADiC;AAE1CkS,eAAW,EAAElS,UAAE,CAAE,wDAAF,EAA4D,eAA5D,CAF2B;AAG1C8wB,YAAQ,EAAE,aAHgC;AAI1CtW,QAAI,EAAE8N,SAJoC;AAK1C;AACAya,YAAQ,EAAE,CAAE/iC,UAAE,CAAE,cAAF,EAAkB,eAAlB,CAAJ,EAAyCA,UAAE,CAAE,UAAF,EAAc,eAAd,CAA3C,CANgC;AAO1CvB,cAAU,EAAE;AACXy3C,kBAAY,EAAE;AACbr3C,YAAI,EAAE,QADO;AAEbC,eAAO,EAAE;AAFI,OADH;AAKXq3C,cAAQ,EAAE;AACTt3C,YAAI,EAAE,QADG;AAETC,eAAO,EAAE;AAFA,OALC;AASXu3C,uBAAiB,EAAE;AAClBx3C,YAAI,EAAE,SADY;AAElBC,eAAO,EAAE;AAFS,OATR;AAaXs3C,gBAAU,EAAE;AACXv3C,YAAI,EAAE,QADK;AAEXC,eAAO,EAAE;AAFE;AAbD,KAP8B;AAyB1CkkC,QAAI,EAAJA,cAzB0C;AA0B1CtB,QAAI,EAAJA,cAAIA;AA1BsC,GAA1B,CAAjB;AA4BA;;AAEckB,mEAAf,E;;;;AC7CA,IAAMmU,wBAAgB,GAAG,SAAnBA,gBAAmB,CAAS73C,KAAT,EAAgB;AAAA,0BAenCA,KAfmC,CAGtCT,UAHsC;AAAA,MAIrC+4B,IAJqC,qBAIrCA,IAJqC;AAAA,MAKrCwf,UALqC,qBAKrCA,UALqC;AAAA,MAMrCxT,cANqC,qBAMrCA,cANqC;AAAA,MAOrCyT,UAPqC,qBAOrCA,UAPqC;AAAA,MAQrCC,QARqC,qBAQrCA,QARqC;AAAA,MASrCC,UATqC,qBASrCA,UATqC;AAAA,MAUrCC,WAVqC,qBAUrCA,WAVqC;AAAA,MAWrCC,oBAXqC,qBAWrCA,oBAXqC;AAAA,MAYrCC,cAZqC,qBAYrCA,cAZqC;AAAA,MAarCC,YAbqC,qBAarCA,YAbqC;AAkBvC,SACC,yCAAC,EAAD,CAAI,gBAAJ;AACC,SAAK,EAAC,sBADP;AAEC,cAAU,EAAGr4C,KAAK,CAACT;AAFpB,IADD;AAMD,CAxBD;;AA0Bes4C,8EAAf,E;;;;AC1BA;AAEA;;;;oCAG6Bj5C,EAAE,CAACK,O;IAAzB+B,qC,iCAAAA,Q;IAAUyE,2B,iCAAAA,Q;IACV3E,6B,GAAMlC,EAAE,CAACmC,I,CAATD,E;AAEP;IAGCM,8C,GACGxC,EAAE,CAACyC,W,CADND,iB;iDAYGxC,EAAE,CAACqC,U;IARNC,sC,8CAAAA,S;IACAoM,yC,8CAAAA,Y;IACAo3B,wC,8CAAAA,W;IACA4T,e,8CAAAA,e;IACAvoC,0C,8CAAAA,a;IACAwoC,K,8CAAAA,K;IACArpC,mC,8CAAAA,M;IACAspC,Y,8CAAAA,Y;;AAGD,IAAMC,6CAA0B,GAAG,SAA7BA,0BAA6B,CAAUz4C,KAAV,EAAkB;AAAA,0BAehDA,KAfgD,CAEnDT,UAFmD;AAAA,MAGlD+kC,cAHkD,qBAGlDA,cAHkD;AAAA,MAIlDhM,IAJkD,qBAIlDA,IAJkD;AAAA,MAKlDwf,UALkD,qBAKlDA,UALkD;AAAA,MAMlDC,UANkD,qBAMlDA,UANkD;AAAA,MAOlDC,QAPkD,qBAOlDA,QAPkD;AAAA,MAQlDC,UARkD,qBAQlDA,UARkD;AAAA,MASlDC,WATkD,qBASlDA,WATkD;AAAA,MAUlDC,oBAVkD,qBAUlDA,oBAVkD;AAAA,MAWlDC,cAXkD,qBAWlDA,cAXkD;AAAA,MAYlDC,YAZkD,qBAYlDA,YAZkD;AAAA,MAcnDp4C,aAdmD,GAehDD,KAfgD,CAcnDC,aAdmD;AAiBpD,MAAMy4C,iBAAiB,GAAG,iEAA1B;;AAEA,MAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAAA,oBACJlzC,2BAAQ,CAAE,KAAF,CADJ;AAAA;AAAA,QACxB4nB,MADwB;AAAA,QAChBtkB,OADgB;;AAEhC,QAAM6vC,SAAS,GAAG,SAAZA,SAAY;AAAA,aAAM7vC,OAAO,CAAE,IAAF,CAAb;AAAA,KAAlB;;AACA,QAAM8vC,UAAU,GAAG,SAAbA,UAAa;AAAA,aAAM9vC,OAAO,CAAE,KAAF,CAAb;AAAA,KAAnB;;AAEA,WACC,yCAAC,qCAAD,QACC,yCAAC,mCAAD;AAAQ,eAAS,EAAE,mBAAnB;AAAwC,YAAM,MAA9C;AAA+C,aAAO,EAAG6vC;AAAzD,4BADD,EAEGvrB,MAAM,IACP,yCAAC,KAAD;AACC,oBAAc,EAAGwrB,UADlB;AAEC,sBAAgB,EAAK,IAFtB;AAGC,+BAAyB,EAAK,IAH/B;AAIC,eAAS,EAAG;AAJb,MAHF,CADD;AAcA,GAnBD;;AAqBA,MAAMC,0BAA0B,GAC/B,yCAAC,qCAAD,QACC,yCAAC,YAAD;AAAc,QAAI,EAAEJ;AAApB,KACG53C,6BAAE,CAAE,kCAAF,EAAsC,eAAtC,CADL,CADD,CADD;AAQA,SAEC,yCAAC,qCAAD,QACC,yCAAC,gCAAD;AAAiB,SAAK,EAAGA,6BAAE,CAAE,OAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,6BAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,eAAD;AACC,OAAG,EAAG,6BADP;AAEC,SAAK,EAAGA,6BAAE,CAAE,4DAAF,CAFX;AAGC,SAAK,EAAGw3B,IAHT;AAIC,aAAS,EAAG,eAJb;AAKC,YAAQ,EAAE,kBAAEA,IAAF;AAAA,aAAYr4B,aAAa,CAAE;AACpCq4B,YAAI,EAAJA,IADoC;AAEpCwf,kBAAU,EAAEjb,YAAY,CAAEvE,IAAF;AAFY,OAAF,CAAzB;AAAA;AALX,IADD,EAWC;AAAK,aAAS,EAAC;AAAf,KACGx3B,6BAAE,CAAE,wBACA,4BADA,GAEA,gBAFF,EAEoB,eAFpB,CADL,CAXD,CADD,CADD,EAoBC,yCAAC,gCAAD;AAAiB,SAAK,EAAGA,6BAAE,CAAE,SAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,6BAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,yCAAD;AACC,OAAG,EAAG,4BADP;AAEC,SAAK,EAAGA,6BAAE,CAAE,8BAAF,EAAkC,eAAlC,CAFX;AAGC,SAAK,EAAGwjC,cAHT;AAIC,YAAQ,EAAGA,cAJZ;AAKC,WAAO,EAAG,CACT;AAAE5iC,WAAK,EAAE,UAAT;AAAqBD,WAAK,EAAE;AAA5B,KADS,EAET;AAAEC,WAAK,EAAE,gBAAT;AAA2BD,WAAK,EAAE;AAAlC,KAFS,CALX;AASC,YAAQ,EAAG,kBAAEs3C,kBAAF;AAAA,aAA0B94C,aAAa,CAAE;AAAEqkC,sBAAc,EAAEyU;AAAlB,OAAF,CAAvC;AAAA;AATZ,IADD,EAcGzU,cAAc,KAAK,QAAnB,IAA+B;AAAK,aAAS,EAAC;AAAf,kFAdlC,EAkBGA,cAAc,KAAK,QAAnB,IAA+B,yCAAC,kBAAD,OAlBlC,EAoBGA,cAAc,KAAK,QAAnB,IAA+B,yCAAC,wCAAD;AAChC,SAAK,EAAC,WAD0B;AAEhC,SAAK,EAAG0T,QAFwB;AAGhC,YAAQ,EAAE,kBAAEA,QAAF;AAAA,aAAgB/3C,aAAa,CAAE;AAAC+3C,gBAAQ,EAARA;AAAD,OAAF,CAA7B;AAAA;AAHsB,IApBlC,EA0BG1T,cAAc,KAAK,QAAnB,IAA+B;AAAK,aAAS,EAAC;AAAf,KAC9BxjC,6BAAE,CAAE,0DAAF,EAA8D,eAA9D,CAD4B,CA1BlC,EA8BGwjC,cAAc,KAAK,QAAnB,IAA+B;AAAK,aAAS,EAAC;AAAf,KAC9BxjC,6BAAE,CAAE,oCAAF,EAAwC,eAAxC,CAD4B,CA9BlC,EAkCGwjC,cAAc,KAAK,QAAnB,IAA+B,yCAAC,wCAAD;AAChC,SAAK,EAAC,aAD0B;AAEhC,SAAK,EAAG2T,UAFwB;AAGhC,YAAQ,EAAE,kBAAEA,UAAF;AAAA,aAAkBh4C,aAAa,CAAE;AAACg4C,kBAAU,EAAVA;AAAD,OAAF,CAA/B;AAAA;AAHsB,IAlClC,EAwCG3T,cAAc,KAAK,QAAnB,IAA+B;AAAK,aAAS,EAAC;AAAf,KAC9BxjC,6BAAE,CAAE,gEAAF,EAAoE,eAApE,CAD4B,CAxClC,EA4CGwjC,cAAc,KAAK,QAAnB,IAA+B;AAAK,aAAS,EAAC;AAAf,KAC9BxjC,6BAAE,CAAE,4BAAF,EAAgC,eAAhC,CAD4B,CA5ClC,EAiDGwjC,cAAc,KAAK,UAAnB,IAAiC,yCAAC,wCAAD;AAClC,SAAK,EAAC,cAD4B;AAElC,SAAK,EAAG4T,WAF0B;AAGlC,YAAQ,EAAE,kBAAEA,WAAF;AAAA,aAAmBj4C,aAAa,CAAE;AAACi4C,mBAAW,EAAXA;AAAD,OAAF,CAAhC;AAAA;AAHwB,IAjDpC,EAuDG5T,cAAc,KAAK,UAAnB,IAAiC,yCAAC,0CAAD;AAClC,SAAK,EAAGxjC,6BAAE,CAAE,wBAAF,EAA4B,eAA5B,CADwB;AAElC,WAAO,EAAGq3C,oBAFwB;AAGlC,YAAQ,EAAG;AAAA,aAAMl4C,aAAa,CAAE;AAAEk4C,4BAAoB,EAAE,CAAEA;AAA1B,OAAF,CAAnB;AAAA;AAHuB,IAvDpC,EA6DG7T,cAAc,KAAK,UAAnB,IAAiC,yCAAC,0CAAD;AAClC,SAAK,EAAGxjC,6BAAE,CAAE,kBAAF,EAAsB,eAAtB,CADwB;AAElC,WAAO,EAAGs3C,cAFwB;AAGlC,YAAQ,EAAG;AAAA,aAAMn4C,aAAa,CAAE;AAAEm4C,sBAAc,EAAE,CAAEA;AAApB,OAAF,CAAnB;AAAA;AAHuB,IA7DpC,EAmEI9T,cAAc,KAAK,UAAnB,IAAiC,yCAAC,0CAAD;AACnC,SAAK,EAAGxjC,6BAAE,CAAE,oBAAF,EAAwB,eAAxB,CADyB;AAEnC,WAAO,EAAGu3C,YAFyB;AAGnC,YAAQ,EAAG;AAAA,aAAMp4C,aAAa,CAAE;AAAEo4C,oBAAY,EAAE,CAAEA;AAAlB,OAAF,CAAnB;AAAA;AAHwB,IAnErC,EAyEC,yCAAC,wCAAD;AACC,SAAK,EAAC,aADP;AAEC,SAAK,EAAGN,UAFT;AAGC,QAAI,EAAKe,0BAHV;AAIC,YAAQ,EAAE,kBAAEf,UAAF;AAAA,aAAkB93C,aAAa,CAAE;AAAC83C,kBAAU,EAAVA;AAAD,OAAF,CAA/B;AAAA;AAJX,IAzED,CADD,CApBD,CAFD;AA2GA,CA3JD;;AA6JeU,8GAAf,E;;;ACtLA;AACA;AAEA;;;;IAGOz3C,uB,GAAYpC,EAAE,CAACK,O,CAAf+B,Q;;AAEP,IAAMg4C,cAAS,GAAG,SAAZA,SAAY,CAAUh5C,KAAV,EAAkB;AACnC,SACC,yCAAC,uBAAD,QACC,yCAAC,4BAAD,EAAwBA,KAAxB,CADD,EAEC,yCAAC,iBAAD,EAAuBA,KAAvB,CAFD,CADD;AAMA,CAPD;;AASeg5C,iEAAf,E;;ACjBA;;;AAGA;AACA;AAEA;;;;IAGQl4C,U,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,2B,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;AAER,SAASK,cAAT,GAAgB;AACfL,6BAAiB,CAAC,sBAAD,EAAyB;AACzCr9B,SAAK,EAAElF,UAAE,CAAC,WAAD,EAAc,eAAd,CADgC;AAEzCkS,eAAW,EAAElS,UAAE,CAAC,8CAAD,EAAiD,eAAjD,CAF0B;AAGzC8wB,YAAQ,EAAE,aAH+B;AAIzCtW,QAAI,EAAE8N,SAJmC;AAKzCoZ,QAAI,EAAE,gBAAW,CAAE,CALsB;AAMzCsB,QAAI,EAAJA,cAAIA;AANqC,GAAzB,CAAjB;AAQA;;AAEcJ,mEAAf,E;;;;;ACvBA;;;AAIA;AACA;IAEQ5iC,U,GAAOlC,EAAE,CAACmC,I,CAAVD,E;+BAKJlC,EAAE,CAACyC,W;IAFN+iC,qB,4BAAAA,W;IACAxC,gB,4BAAAA,W;;AAGD,IAAMqX,aAAQ,GAAG,SAAXA,QAAW,CAAEj5C,KAAF,EAAa;AAE7B,MAAM8c,cAAc,GAAG,iBAAvB;AAF6B,0BAuBzB9c,KAvByB,CAK5BT,UAL4B;AAAA,MAM3BgD,KAN2B,qBAM3BA,KAN2B;AAAA,MAO3ByD,KAP2B,qBAO3BA,KAP2B;AAAA,MAQ3B2W,QAR2B,qBAQ3BA,QAR2B;AAAA,MAS3B3J,WAT2B,qBAS3BA,WAT2B;AAAA,MAU3B/E,KAV2B,qBAU3BA,KAV2B;AAAA,MAW3BirC,IAX2B,qBAW3BA,IAX2B;AAAA,MAa3B/8B,YAb2B,qBAa3BA,YAb2B;AAAA,MAc3Bg9B,SAd2B,qBAc3BA,SAd2B;AAAA,MAe3BC,SAf2B,qBAe3BA,SAf2B;AAAA,MAgB3BC,YAhB2B,qBAgB3BA,YAhB2B;AAAA,MAiB3BhE,eAjB2B,qBAiB3BA,eAjB2B;AAAA,MAkB3BiE,WAlB2B,qBAkB3BA,WAlB2B;AAAA,MAmB3BC,QAnB2B,qBAmB3BA,QAnB2B;AAAA,MAqB5B13C,SArB4B,GAuBzB7B,KAvByB,CAqB5B6B,SArB4B;AAAA,MAsB5B5B,aAtB4B,GAuBzBD,KAvByB,CAsB5BC,aAtB4B;;AAyB7B,MAAMu5C,SAAS,GAAG,SAAZA,SAAY,CAAEx5C,KAAF,EAAa;AAAA;;AAAA,QAI5BiO,KAJ4B,GAO1BjO,KAP0B,CAG7BT,UAH6B,CAI5B0O,KAJ4B;AAAA,QAM7BnF,IAN6B,GAO1B9I,KAP0B,CAM7B8I,IAN6B;AAS9B,QAAM2wC,QAAQ,GAAG,CAAAxrC,KAAK,SAAL,IAAAA,KAAK,WAAL,4BAAAA,KAAK,CAAEoE,KAAP,uFAAcS,iBAAd,gFAAiCb,GAAjC,MAAwChE,KAAxC,aAAwCA,KAAxC,wCAAwCA,KAAK,CAAEoE,KAA/C,2EAAwC,cAAcQ,gBAAtD,0DAAwC,sBAAgCZ,GAAxE,MAA+EhE,KAA/E,aAA+EA,KAA/E,uBAA+EA,KAAK,CAAEgE,GAAtF,CAAjB;;AAEA,QAAK,CAAC,CAAEwnC,QAAR,EAAmB;AAClB,aAAO;AAAK,iBAAS,YAAO38B,cAAP,kBAAd;AAAsD,WAAG,EAAG28B,QAA5D;AAAuE,eAAO,EAAG3wC;AAAjF,QAAP;AACA;;AAED,WACC;AAAK,eAAS,YAAOgU,cAAP,wBAAd;AAA4D,aAAO,EAAGhU;AAAtE,OACGsgB,WADH,CADD;AAKA,GApBD;;AAsBA,SACC;AAAK,aAAS,YAAOtM,cAAP,cAA2Bjb,SAA3B;AAAd,KACC;AAAK,aAAS,EAAC;AAAf,KAEEs3C,SAAS,IACT;AAAK,aAAS,YAAOr8B,cAAP;AAAd,KACC;AAAK,aAAS,YAAOA,cAAP;AAAd,KACC;AAAK,aAAS,YAAOA,cAAP;AAAd,KACC,uDAAQhc,UAAE,CAAE,cAAF,EAAkB,eAAlB,CAAV,CADD,CADD,EAIC,yCAAC,gBAAD;AACC,QAAI,EAAC,OADN;AAEC,SAAK,EAAG,CAAC,CAAEmN,KAAH,IAAYA,KAAK,CAAC+D,EAF3B;AAGC,YAAQ,EAAG,kBAAE/D,KAAF;AAAA,aAAahO,aAAa,CAAE;AAAEgO,aAAK,EAALA;AAAF,OAAF,CAA1B;AAAA,KAHZ;AAIC,UAAM,EAAG;AAAA,UAAInF,IAAJ,QAAIA,IAAJ;AAAA,aACR,yCAAC,SAAD,wBAAgB9I,KAAhB;AAAwB,YAAI,EAAG8I;AAA/B,SADQ;AAAA;AAJV,IAJD,CADD,CAHF,EAoBEywC,QAAQ,IACR,yCAAC,aAAD;AACC,aAAS,YAAOz8B,cAAP,wDADV;AAEC,WAAO,EAAG,GAFX;AAGC,SAAK,EAAEo8B,IAHR;AAIC,YAAQ,EAAE,kBAAAA,IAAI,EAAI;AACjBj5C,mBAAa,CAAE;AAACi5C,YAAI,EAAJA;AAAD,OAAF,CAAb;AACA;AANF,IArBF,EA+BEE,SAAS,IACT,yCAAC,aAAD;AACC,aAAS,YAAKt8B,cAAL,2CADV;AAEC,WAAO,aAAMva,KAAK,GAAG,CAAd,CAFR;AAGC,SAAK,EAAEyD,KAHR;AAIC,YAAQ,EAAE,kBAAAA,KAAK,EAAI;AAClB/F,mBAAa,CAAE;AAAC+F,aAAK,EAALA;AAAD,OAAF,CAAb;AACA;AANF,IAhCF,EAyCEqzC,YAAY,IACZ,yCAAC,aAAD;AACC,aAAS,YAAOv8B,cAAP,8CADV;AAEC,WAAO,aAAOva,KAAK,GAAG,CAAf,CAFR;AAGC,SAAK,EAAEoa,QAHR;AAIC,YAAQ,EAAE,kBAAAA,QAAQ,EAAI;AACrB1c,mBAAa,CAAE;AAAC0c,gBAAQ,EAARA;AAAD,OAAF,CAAb;AACA;AANF,IA1CF,EAoDE04B,eAAe,IACf,yCAAC,aAAD;AACC,aAAS,YAAOv4B,cAAP,iDADV;AAEC,WAAO,EAAG,GAFX;AAGC,SAAK,EAAE9J,WAHR;AAIC,YAAQ,EAAE,kBAAAA,WAAW,EAAI;AACxB/S,mBAAa,CAAE;AAAC+S,mBAAW,EAAXA;AAAD,OAAF,CAAb;AACA;AANF,IArDF,EA+DEsmC,WAAW,IACX;AAAK,aAAS,YAAOx8B,cAAP;AAAd,KACC,yCAAC,qBAAD;AACC,iBAAa,EAAG,CAAE,cAAF,CADjB;AAEC,kBAAc,EAAG,KAFlB;AAGC,YAAQ,EAAG,CACV,CAAE,cAAF,EAAkB;AAAE+M,WAAK,EAAE1N;AAAT,KAAlB,EACC,CAAE,CAAE,aAAF,EAAiB;AAAEmc,UAAI,EAAE,QAAR;AAAkBz2B,eAAS,EAAE;AAA7B,KAAjB,CAAF,CADD,CADU;AAHZ,IADD,CAhEF,CADD,CADD;AAiFA,CAhID;;AAkIeo3C,2DAAf,E;;;IChJQ7U,qB,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;AAEO,0DAAM;AACpB,SAAO,yCAAC,qBAAD,CAAa,OAAb,OAAP;AACA,CAFD,E;;;;;;;;;;;ACFA;AAEA;AAEA,IAAM/B,0BAAU,GAAG,EAAnB;AAEAA,0BAAU,CAAC39B,IAAX,CAAgB;AACfnF,YAAU,EAAVA,eADe;AAEf+iC,YAFe,sBAEH/iC,UAFG,EAESuuB,WAFT,EAEuB;AACrC,WAAO,gBAAgB,OAAOvuB,UAAU,CAACkjC,iBAAzC;AACA,GAJc;AAKfF,SALe,mBAKNhjC,UALM,EAKMuuB,WALN,EAKoB;AAClC,yEACIvuB,UADJ;AAECkjC,uBAAiB,EAAE;AAFpB;AAIA,GAVc;AAWfD,MAAI,EAAJA,SAAIA;AAXW,CAAhB;AAceH,8EAAf,E;;;;;ACpBA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;IAGQvhC,K,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,sB,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;;SAEOR,mB;;;;;mGAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACiCrvB,oBAAoB,EADrD;;AAAA;AACO+vB,6BADP;AAEOmW,uBAFP,GAEqB5lC,uBAAuB,CAAEyvB,iBAAF,EAAqB,CAArB,CAAvB,CAAgD,CAAhD,CAFrB;;AAIC,gBAAK,QAAOmW,WAAP,aAAOA,WAAP,uBAAOA,WAAW,CAAErmC,QAApB,MAAiC,UAAtC,EAAmD;AAClDqmC,yBAAW,CAACrmC,QAAZ;AACA;;AANF,6CAQQ;AACNpF,mBAAK,EAAEyrC;AADD,aARR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAaA,SAAShW,SAAT,GAAgB;AAEfC,mBAAgB,CAAE,iBAAF,EAAqBd,mBAArB,CAAhB;AAEAQ,wBAAiB,CAAE,iBAAF,EAAqB;AACrCr9B,SAAK,EAAElF,KAAE,CAAE,MAAF,EAAU,eAAV,CAD4B;AAErCkS,eAAW,EAAElS,KAAE,CAAE,mGAAF,EAAuG,eAAvG,CAFsB;AAGrC8wB,YAAQ,EAAE,aAH2B;AAIrCtb,UAAM,EAAE,CAAE,6BAAF,CAJ6B;AAKrCgF,QAAI,EAAE8N,IAL+B;AAMrCya,YAAQ,EAAE,CAAE/iC,KAAE,CAAE,iBAAF,EAAqB,eAArB,CAAJ,CAN2B;AAOrCvB,cAAU,EAAVA,eAPqC;AAQrC8iC,cAAU,EAAVA,eARqC;AASrCyB,QAAI,EAAJA,SATqC;AAUrCtB,QAAI,EAAJA,SAAIA;AAViC,GAArB,CAAjB;AAYA;;AAEckB,yDAAf,E;;;;AChDA;AAEA;;;;uCAMI9kC,EAAE,CAACK,O;IAFND,+B,oCAAAA,S;IACAgC,8B,oCAAAA,Q;IAIArC,gD,GACGC,EAAE,CAACC,O,CADNF,0B;IAGOmC,sB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGPsjC,iC,GACGxlC,EAAE,CAACyC,W,CADN+iC,W;oCAOGxlC,EAAE,CAACwB,I;IAHND,4B,iCAAAA,M;IACAke,8B,iCAAAA,Q;IACA/c,gC,iCAAAA,U;AAGD,IAAM8sB,mBAAc,GAAG,CAAE,iBAAF,CAAvB;AACA,IAAMurB,yBAAyB,GAAG,CACjC,CAAE,iBAAF,CADiC,EAEjC,CAAE,iBAAF,CAFiC,EAGjC,CAAE,iBAAF,CAHiC,CAAlC;;AAMA,IAAMC,wBAAmB,GAAG,SAAtBA,mBAAsB,CAAE55C,KAAF,EAAa;AAAA,MAGvC8tB,WAHuC,GAIpC9tB,KAJoC,CAGvC8tB,WAHuC;AAMxC,MAAMjR,WAAW,GAAG,CAAC,CAAEiR,WAAH,IAAkBA,WAAW,CAAC1nB,MAAZ,GAAqB,CAA3D;AAEA,SACC,yCAAC,8BAAD,QACC,yCAAC,qBAAD;AAAY,eAAW,EAAGyW;AAA1B,KAA6C7c,KAA7C,GACC,yCAAC,iCAAD;AACC,iBAAa,EAAGouB,mBADjB;AAEC,YAAQ,EAAGurB,yBAFZ;AAGC,kBAAc,EAAG98B,WAAW,GAAG9L,MAAM,CAAC+Y,SAAV,GAAsB;AAHnD,IADD,CADD,CADD;AAWA,CAnBD;;AAqBA,IAAM+vB,kCAAkC,GAAGl7C,gDAA0B,CAAE,UAAEs3C,cAAF,EAAsB;AAC5F,SAAO,UAAEj2C,KAAF,EAAa;AACnB,QAAK,kCAAkCA,KAAK,CAACV,IAA7C,EAAoD;AAAA,UAC3CY,QAD2C,GAClBF,KADkB,CAC3CE,QAD2C;AAAA,UACjCX,UADiC,GAClBS,KADkB,CACjCT,UADiC;;AAAA,oBAE9BY,4BAAM,CAAE,mBAAF,CAFwB;AAAA,UAE3Cge,QAF2C,WAE3CA,QAF2C;;AAAA,sBAGjBE,8BAAQ,CAAE,mBAAF,CAHS;AAAA,UAG3CC,qBAH2C,aAG3CA,qBAH2C;;AAInD,UAAMw7B,UAAU,GAAG37B,QAAQ,CAAEje,QAAF,CAA3B;AACA,UAAM65C,KAAK,GAAGD,UAAU,CAAChsB,WAAzB;;AAEA,UAAM1V,aAAa,GAClB;AAAA,YAAI7V,KAAJ,QAAIA,KAAJ;AAAA,YAAW4Z,YAAX,QAAWA,YAAX;AAAA,YAAyBg9B,SAAzB,QAAyBA,SAAzB;AAAA,YAAoCC,SAApC,QAAoCA,SAApC;AAAA,YAA+CC,YAA/C,QAA+CA,YAA/C;AAAA,YAA6DhE,eAA7D,QAA6DA,eAA7D;AAAA,YAA8EiE,WAA9E,QAA8EA,WAA9E;AAAA,YAA2FC,QAA3F,QAA2FA,QAA3F;AAAA,eACC;AAAEh3C,eAAK,EAALA,KAAF;AAAS4Z,sBAAY,EAAZA,YAAT;AAAuBg9B,mBAAS,EAATA,SAAvB;AAAkCC,mBAAS,EAATA,SAAlC;AAA6CC,sBAAY,EAAZA,YAA7C;AAA2DhE,yBAAe,EAAfA,eAA3D;AAA4EiE,qBAAW,EAAXA,WAA5E;AAAyFC,kBAAQ,EAARA;AAAzF,SADD;AAAA,OADqB,CAInBh6C,UAJmB,CAAtB;;AAMAw6C,WAAK,CAACz1C,OAAN,CAAe,UAAAlF,KAAK,EAAI;AACvBkf,6BAAqB,CAAElf,KAAK,CAACc,QAAR,EAAkBkY,aAAlB,CAArB;;AAEA,YAAKrU,KAAK,CAACC,OAAN,CAAe5E,KAAK,CAAC0uB,WAArB,CAAL,EAA0C;AACzC1uB,eAAK,CAAC0uB,WAAN,CAAkBxpB,OAAlB,CAA2B,UAAA6xC,UAAU,EAAI;AACxC73B,iCAAqB,CAAE63B,UAAU,CAACj2C,QAAb,EAAuB;AAC3C2pB,mBAAK,EAAEzR,aAAa,CAAC+D;AADsB,aAAvB,CAArB;AAGA,WAJD;AAKA;AACD,OAVD;AAWA;;AACD,WAAO,yCAAC,cAAD,EAAqBnc,KAArB,CAAP;AACA,GA3BD;AA4BA,CA7BoE,EA6BlE,oCA7BkE,CAArE;AA+BApB,EAAE,CAACG,KAAH,CAASD,SAAT,CAAoB,uBAApB,EAA6C,kDAA7C,EAAiG+6C,kCAAjG;AAEeD,kFAAf,E;;;;ACvFA;;;AAGA;AACA;AAEA;;;;IAGQ94C,iB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,kC,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;IACAe,4B,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;;AAER,SAASV,qBAAT,GAAgB;AACfL,oCAAiB,CAAE,6BAAF,EAAiC;AACjDr9B,SAAK,EAAElF,iBAAE,CAAE,kBAAF,EAAsB,eAAtB,CADwC;AAEjDkS,eAAW,EAAElS,iBAAE,CAAE,kEAAF,EAAsE,eAAtE,CAFkC;AAGjD8wB,YAAQ,EAAE,aAHuC;AAIjDtW,QAAI,EAAE8N,IAJ2C;AAKjDya,YAAQ,EAAE,CAAE/iC,iBAAE,CAAE,MAAF,EAAU,eAAV,CAAJ,EAAiCA,iBAAE,CAAE,SAAF,EAAa,eAAb,CAAnC,EAAmEA,iBAAE,CAAE,YAAF,EAAgB,eAAhB,CAArE,EAAwGA,iBAAE,CAAE,OAAF,EAAW,eAAX,CAA1G,CALuC;AAMjDgjC,QAAI,EAAJA,qBANiD;AAOjDtB,QAPiD,kBAO1C;AACN,aAAO,yCAAC,4BAAD,CAAa,OAAb,OAAP;AACA,KATgD;AAUjDgC,uBAViD,iCAU3B;AACrB,UAAMxhC,QAAQ,GAAGpE,EAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,EAAsCgD,WAAtC,EAAjB;AACA,aAAOH,QAAQ,CAACgvC,SAAT,GAAqB;AAAE,sBAAc;AAAhB,OAArB,GAAgD,EAAvD;AACA;AAbgD,GAAjC,CAAjB;AAeA;;AAEctO,0EAAf,E;;;;;;;;;AC/BA;IAGCpiC,gB,GACG1C,EAAE,CAACwB,I,CADNkB,U;;AAGD,IAAMk4C,eAAS,GAAG,SAAZA,SAAY,OAAgB;AAAA,MAAZ9oB,IAAY,QAAZA,IAAY;AAAA,MACzBspB,kBADyB,GACFtpB,IADE,CACzBspB,kBADyB;;AAGjC,MAAK,CAAC,CAAEA,kBAAR,EAA6B;AAC5B,WAAO;AAAK,eAAS,gCAAd;AAAgD,SAAG,EAAGA;AAAtD,MAAP;AACA;;AAED,SAAO;AAAK,aAAS;AAAd,KAAwD5wB,WAAxD,CAAP;AACA,CARD;;AAUe9nB,2EAAU,CAAE,UAAEnB,MAAF,EAAUuD,QAAV,EAAwB;AAAA,gBAC7BvD,MAAM,CAAE,MAAF,CADuB;AAAA,MAC1C85C,QAD0C,WAC1CA,QAD0C;;AAAA,MAE1CvpB,IAF0C,GAEjChtB,QAFiC,CAE1CgtB,IAF0C;;AAIlD,MAAK,CAAEA,IAAI,CAACwpB,cAAZ,EAA6B;AAC5B,WAAO,EAAP;AACA;;AAED,MAAMC,kBAAkB,GAAGF,QAAQ,CAAEvpB,IAAI,CAACwpB,cAAP,CAAnC;AACA,MAAMF,kBAAkB,GAAGG,kBAAkB,GAAGA,kBAAkB,CAACC,UAAtB,GAAmC,IAAhF;AAEA,SAAO;AACN1pB,QAAI,EAAE,4EACFA,IADA;AAEHspB,wBAAkB,EAAlBA;AAFG;AADE,GAAP;AAMA,CAjBwB,CAAV,CAiBVR,eAjBU,CAAf,E;;;;;;;;;;;;;;AChBA;AAEA;AACA;AACA;UAEqB56C,E;IAAbqxB,a,OAAAA,Q;IAGPpxB,6B,GACGD,EAAE,CAACC,O,CADNA,O;2CAOGD,EAAE,CAACyC,W;IAHNigC,c,wCAAAA,S;IACA3lB,8B,wCAAAA,Q;IACAva,uC,wCAAAA,iB;IAGON,sB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;eAMJlC,EAAE,CAACy7C,I;IAHNC,yB,YAAAA,yB;IACAC,Q,YAAAA,Q;IACAC,M,YAAAA,M;0CAQG57C,EAAE,CAACqC,U;IAJNC,+B,uCAAAA,S;IACAujC,gB,uCAAAA,W;IACAp3B,iB,uCAAAA,Y;IACA4+B,6B,uCAAAA,O;uCAOGrtC,EAAE,CAACK,O;IAHND,+B,oCAAAA,S;IACAgC,8B,oCAAAA,Q;IACAy5C,Y,oCAAAA,O;;IAGKC,a;;;;;AAEL,sBAAc;AAAA;;AAAA;;AACb,+BAAU36C,SAAV;AAEA,UAAKkD,KAAL,GAAa;AACZ3D,UAAI,EAAE;AADM,KAAb;AAHa;AAMb;;;;wCAEmB;AAAA;;AAAA,UACX0S,EADW,GACJ,KAAKhS,KADD,CACXgS,EADW;AAGnB,WAAK2oC,cAAL,GAAsB,IAAtB;AACA,WAAKC,YAAL,GAAoB3qB,aAAQ,CAAE;AAC7BhF,YAAI,8BAAuBjZ,EAAvB;AADyB,OAAF,CAAR,CAGnBN,IAHmB,CAGb,UAAEkgB,QAAF,EAAgB;AACrB,YAAK,MAAI,CAAC+oB,cAAV,EAA2B;AAC1B,gBAAI,CAACj1B,QAAL,CAAe;AAAEpmB,gBAAI,EAAEsyB,QAAQ,CAACtyB;AAAjB,WAAf;AACA;AACD,OAPkB,EAQlBowB,KARkB,CAQX,YAAM,CAAE,CARG,CAApB;AASA;;;2CAEsB;AACtB,WAAKirB,cAAL,GAAsB,KAAtB;AACA;;;6BAEQ;AACR,aAAO,KAAK13C,KAAL,CAAW3D,IAAlB;AACA;;;;EA/BqBN,+B;;AAkCvB,IAAM67C,cAAS,GAAG,SAAZA,SAAY,CAAE76C,KAAF,EAAa;AAAA,MAG7BT,UAH6B,GAS1BS,KAT0B,CAG7BT,UAH6B;AAAA,MAI7BU,aAJ6B,GAS1BD,KAT0B,CAI7BC,aAJ6B;AAAA,MAK7B4B,SAL6B,GAS1B7B,KAT0B,CAK7B6B,SAL6B;AAAA,MAM7B4uB,KAN6B,GAS1BzwB,KAT0B,CAM7BywB,KAN6B;AAAA,MAO7BvwB,QAP6B,GAS1BF,KAT0B,CAO7BE,QAP6B;AAAA,MAQ7BwzB,oBAR6B,GAS1B1zB,KAT0B,CAQ7B0zB,oBAR6B;AAAA,MAY7BonB,OAZ6B,GAoB1Bv7C,UApB0B,CAY7Bu7C,OAZ6B;AAAA,MAa7Bv4C,KAb6B,GAoB1BhD,UApB0B,CAa7BgD,KAb6B;AAAA,MAc7B+2C,WAd6B,GAoB1B/5C,UApB0B,CAc7B+5C,WAd6B;AAAA,MAe7BjE,eAf6B,GAoB1B91C,UApB0B,CAe7B81C,eAf6B;AAAA,MAgB7B8D,SAhB6B,GAoB1B55C,UApB0B,CAgB7B45C,SAhB6B;AAAA,MAiB7BI,QAjB6B,GAoB1Bh6C,UApB0B,CAiB7Bg6C,QAjB6B;AAAA,MAkB7BH,SAlB6B,GAoB1B75C,UApB0B,CAkB7B65C,SAlB6B;AAAA,MAmB7BC,YAnB6B,GAoB1B95C,UApB0B,CAmB7B85C,YAnB6B;AAsB9B,MAAM0B,QAAQ,GAAGh3C,KAAK,CAACC,OAAN,CAAeysB,KAAf,KAA0BA,KAAK,CAACrqB,MAAjD;AACA,MAAM40C,YAAY,cAAQz4C,KAAK,GAAG,CAAhB,CAAlB;AACA,MAAM04C,eAAe,cAAQ14C,KAAK,GAAG,CAAhB,CAArB;;AACA,MAAM24C,UAAU,GAAGZ,yBAAyB,GAAGa,OAA5B,CAAoCd,IAAvD;;AAEA3mB,sBAAoB,CAAExzB,QAAF,EAAYuwB,KAAZ,CAApB;AAEA,SACC,yCAAC,8BAAD,QACC,yCAAC,gCAAD;AAAiB,SAAK,EAAG3vB,sBAAE,CAAE,SAAF,CAA3B;AAA2C,YAAQ,EAAG;AAAtD,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,sBAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,iBAAD;AACC,OAAG,EAAG,mCADP;AAEC,SAAK,EAAGg6C,OAFT;AAGC,YAAQ,EAAG,kBAAEA,OAAF;AAAA,aAAe76C,aAAa,CAAE;AAAE66C,eAAO,EAAPA;AAAF,OAAF,CAA5B;AAAA,KAHZ;AAIC,SAAK,EAAGh6C,sBAAE,CAAE,SAAF,CAJX;AAKC,OAAG,EAAG,CALP;AAMC,OAAG,EAAG;AANP,IADD,CADD,CADD,EAaC,yCAAC,qBAAD;AAAY,eAAW,EAAG;AAA1B,KAAuCd,KAAvC,GACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC;AAAf,KAEE,CAAC,CAAEywB,KAAH,IAAYA,KAAK,CAAC9pB,GAAN,CAAW,UAAE+pB,IAAF,EAAQyO,GAAR,EAAiB;AAEvC,QAAMnzB,KAAK,GAAG;AACb,mBAAa8uC;AADA,KAAd;AAIA,WACC;AAAK,eAAS,8EAAd;AAAgG,SAAG,EAAG3b,GAAtG;AAA4G,WAAK,EAAGnzB;AAApH,OAEEmtC,SAAS,IACT;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,eAAS,EAAC;AAAf,OACC,yCAAC,sBAAD;AAAW,UAAI,EAAGzoB;AAAlB,MADD,CADD,CADD,CAHF,EAYE6oB,QAAQ,IACR;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,eAAS,EAAC;AAAf,OACE;AAAM,cAAQ,EAAGiB,MAAM,CAAE,GAAF,EAAO9pB,IAAI,CAAC0qB,QAAZ;AAAvB,OACGb,QAAQ,CAAEW,UAAF,EAAcxqB,IAAI,CAAC0qB,QAAnB,CADX,CADF,CADD,CAbF,EAsBEhC,SAAS,IACT;AAAK,eAAS,EAAC;AAAf,OACC,yCAAC,YAAD;AAAc,eAAS,EAAC;AAAxB,OAAmD1oB,IAAI,CAAC1qB,KAAL,CAAWq1C,GAA9D,CADD,CAvBF,EA4BEhC,YAAY,IACZ3oB,IAAI,CAACiB,UAAL,CAAgBvrB,MADhB,IAEA;AAAK,eAAS,EAAC;AAAf,OACC,yCAAC,eAAD;AAAiB,eAAS,EAAC;AAA3B,OACC,yCAAC,aAAD;AAAU,QAAE,EAAGsqB,IAAI,CAACiB,UAAL,CAAgB,CAAhB;AAAf,MADD,CADD,CA9BF,EAqCE0jB,eAAe,IACf,yCAAC,YAAD;AAAS,eAAS,EAAC;AAAnB,OACG3kB,IAAI,CAAC4qB,OAAL,CAAaxqB,QADhB,CAtCF,EA2CEwoB,WAAW,IACX;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,WAAK,EAAC;AAAX,OACC;AAAK,eAAS,EAAC;AAAf,OACC;AAAK,eAAS,EAAC;AAAf,mBADD,CADD,CADD,CADD,CA5CF,CADD;AAyDA,GA/DW,CAFd,CADD,CADD,CAbD,CADD;AAwFA,CArHD;;AAuHeuB,wEAAf,E;;;;AChMA;;;AAGA;AACA;AAEA;;;;IAGQ/5C,iB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAuiC,kC,GAAsBzkC,EAAE,CAACuW,M,CAAzBkuB,iB;IACAe,4B,GAAgBxlC,EAAE,CAACyC,W,CAAnB+iC,W;;AAER,SAASV,qBAAT,GAAgB;AACfL,oCAAiB,CAAE,6BAAF,EAAiC;AACjDr9B,SAAK,EAAElF,iBAAE,CAAE,kBAAF,EAAsB,eAAtB,CADwC;AAEjDkS,eAAW,EAAElS,iBAAE,CAAE,mBAAF,EAAuB,eAAvB,CAFkC;AAGjD8wB,YAAQ,EAAE,aAHuC;AAIjDtW,QAAI,EAAE8N,IAJ2C;AAKjD0a,QAAI,EAAJA,qBALiD;AAMjDtB,QANiD,kBAM1C;AACN,aAAO,yCAAC,4BAAD,CAAa,OAAb,OAAP;AACA,KARgD;AASjDgC,uBATiD,iCAS3B;AACrB,UAAMxhC,QAAQ,GAAGpE,EAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,EAAsCgD,WAAtC,EAAjB;AACA,aAAOH,QAAQ,CAACgvC,SAAT,GAAqB;AAAE,sBAAc;AAAhB,OAArB,GAAgD,EAAvD;AACA;AAZgD,GAAjC,CAAjB;AAcA;;AAEctO,0EAAf,E;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;IAGCrlB,e,GACGzf,EAAE,CAACwB,I,CADNie,Q;IAIAk9B,c,GACG38C,EAAE,CAACuW,M,CADNomC,c;;IAGKC,iB;;;;;;;+BAEOx4C,Q,EAAW;AACtBi6B,mCAAmB,CAAEj6B,QAAF,CAAnB;AACAqb,qBAAQ,CAAE/a,UAAF,CAAR,CAAuBF,cAAvB,CAAuCJ,QAAvC;AACAu4C,oBAAc,CAAE,aAAF,EAAiB;AAC9BjgC,YAAI,EAAEkM,IAAIA;AADoB,OAAjB,CAAd;AAIA,UAAMoc,QAAQ,GAAK,iBAAO5gC,QAAQ,CAAE,eAAF,CAAf,MAAuC,QAAzC,GAAsDxD,MAAM,CAAC4vB,MAAP,CAAepsB,QAAQ,CAAE,eAAF,CAAvB,CAAtD,GAAqGA,QAAQ,CAAE,eAAF,CAA9H;;AAEA,UAAK4gC,QAAQ,CAAC/H,OAAT,CAAiB,kBAAjB,IAAuC,CAAC,CAA7C,EAAiD;AAChD4f,wBAAwB;AACxB;;AAED,UAAK7X,QAAQ,CAAC/H,OAAT,CAAiB,YAAjB,IAAiC,CAAC,CAAvC,EAA2C;AAC1C6f,kBAAkB;AAClB;;AAED,UAAK9X,QAAQ,CAAC/H,OAAT,CAAiB,QAAjB,IAA6B,CAAC,CAAnC,EAAuC;AACtC8f,qBAAe;AACfC,mBAAQ;AACR;;AAED,UAAKhY,QAAQ,CAAC/H,OAAT,CAAiB,UAAjB,IAA+B,CAAC,CAArC,EAAyC;AACxCggB,uBAAY;AACZ;;AAED,UAAKjY,QAAQ,CAAC/H,OAAT,CAAiB,YAAjB,IAAiC,CAAC,CAAvC,EAA2C;AAC1CigB,yBAAc;AACd;;AAED,UAAKlY,QAAQ,CAAC/H,OAAT,CAAiB,WAAjB,IAAgC,CAAC,CAAtC,EAA0C;AACzCkgB,iBAAY;AACZC,yBAAmB;AACnBC,sBAAgB;AAChB;;AAED,UAAKrY,QAAQ,CAAC/H,OAAT,CAAiB,WAAjB,IAAgC,CAAC,CAAtC,EAA0C;AACzCqgB,wBAAa;AACb;;AAED,UAAKtY,QAAQ,CAAC/H,OAAT,CAAiB,kBAAjB,IAAuC,CAAC,CAA7C,EAAiD;AAChDsgB,mBAAQ;AACRC,wBAAmB;AACnB;;AAED,UAAKxY,QAAQ,CAAC/H,OAAT,CAAkB,WAAlB,IAAkC,CAAC,CAAxC,EAA4C;AAC3CwgB,wBAAa;AACb;;AAED,UAAKzY,QAAQ,CAAC/H,OAAT,CAAkB,kBAAlB,IAAyC,CAAC,CAA/C,EAAmD;AAClDygB,+BAAmB;AACnB;;AAEDC,iBAAQ;AACRC,kBAAS;AACTC,sBAAa;AACbC,sBAAmB;AACnB;;;;;;AAGF99C,EAAE,CAAC48C,UAAH,GAAgB,IAAIA,iBAAJ,EAAhB,C;;;;;;;;;ACjHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACc;AACN;AACoB;AACQ;AACtB;AACZ;AACT;;AAEnD,gCAAgC,qBAAqB,aAAa,iGAAe,kBAAkB,mCAAmC,iBAAiB,iGAAe,mBAAmB,yDAAyD,EAAE,OAAO,uCAAuC,EAAE,QAAQ,4GAA0B,eAAe,GAAG;;AAExV,sCAAsC,wEAAwE,0CAA0C,8CAA8C,MAAM,wEAAwE,GAAG,aAAa,EAAE,YAAY,cAAc,EAAE;;AAElU;AACA;AACA;AACiC;AACjC;AACA;AACA;;AAE+C;AAC/C;AACA;AACA;;AAEmF;AACnF;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,YAAY;AACxB;;AAEA,sBAAsB,4FAA0B;AAChD;AACA,IAAI,2FAAS;;AAEb;;AAEA;AACA;;AAEA,MAAM,iGAAe;;AAErB;AACA;AACA,+CAA+C,wGAAsB;AACrE,mDAAmD,wGAAsB;AACzE;AACA;;AAEA,IAAI,8FAAY;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,wBAAwB,sDAAO;AAC/B,OAAO;AACP,KAAK;AACL;AACA;AACA,eAAe,wEAAa,oBAAoB,0FAAQ,GAAG;AAC3D;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA,GAAG,CAAC,4DAAS;AACb,CAAC;AACc,wEAAe,EAAC;AAC/B,iC","file":"./dist/js/editor.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 260);\n","module.exports = React;","module.exports = lodash;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","module.exports = require(\"regenerator-runtime\");\n","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see http://www.diveintojavascript.com/projects/javascript-sprintf\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/**\n * An i18n instance\n *\n * @typedef {Object} I18n\n * @property {Function} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {Function} __ Retrieve the translation of text.\n * @property {Function} _x Retrieve translated string with gettext context.\n * @property {Function} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {Function} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {Function} isRTL Check if current locale is RTL.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n /**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\n var setLocaleData = function setLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread({}, DEFAULT_LOCALE_DATA, {}, tannin.data[domain], {}, data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread({}, DEFAULT_LOCALE_DATA[''], {}, tannin.data[domain]['']);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n setLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\n\n var __ = function __(text, domain) {\n return dcnpgettext(domain, undefined, text);\n };\n /**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\n\n var _x = function _x(text, context, domain) {\n return dcnpgettext(domain, context, text);\n };\n /**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\n\n var _n = function _n(single, plural, number, domain) {\n return dcnpgettext(domain, undefined, single, plural, number);\n };\n /**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n return dcnpgettext(domain, context, single, plural, number);\n };\n /**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n return {\n setLocaleData: setLocaleData,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\nvar i18n = createI18n();\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n */\n\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { setLocaleData, __, _x, _n, _nx, isRTL } from './default-i18n';\n//# sourceMappingURL=index.js.map","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n 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}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n/**\n * Return true if platform is MacOS.\n *\n * @param {Object} _window window object by default; used for DI testing.\n *\n * @return {boolean} True if MacOS; false otherwise.\n */\n\nexport function isAppleOS() {\n var _window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n\n var platform = _window.navigator.platform;\n return platform.indexOf('Mac') !== -1 || includes(['iPad', 'iPhone'], platform);\n}\n//# sourceMappingURL=platform.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Note: The order of the modifier keys in many of the [foo]Shortcut()\n * functions in this file are intentional and should not be changed. They're\n * designed to fit with the standard menu keyboard shortcuts shown in the\n * user's platform.\n *\n * For example, on MacOS menu shortcuts will place Shift before Command, but\n * on Windows Control will usually come first. So don't provide your own\n * shortcut combos directly to keyboardShortcut().\n */\n\n/**\n * External dependencies\n */\nimport { get, mapValues, includes, capitalize, xor } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\n\nimport { isAppleOS } from './platform';\n/**\n * @typedef {'primary'|'primaryShift'|'primaryAlt'|'secondary'|'access'|'ctrl'|'alt'|'ctrlShift'|'shift'|'shiftAlt'} WPKeycodeModifier\n */\n\n/**\n * An object of handler functions for each of the possible modifier\n * combinations. A handler will return a value for a given key.\n *\n * @typedef {Recordany>} WPKeycodeHandlerByModifier\n */\n\n/**\n * Keycode for BACKSPACE key.\n */\n\nexport var BACKSPACE = 8;\n/**\n * Keycode for TAB key.\n */\n\nexport var TAB = 9;\n/**\n * Keycode for ENTER key.\n */\n\nexport var ENTER = 13;\n/**\n * Keycode for ESCAPE key.\n */\n\nexport var ESCAPE = 27;\n/**\n * Keycode for SPACE key.\n */\n\nexport var SPACE = 32;\n/**\n * Keycode for LEFT key.\n */\n\nexport var LEFT = 37;\n/**\n * Keycode for UP key.\n */\n\nexport var UP = 38;\n/**\n * Keycode for RIGHT key.\n */\n\nexport var RIGHT = 39;\n/**\n * Keycode for DOWN key.\n */\n\nexport var DOWN = 40;\n/**\n * Keycode for DELETE key.\n */\n\nexport var DELETE = 46;\n/**\n * Keycode for F10 key.\n */\n\nexport var F10 = 121;\n/**\n * Keycode for ALT key.\n */\n\nexport var ALT = 'alt';\n/**\n * Keycode for CTRL key.\n */\n\nexport var CTRL = 'ctrl';\n/**\n * Keycode for COMMAND/META key.\n */\n\nexport var COMMAND = 'meta';\n/**\n * Keycode for SHIFT key.\n */\n\nexport var SHIFT = 'shift';\n/**\n * Keycode for ZERO key.\n */\n\nexport var ZERO = 48;\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n *\n * - `primary`: takes a isApple function as a parameter.\n * - `primaryShift`: takes a isApple function as a parameter.\n * - `primaryAlt`: takes a isApple function as a parameter.\n * - `secondary`: takes a isApple function as a parameter.\n * - `access`: takes a isApple function as a parameter.\n * - `ctrl`\n * - `alt`\n * - `ctrlShift`\n * - `shift`\n * - `shiftAlt`\n */\n\nexport var modifiers = {\n primary: function primary(_isApple) {\n return _isApple() ? [COMMAND] : [CTRL];\n },\n primaryShift: function primaryShift(_isApple) {\n return _isApple() ? [SHIFT, COMMAND] : [CTRL, SHIFT];\n },\n primaryAlt: function primaryAlt(_isApple) {\n return _isApple() ? [ALT, COMMAND] : [CTRL, ALT];\n },\n secondary: function secondary(_isApple) {\n return _isApple() ? [SHIFT, ALT, COMMAND] : [CTRL, SHIFT, ALT];\n },\n access: function access(_isApple) {\n return _isApple() ? [CTRL, ALT] : [SHIFT, ALT];\n },\n ctrl: function ctrl() {\n return [CTRL];\n },\n alt: function alt() {\n return [ALT];\n },\n ctrlShift: function ctrlShift() {\n return [CTRL, SHIFT];\n },\n shift: function shift() {\n return [SHIFT];\n },\n shiftAlt: function shiftAlt() {\n return [SHIFT, ALT];\n }\n};\n/**\n * An object that contains functions to get raw shortcuts.\n * E.g. rawShortcut.primary( 'm' ) will return 'meta+m' on Mac.\n * These are intended for user with the KeyboardShortcuts component or TinyMCE.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to raw shortcuts.\n */\n\nexport var rawShortcut = mapValues(modifiers, function (modifier) {\n return function (character) {\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n return [].concat(_toConsumableArray(modifier(_isApple)), [character.toLowerCase()]).join('+');\n };\n});\n/**\n * Return an array of the parts of a keyboard shortcut chord for display\n * E.g displayShortcutList.primary( 'm' ) will return [ '⌘', 'M' ] on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut\n * sequences.\n */\n\nexport var displayShortcutList = mapValues(modifiers, function (modifier) {\n return function (character) {\n var _replacementKeyMap;\n\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n var isApple = _isApple();\n\n var replacementKeyMap = (_replacementKeyMap = {}, _defineProperty(_replacementKeyMap, ALT, isApple ? '⌥' : 'Alt'), _defineProperty(_replacementKeyMap, CTRL, isApple ? '^' : 'Ctrl'), _defineProperty(_replacementKeyMap, COMMAND, '⌘'), _defineProperty(_replacementKeyMap, SHIFT, isApple ? '⇧' : 'Shift'), _replacementKeyMap);\n var modifierKeys = modifier(_isApple).reduce(function (accumulator, key) {\n var replacementKey = get(replacementKeyMap, key, key); // If on the Mac, adhere to platform convention and don't show plus between keys.\n\n if (isApple) {\n return [].concat(_toConsumableArray(accumulator), [replacementKey]);\n }\n\n return [].concat(_toConsumableArray(accumulator), [replacementKey, '+']);\n }, []);\n var capitalizedCharacter = capitalize(character);\n return [].concat(_toConsumableArray(modifierKeys), [capitalizedCharacter]);\n };\n});\n/**\n * An object that contains functions to display shortcuts.\n * E.g. displayShortcut.primary( 'm' ) will return '⌘M' on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to display\n * shortcuts.\n */\n\nexport var displayShortcut = mapValues(displayShortcutList, function (shortcutList) {\n return function (character) {\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n return shortcutList(character, _isApple).join('');\n };\n});\n/**\n * An object that contains functions to return an aria label for a keyboard shortcut.\n * E.g. shortcutAriaLabel.primary( '.' ) will return 'Command + Period' on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut ARIA\n * labels.\n */\n\nexport var shortcutAriaLabel = mapValues(modifiers, function (modifier) {\n return function (character) {\n var _replacementKeyMap2;\n\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n var isApple = _isApple();\n\n var replacementKeyMap = (_replacementKeyMap2 = {}, _defineProperty(_replacementKeyMap2, SHIFT, 'Shift'), _defineProperty(_replacementKeyMap2, COMMAND, isApple ? 'Command' : 'Control'), _defineProperty(_replacementKeyMap2, CTRL, 'Control'), _defineProperty(_replacementKeyMap2, ALT, isApple ? 'Option' : 'Alt'), _defineProperty(_replacementKeyMap2, ',', __('Comma')), _defineProperty(_replacementKeyMap2, '.', __('Period')), _defineProperty(_replacementKeyMap2, '`', __('Backtick')), _replacementKeyMap2);\n return [].concat(_toConsumableArray(modifier(_isApple)), [character]).map(function (key) {\n return capitalize(get(replacementKeyMap, key, key));\n }).join(isApple ? ' ' : ' + ');\n };\n});\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {KeyboardEvent} event Keyboard event.\n *\n * @return {Array} Active modifier constants.\n */\n\nfunction getEventModifiers(event) {\n return [ALT, CTRL, COMMAND, SHIFT].filter(function (key) {\n return event[\"\".concat(key, \"Key\")];\n });\n}\n/**\n * An object that contains functions to check if a keyboard event matches a\n * predefined shortcut combination.\n * E.g. isKeyboardEvent.primary( event, 'm' ) will return true if the event\n * signals pressing ⌘M.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to match events.\n */\n\n\nexport var isKeyboardEvent = mapValues(modifiers, function (getModifiers) {\n return function (event, character) {\n var _isApple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : isAppleOS;\n\n var mods = getModifiers(_isApple);\n var eventMods = getEventModifiers(event);\n\n if (xor(mods, eventMods).length) {\n return false;\n }\n\n if (!character) {\n return includes(mods, event.key.toLowerCase());\n }\n\n return event.key === character;\n };\n});\n//# sourceMappingURL=index.js.map","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n 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}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","module.exports = jQuery;","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","'use strict';\n\n/**\n * Internal dependencies;\n */\nvar isShallowEqualObjects = require( './objects' );\nvar isShallowEqualArrays = require( './arrays' );\n\nvar isArray = Array.isArray;\n\n/**\n * @typedef {Record} ComparableObject\n */\n\n/**\n * Returns true if the two arrays or objects are shallow equal, or false\n * otherwise.\n *\n * @param {any[]|ComparableObject} a First object or array to compare.\n * @param {any[]|ComparableObject} b Second object or array to compare.\n *\n * @return {boolean} Whether the two values are shallow equal.\n */\nfunction isShallowEqual( a, b ) {\n\tif ( a && b ) {\n\t\tif ( a.constructor === Object && b.constructor === Object ) {\n\t\t\treturn isShallowEqualObjects( a, b );\n\t\t} else if ( isArray( a ) && isArray( b ) ) {\n\t\t\treturn isShallowEqualArrays( a, b );\n\t\t}\n\t}\n\n\treturn a === b;\n}\n\nmodule.exports = isShallowEqual;\nmodule.exports.isShallowEqualObjects = isShallowEqualObjects;\nmodule.exports.isShallowEqualArrays = isShallowEqualArrays;\n","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/**\n * External dependencies\n */\nimport { camelCase, upperFirst } from 'lodash';\n/**\n * Given a function mapping a component to an enhanced component and modifier\n * name, returns the enhanced component augmented with a generated displayName.\n *\n * @param {Function} mapComponentToEnhancedComponent Function mapping component\n * to enhanced component.\n * @param {string} modifierName Seed name from which to\n * generated display name.\n *\n * @return {WPComponent} Component class with generated display name assigned.\n */\n\nfunction createHigherOrderComponent(mapComponentToEnhancedComponent, modifierName) {\n return function (OriginalComponent) {\n var EnhancedComponent = mapComponentToEnhancedComponent(OriginalComponent);\n var _OriginalComponent$di = OriginalComponent.displayName,\n displayName = _OriginalComponent$di === void 0 ? OriginalComponent.name || 'Component' : _OriginalComponent$di;\n EnhancedComponent.displayName = \"\".concat(upperFirst(camelCase(modifierName)), \"(\").concat(displayName, \")\");\n return EnhancedComponent;\n };\n}\n\nexport default createHigherOrderComponent;\n//# sourceMappingURL=index.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\nimport { doAction } from './';\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks) {\n /**\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {Function} callback Function to call when the hook is run\n * @param {?number} priority Priority of this hook (default=10)\n */\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooks[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooks[hookName].handlers;\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n (hooks.__current || []).forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooks[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\nimport { doAction } from './';\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n * @param {boolean} removeAll Whether to remove all callbacks for a hookName, without regard to namespace. Used to create `removeAll*` functions.\n *\n * @return {Function} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, removeAll) {\n /**\n * Removes the specified callback (or all callbacks) from the hook with a\n * given hookName and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n *\n * @return {number} The number of callbacks removed.\n */\n return function removeHook(hookName, namespace) {\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooks[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooks[hookName].handlers.length;\n hooks[hookName] = {\n runs: hooks[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooks[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n (hooks.__current || []).forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks) {\n /**\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {?string} namespace Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n return function hasHook(hookName, namespace) {\n // Use the namespace if provided.\n if ('undefined' !== typeof namespace) {\n return hookName in hooks && hooks[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooks;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n * @param {?boolean} returnFirstArg Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {Function} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, returnFirstArg) {\n /**\n * Runs all callbacks for the specified hook.\n *\n * @param {string} hookName The name of the hook to run.\n * @param {...*} args Arguments to pass to the hook callbacks.\n *\n * @return {*} Return value of runner, if applicable.\n */\n return function runHooks(hookName) {\n if (!hooks[hookName]) {\n hooks[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooks[hookName].runs++;\n var handlers = hooks[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooks.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooks.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooks.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooks.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns the current hook.\n */\nfunction createCurrentHook(hooks) {\n /**\n * Returns the name of the currently running hook, or `null` if no hook of\n * the given type is currently running.\n *\n * @return {?string} The name of the currently running hook, or\n * `null` if no hook is currently running.\n */\n return function currentHook() {\n if (!hooks.__current || !hooks.__current.length) {\n return null;\n }\n\n return hooks.__current[hooks.__current.length - 1].name;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks) {\n /**\n * Returns whether a hook is currently being executed.\n *\n * @param {?string} hookName The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n return function doingHook(hookName) {\n // If the hookName was not passed, check for any current hook.\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooks.__current[0];\n } // Return the __current hook.\n\n\n return hooks.__current[0] ? hookName === hooks.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks) {\n /**\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number} The number of times the hook has run.\n */\n return function didHook(hookName) {\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooks[hookName] && hooks[hookName].runs ? hooks[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Object} Object that contains all hooks.\n */\n\nfunction createHooks() {\n var actions = Object.create(null);\n var filters = Object.create(null);\n actions.__current = [];\n filters.__current = [];\n return {\n addAction: createAddHook(actions),\n addFilter: createAddHook(filters),\n removeAction: createRemoveHook(actions),\n removeFilter: createRemoveHook(filters),\n hasAction: createHasHook(actions),\n hasFilter: createHasHook(filters),\n removeAllActions: createRemoveHook(actions, true),\n removeAllFilters: createRemoveHook(filters, true),\n doAction: createRunHook(actions),\n applyFilters: createRunHook(filters, true),\n currentAction: createCurrentHook(actions),\n currentFilter: createCurrentHook(filters),\n doingAction: createDoingHook(actions),\n doingFilter: createDoingHook(filters),\n didAction: createDidHook(actions),\n didFilter: createDidHook(filters),\n actions: actions,\n filters: filters\n };\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n\nvar _createHooks = createHooks(),\n addAction = _createHooks.addAction,\n addFilter = _createHooks.addFilter,\n removeAction = _createHooks.removeAction,\n removeFilter = _createHooks.removeFilter,\n hasAction = _createHooks.hasAction,\n hasFilter = _createHooks.hasFilter,\n removeAllActions = _createHooks.removeAllActions,\n removeAllFilters = _createHooks.removeAllFilters,\n doAction = _createHooks.doAction,\n applyFilters = _createHooks.applyFilters,\n currentAction = _createHooks.currentAction,\n currentFilter = _createHooks.currentFilter,\n doingAction = _createHooks.doingAction,\n doingFilter = _createHooks.doingFilter,\n didAction = _createHooks.didAction,\n didFilter = _createHooks.didFilter,\n actions = _createHooks.actions,\n filters = _createHooks.filters;\n\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { doAction } from '@wordpress/hooks';\n/**\n * Object map tracking messages which have been logged, for use in ensuring a\n * message is only logged once.\n *\n * @type {Object}\n */\n\nexport var logged = Object.create(null);\n/**\n * Logs a message to notify developers about a deprecated feature.\n *\n * @param {string} feature Name of the deprecated feature.\n * @param {?Object} options Personalisation options\n * @param {?string} options.version Version in which the feature will be removed.\n * @param {?string} options.alternative Feature to use instead\n * @param {?string} options.plugin Plugin name if it's a plugin feature\n * @param {?string} options.link Link to documentation\n * @param {?string} options.hint Additional message to help transition away from the deprecated feature.\n *\n * @example\n * ```js\n * import deprecated from '@wordpress/deprecated';\n *\n * deprecated( 'Eating meat', {\n * \tversion: 'the future',\n * \talternative: 'vegetables',\n * \tplugin: 'the earth',\n * \thint: 'You may find it beneficial to transition gradually.',\n * } );\n *\n * // Logs: 'Eating meat is deprecated and will be removed from the earth in the future. Please use vegetables instead. Note: You may find it beneficial to transition gradually.'\n * ```\n */\n\nexport default function deprecated(feature) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var version = options.version,\n alternative = options.alternative,\n plugin = options.plugin,\n link = options.link,\n hint = options.hint;\n var pluginMessage = plugin ? \" from \".concat(plugin) : '';\n var versionMessage = version ? \" and will be removed\".concat(pluginMessage, \" in version \").concat(version) : '';\n var useInsteadMessage = alternative ? \" Please use \".concat(alternative, \" instead.\") : '';\n var linkMessage = link ? \" See: \".concat(link) : '';\n var hintMessage = hint ? \" Note: \".concat(hint) : '';\n var message = \"\".concat(feature, \" is deprecated\").concat(versionMessage, \".\").concat(useInsteadMessage).concat(linkMessage).concat(hintMessage); // Skip if already logged.\n\n if (message in logged) {\n return;\n }\n /**\n * Fires whenever a deprecated feature is encountered\n *\n * @param {string} feature Name of the deprecated feature.\n * @param {?Object} options Personalisation options\n * @param {?string} options.version Version in which the feature will be removed.\n * @param {?string} options.alternative Feature to use instead\n * @param {?string} options.plugin Plugin name if it's a plugin feature\n * @param {?string} options.link Link to documentation\n * @param {?string} options.hint Additional message to help transition away from the deprecated feature.\n * @param {?string} message Message sent to console.warn\n */\n\n\n doAction('deprecated', feature, options, message); // eslint-disable-next-line no-console\n\n console.warn(message);\n logged[message] = true;\n}\n//# sourceMappingURL=index.js.map","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.toJson = toJson;\n\nvar _constants = require(\"./constants\");\n\nvar _utils = require(\"./utils\");\n\nvar _auth = require(\"./methods/auth\");\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _currentUser = require(\"./methods/currentUser\");\n\nvar _currentUser2 = _interopRequireDefault(_currentUser);\n\nvar _users = require(\"./methods/users\");\n\nvar _users2 = _interopRequireDefault(_users);\n\nvar _photos = require(\"./methods/photos\");\n\nvar _photos2 = _interopRequireDefault(_photos);\n\nvar _collections = require(\"./methods/collections\");\n\nvar _collections2 = _interopRequireDefault(_collections);\n\nvar _search = require(\"./methods/search\");\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _stats = require(\"./methods/stats\");\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Unsplash = function () {\n function Unsplash(options) {\n _classCallCheck(this, Unsplash);\n\n this._apiUrl = options.apiUrl || _constants.API_URL;\n this._apiVersion = options.apiVersion || _constants.API_VERSION;\n this._accessKey = options.accessKey;\n this._secret = options.secret;\n this._callbackUrl = options.callbackUrl;\n this._bearerToken = options.bearerToken;\n this._headers = options.headers || {};\n this._timeout = options.timeout || 0; // 0 defaults to the OS timeout behaviour.\n\n this.auth = _auth2.default.bind(this)();\n this.currentUser = _currentUser2.default.bind(this)();\n this.users = _users2.default.bind(this)();\n this.photos = _photos2.default.bind(this)();\n this.collections = _collections2.default.bind(this)();\n this.search = _search2.default.bind(this)();\n this.stats = _stats2.default.bind(this)();\n }\n\n _createClass(Unsplash, [{\n key: \"request\",\n value: function request(requestOptions) {\n var _buildFetchOptions$bi = _utils.buildFetchOptions.bind(this)(requestOptions),\n url = _buildFetchOptions$bi.url,\n options = _buildFetchOptions$bi.options;\n\n return fetch(url, options);\n }\n }]);\n\n return Unsplash;\n}();\n\nexports.default = Unsplash;\nfunction toJson(res) {\n return typeof res.json === \"function\" ? res.json() : res;\n}","function _readOnlyError(name) {\n throw new Error(\"\\\"\" + name + \"\\\" is read-only\");\n}\n\nmodule.exports = _readOnlyError;","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar API_URL = exports.API_URL = \"https://api.unsplash.com\";\nvar API_VERSION = exports.API_VERSION = \"v1\";\nvar OAUTH_AUTHORIZE_URL = exports.OAUTH_AUTHORIZE_URL = \"https://unsplash.com/oauth/authorize\";\nvar OAUTH_TOKEN_URL = exports.OAUTH_TOKEN_URL = \"https://unsplash.com/oauth/token\";","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.formUrlEncode = formUrlEncode;\nexports.getUrlComponents = getUrlComponents;\nexports.buildFetchOptions = buildFetchOptions;\n\nvar _querystring = require(\"querystring\");\n\nvar _formUrlencoded = require(\"form-urlencoded\");\n\nvar _formUrlencoded2 = _interopRequireDefault(_formUrlencoded);\n\nvar _urlParse = require(\"url-parse\");\n\nvar _urlParse2 = _interopRequireDefault(_urlParse);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction formUrlEncode(body) {\n return (0, _formUrlencoded2.default)(body);\n}\n\nfunction getUrlComponents(uri) {\n return (0, _urlParse2.default)(uri, {}, true);\n}\n\nfunction buildFetchOptions(options) {\n var method = options.method,\n query = options.query,\n oauth = options.oauth,\n body = options.body;\n\n var url = oauth === true ? options.url : \"\" + this._apiUrl + options.url;\n var headers = _extends({}, this._headers, options.headers, {\n \"Accept-Version\": this._apiVersion,\n \"Authorization\": this._bearerToken ? \"Bearer \" + this._bearerToken : \"Client-ID \" + this._accessKey\n });\n var timeout = this._timeout;\n\n if (body) {\n headers[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\n }\n\n if (query) {\n url = decodeURIComponent(url + \"?\" + (0, _querystring.stringify)(query));\n }\n\n return {\n url: url,\n options: {\n method: method,\n headers: headers,\n timeout: timeout,\n body: method !== \"GET\" && body ? formUrlEncode(body) : undefined\n }\n };\n}","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseOrderBy = require('./_baseOrderBy'),\n isArray = require('./isArray');\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n}\n\nmodule.exports = orderBy;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","'use strict';\n\n/**\n * Internal dependencies;\n */\nvar isShallowEqualObjects = require( './objects' );\nvar isShallowEqualArrays = require( './arrays' );\n\nvar isArray = Array.isArray;\n\n/**\n * Returns true if the two arrays or objects are shallow equal, or false\n * otherwise.\n *\n * @param {(Array|Object)} a First object or array to compare.\n * @param {(Array|Object)} b Second object or array to compare.\n *\n * @return {boolean} Whether the two values are shallow equal.\n */\nfunction isShallowEqual( a, b ) {\n\tif ( a && b ) {\n\t\tif ( a.constructor === Object && b.constructor === Object ) {\n\t\t\treturn isShallowEqualObjects( a, b );\n\t\t} else if ( isArray( a ) && isArray( b ) ) {\n\t\t\treturn isShallowEqualArrays( a, b );\n\t\t}\n\t}\n\n\treturn a === b;\n}\n\nmodule.exports = isShallowEqual;\nmodule.exports.isShallowEqualObjects = isShallowEqualObjects;\nmodule.exports.isShallowEqualArrays = isShallowEqualArrays;\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","/** @license React v16.13.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n var index = -1;\n iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","// Filename: formurlencoded.js\n// Timestamp: 2016.01.18-15:36:37 (last modified)\n// Author(s): Bumblehead (www.bumblehead.com), JBlashill (james@blashill.com)\n//\n// http://www.w3.org/TR/html5/forms.html#url-encoded-form-data\n// input: {one:1,two:2} return: '[one]=1&[two]=2'\n\nvar formurlencoded = module.exports = function (data, opts) {\n opts = typeof opts === 'object' ? opts : {};\n\n function encode (value) {\n return String(value)\n .replace(/[^ !'()~\\*]*/g, encodeURIComponent)\n .replace(/ /g, '+')\n .replace(/[!'()~\\*]/g, function (ch) {\n return '%' + ch.charCodeAt().toString(16).slice(-2).toUpperCase();\n });\n }\n\n function keys (obj) {\n var keys = Object.keys(obj);\n\n return opts.sorted ? keys.sort() : keys;\n }\n\n function filterjoin (arr) {\n return arr.filter(function (e) { return e; }).join('&');\n }\n\n function objnest (name, obj) {\n return filterjoin(keys(obj).map(function (key) {\n return nest(name + '[' + key + ']', obj[key]);\n }));\n }\n\n function arrnest (name, arr) {\n return filterjoin(arr.map(function (elem) {\n return nest(name + '[]', elem);\n }));\n }\n\n function nest (name, value) {\n var type = typeof value,\n f = null;\n\n if (value === f) {\n f = opts.ignorenull ? f : encode(name) + '=' + f;\n } else if (/string|number|boolean/.test(type)) {\n f = encode(name) + '=' + encode(value);\n } else if (Array.isArray(value)) {\n f = arrnest(name, value);\n } else if (type === 'object') {\n f = objnest(name, value);\n }\n\n return f;\n }\n\n return filterjoin(keys(data).map(function (key) {\n return nest(key, data[key]);\n }));\n};\n","'use strict';\n\nvar required = require('requires-port')\n , qs = require('querystringify')\n , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\S\\s]*)/i\n , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//;\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n ['#', 'hash'], // Extract from the back.\n ['?', 'query'], // Extract from the back.\n function sanitize(address) { // Sanitize what is left of the address\n return address.replace('\\\\', '/');\n },\n ['/', 'pathname'], // Extract from the back.\n ['@', 'auth', 1], // Extract from the front.\n [NaN, 'host', undefined, 1, 1], // Set left over value.\n [/:(\\d+)$/, 'port', undefined, 1], // RegExp the back.\n [NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n var globalVar;\n\n if (typeof window !== 'undefined') globalVar = window;\n else if (typeof global !== 'undefined') globalVar = global;\n else if (typeof self !== 'undefined') globalVar = self;\n else globalVar = {};\n\n var location = globalVar.location || {};\n loc = loc || location;\n\n var finaldestination = {}\n , type = typeof loc\n , key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n for (key in ignore) delete finaldestination[key];\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address) {\n var match = protocolre.exec(address);\n\n return {\n protocol: match[1] ? match[1].toLowerCase() : '',\n slashes: !!match[2],\n rest: match[3]\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '');\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (!extracted.slashes) instructions[3] = [/(.*)/, 'pathname'];\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n if (~(index = address.indexOf(parse))) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n if (url.auth) {\n instruction = url.auth.split(':');\n url.username = instruction[0] || '';\n url.password = instruction[1] || '';\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (/:\\d+$/.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n default:\n url[part] = value;\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result = protocol + (url.slashes ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n }\n\n result += url.host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.qs = qs;\n\nmodule.exports = Url;\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encodeURIComponent(key);\n value = encodeURIComponent(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = auth;\n\nvar _querystring = require(\"querystring\");\n\nvar _querystring2 = _interopRequireDefault(_querystring);\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction auth() {\n var _this = this;\n\n return {\n getAuthenticationUrl: function getAuthenticationUrl() {\n var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [\"public\"];\n\n var querystrings = _querystring2.default.stringify({\n client_id: _this._accessKey,\n redirect_uri: _this._callbackUrl,\n response_type: \"code\",\n scope: scope.length > 1 ? scope.join(\"+\") : scope.toString()\n });\n\n return decodeURIComponent(_constants.OAUTH_AUTHORIZE_URL + \"?\" + querystrings);\n },\n\n userAuthentication: function userAuthentication(code) {\n var url = _constants.OAUTH_TOKEN_URL;\n\n return _this.request({\n url: url,\n method: \"POST\",\n body: {\n client_id: _this._accessKey,\n client_secret: _this._secret,\n redirect_uri: _this._callbackUrl,\n grant_type: \"authorization_code\",\n code: code\n },\n oauth: true\n });\n },\n\n setBearerToken: function setBearerToken(accessToken) {\n if (accessToken) {\n _this._bearerToken = accessToken;\n }\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = currentUser;\nfunction currentUser() {\n var _this = this;\n\n return {\n profile: function profile() {\n var url = \"/me\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n updateProfile: function updateProfile(options) {\n var endpointUrl = \"/me\";\n var username = options.username,\n firstName = options.firstName,\n lastName = options.lastName,\n email = options.email,\n url = options.url,\n location = options.location,\n bio = options.bio,\n instagramUsername = options.instagramUsername;\n\n var body = {\n username: username,\n first_name: firstName,\n last_name: lastName,\n email: email,\n url: url,\n location: location,\n bio: bio,\n instagram_username: instagramUsername\n };\n\n Object.keys(body).forEach(function (key) {\n if (!body[key]) {\n delete body[key];\n }\n });\n\n return _this.request({\n url: endpointUrl,\n method: \"PUT\",\n body: body\n });\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = users;\nfunction users() {\n var _this = this;\n\n return {\n profile: function profile(username) {\n var url = \"/users/\" + username;\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n photos: function photos(username) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"latest\";\n var stats = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n var url = \"/users/\" + username + \"/photos\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy,\n stats: stats\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n likes: function likes(username) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"latest\";\n\n var url = \"/users/\" + username + \"/likes\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n collections: function collections(username) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"published\";\n\n var url = \"/users/\" + username + \"/collections\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n statistics: function statistics(username) {\n var resolution = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"days\";\n var quantity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 30;\n\n var url = \"/users/\" + username + \"/statistics\";\n var query = {\n resolution: resolution,\n quantity: quantity\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = photos;\n\nvar _utils = require(\"../utils\");\n\nvar _lodash = require(\"lodash.get\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction photos() {\n var _this = this;\n\n return {\n listPhotos: function listPhotos() {\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var perPage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n var orderBy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"latest\";\n\n var url = \"/photos\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n getPhoto: function getPhoto(id) {\n var url = \"/photos/\" + id;\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n getPhotoStats: function getPhotoStats(id) {\n var url = \"/photos/\" + id + \"/statistics\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n getRandomPhoto: function getRandomPhoto() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var url = \"/photos/random\";\n var collections = options.collections || [];\n\n var query = {\n featured: options.featured,\n username: options.username,\n orientation: options.orientation,\n collections: collections.join(),\n query: options.query,\n c: options.cacheBuster || new Date().getTime(), // Avoid ajax response caching\n count: options.count\n };\n\n Object.keys(query).forEach(function (key) {\n if (!query[key]) {\n delete query[key];\n }\n });\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n likePhoto: function likePhoto(id) {\n if (!_this._bearerToken) {\n throw new Error(\"Requires a bearerToken to be set.\");\n }\n\n var url = \"/photos/\" + id + \"/like\";\n\n return _this.request({\n url: url,\n method: \"POST\"\n });\n },\n\n unlikePhoto: function unlikePhoto(id) {\n if (!_this._bearerToken) {\n throw new Error(\"Requires a bearerToken to be set.\");\n }\n\n var url = \"/photos/\" + id + \"/like\";\n\n return _this.request({\n url: url,\n method: \"DELETE\"\n });\n },\n\n downloadPhoto: function downloadPhoto(photo) {\n var downloadLocation = (0, _lodash2.default)(photo, \"links.download_location\", undefined);\n\n if (downloadLocation === undefined) {\n throw new Error(\"Object received is not a photo. \" + photo);\n }\n\n var urlComponents = (0, _utils.getUrlComponents)(downloadLocation);\n\n return _this.request({\n url: urlComponents.pathname,\n method: \"GET\",\n query: urlComponents.query\n });\n }\n };\n}","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = collections;\nfunction collections() {\n var _this = this;\n\n return {\n listCollections: function listCollections() {\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var perPage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n\n var url = \"/collections\";\n\n var query = {\n page: page,\n per_page: perPage\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n getCollection: collection.bind(this),\n\n getCollectionPhotos: collectionPhotos.bind(this),\n\n createCollection: createUpdateCollection.bind(this, null),\n\n updateCollection: createUpdateCollection.bind(this),\n\n deleteCollection: function deleteCollection(id) {\n var url = \"/collections/\" + id;\n\n return _this.request({\n url: url,\n method: \"DELETE\"\n });\n },\n\n addPhotoToCollection: function addPhotoToCollection(collectionId, photoId) {\n var url = \"/collections/\" + collectionId + \"/add\";\n\n return _this.request({\n url: url,\n method: \"POST\",\n body: {\n photo_id: photoId\n }\n });\n },\n\n removePhotoFromCollection: function removePhotoFromCollection(collectionId, photoId) {\n var url = \"/collections/\" + collectionId + \"/remove?photo_id=\" + photoId;\n\n return _this.request({\n url: url,\n method: \"DELETE\"\n });\n },\n\n listRelatedCollections: function listRelatedCollections(collectionId) {\n var url = \"/collections/\" + collectionId + \"/related\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n }\n };\n}\n\nfunction collection(id) {\n return this.request({\n url: \"/collections/\" + id,\n method: \"GET\"\n });\n}\n\nfunction collectionPhotos(id) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"latest\";\n\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return this.request({\n url: \"/collections/\" + id + \"/photos\",\n method: \"GET\",\n query: query\n });\n}\n\nfunction createUpdateCollection(id, title, description, isPrivate) {\n var url = id ? \"/collections/\" + id : \"/collections\";\n var body = {\n title: title,\n description: description,\n \"private\": isPrivate\n };\n\n return this.request({\n url: url,\n method: id ? \"PUT\" : \"POST\",\n body: body\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = search;\nfunction search() {\n var _this = this;\n\n return {\n photos: function photos() {\n var keyword = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var filters = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var collections = filters.collections || [];\n var query = {\n query: encodeURIComponent(keyword),\n per_page: perPage,\n orientation: filters.orientation,\n collections: collections.join(),\n page: page\n };\n\n Object.keys(query).forEach(function (key) {\n if (!query[key] && key != \"query\") {\n delete query[key];\n }\n });\n\n return _this.request({\n url: \"/search/photos\",\n method: \"GET\",\n query: query\n });\n },\n\n users: function users() {\n var keyword = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n\n var query = {\n query: encodeURIComponent(keyword),\n per_page: perPage,\n page: page\n };\n\n return _this.request({\n url: \"/search/users\",\n method: \"GET\",\n query: query\n });\n },\n\n collections: function collections() {\n var keyword = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n\n var query = {\n query: encodeURIComponent(keyword),\n per_page: perPage,\n page: page\n };\n\n return _this.request({\n url: \"/search/collections\",\n method: \"GET\",\n query: query\n });\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = stats;\nfunction stats() {\n var _this = this;\n\n return {\n total: function total() {\n var url = \"/stats/total\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n }\n };\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","'use strict';\n\nvar keys = Object.keys;\n\n/**\n * Returns true if the two objects are shallow equal, or false otherwise.\n *\n * @param {import('.').ComparableObject} a First object to compare.\n * @param {import('.').ComparableObject} b Second object to compare.\n *\n * @return {boolean} Whether the two objects are shallow equal.\n */\nfunction isShallowEqualObjects( a, b ) {\n\tvar aKeys, bKeys, i, key, aValue;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\taKeys = keys( a );\n\tbKeys = keys( b );\n\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\n\ti = 0;\n\n\twhile ( i < aKeys.length ) {\n\t\tkey = aKeys[ i ];\n\t\taValue = a[ key ];\n\n\t\tif (\n\t\t\t// In iterating only the keys of the first object after verifying\n\t\t\t// equal lengths, account for the case that an explicit `undefined`\n\t\t\t// value in the first is implicitly undefined in the second.\n\t\t\t//\n\t\t\t// Example: isShallowEqualObjects( { a: undefined }, { b: 5 } )\n\t\t\t( aValue === undefined && ! b.hasOwnProperty( key ) ) ||\n\t\t\taValue !== b[ key ]\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualObjects;\n","'use strict';\n\n/**\n * Returns true if the two arrays are shallow equal, or false otherwise.\n *\n * @param {any[]} a First array to compare.\n * @param {any[]} b Second array to compare.\n *\n * @return {boolean} Whether the two arrays are shallow equal.\n */\nfunction isShallowEqualArrays( a, b ) {\n\tvar i;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\tif ( a.length !== b.length ) {\n\t\treturn false;\n\t}\n\n\tfor ( i = 0; i < a.length; i++ ) {\n\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualArrays;\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","'use strict';\n\nvar keys = Object.keys;\n\n/**\n * Returns true if the two objects are shallow equal, or false otherwise.\n *\n * @param {Object} a First object to compare.\n * @param {Object} b Second object to compare.\n *\n * @return {boolean} Whether the two objects are shallow equal.\n */\nfunction isShallowEqualObjects( a, b ) {\n\tvar aKeys, bKeys, i, key, aValue;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\taKeys = keys( a );\n\tbKeys = keys( b );\n\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\n\ti = 0;\n\n\twhile ( i < aKeys.length ) {\n\t\tkey = aKeys[ i ];\n\t\taValue = a[ key ];\n\n\t\tif (\n\t\t\t// In iterating only the keys of the first object after verifying\n\t\t\t// equal lengths, account for the case that an explicit `undefined`\n\t\t\t// value in the first is implicitly undefined in the second.\n\t\t\t//\n\t\t\t// Example: isShallowEqualObjects( { a: undefined }, { b: 5 } )\n\t\t\t( aValue === undefined && ! b.hasOwnProperty( key ) ) ||\n\t\t\taValue !== b[ key ]\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualObjects;\n","'use strict';\n\n/**\n * Returns true if the two arrays are shallow equal, or false otherwise.\n *\n * @param {Array} a First array to compare.\n * @param {Array} b Second array to compare.\n *\n * @return {boolean} Whether the two arrays are shallow equal.\n */\nfunction isShallowEqualArrays( a, b ) {\n\tvar i;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\tif ( a.length !== b.length ) {\n\t\treturn false;\n\t}\n\n\tfor ( i = 0; i < a.length; i++ ) {\n\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualArrays;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/**\n * External dependencies\n */\nimport { Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, memo, StrictMode, useState, useEffect, useContext, useReducer, useCallback, useMemo, useRef, useImperativeHandle, useLayoutEffect, useDebugValue, lazy, Suspense } from 'react';\nimport { isString } from 'lodash';\n/**\n * Object that provides utilities for dealing with React children.\n */\n\nexport { Children };\n/**\n * Creates a copy of an element with extended props.\n *\n * @param {WPElement} element Element\n * @param {?Object} props Props to apply to cloned element\n *\n * @return {WPElement} Cloned element.\n */\n\nexport { cloneElement };\n/**\n * A base class to create WordPress Components (Refs, state and lifecycle hooks)\n */\n\nexport { Component };\n/**\n * Creates a context object containing two components: a provider and consumer.\n *\n * @param {Object} defaultValue A default data stored in the context.\n *\n * @return {Object} Context object.\n */\n\nexport { createContext };\n/**\n * Returns a new element of given type. Type can be either a string tag name or\n * another function which itself returns an element.\n *\n * @param {?(string|Function)} type Tag name or element creator\n * @param {Object} props Element properties, either attribute\n * set to apply to DOM node or values to\n * pass through to element creator\n * @param {...WPElement} children Descendant elements\n *\n * @return {WPElement} Element.\n */\n\nexport { createElement };\n/**\n * Returns an object tracking a reference to a rendered element via its\n * `current` property as either a DOMElement or Element, dependent upon the\n * type of element rendered with the ref attribute.\n *\n * @return {Object} Ref object.\n */\n\nexport { createRef };\n/**\n * Component enhancer used to enable passing a ref to its wrapped component.\n * Pass a function argument which receives `props` and `ref` as its arguments,\n * returning an element using the forwarded ref. The return value is a new\n * component which forwards its ref.\n *\n * @param {Function} forwarder Function passed `props` and `ref`, expected to\n * return an element.\n *\n * @return {WPComponent} Enhanced component.\n */\n\nexport { forwardRef };\n/**\n * A component which renders its children without any wrapping element.\n */\n\nexport { Fragment };\n/**\n * Checks if an object is a valid WPElement\n *\n * @param {Object} objectToCheck The object to be checked.\n *\n * @return {boolean} true if objectToTest is a valid WPElement and false otherwise.\n */\n\nexport { isValidElement };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactmemo\n */\n\nexport { memo };\n/**\n * Component that activates additional checks and warnings for its descendants.\n */\n\nexport { StrictMode };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecallback\n */\n\nexport { useCallback };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecontext\n */\n\nexport { useContext };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue\n */\n\nexport { useDebugValue };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useeffect\n */\n\nexport { useEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle\n */\n\nexport { useImperativeHandle };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\n\nexport { useLayoutEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usememo\n */\n\nexport { useMemo };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usereducer\n */\n\nexport { useReducer };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n */\n\nexport { useRef };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usestate\n */\n\nexport { useState };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactlazy\n */\n\nexport { lazy };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactsuspense\n */\n\nexport { Suspense };\n/**\n * Concatenate two or more React children objects.\n *\n * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate.\n *\n * @return {Array} The concatenated value.\n */\n\nexport function concatChildren() {\n for (var _len = arguments.length, childrenArguments = new Array(_len), _key = 0; _key < _len; _key++) {\n childrenArguments[_key] = arguments[_key];\n }\n\n return childrenArguments.reduce(function (result, children, i) {\n Children.forEach(children, function (child, j) {\n if (child && 'string' !== typeof child) {\n child = cloneElement(child, {\n key: [i, j].join()\n });\n }\n\n result.push(child);\n });\n return result;\n }, []);\n}\n/**\n * Switches the nodeName of all the elements in the children object.\n *\n * @param {?Object} children Children object.\n * @param {string} nodeName Node name.\n *\n * @return {?Object} The updated children object.\n */\n\nexport function switchChildrenNodeName(children, nodeName) {\n return children && Children.map(children, function (elt, index) {\n if (isString(elt)) {\n return createElement(nodeName, {\n key: index\n }, elt);\n }\n\n var _elt$props = elt.props,\n childrenProp = _elt$props.children,\n props = _objectWithoutProperties(_elt$props, [\"children\"]);\n\n return createElement(nodeName, _objectSpread({\n key: index\n }, props), childrenProp);\n });\n}\n//# sourceMappingURL=react.js.map","/**\n * External dependencies\n */\nimport { createPortal, findDOMNode, render, unmountComponentAtNode } from 'react-dom';\n/**\n * Creates a portal into which a component can be rendered.\n *\n * @see https://github.com/facebook/react/issues/10309#issuecomment-318433235\n *\n * @param {Component} component Component\n * @param {Element} target DOM node into which element should be rendered\n */\n\nexport { createPortal };\n/**\n * Finds the dom node of a React component\n *\n * @param {Component} component component's instance\n * @param {Element} target DOM node into which element should be rendered\n */\n\nexport { findDOMNode };\n/**\n * Renders a given element into the target DOM node.\n *\n * @param {WPElement} element Element to render\n * @param {Element} target DOM node into which element should be rendered\n */\n\nexport { render };\n/**\n * Removes any mounted element from the target DOM node.\n *\n * @param {Element} target DOM node in which element is to be removed\n */\n\nexport { unmountComponentAtNode };\n//# sourceMappingURL=react-platform.js.map","/**\n * External dependencies\n */\nimport { isArray, isNumber, isString } from 'lodash';\n/**\n * Checks if the provided WP element is empty.\n *\n * @param {*} element WP element to check.\n * @return {boolean} True when an element is considered empty.\n */\n\nexport var isEmptyElement = function isEmptyElement(element) {\n if (isNumber(element)) {\n return false;\n }\n\n if (isString(element) || isArray(element)) {\n return !element.length;\n }\n\n return !element;\n};\n//# sourceMappingURL=utils.js.map","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","/**\n * Returns a string with greater-than sign replaced.\n *\n * Note that if a resolution for Trac#45387 comes to fruition, it is no longer\n * necessary for `__unstableEscapeGreaterThan` to exist.\n *\n * See: https://core.trac.wordpress.org/ticket/45387\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\nexport default function __unstableEscapeGreaterThan(value) {\n return value.replace(/>/g, '>');\n}\n//# sourceMappingURL=escape-greater.js.map","/**\n * Internal dependencies\n */\nimport __unstableEscapeGreaterThan from './escape-greater';\n/**\n * Regular expression matching invalid attribute names.\n *\n * \"Attribute names must consist of one or more characters other than controls,\n * U+0020 SPACE, U+0022 (\"), U+0027 ('), U+003E (>), U+002F (/), U+003D (=),\n * and noncharacters.\"\n *\n * @see https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n *\n * @type {RegExp}\n */\n\nvar REGEXP_INVALID_ATTRIBUTE_NAME = /[\\u007F-\\u009F \"'>/=\"\\uFDD0-\\uFDEF]/;\n/**\n * Returns a string with ampersands escaped. Note that this is an imperfect\n * implementation, where only ampersands which do not appear as a pattern of\n * named, decimal, or hexadecimal character references are escaped. Invalid\n * named references (i.e. ambiguous ampersand) are are still permitted.\n *\n * @see https://w3c.github.io/html/syntax.html#character-references\n * @see https://w3c.github.io/html/syntax.html#ambiguous-ampersand\n * @see https://w3c.github.io/html/syntax.html#named-character-references\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nexport function escapeAmpersand(value) {\n return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&');\n}\n/**\n * Returns a string with quotation marks replaced.\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nexport function escapeQuotationMark(value) {\n return value.replace(/\"/g, '"');\n}\n/**\n * Returns a string with less-than sign replaced.\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nexport function escapeLessThan(value) {\n return value.replace(/ tbody > tr' ) ]\n * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * @type {Set}\n */\n\nvar BOOLEAN_ATTRIBUTES = new Set(['allowfullscreen', 'allowpaymentrequest', 'allowusermedia', 'async', 'autofocus', 'autoplay', 'checked', 'controls', 'default', 'defer', 'disabled', 'download', 'formnovalidate', 'hidden', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nomodule', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'selected', 'typemustmatch']);\n/**\n * Enumerated attributes are attributes which must be of a specific value form.\n * Like boolean attributes, these are meaningful if specified, even if not of a\n * valid enumerated value.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => /^(\"(.+?)\";?\\s*)+/.test( tr.lastChild.textContent.trim() ) )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * Some notable omissions:\n *\n * - `alt`: https://blog.whatwg.org/omit-alt\n *\n * @type {Set}\n */\n\nvar ENUMERATED_ATTRIBUTES = new Set(['autocapitalize', 'autocomplete', 'charset', 'contenteditable', 'crossorigin', 'decoding', 'dir', 'draggable', 'enctype', 'formenctype', 'formmethod', 'http-equiv', 'inputmode', 'kind', 'method', 'preload', 'scope', 'shape', 'spellcheck', 'translate', 'type', 'wrap']);\n/**\n * Set of CSS style properties which support assignment of unitless numbers.\n * Used in rendering of style properties, where `px` unit is assumed unless\n * property is included in this set or value is zero.\n *\n * Generated via:\n *\n * Object.entries( document.createElement( 'div' ).style )\n * .filter( ( [ key ] ) => (\n * ! /^(webkit|ms|moz)/.test( key ) &&\n * ( e.style[ key ] = 10 ) &&\n * e.style[ key ] === '10'\n * ) )\n * .map( ( [ key ] ) => key )\n * .sort();\n *\n * @type {Set}\n */\n\nvar CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set(['animation', 'animationIterationCount', 'baselineShift', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'columnCount', 'cx', 'cy', 'fillOpacity', 'flexGrow', 'flexShrink', 'floodOpacity', 'fontWeight', 'gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'r', 'rx', 'ry', 'shapeImageThreshold', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'tabSize', 'widows', 'x', 'y', 'zIndex', 'zoom']);\n/**\n * Returns true if the specified string is prefixed by one of an array of\n * possible prefixes.\n *\n * @param {string} string String to check.\n * @param {string[]} prefixes Possible prefixes.\n *\n * @return {boolean} Whether string has prefix.\n */\n\nexport function hasPrefix(string, prefixes) {\n return prefixes.some(function (prefix) {\n return string.indexOf(prefix) === 0;\n });\n}\n/**\n * Returns true if the given prop name should be ignored in attributes\n * serialization, or false otherwise.\n *\n * @param {string} attribute Attribute to check.\n *\n * @return {boolean} Whether attribute should be ignored.\n */\n\nfunction isInternalAttribute(attribute) {\n return 'key' === attribute || 'children' === attribute;\n}\n/**\n * Returns the normal form of the element's attribute value for HTML.\n *\n * @param {string} attribute Attribute name.\n * @param {*} value Non-normalized attribute value.\n *\n * @return {string} Normalized attribute value.\n */\n\n\nfunction getNormalAttributeValue(attribute, value) {\n switch (attribute) {\n case 'style':\n return renderStyle(value);\n }\n\n return value;\n}\n/**\n * Returns the normal form of the element's attribute name for HTML.\n *\n * @param {string} attribute Non-normalized attribute name.\n *\n * @return {string} Normalized attribute name.\n */\n\n\nfunction getNormalAttributeName(attribute) {\n switch (attribute) {\n case 'htmlFor':\n return 'for';\n\n case 'className':\n return 'class';\n }\n\n return attribute.toLowerCase();\n}\n/**\n * Returns the normal form of the style property name for HTML.\n *\n * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color'\n * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor'\n * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform'\n *\n * @param {string} property Property name.\n *\n * @return {string} Normalized property name.\n */\n\n\nfunction getNormalStylePropertyName(property) {\n if (startsWith(property, '--')) {\n return property;\n }\n\n if (hasPrefix(property, ['ms', 'O', 'Moz', 'Webkit'])) {\n return '-' + kebabCase(property);\n }\n\n return kebabCase(property);\n}\n/**\n * Returns the normal form of the style property value for HTML. Appends a\n * default pixel unit if numeric, not a unitless property, and not zero.\n *\n * @param {string} property Property name.\n * @param {*} value Non-normalized property value.\n *\n * @return {*} Normalized property value.\n */\n\n\nfunction getNormalStylePropertyValue(property, value) {\n if (typeof value === 'number' && 0 !== value && !CSS_PROPERTIES_SUPPORTS_UNITLESS.has(property)) {\n return value + 'px';\n }\n\n return value;\n}\n/**\n * Serializes a React element to string.\n *\n * @param {WPElement} element Element to serialize.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized element.\n */\n\n\nexport function renderElement(element, context) {\n var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (null === element || undefined === element || false === element) {\n return '';\n }\n\n if (Array.isArray(element)) {\n return renderChildren(element, context, legacyContext);\n }\n\n switch (_typeof(element)) {\n case 'string':\n return escapeHTML(element);\n\n case 'number':\n return element.toString();\n }\n\n var type = element.type,\n props = element.props;\n\n switch (type) {\n case StrictMode:\n case Fragment:\n return renderChildren(props.children, context, legacyContext);\n\n case RawHTML:\n var children = props.children,\n wrapperProps = _objectWithoutProperties(props, [\"children\"]);\n\n return renderNativeComponent(isEmpty(wrapperProps) ? null : 'div', _objectSpread({}, wrapperProps, {\n dangerouslySetInnerHTML: {\n __html: children\n }\n }), context, legacyContext);\n }\n\n switch (_typeof(type)) {\n case 'string':\n return renderNativeComponent(type, props, context, legacyContext);\n\n case 'function':\n if (type.prototype && typeof type.prototype.render === 'function') {\n return renderComponent(type, props, context, legacyContext);\n }\n\n return renderElement(type(props, legacyContext), context, legacyContext);\n }\n\n switch (type && type.$$typeof) {\n case Provider.$$typeof:\n return renderChildren(props.children, props.value, legacyContext);\n\n case Consumer.$$typeof:\n return renderElement(props.children(context || type._currentValue), context, legacyContext);\n\n case ForwardRef.$$typeof:\n return renderElement(type.render(props), context, legacyContext);\n }\n\n return '';\n}\n/**\n * Serializes a native component type to string.\n *\n * @param {?string} type Native component type to serialize, or null if\n * rendering as fragment of children content.\n * @param {Object} props Props object.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized element.\n */\n\nexport function renderNativeComponent(type, props, context) {\n var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var content = '';\n\n if (type === 'textarea' && props.hasOwnProperty('value')) {\n // Textarea children can be assigned as value prop. If it is, render in\n // place of children. Ensure to omit so it is not assigned as attribute\n // as well.\n content = renderChildren(props.value, context, legacyContext);\n props = omit(props, 'value');\n } else if (props.dangerouslySetInnerHTML && typeof props.dangerouslySetInnerHTML.__html === 'string') {\n // Dangerous content is left unescaped.\n content = props.dangerouslySetInnerHTML.__html;\n } else if (typeof props.children !== 'undefined') {\n content = renderChildren(props.children, context, legacyContext);\n }\n\n if (!type) {\n return content;\n }\n\n var attributes = renderAttributes(props);\n\n if (SELF_CLOSING_TAGS.has(type)) {\n return '<' + type + attributes + '/>';\n }\n\n return '<' + type + attributes + '>' + content + '';\n}\n/**\n * Serializes a non-native component type to string.\n *\n * @param {Function} Component Component type to serialize.\n * @param {Object} props Props object.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized element\n */\n\nexport function renderComponent(Component, props, context) {\n var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var instance = new Component(props, legacyContext);\n\n if (typeof instance.getChildContext === 'function') {\n Object.assign(legacyContext, instance.getChildContext());\n }\n\n var html = renderElement(instance.render(), context, legacyContext);\n return html;\n}\n/**\n * Serializes an array of children to string.\n *\n * @param {Array} children Children to serialize.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized children.\n */\n\nfunction renderChildren(children, context) {\n var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var result = '';\n children = castArray(children);\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n result += renderElement(child, context, legacyContext);\n }\n\n return result;\n}\n/**\n * Renders a props object as a string of HTML attributes.\n *\n * @param {Object} props Props object.\n *\n * @return {string} Attributes string.\n */\n\n\nexport function renderAttributes(props) {\n var result = '';\n\n for (var key in props) {\n var attribute = getNormalAttributeName(key);\n\n if (!isValidAttributeName(attribute)) {\n continue;\n }\n\n var value = getNormalAttributeValue(key, props[key]); // If value is not of serializeable type, skip.\n\n if (!ATTRIBUTES_TYPES.has(_typeof(value))) {\n continue;\n } // Don't render internal attribute names.\n\n\n if (isInternalAttribute(key)) {\n continue;\n }\n\n var isBooleanAttribute = BOOLEAN_ATTRIBUTES.has(attribute); // Boolean attribute should be omitted outright if its value is false.\n\n if (isBooleanAttribute && value === false) {\n continue;\n }\n\n var isMeaningfulAttribute = isBooleanAttribute || hasPrefix(key, ['data-', 'aria-']) || ENUMERATED_ATTRIBUTES.has(attribute); // Only write boolean value as attribute if meaningful.\n\n if (typeof value === 'boolean' && !isMeaningfulAttribute) {\n continue;\n }\n\n result += ' ' + attribute; // Boolean attributes should write attribute name, but without value.\n // Mere presence of attribute name is effective truthiness.\n\n if (isBooleanAttribute) {\n continue;\n }\n\n if (typeof value === 'string') {\n value = escapeAttribute(value);\n }\n\n result += '=\"' + value + '\"';\n }\n\n return result;\n}\n/**\n * Renders a style object as a string attribute value.\n *\n * @param {Object} style Style object.\n *\n * @return {string} Style attribute value.\n */\n\nexport function renderStyle(style) {\n // Only generate from object, e.g. tolerate string value.\n if (!isPlainObject(style)) {\n return style;\n }\n\n var result;\n\n for (var property in style) {\n var value = style[property];\n\n if (null === value || undefined === value) {\n continue;\n }\n\n if (result) {\n result += ';';\n } else {\n result = '';\n }\n\n var normalName = getNormalStylePropertyName(property);\n var normalValue = getNormalStylePropertyValue(property, value);\n result += normalName + ':' + normalValue;\n }\n\n return result;\n}\nexport default renderElement;\n//# sourceMappingURL=serialize.js.map","export * from './react';\nexport * from './react-platform';\nexport * from './utils';\nexport { default as renderToString } from './serialize';\nexport { default as RawHTML } from './raw-html';\n//# sourceMappingURL=index.js.map","const { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component } = wp.element;\n\nconst enableBlockIdAttributeOnBlocks = [ 'novablocks/announcement-bar' ];\n\nfunction addBlockIdAttribute( block ) {\n\n\tif ( ! enableBlockIdAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ){\n\t\tblock.attributes = Object.assign( block.attributes, {\n\t\t\tblockId: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t}\n\t\t});\n\t}\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-blockId-attribute', addBlockIdAttribute );\n\nconst withBlockIdAttribute = createHigherOrderComponent( ( BlockEdit ) => {\n\n\treturn class BetterBlockEdit extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\tif ( enableBlockIdAttributeOnBlocks.includes( this.props.name ) ) {\n\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\tblockId: this.props.clientId\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\treturn ;\n\t\t}\n\t}\n\n}, \"withBlockIdAttribute\" );\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-blockId-attribute', withBlockIdAttribute );\n\n\n\n","const { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component } = wp.element;\nconst { select } = wp.data;\n\nconst enableBlockIndexAttributeOnBlocks = [ 'novablocks/hero' ];\n\nfunction addBlockIndexAttribute( block ) {\n\n\tif ( ! enableBlockIndexAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ){\n\t\tblock.attributes = Object.assign( block.attributes, {\n\t\t\tblockIndex: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: -1,\n\t\t\t}\n\t\t});\n\t}\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-blockIndex-attribute', addBlockIndexAttribute );\n\nconst withBlockIndexAttribute = createHigherOrderComponent( ( BlockEdit ) => {\n\n\treturn class BetterBlockEdit extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\tthis.updateIndex();\n\t\t}\n\n\t\tupdateIndex() {\n\t\t\tif ( enableBlockIndexAttributeOnBlocks.includes( this.props.name ) ) {\n\t\t\t\tconst oldIndex = this.props.attributes.blockIndex;\n\t\t\t\tconst newIndex = select( 'core/block-editor' ).getBlocks().findIndex( block => {\n\t\t\t\t\treturn block.clientId === this.props.clientId\n\t\t\t\t} );\n\n\t\t\t\tif ( oldIndex !== newIndex ) {\n\t\t\t\t\tthis.props.setAttributes( { blockIndex: newIndex } );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\treturn ;\n\t\t}\n\t}\n\n}, \"withBlockIndexAttribute\" );\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-blockIndex-attribute', withBlockIndexAttribute );\n\n\n\n","import classnames from 'classnames';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\tFragment,\n\tComponent,\n} = wp.element;\n\nconst {\n\tPanelBody,\n\tSelectControl,\n} = wp.components;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\twithSelect,\n} = wp.data;\n\nconst {\n\taddFilter\n} = wp.hooks;\n\nconst enableFontSizeControlOnBlocks = [\n\t'core/quote',\n\t'core/pullquote',\n\t'core/heading',\n\t'novablocks/headline'\n];\n\nconst fontSizeOptions = [\n\t{ value: 'smallest', label: __( 'Smallest', '__plugin_txtd' ) },\n\t{ value: 'smaller', label: __( 'Smaller', '__plugin_txtd' ) },\n\t{ value: 'normal', label: __( 'Normal', '__plugin_txtd' ) },\n\t{ value: 'larger', label: __( 'Larger', '__plugin_txtd' ) },\n\t{ value: 'largest', label: __( 'Largest', '__plugin_txtd' ) },\n];\n\nconst defaultFontSize = 'normal';\n\nfunction replaceActiveFontSize( className, fontSize, nextFontSize ) {\n\n\tif ( className ) {\n\t\tconst regex = new RegExp( 'has-[a-z]+-font-size', 'gi' );\n\t\tclassName = className.replace( regex, '' ).trim();\n\t}\n\n\tconst nextClassName = 'has-' + nextFontSize + '-font-size';\n\n\treturn className ? className + ' ' + nextClassName : nextClassName;\n}\n\nfunction withFontSizePicker( WrappedComponent ) {\n\n\treturn ( props ) => {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tclassName,\n\t\t\t\tfontSize,\n\t\t\t\tlevel,\n\t\t\t},\n\t\t\tsetAttributes,\n\t\t} = props;\n\n\t\tconst selectValue = fontSizeOptions.find( x => x.value === fontSize ) ? fontSize : defaultFontSize;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfontSize: nextFontSize,\n\t\t\t\t\t\t\t\t\tclassName: replaceActiveFontSize( className, fontSize, nextFontSize )\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t \n\t\t)\n\t}\n}\n\nconst withFontSizeControl = createHigherOrderComponent(OriginalComponent => {\n\n\tconst BetterComponent = withFontSizePicker(OriginalComponent);\n\n\treturn ( props ) => {\n\n\t\tif ( ! enableFontSizeControlOnBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn ;\n\t};\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-inspector-controls', withFontSizeControl );\n\nfunction addFontSizeAttribute( block ) {\n\n\tif ( ! enableFontSizeControlOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes === 'undefined' ) {\n\t\tblock.attributes = {};\n\t}\n\n\tblock.attributes = Object.assign( block.attributes, {\n\t\tfontSize: {\n\t\t\ttype: 'string',\n\t\t\tdefault: defaultFontSize,\n\t\t}\n\t});\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-font-size-attribute', addFontSizeAttribute );\n","const DEFAULT_STATE = {\n\tsettings: {\n\n\t}\n};\n\nexport default function( state = DEFAULT_STATE, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsettings: action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n","export function getSettings( state ) {\n\treturn state.settings;\n}\n","export function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n","const {\n\tregisterStore\n} = wp.data;\n\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\n\nexport const STORE_NAME = 'novablocks';\n\nexport default registerStore( STORE_NAME, {\n\treducer,\n\tselectors,\n\tactions,\n} );","import { STORE_NAME } from '../../store';\n\nconst {\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nconst {\n\twithSelect,\n} = wp.data;\n\nexport default createHigherOrderComponent( ( Component ) => {\n\treturn withSelect( ( select, ownProps ) => {\n\t\tconst { getSettings } = select( STORE_NAME );\n\n\t\treturn {\n\t\t\t...ownProps,\n\t\t\tsettings: getSettings(),\n\t\t};\n\t} )( Component );\n} );\n","\nexport const mergeChildrenProps = ( children1, children2 ) => {\n\n\tif ( typeof children1 === \"undefined\" ) {\n\t\treturn children2;\n\t}\n\n\tif ( typeof children2 === \"undefined\" ) {\n\t\treturn children1;\n\t}\n\n\tlet children1Array = Array.isArray( children1 ) ? children1 : [ children1 ];\n\tlet children2Array = Array.isArray( children2 ) ? children2 : [ children2 ];\n\n\treturn children1Array.concat( children2Array );\n}\n\nexport const getSectionsFromFills = ( fills ) => {\n\tconst sections = [];\n\n\t// Merge sections with the same label\n\tfills.forEach( fill => {\n\t\tconst index = sections.findIndex( section => {\n\t\t\treturn section.props.label === fill[0].props.label;\n\t\t} );\n\n\t\tif ( index === -1 ) {\n\t\t\tsections.push( {\n\t\t\t\tprops: fill[0].props,\n\t\t\t} );\n\t\t} else {\n\t\t\tsections.splice(index, 1, {\n\t\t\t\tprops: {\n\t\t\t\t\t...sections[index].props,\n\t\t\t\t\tchildren: mergeChildrenProps( sections[index].props.children, fill[0].props.children ),\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} );\n\n\treturn sections;\n};\n","const { createSlotFill } = wp.components;\n\nconst ControlsSectionsSlotFill = createSlotFill( 'ControlsSections' );\nconst ControlsSectionsSlot = ControlsSectionsSlotFill.Slot;\nconst ControlsSectionsFill = ControlsSectionsSlotFill.Fill;\n\nexport { ControlsSectionsSlot, ControlsSectionsFill };\n","const { createSlotFill } = wp.components;\n\nconst DrawerContentSlotFill = createSlotFill( 'DrawerContent' );\nconst DrawerContentSlot = DrawerContentSlotFill.Slot;\nconst DrawerContentFill = DrawerContentSlotFill.Fill;\n\nexport { DrawerContentSlot, DrawerContentFill };\n","const Cube = ( props ) => {\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default Cube;\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport React, { useState, useCallback, forwardRef, useRef, useEffect, useImperativeHandle, useMemo } from 'react';\n\nconst is = {\n arr: Array.isArray,\n obj: a => Object.prototype.toString.call(a) === '[object Object]',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === void 0,\n nul: a => a === null,\n set: a => a instanceof Set,\n map: a => a instanceof Map,\n\n equ(a, b) {\n if (typeof a !== typeof b) return false;\n if (is.str(a) || is.num(a)) return a === b;\n if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;\n let i;\n\n for (i in a) if (!(i in b)) return false;\n\n for (i in b) if (a[i] !== b[i]) return false;\n\n return is.und(i) ? a === b : true;\n }\n\n};\nfunction merge(target, lowercase) {\n if (lowercase === void 0) {\n lowercase = true;\n }\n\n return object => (is.arr(object) ? object : Object.keys(object)).reduce((acc, element) => {\n const key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;\n acc[key] = target(key);\n return acc;\n }, target);\n}\nfunction useForceUpdate() {\n const _useState = useState(false),\n f = _useState[1];\n\n const forceUpdate = useCallback(() => f(v => !v), []);\n return forceUpdate;\n}\nfunction withDefault(value, defaultValue) {\n return is.und(value) || is.nul(value) ? defaultValue : value;\n}\nfunction toArray(a) {\n return !is.und(a) ? is.arr(a) ? a : [a] : [];\n}\nfunction callProp(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return is.fun(obj) ? obj(...args) : obj;\n}\n\nfunction getForwardProps(props) {\n const to = props.to,\n from = props.from,\n config = props.config,\n onStart = props.onStart,\n onRest = props.onRest,\n onFrame = props.onFrame,\n children = props.children,\n reset = props.reset,\n reverse = props.reverse,\n force = props.force,\n immediate = props.immediate,\n delay = props.delay,\n attach = props.attach,\n destroyed = props.destroyed,\n interpolateTo = props.interpolateTo,\n ref = props.ref,\n lazy = props.lazy,\n forward = _objectWithoutPropertiesLoose(props, [\"to\", \"from\", \"config\", \"onStart\", \"onRest\", \"onFrame\", \"children\", \"reset\", \"reverse\", \"force\", \"immediate\", \"delay\", \"attach\", \"destroyed\", \"interpolateTo\", \"ref\", \"lazy\"]);\n\n return forward;\n}\n\nfunction interpolateTo(props) {\n const forward = getForwardProps(props);\n if (is.und(forward)) return _extends({\n to: forward\n }, props);\n const rest = Object.keys(props).reduce((a, k) => !is.und(forward[k]) ? a : _extends({}, a, {\n [k]: props[k]\n }), {});\n return _extends({\n to: forward\n }, rest);\n}\nfunction handleRef(ref, forward) {\n if (forward) {\n // If it's a function, assume it's a ref callback\n if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {\n forward.current = ref;\n }\n }\n\n return ref;\n}\n\nclass Animated {\n constructor() {\n this.payload = void 0;\n this.children = [];\n }\n\n getAnimatedValue() {\n return this.getValue();\n }\n\n getPayload() {\n return this.payload || this;\n }\n\n attach() {}\n\n detach() {}\n\n getChildren() {\n return this.children;\n }\n\n addChild(child) {\n if (this.children.length === 0) this.attach();\n this.children.push(child);\n }\n\n removeChild(child) {\n const index = this.children.indexOf(child);\n this.children.splice(index, 1);\n if (this.children.length === 0) this.detach();\n }\n\n}\nclass AnimatedArray extends Animated {\n constructor() {\n super(...arguments);\n this.payload = [];\n\n this.attach = () => this.payload.forEach(p => p instanceof Animated && p.addChild(this));\n\n this.detach = () => this.payload.forEach(p => p instanceof Animated && p.removeChild(this));\n }\n\n}\nclass AnimatedObject extends Animated {\n constructor() {\n super(...arguments);\n this.payload = {};\n\n this.attach = () => Object.values(this.payload).forEach(s => s instanceof Animated && s.addChild(this));\n\n this.detach = () => Object.values(this.payload).forEach(s => s instanceof Animated && s.removeChild(this));\n }\n\n getValue(animated) {\n if (animated === void 0) {\n animated = false;\n }\n\n const payload = {};\n\n for (const key in this.payload) {\n const value = this.payload[key];\n if (animated && !(value instanceof Animated)) continue;\n payload[key] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;\n }\n\n return payload;\n }\n\n getAnimatedValue() {\n return this.getValue(true);\n }\n\n}\n\nlet applyAnimatedValues;\nfunction injectApplyAnimatedValues(fn, transform) {\n applyAnimatedValues = {\n fn,\n transform\n };\n}\nlet colorNames;\nfunction injectColorNames(names) {\n colorNames = names;\n}\nlet requestFrame = cb => typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;\nlet cancelFrame = id => {\n typeof window !== 'undefined' && window.cancelAnimationFrame(id);\n};\nfunction injectFrame(raf, caf) {\n requestFrame = raf;\n cancelFrame = caf;\n}\nlet interpolation;\nfunction injectStringInterpolator(fn) {\n interpolation = fn;\n}\nlet now = () => Date.now();\nfunction injectNow(nowFn) {\n now = nowFn;\n}\nlet defaultElement;\nfunction injectDefaultElement(el) {\n defaultElement = el;\n}\nlet animatedApi = node => node.current;\nfunction injectAnimatedApi(fn) {\n animatedApi = fn;\n}\nlet createAnimatedStyle;\nfunction injectCreateAnimatedStyle(factory) {\n createAnimatedStyle = factory;\n}\nlet manualFrameloop;\nfunction injectManualFrameloop(callback) {\n manualFrameloop = callback;\n}\n\nvar Globals = /*#__PURE__*/Object.freeze({\n get applyAnimatedValues () { return applyAnimatedValues; },\n injectApplyAnimatedValues: injectApplyAnimatedValues,\n get colorNames () { return colorNames; },\n injectColorNames: injectColorNames,\n get requestFrame () { return requestFrame; },\n get cancelFrame () { return cancelFrame; },\n injectFrame: injectFrame,\n get interpolation () { return interpolation; },\n injectStringInterpolator: injectStringInterpolator,\n get now () { return now; },\n injectNow: injectNow,\n get defaultElement () { return defaultElement; },\n injectDefaultElement: injectDefaultElement,\n get animatedApi () { return animatedApi; },\n injectAnimatedApi: injectAnimatedApi,\n get createAnimatedStyle () { return createAnimatedStyle; },\n injectCreateAnimatedStyle: injectCreateAnimatedStyle,\n get manualFrameloop () { return manualFrameloop; },\n injectManualFrameloop: injectManualFrameloop\n});\n\n/**\n * Wraps the `style` property with `AnimatedStyle`.\n */\n\nclass AnimatedProps extends AnimatedObject {\n constructor(props, callback) {\n super();\n this.update = void 0;\n this.payload = !props.style ? props : _extends({}, props, {\n style: createAnimatedStyle(props.style)\n });\n this.update = callback;\n this.attach();\n }\n\n}\n\nconst isFunctionComponent = val => is.fun(val) && !(val.prototype instanceof React.Component);\n\nconst createAnimatedComponent = Component => {\n const AnimatedComponent = forwardRef((props, ref) => {\n const forceUpdate = useForceUpdate();\n const mounted = useRef(true);\n const propsAnimated = useRef(null);\n const node = useRef(null);\n const attachProps = useCallback(props => {\n const oldPropsAnimated = propsAnimated.current;\n\n const callback = () => {\n let didUpdate = false;\n\n if (node.current) {\n didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());\n }\n\n if (!node.current || didUpdate === false) {\n // If no referenced node has been found, or the update target didn't have a\n // native-responder, then forceUpdate the animation ...\n forceUpdate();\n }\n };\n\n propsAnimated.current = new AnimatedProps(props, callback);\n oldPropsAnimated && oldPropsAnimated.detach();\n }, []);\n useEffect(() => () => {\n mounted.current = false;\n propsAnimated.current && propsAnimated.current.detach();\n }, []);\n useImperativeHandle(ref, () => animatedApi(node, mounted, forceUpdate));\n attachProps(props);\n\n const _getValue = propsAnimated.current.getValue(),\n scrollTop = _getValue.scrollTop,\n scrollLeft = _getValue.scrollLeft,\n animatedProps = _objectWithoutPropertiesLoose(_getValue, [\"scrollTop\", \"scrollLeft\"]); // Functions cannot have refs, see:\n // See: https://github.com/react-spring/react-spring/issues/569\n\n\n const refFn = isFunctionComponent(Component) ? undefined : childRef => node.current = handleRef(childRef, ref);\n return React.createElement(Component, _extends({}, animatedProps, {\n ref: refFn\n }));\n });\n return AnimatedComponent;\n};\n\nlet active = false;\nconst controllers = new Set();\n\nconst update = () => {\n if (!active) return false;\n let time = now();\n\n for (let controller of controllers) {\n let isActive = false;\n\n for (let configIdx = 0; configIdx < controller.configs.length; configIdx++) {\n let config = controller.configs[configIdx];\n let endOfAnimation, lastTime;\n\n for (let valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {\n let animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude\n\n if (animation.done) continue;\n let from = config.fromValues[valIdx];\n let to = config.toValues[valIdx];\n let position = animation.lastPosition;\n let isAnimated = to instanceof Animated;\n let velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;\n if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state\n\n if (config.immediate) {\n animation.setValue(to);\n animation.done = true;\n continue;\n } // Break animation when string values are involved\n\n\n if (typeof from === 'string' || typeof to === 'string') {\n animation.setValue(to);\n animation.done = true;\n continue;\n }\n\n if (config.duration !== void 0) {\n /** Duration easing */\n position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);\n endOfAnimation = time >= animation.startTime + config.duration;\n } else if (config.decay) {\n /** Decay easing */\n position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));\n endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;\n if (endOfAnimation) to = position;\n } else {\n /** Spring easing */\n lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;\n velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.\n\n if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/\n\n let numSteps = Math.floor(time - lastTime);\n\n for (let i = 0; i < numSteps; ++i) {\n let force = -config.tension * (position - to);\n let damping = -config.friction * velocity;\n let acceleration = (force + damping) / config.mass;\n velocity = velocity + acceleration * 1 / 1000;\n position = position + velocity * 1 / 1000;\n } // Conditions for stopping the spring animation\n\n\n let isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;\n let isVelocity = Math.abs(velocity) <= config.precision;\n let isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;\n endOfAnimation = isOvershooting || isVelocity && isDisplacement;\n animation.lastVelocity = velocity;\n animation.lastTime = time;\n } // Trails aren't done until their parents conclude\n\n\n if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;\n\n if (endOfAnimation) {\n // Ensure that we end up with a round value\n if (animation.value !== to) position = to;\n animation.done = true;\n } else isActive = true;\n\n animation.setValue(position);\n animation.lastPosition = position;\n } // Keep track of updated values only when necessary\n\n\n if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();\n } // Update callbacks in the end of the frame\n\n\n if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame\n\n if (!isActive) {\n controllers.delete(controller);\n controller.stop(true);\n }\n } // Loop over as long as there are controllers ...\n\n\n if (controllers.size) {\n if (manualFrameloop) manualFrameloop();else requestFrame(update);\n } else {\n active = false;\n }\n\n return active;\n};\n\nconst start = controller => {\n if (!controllers.has(controller)) controllers.add(controller);\n\n if (!active) {\n active = true;\n if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);\n }\n};\n\nconst stop = controller => {\n if (controllers.has(controller)) controllers.delete(controller);\n};\n\nfunction createInterpolator(range, output, extrapolate) {\n if (typeof range === 'function') {\n return range;\n }\n\n if (Array.isArray(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (interpolation && typeof range.output[0] === 'string') {\n return interpolation(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range\n\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nclass AnimatedInterpolation extends AnimatedArray {\n constructor(parents, range, output, extrapolate) {\n super();\n this.calc = void 0;\n this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];\n this.calc = createInterpolator(range, output, extrapolate);\n }\n\n getValue() {\n return this.calc(...this.payload.map(value => value.getValue()));\n }\n\n updateConfig(range, output, extrapolate) {\n this.calc = createInterpolator(range, output, extrapolate);\n }\n\n interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n\n}\n\nconst interpolate$1 = (parents, range, output) => parents && new AnimatedInterpolation(parents, range, output);\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\n/** API\n * useChain(references, timeSteps, timeFrame)\n */\n\nfunction useChain(refs, timeSteps, timeFrame) {\n if (timeFrame === void 0) {\n timeFrame = 1000;\n }\n\n const previous = useRef();\n useEffect(() => {\n if (is.equ(refs, previous.current)) refs.forEach((_ref) => {\n let current = _ref.current;\n return current && current.start();\n });else if (timeSteps) {\n refs.forEach((_ref2, index) => {\n let current = _ref2.current;\n\n if (current) {\n const ctrls = current.controllers;\n\n if (ctrls.length) {\n const t = timeFrame * timeSteps[index];\n ctrls.forEach(ctrl => {\n ctrl.queue = ctrl.queue.map(e => _extends({}, e, {\n delay: e.delay + t\n }));\n ctrl.start();\n });\n }\n }\n });\n } else refs.reduce((q, _ref3, rI) => {\n let current = _ref3.current;\n return q = q.then(() => current.start());\n }, Promise.resolve());\n previous.current = refs;\n });\n}\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an AnimatedValue is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\nfunction addAnimatedStyles(node, styles) {\n if ('update' in node) {\n styles.add(node);\n } else {\n node.getChildren().forEach(child => addAnimatedStyles(child, styles));\n }\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n var _this;\n\n super();\n _this = this;\n this.animatedStyles = new Set();\n this.value = void 0;\n this.startPosition = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.startTime = void 0;\n this.lastTime = void 0;\n this.done = false;\n\n this.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n _this.value = value;\n if (flush) _this.flush();\n };\n\n this.value = _value;\n this.startPosition = _value;\n this.lastPosition = _value;\n }\n\n flush() {\n if (this.animatedStyles.size === 0) {\n addAnimatedStyles(this, this.animatedStyles);\n }\n\n this.animatedStyles.forEach(animatedStyle => animatedStyle.update());\n }\n\n clearStyles() {\n this.animatedStyles.clear();\n }\n\n getValue() {\n return this.value;\n }\n\n interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n\n}\n\nclass AnimatedValueArray extends AnimatedArray {\n constructor(values) {\n super();\n this.payload = values.map(n => new AnimatedValue(n));\n }\n\n setValue(value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n if (Array.isArray(value)) {\n if (value.length === this.payload.length) {\n value.forEach((v, i) => this.payload[i].setValue(v, flush));\n }\n } else {\n this.payload.forEach(p => p.setValue(value, flush));\n }\n }\n\n getValue() {\n return this.payload.map(v => v.getValue());\n }\n\n interpolate(range, output) {\n return new AnimatedInterpolation(this, range, output);\n }\n\n}\n\nlet G = 0;\n\nclass Controller {\n constructor() {\n this.id = void 0;\n this.idle = true;\n this.hasChanged = false;\n this.guid = 0;\n this.local = 0;\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.listeners = [];\n this.queue = [];\n this.localQueue = void 0;\n\n this.getValues = () => this.interpolations;\n\n this.id = G++;\n }\n /** update(props)\n * This function filters input props and creates an array of tasks which are executed in .start()\n * Each task is allowed to carry a delay, which means it can execute asnychroneously */\n\n\n update(args) {\n //this._id = n + this.id\n if (!args) return this; // Extract delay and the to-prop from props\n\n const _ref = interpolateTo(args),\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 0 : _ref$delay,\n to = _ref.to,\n props = _objectWithoutPropertiesLoose(_ref, [\"delay\", \"to\"]);\n\n if (is.arr(to) || is.fun(to)) {\n // If config is either a function or an array queue it up as is\n this.queue.push(_extends({}, props, {\n delay,\n to\n }));\n } else if (to) {\n // Otherwise go through each key since it could be delayed individually\n let ops = {};\n Object.entries(to).forEach((_ref2) => {\n let k = _ref2[0],\n v = _ref2[1];\n\n // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props\n const entry = _extends({\n to: {\n [k]: v\n },\n delay: callProp(delay, k)\n }, props);\n\n const previous = ops[entry.delay] && ops[entry.delay].to;\n ops[entry.delay] = _extends({}, ops[entry.delay], entry, {\n to: _extends({}, previous, entry.to)\n });\n });\n this.queue = Object.values(ops);\n } // Sort queue, so that async calls go last\n\n\n this.queue = this.queue.sort((a, b) => a.delay - b.delay); // Diff the reduced props immediately (they'll contain the from-prop and some config)\n\n this.diff(props);\n return this;\n }\n /** start(onEnd)\n * This function either executes a queue, if present, or starts the frameloop, which animates */\n\n\n start(onEnd) {\n // If a queue is present we must excecute it\n if (this.queue.length) {\n this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values\n\n if (this.localQueue) {\n this.localQueue.forEach((_ref3) => {\n let _ref3$from = _ref3.from,\n from = _ref3$from === void 0 ? {} : _ref3$from,\n _ref3$to = _ref3.to,\n to = _ref3$to === void 0 ? {} : _ref3$to;\n if (is.obj(from)) this.merged = _extends({}, from, this.merged);\n if (is.obj(to)) this.merged = _extends({}, this.merged, to);\n });\n } // The guid helps us tracking frames, a new queue over an old one means an override\n // We discard async calls in that caseÍ\n\n\n const local = this.local = ++this.guid;\n const queue = this.localQueue = this.queue;\n this.queue = []; // Go through each entry and execute it\n\n queue.forEach((_ref4, index) => {\n let delay = _ref4.delay,\n props = _objectWithoutPropertiesLoose(_ref4, [\"delay\"]);\n\n const cb = finished => {\n if (index === queue.length - 1 && local === this.guid && finished) {\n this.idle = true;\n if (this.props.onRest) this.props.onRest(this.merged);\n }\n\n if (onEnd) onEnd();\n }; // Entries can be delayed, ansyc or immediate\n\n\n let async = is.arr(props.to) || is.fun(props.to);\n\n if (delay) {\n setTimeout(() => {\n if (local === this.guid) {\n if (async) this.runAsync(props, cb);else this.diff(props).start(cb);\n }\n }, delay);\n } else if (async) this.runAsync(props, cb);else this.diff(props).start(cb);\n });\n } // Otherwise we kick of the frameloop\n else {\n if (is.fun(onEnd)) this.listeners.push(onEnd);\n if (this.props.onStart) this.props.onStart();\n start(this);\n }\n\n return this;\n }\n\n stop(finished) {\n this.listeners.forEach(onEnd => onEnd(finished));\n this.listeners = [];\n return this;\n }\n /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */\n\n\n pause(finished) {\n this.stop(true);\n if (finished) stop(this);\n return this;\n }\n\n runAsync(_ref5, onEnd) {\n var _this = this;\n\n let delay = _ref5.delay,\n props = _objectWithoutPropertiesLoose(_ref5, [\"delay\"]);\n\n const local = this.local; // If \"to\" is either a function or an array it will be processed async, therefor \"to\" should be empty right now\n // If the view relies on certain values \"from\" has to be present\n\n let queue = Promise.resolve(undefined);\n\n if (is.arr(props.to)) {\n for (let i = 0; i < props.to.length; i++) {\n const index = i;\n\n const fresh = _extends({}, props, interpolateTo(props.to[index]));\n\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n queue = queue.then(() => {\n //this.stop()\n if (local === this.guid) return new Promise(r => this.diff(fresh).start(r));\n });\n }\n } else if (is.fun(props.to)) {\n let index = 0;\n let last;\n queue = queue.then(() => props.to( // next(props)\n p => {\n const fresh = _extends({}, props, interpolateTo(p));\n\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n index++; //this.stop()\n\n if (local === this.guid) return last = new Promise(r => this.diff(fresh).start(r));\n return;\n }, // cancel()\n function (finished) {\n if (finished === void 0) {\n finished = true;\n }\n\n return _this.stop(finished);\n }).then(() => last));\n }\n\n queue.then(onEnd);\n }\n\n diff(props) {\n this.props = _extends({}, this.props, props);\n let _this$props = this.props,\n _this$props$from = _this$props.from,\n from = _this$props$from === void 0 ? {} : _this$props$from,\n _this$props$to = _this$props.to,\n to = _this$props$to === void 0 ? {} : _this$props$to,\n _this$props$config = _this$props.config,\n config = _this$props$config === void 0 ? {} : _this$props$config,\n reverse = _this$props.reverse,\n attach = _this$props.attach,\n reset = _this$props.reset,\n immediate = _this$props.immediate; // Reverse values when requested\n\n if (reverse) {\n var _ref6 = [to, from];\n from = _ref6[0];\n to = _ref6[1];\n } // This will collect all props that were ever set, reset merged props when necessary\n\n\n this.merged = _extends({}, from, this.merged, to);\n this.hasChanged = false; // Attachment handling, trailed springs can \"attach\" themselves to a previous spring\n\n let target = attach && attach(this); // Reduces input { name: value } pairs into animated values\n\n this.animations = Object.entries(this.merged).reduce((acc, _ref7) => {\n let name = _ref7[0],\n value = _ref7[1];\n // Issue cached entries, except on reset\n let entry = acc[name] || {}; // Figure out what the value is supposed to be\n\n const isNumber = is.num(value);\n const isString = is.str(value) && !value.startsWith('#') && !/\\d/.test(value) && !colorNames[value];\n const isArray = is.arr(value);\n const isInterpolation = !isNumber && !isArray && !isString;\n let fromValue = !is.und(from[name]) ? from[name] : value;\n let toValue = isNumber || isArray ? value : isString ? value : 1;\n let toConfig = callProp(config, name);\n if (target) toValue = target.animations[name].parent;\n let parent = entry.parent,\n interpolation$$1 = entry.interpolation,\n toValues = toArray(target ? toValue.getPayload() : toValue),\n animatedValues;\n let newValue = value;\n if (isInterpolation) newValue = interpolation({\n range: [0, 1],\n output: [value, value]\n })(1);\n let currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags\n\n const isFirst = is.und(parent);\n const isActive = !isFirst && entry.animatedValues.some(v => !v.done);\n const currentValueDiffersFromGoal = !is.equ(newValue, currentValue);\n const hasNewGoal = !is.equ(newValue, entry.previous);\n const hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)\n // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)\n\n if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {\n // Convert regular values into animated values, ALWAYS re-use if possible\n if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {\n let prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);\n prev = prev !== void 0 && !reset ? prev : fromValue;\n\n if (entry.parent) {\n parent = entry.parent;\n parent.setValue(0, false);\n } else parent = new AnimatedValue(0);\n\n const range = {\n output: [prev, value]\n };\n\n if (entry.interpolation) {\n interpolation$$1 = entry.interpolation;\n entry.interpolation.updateConfig(range);\n } else interpolation$$1 = parent.interpolate(range);\n }\n toValues = toArray(target ? toValue.getPayload() : toValue);\n animatedValues = toArray(parent.getPayload());\n if (reset && !isInterpolation) parent.setValue(fromValue, false);\n this.hasChanged = true; // Reset animated values\n\n animatedValues.forEach(value => {\n value.startPosition = value.value;\n value.lastPosition = value.value;\n value.lastVelocity = isActive ? value.lastVelocity : undefined;\n value.lastTime = isActive ? value.lastTime : undefined;\n value.startTime = now();\n value.done = false;\n value.animatedStyles.clear();\n }); // Set immediate values\n\n if (callProp(immediate, name)) {\n parent.setValue(isInterpolation ? toValue : value, false);\n }\n\n return _extends({}, acc, {\n [name]: _extends({}, entry, {\n name,\n parent,\n interpolation: interpolation$$1,\n animatedValues,\n toValues,\n previous: newValue,\n config: toConfig,\n fromValues: toArray(parent.getValue()),\n immediate: callProp(immediate, name),\n initialVelocity: withDefault(toConfig.velocity, 0),\n clamp: withDefault(toConfig.clamp, false),\n precision: withDefault(toConfig.precision, 0.01),\n tension: withDefault(toConfig.tension, 170),\n friction: withDefault(toConfig.friction, 26),\n mass: withDefault(toConfig.mass, 1),\n duration: toConfig.duration,\n easing: withDefault(toConfig.easing, t => t),\n decay: toConfig.decay\n })\n });\n } else {\n if (!currentValueDiffersFromGoal) {\n // So ... the current target value (newValue) appears to be different from the previous value,\n // which normally constitutes an update, but the actual value (currentValue) matches the target!\n // In order to resolve this without causing an animation update we silently flag the animation as done,\n // which it technically is. Interpolations also needs a config update with their target set to 1.\n if (isInterpolation) {\n parent.setValue(1, false);\n interpolation$$1.updateConfig({\n output: [newValue, newValue]\n });\n }\n\n parent.done = true;\n this.hasChanged = true;\n return _extends({}, acc, {\n [name]: _extends({}, acc[name], {\n previous: newValue\n })\n });\n }\n\n return acc;\n }\n }, this.animations);\n\n if (this.hasChanged) {\n // Make animations available to frameloop\n this.configs = Object.values(this.animations);\n this.values = {};\n this.interpolations = {};\n\n for (let key in this.animations) {\n this.interpolations[key] = this.animations[key].interpolation;\n this.values[key] = this.animations[key].interpolation.getValue();\n }\n }\n\n return this;\n }\n\n destroy() {\n this.stop();\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.local = 0;\n }\n\n}\n\n/** API\n * const props = useSprings(number, [{ ... }, { ... }, ...])\n * const [props, set] = useSprings(number, (i, controller) => ({ ... }))\n */\n\nconst useSprings = (length, props) => {\n const mounted = useRef(false);\n const ctrl = useRef();\n const isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations\n\n const _useMemo = useMemo(() => {\n // Remove old controllers\n if (ctrl.current) {\n ctrl.current.map(c => c.destroy());\n ctrl.current = undefined;\n }\n\n let ref;\n return [new Array(length).fill().map((_, i) => {\n const ctrl = new Controller();\n const newProps = isFn ? callProp(props, i, ctrl) : props[i];\n if (i === 0) ref = newProps.ref;\n ctrl.update(newProps);\n if (!ref) ctrl.start();\n return ctrl;\n }), ref];\n }, [length]),\n controllers = _useMemo[0],\n ref = _useMemo[1];\n\n ctrl.current = controllers; // The hooks reference api gets defined here ...\n\n const api = useImperativeHandle(ref, () => ({\n start: () => Promise.all(ctrl.current.map(c => new Promise(r => c.start(r)))),\n stop: finished => ctrl.current.forEach(c => c.stop(finished)),\n\n get controllers() {\n return ctrl.current;\n }\n\n })); // This function updates the controllers\n\n const updateCtrl = useMemo(() => updateProps => ctrl.current.map((c, i) => {\n c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);\n if (!ref) c.start();\n }), [length]); // Update controller if props aren't functional\n\n useEffect(() => {\n if (mounted.current) {\n if (!isFn) updateCtrl(props);\n } else if (!ref) ctrl.current.forEach(c => c.start());\n }); // Update mounted flag and destroy controller on unmount\n\n useEffect(() => (mounted.current = true, () => ctrl.current.forEach(c => c.destroy())), []); // Return animated props, or, anim-props + the update-setter above\n\n const propValues = ctrl.current.map(c => c.getValues());\n return isFn ? [propValues, updateCtrl, finished => ctrl.current.forEach(c => c.pause(finished))] : propValues;\n};\n\n/** API\n * const props = useSpring({ ... })\n * const [props, set] = useSpring(() => ({ ... }))\n */\n\nconst useSpring = props => {\n const isFn = is.fun(props);\n\n const _useSprings = useSprings(1, isFn ? props : [props]),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2];\n\n return isFn ? [result[0], set, pause] : result;\n};\n\n/** API\n * const trails = useTrail(number, { ... })\n * const [trails, set] = useTrail(number, () => ({ ... }))\n */\n\nconst useTrail = (length, props) => {\n const mounted = useRef(false);\n const isFn = is.fun(props);\n const updateProps = callProp(props);\n const instances = useRef();\n\n const _useSprings = useSprings(length, (i, ctrl) => {\n if (i === 0) instances.current = [];\n instances.current.push(ctrl);\n return _extends({}, updateProps, {\n config: callProp(updateProps.config, i),\n attach: i > 0 && (() => instances.current[i - 1])\n });\n }),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2]; // Set up function to update controller\n\n\n const updateCtrl = useMemo(() => props => set((i, ctrl) => {\n const last = props.reverse ? i === 0 : length - 1 === i;\n const attachIdx = props.reverse ? i + 1 : i - 1;\n const attachController = instances.current[attachIdx];\n return _extends({}, props, {\n config: callProp(props.config || updateProps.config, i),\n attach: attachController && (() => attachController)\n });\n }), [length, updateProps.reverse]); // Update controller if props aren't functional\n\n useEffect(() => void (mounted.current && !isFn && updateCtrl(props))); // Update mounted flag and destroy controller on unmount\n\n useEffect(() => void (mounted.current = true), []);\n return isFn ? [result, updateCtrl, pause] : result;\n};\n\n/** API\n * const transitions = useTransition(items, itemKeys, { ... })\n * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))\n */\n\nlet guid = 0;\nconst ENTER = 'enter';\nconst LEAVE = 'leave';\nconst UPDATE = 'update';\n\nconst mapKeys = (items, keys) => (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);\n\nconst get = props => {\n let items = props.items,\n _props$keys = props.keys,\n keys = _props$keys === void 0 ? item => item : _props$keys,\n rest = _objectWithoutPropertiesLoose(props, [\"items\", \"keys\"]);\n\n items = toArray(items !== void 0 ? items : null);\n return _extends({\n items,\n keys: mapKeys(items, keys)\n }, rest);\n};\n\nfunction useTransition(input, keyTransform, config) {\n const props = _extends({\n items: input,\n keys: keyTransform || (i => i)\n }, config);\n\n const _get = get(props),\n _get$lazy = _get.lazy,\n lazy = _get$lazy === void 0 ? false : _get$lazy,\n _get$unique = _get.unique,\n _get$reset = _get.reset,\n reset = _get$reset === void 0 ? false : _get$reset,\n enter = _get.enter,\n leave = _get.leave,\n update = _get.update,\n onDestroyed = _get.onDestroyed,\n keys = _get.keys,\n items = _get.items,\n onFrame = _get.onFrame,\n _onRest = _get.onRest,\n onStart = _get.onStart,\n ref = _get.ref,\n extra = _objectWithoutPropertiesLoose(_get, [\"lazy\", \"unique\", \"reset\", \"enter\", \"leave\", \"update\", \"onDestroyed\", \"keys\", \"items\", \"onFrame\", \"onRest\", \"onStart\", \"ref\"]);\n\n const forceUpdate = useForceUpdate();\n const mounted = useRef(false);\n const state = useRef({\n mounted: false,\n first: true,\n deleted: [],\n current: {},\n transitions: [],\n prevProps: {},\n paused: !!props.ref,\n instances: !mounted.current && new Map(),\n forceUpdate\n });\n useImperativeHandle(props.ref, () => ({\n start: () => Promise.all(Array.from(state.current.instances).map((_ref) => {\n let c = _ref[1];\n return new Promise(r => c.start(r));\n })),\n stop: finished => Array.from(state.current.instances).forEach((_ref2) => {\n let c = _ref2[1];\n return c.stop(finished);\n }),\n\n get controllers() {\n return Array.from(state.current.instances).map((_ref3) => {\n let c = _ref3[1];\n return c;\n });\n }\n\n })); // Update state\n\n state.current = diffItems(state.current, props);\n\n if (state.current.changed) {\n // Update state\n state.current.transitions.forEach(transition => {\n const slot = transition.slot,\n from = transition.from,\n to = transition.to,\n config = transition.config,\n trail = transition.trail,\n key = transition.key,\n item = transition.item;\n if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object\n\n const ctrl = state.current.instances.get(key);\n\n const newProps = _extends({}, extra, {\n to,\n from,\n config,\n ref,\n onRest: values => {\n if (state.current.mounted) {\n if (transition.destroyed) {\n // If no ref is given delete destroyed items immediately\n if (!ref && !lazy) cleanUp(state, key);\n if (onDestroyed) onDestroyed(item);\n } // A transition comes to rest once all its springs conclude\n\n\n const curInstances = Array.from(state.current.instances);\n const active = curInstances.some((_ref4) => {\n let c = _ref4[1];\n return !c.idle;\n });\n if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);\n if (_onRest) _onRest(item, slot, values);\n }\n },\n onStart: onStart && (() => onStart(item, slot)),\n onFrame: onFrame && (values => onFrame(item, slot, values)),\n delay: trail,\n reset: reset && slot === ENTER // Update controller\n\n });\n\n ctrl.update(newProps);\n if (!state.current.paused) ctrl.start();\n });\n }\n\n useEffect(() => {\n state.current.mounted = mounted.current = true;\n return () => {\n state.current.mounted = mounted.current = false;\n Array.from(state.current.instances).map((_ref5) => {\n let c = _ref5[1];\n return c.destroy();\n });\n state.current.instances.clear();\n };\n }, []);\n return state.current.transitions.map((_ref6) => {\n let item = _ref6.item,\n slot = _ref6.slot,\n key = _ref6.key;\n return {\n item,\n key,\n state: slot,\n props: state.current.instances.get(key).getValues()\n };\n });\n}\n\nfunction cleanUp(state, filterKey) {\n const deleted = state.current.deleted;\n\n for (let _ref7 of deleted) {\n let key = _ref7.key;\n\n const filter = t => t.key !== key;\n\n if (is.und(filterKey) || filterKey === key) {\n state.current.instances.delete(key);\n state.current.transitions = state.current.transitions.filter(filter);\n state.current.deleted = state.current.deleted.filter(filter);\n }\n }\n\n state.current.forceUpdate();\n}\n\nfunction diffItems(_ref8, props) {\n let first = _ref8.first,\n prevProps = _ref8.prevProps,\n state = _objectWithoutPropertiesLoose(_ref8, [\"first\", \"prevProps\"]);\n\n let _get2 = get(props),\n items = _get2.items,\n keys = _get2.keys,\n initial = _get2.initial,\n from = _get2.from,\n enter = _get2.enter,\n leave = _get2.leave,\n update = _get2.update,\n _get2$trail = _get2.trail,\n trail = _get2$trail === void 0 ? 0 : _get2$trail,\n unique = _get2.unique,\n config = _get2.config,\n _get2$order = _get2.order,\n order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;\n\n let _get3 = get(prevProps),\n _keys = _get3.keys,\n _items = _get3.items;\n\n let current = _extends({}, state.current);\n\n let deleted = [...state.deleted]; // Compare next keys with current keys\n\n let currentKeys = Object.keys(current);\n let currentSet = new Set(currentKeys);\n let nextSet = new Set(keys);\n let added = keys.filter(item => !currentSet.has(item));\n let removed = state.transitions.filter(item => !item.destroyed && !nextSet.has(item.originalKey)).map(i => i.originalKey);\n let updated = keys.filter(item => currentSet.has(item));\n let delay = -trail;\n\n while (order.length) {\n const changeType = order.shift();\n\n switch (changeType) {\n case ENTER:\n {\n added.forEach((key, index) => {\n // In unique mode, remove fading out transitions if their key comes in again\n if (unique && deleted.find(d => d.originalKey === key)) deleted = deleted.filter(t => t.originalKey !== key);\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const slot = first && initial !== void 0 ? 'initial' : ENTER;\n current[key] = {\n slot,\n originalKey: key,\n key: unique ? String(key) : guid++,\n item,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),\n to: callProp(enter, item)\n };\n });\n break;\n }\n\n case LEAVE:\n {\n removed.forEach(key => {\n const keyIndex = _keys.indexOf(key);\n\n const item = _items[keyIndex];\n const slot = LEAVE;\n deleted.unshift(_extends({}, current[key], {\n slot,\n destroyed: true,\n left: _keys[Math.max(0, keyIndex - 1)],\n right: _keys[Math.min(_keys.length, keyIndex + 1)],\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(leave, item)\n }));\n delete current[key];\n });\n break;\n }\n\n case UPDATE:\n {\n updated.forEach(key => {\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const slot = UPDATE;\n current[key] = _extends({}, current[key], {\n item,\n slot,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(update, item)\n });\n });\n break;\n }\n }\n }\n\n let out = keys.map(key => current[key]); // This tries to restore order for deleted items by finding their last known siblings\n // only using the left sibling to keep order placement consistent for all deleted items\n\n deleted.forEach((_ref9) => {\n let left = _ref9.left,\n right = _ref9.right,\n item = _objectWithoutPropertiesLoose(_ref9, [\"left\", \"right\"]);\n\n let pos; // Was it the element on the left, if yes, move there ...\n\n if ((pos = out.findIndex(t => t.originalKey === left)) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\\_(ツ)_/¯\n\n pos = Math.max(0, pos);\n out = [...out.slice(0, pos), item, ...out.slice(pos)];\n });\n return _extends({}, state, {\n changed: added.length || removed.length || updated.length,\n first: first && added.length === 0,\n transitions: out,\n current,\n deleted,\n prevProps: props\n });\n}\n\nclass AnimatedStyle extends AnimatedObject {\n constructor(style) {\n if (style === void 0) {\n style = {};\n }\n\n super();\n\n if (style.transform && !(style.transform instanceof Animated)) {\n style = applyAnimatedValues.transform(style);\n }\n\n this.payload = style;\n }\n\n}\n\n// http://www.w3.org/TR/css3-color/#svg-color\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\n// const INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call() {\n for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {\n parts[_key] = arguments[_key];\n }\n\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\n/*\nhttps://github.com/react-community/normalize-css-color\n\nBSD 3-Clause License\n\nCopyright (c) 2016, React Community\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n } // Ordered based on occurrences on Facebook codebase\n\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n if (colors.hasOwnProperty(color)) return colors[color];\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 0x000000ff) >>> // a\n 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4])) >>> // a\n 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n 'ff', // a\n 16) >>> 0;\n } // https://drafts.csswg.org/css-color-4/#hex-notation\n\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | 0x000000ff) >>> // a\n 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | parse1(match[4])) >>> // a\n 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n} // Problem: https://github.com/animatedjs/animated/pull/102\n// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662\n\n\nconst stringShapeRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g; // Covers rgb, rgba, hsl, hsla\n// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e\n\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi; // Covers color names (transparent, blue, etc.)\n\nconst colorNamesRegex = new RegExp(`(${Object.keys(colors).join('|')})`, 'g');\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows\n */\n\nconst createStringInterpolator = config => {\n // Replace colors with rgba\n const outputRange = config.output.map(rangeValue => rangeValue.replace(colorRegex, colorToRgba)).map(rangeValue => rangeValue.replace(colorNamesRegex, colorToRgba));\n const outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n value.match(stringShapeRegex).forEach((number, i) => outputRanges[i].push(+number));\n });\n const interpolations = outputRange[0].match(stringShapeRegex).map((_value, i) => createInterpolator(_extends({}, config, {\n output: outputRanges[i]\n })));\n return input => {\n let i = 0;\n return outputRange[0] // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n .replace(stringShapeRegex, () => interpolations[i++](input)) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n .replace(/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi, (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`);\n };\n};\n\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n\n return ('' + value).trim();\n}\n\nconst attributeCache = {};\ninjectCreateAnimatedStyle(style => new AnimatedStyle(style));\ninjectDefaultElement('div');\ninjectStringInterpolator(createStringInterpolator);\ninjectColorNames(colors);\ninjectApplyAnimatedValues((instance, props) => {\n if (instance.nodeType && instance.setAttribute !== undefined) {\n const style = props.style,\n children = props.children,\n scrollTop = props.scrollTop,\n scrollLeft = props.scrollLeft,\n attributes = _objectWithoutPropertiesLoose(props, [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"]);\n\n const filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n if (scrollTop !== void 0) instance.scrollTop = scrollTop;\n if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value\n\n if (children !== void 0) instance.textContent = children; // Set styles ...\n\n for (let styleName in style) {\n if (!style.hasOwnProperty(styleName)) continue;\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);\n if (styleName === 'float') styleName = 'cssFloat';\n if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;\n } // Set attributes ...\n\n\n for (let name in attributes) {\n // Attributes are written in dash case\n const dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase()));\n if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);\n }\n\n return;\n } else return false;\n}, style => style);\n\nconst domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n// Extend animated with all the available THREE elements\nconst apply = merge(createAnimatedComponent, false);\nconst extendedAnimated = apply(domElements);\n\nexport { apply, config, update, extendedAnimated as animated, extendedAnimated as a, interpolate$1 as interpolate, Globals, useSpring, useTrail, useTransition, useChain, useSprings };\n","import classnames from \"classnames\";\n\nimport { kebabCase } from \"lodash\";\nimport { useSpring, animated } from 'react-spring';\n\nimport Cube from \"./cube\";\n\nimport { getSectionsFromFills } from \"./utils\";\n\nconst ACCENT_COLORS = [ 'rgb(142,101,192)', 'rgb(0,202,182)', 'rgb(222,22,81)' ];\n\nconst { __ } = wp.i18n;\n\nconst {\n\tuseEffect,\n\tuseState,\n\tFragment,\n\tComponent,\n\tcreateRef,\n} = wp.element;\n\nconst getTabAccentColor = ( label ) => {\n\n\tif ( __( 'General' ) === label ) {\n\t\treturn ACCENT_COLORS[0];\n\t}\n\n\tif ( __( 'Customize' ) === label ) {\n\t\treturn ACCENT_COLORS[1];\n\t}\n\n\treturn ACCENT_COLORS[2];\n}\n\nconst getTabClassName = ( label, activeTabLabel ) => {\n\treturn classnames(\n\t\t'novablocks-sections__tab',\n\t\t{\n\t\t\t'novablocks-sections__tab--active': activeTabLabel === label\n\t\t}\n\t)\n}\n\nconst ActiveSectionTabs = ( props ) => {\n\n\tconst {\n\t\ttitle,\n\t\ttabs,\n\t\tgoBack,\n\t\tupdateHeight,\n\t} = props;\n\n\tif ( ! tabs.length ) {\n\t\treturn null;\n\t}\n\n\tconst [ activeTabLabel, setActiveTabLabel ] = useState( tabs[0].props.label );\n\tconst activeTabIndex = tabs.findIndex( tab => tab.props.label === activeTabLabel );\n\tconst activeTab = tabs[activeTabIndex];\n\n\tconst { accentColor } = useSpring({\n\t\taccentColor: getTabAccentColor( activeTabLabel )\n\t} );\n\n\tuseEffect( updateHeight, [activeTabLabel] );\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t
{ title }
\n\t\t\t\t\n\t\t\t
\n\t\t\t{\n\t\t\t\ttabs.length > 1 &&\n\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\ttabs.map( ( tab, index ) => {\n\t\t\t\t\t\t\tconst label = tab.props.label;\n\t\t\t\t\t\t\tconst className = getTabClassName( label, activeTabLabel );\n\t\t\t\t\t\t\tconst onClick = () => {\n\t\t\t\t\t\t\t\tsetActiveTabLabel( label );\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
{ label }
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t}\n\t\t\t\n\t\t
\n\t)\n}\n\nclass TabContent extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.resizeObserver = null;\n\t\tthis.resizeElement = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.resizeObserver = new ResizeObserver( entries => {\n\t\t\tthis.props.updateHeight();\n\t\t} );\n\n\t\tthis.resizeObserver.observe( this.resizeElement.current );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\n\t\tconst { activeTab } = this.props;\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{ !! activeTab && activeTab.props.children }\n\t\t\t
\n\t\t)\n\t}\n}\n\nexport { ActiveSectionTabs };\n","const {\n\tuseRef,\n\tuseLayoutEffect,\n\tuseState,\n\tuseCallback,\n} = wp.element;\n\nconst useResizeObserver = () => {\n\tconst [entry, setEntry] = useState( {} );\n\tconst [node, setNode] = useState( null );\n\tconst observer = useRef( null );\n\n\tconst disconnect = useCallback( () => {\n\t\tconst {current} = observer;\n\t\tcurrent && current.disconnect();\n\t}, [] );\n\n\tconst observe = useCallback( () => {\n\t\tobserver.current = new ResizeObserver( ( [entry] ) => setEntry( entry ) );\n\t\tnode && observer.current.observe( node );\n\t}, [node] );\n\n\tuseLayoutEffect( () => {\n\t\tobserve();\n\t\treturn () => disconnect();\n\t}, [disconnect, observe] );\n\n\treturn [setNode, entry];\n};\n\nexport default useResizeObserver;\n","import { useSpring, animated } from 'react-spring';\nimport { orderBy } from 'lodash';\nimport classnames from 'classnames';\nimport useResizeObserver from '../../hooks/resize-observer';\n\nconst {\n\tChildren,\n\tcloneElement,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} = wp.element;\n\nconst Drawers = ( ownProps ) => {\n\n\tconst children = Children.toArray( ownProps.children );\n\n\tconst drawerLists = children.filter( child => child.type === DrawerList );\n\tconst drawerPanels = children.filter( child => child.type === DrawerPanel );\n\tconst beforeChildren = children.filter( child => child.type === DrawerListBefore );\n\tconst afterChildren = children.filter( child => child.type === DrawerListAfter );\n\n\tconst [ active, setActive ] = useState( false );\n\tconst [ open, setOpen ] = useState( false );\n\n\tconst [ wrapperHeight, setWrapperHeight ] = useState(0);\n\n\tconst ref = useRef( null );\n\tconst [ refMap ] = useState( () => new WeakMap() );\n\n\tconst noop = () => {};\n\tconst onOpen = typeof ownProps.onOpen === 'function' ? ownProps.onOpen : noop;\n\tconst onClose = typeof ownProps.onClose === 'function' ? ownProps.onClose : noop;\n\n\tconst getDrawerListHeight = () => {\n\t\treturn !! ref.current ? ref.current.clientHeight : 0;\n\t};\n\n\tconst getActiveDrawerHeight = () => {\n\t\tconst activeRef = refMap.get( drawerPanels[active] );\n\t\treturn !! activeRef ? activeRef.clientHeight : 0;\n\t};\n\n\tconst updateHeight = () => {\n\t\tconst drawerListHeight = getDrawerListHeight();\n\t\tconst drawerPanelHeight = getActiveDrawerHeight();\n\n\t\tsetWrapperHeight( !! open ? drawerPanelHeight : drawerListHeight );\n\t};\n\n\tconst { height, transform } = useSpring({\n\t\ttransform: open ? 'translate3d(-100%,0,0)' : 'translate3d(0%,0,0)',\n\t\theight: wrapperHeight,\n\t\t// avoid height animation on first render\n\t\timmediate: ! open && false === active\n\t} );\n\n\tuseEffect( () => {\n\t\tupdateHeight();\n\t}, [ open, active ] );\n\n\t// keep track of number of drawers in previous drawerLists\n\tlet totalDrawers = 0;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{ beforeChildren }\n\t\t\t\t\t{ drawerLists.map( ( drawerList, drawerListIndex ) => {\n\t\t\t\t\t\tconst drawers = getDrawersFromList( drawerList );\n\t\t\t\t\t\tconst title = drawerList?.props?.title;\n\t\t\t\t\t\ttotalDrawers = totalDrawers + drawers.length;\n\n\t\t\t\t\t\tconst drawersWithTarget = drawers.map( ( drawer, index ) => {\n\t\t\t\t\t\t\tconst defaultTarget = totalDrawers - drawers.length + index;\n\t\t\t\t\t\t\tconst target = Number.isInteger( drawer.props?.target ) ? drawer.props.target : defaultTarget;\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...drawer,\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tconst orderedDrawers = orderBy( drawersWithTarget, drawer => drawer.props.priority || 0, ['desc'] );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{ title &&
{ title }
}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\torderedDrawers.map( ( { props, target }, drawerIndex ) => {\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetActive( target );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\tonOpen();\n\t\t\t\t\t\t\t\t\t\t\t\t} } />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t} ) }\n\t\t\t\t\t{ afterChildren.map( ( afterChild, index ) => {\n\t\t\t\t\t\tconst [ childRef, { contentRect } ] = useResizeObserver();\n\n\t\t\t\t\t\tuseEffect( updateHeight, [ contentRect?.height ] );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{ afterChild }\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t} ) }\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tdrawerPanels.map( ( drawerPanel, index ) => {\n\n\t\t\t\t\t\tconst className = classnames(\n\t\t\t\t\t\t\t'novablocks-drawers__panel',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'novablocks-drawers__panel--hidden': index !== active\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
ref && refMap.set( drawerPanel, ref ) }>\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} } updateHeight={ updateHeight } />\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\n\t\t\n\t);\n};\n\nconst DrawerWithProps = ( props ) => {\n\tconst { goBack, isActive, updateHeight } = props;\n\n\treturn addPropsToChildren( props.children, {\n\t\tgoBack,\n\t\tisActive,\n\t\tupdateHeight,\n\t} );\n};\n\nconst addPropsToChildren = ( children, props ) => {\n\n\tif ( typeof children === \"undefined\" ) {\n\t\treturn children;\n\t}\n\n\tif ( Array.isArray( children ) ) {\n\t\treturn children.map( child => cloneElement( child, props ) )\n\t}\n\n\treturn cloneElement( children, props );\n};\n\nconst getDrawersFromList = ( drawerList ) => {\n\n\tconst children = drawerList?.props?.children;\n\n\tif ( ! Array.isArray( children ) ) {\n\t\treturn [];\n\t}\n\n\treturn children.filter( child => child.type === Drawer );\n};\n\nconst DrawerList = ( props ) => {\n\treturn (\n\t\t
{ props.children }
\n\t);\n};\n\nconst DrawerPanel = ( props ) => {\n\treturn props.children;\n};\n\nconst DrawerListBefore = ( props ) => {\n\treturn props.children;\n};\n\nconst DrawerListAfter = ( props ) => {\n\treturn props.children;\n};\n\nconst Drawer = ( props ) => {\n\tconst { title, onClick } = props;\n\n\treturn (\n\t\t
{ title }
\n\t)\n};\n\nexport {\n\tDrawer,\n\tDrawers,\n\tDrawerList,\n\tDrawerListBefore,\n\tDrawerListAfter,\n\tDrawerPanel,\n};\n","// internal dependencies\nimport $ from 'jquery';\nimport { groupBy } from 'lodash';\nimport { getSectionsFromFills } from './utils';\nimport { ControlsSectionsSlot, ControlsSectionsFill } from \"./controls-sections-slot-fill\";\nimport { DrawerContentSlot, DrawerContentFill } from \"./drawer-content-slot-fill\";\n\nimport Cube from './cube';\nimport { ActiveSectionTabs } from \"./tabs\";\n\nimport { Drawer, Drawers, DrawerList, DrawerPanel, DrawerListBefore, DrawerListAfter } from \"../../components/drawer\";\n\nconst { __ } = wp.i18n;\nconst { useBlockEditContext } = wp.blockEditor;\n\nconst {\n\tChildren,\n} = wp.element;\n\nconst ControlsSectionsComponent = ( props ) => {\n\n\tconst { sections } = props;\n\n\tconst advancedButton = document.querySelector( '.block-editor-block-inspector__advanced' );\n\tconst advancedWrapper = !! advancedButton && advancedButton.parentNode;\n\n\tif ( !! advancedWrapper ) {\n\t\tadvancedWrapper.style.setProperty( 'transition', 'height .3s ease-out' );\n\t\tadvancedWrapper.style.setProperty( 'overflow', 'hidden' );\n\t}\n\n\tconst onOpen = () => {\n\t\tif ( !! advancedWrapper?.style ) {\n\t\t\tadvancedWrapper.style.setProperty( 'height', ` ${ advancedButton.offsetHeight }px`, );\n\t\t\trequestAnimationFrame( () => {\n\t\t\t\tadvancedWrapper.style.setProperty( 'height', 0 );\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onClose = () => {\n\t\tif ( !! advancedWrapper?.style ) {\n\t\t\tadvancedWrapper.addEventListener( 'transitionend', () => {\n\t\t\t\tadvancedWrapper.style.removeProperty( 'height' );\n\t\t\t}, { once: true } );\n\t\t\tadvancedWrapper.style.setProperty( 'height', ` ${ advancedButton.offsetHeight }px` );\n\t\t}\n\t};\n\n\tconst groups = groupBy( sections, section => {\n\t\treturn !! section.props.group ? section.props.group : '';\n\t} );\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
{ __( 'Design Customization' ) }
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tObject.keys( groups ).map( key => {\n\t\t\t\t\t\tconst sections = groups[ key ];\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ sections.map( ( section, index ) => {\n\t\t\t\t\t\t\t\t\tconst { label, priority } = section.props;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tObject.keys( groups ).map( key => {\n\t\t\t\t\t\tconst sections = groups[ key ];\n\n\t\t\t\t\t\treturn sections.map( ( section, index ) => {\n\t\t\t\t\t\t\tconst { children, label } = section.props;\n\t\t\t\t\t\t\tconst tabs = Children.toArray( children ).filter( child => child.type === ControlsTab );\n\t\t\t\t\t\t\tconst groupedTabs = groupBy( tabs, tab => {\n\t\t\t\t\t\t\t\treturn tab.props.label;\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tconst compiledTabs = Object.keys( groupedTabs ).map( key => {\n\t\t\t\t\t\t\t\tconst group = groupedTabs[key];\n\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tlabel: key,\n\t\t\t\t\t\t\t\t\t\tchildren: group.reduce( ( accumulator, tab ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn accumulator.concat( Children.toArray( tab.props.children ) );\n\t\t\t\t\t\t\t\t\t\t}, [] )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nconst ControlsSections = ( props ) => {\n\n\treturn (\n\t\t\n\t\t\t{ ( fills ) => {\n\t\t\t\tconst sections = getSectionsFromFills( fills );\n\n\t\t\t\tif ( ! sections.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn \n\t\t\t} }\n\t\t\n\t);\n};\n\nconst ControlsTab = ( props ) => {\n\treturn (\n\t\t
{ props.children }
\n\t)\n};\n\nconst ControlsSection = ( props ) => {\n\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected &&
}\n\t\t\n\t)\n};\n\nconst ControlsDrawerContent = ( props ) => {\n\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected &&
}\n\t\t\n\t)\n};\n\nexport {\n\tControlsTab,\n\tControlsSections,\n\tControlsSection,\n\tControlsDrawerContent,\n};\n","const ControlsGroup = ( props ) => {\n\n\treturn (\n\t\t
\n\t\t\t{\n\t\t\t\t!! props.title &&\n\t\t\t\t
{ props.title }
\n\t\t\t}\n\t\t\t{ props.children }\n\t\t
\n\t)\n};\n\nexport default ControlsGroup;\n","import withSettings from '../with-settings';\nimport { ControlsTab, ControlsSection } from \"../control-sections\";\nimport ControlsGroup from \"../controls-group\";\n\nconst { __ } = wp.i18n;\n\nconst { useBlockEditContext } = wp.blockEditor;\n\nconst {\n\tRangeControl,\n\tRadioControl,\n\tcreateSlotFill,\n} = wp.components;\n\nconst EmphasisContentAreaSlotFill = createSlotFill( 'EmphasisContentArea' );\nconst EmphasisContentAreaSlot = EmphasisContentAreaSlotFill.Slot;\nconst EmphasisContentAreaFill = EmphasisContentAreaSlotFill.Fill;\n\nconst EmphasisBlockAreaSlotFill = createSlotFill( 'EmphasisBlockArea' );\nconst EmphasisBlockAreaSlot = EmphasisBlockAreaSlotFill.Slot;\nconst EmphasisBlockAreaFill = EmphasisBlockAreaSlotFill.Fill;\n\nconst EmphasisLevelControls = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tcontentStyle,\n\t\t\tblockStyle,\n\t\t\temphasisByContrast,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tmedia: {\n\t\t\t\tcontentAreaOptions,\n\t\t\t\tblockAreaOptions,\n\t\t\t},\n\t\t},\n\t} = props;\n\n\tconst getEmphasisByContrastValue = () => {\n\t\tconst blockIndex = blockAreaOptions.findIndex( option => option.value === blockStyle );\n\t\tconst contentIndex = contentAreaOptions.findIndex( option => option.value === contentStyle );\n\t\treturn blockIndex * 3 + contentIndex;\n\t}\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tconst blockIndex = Math.floor( contrast / 3 );\n\t\t\t\t\t\tconst contentIndex = contrast % 3;\n\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tblockStyle: blockAreaOptions[ blockIndex ].value,\n\t\t\t\t\t\t\tcontentStyle: contentAreaOptions[ contentIndex ].value\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Emphasis by Contrast' ) }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 8 }\n\t\t\t\t/>\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { blockStyle: nextBlockStyle } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t setAttributes( { contentStyle: nextContentStyle } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t)\n}\n\nconst EmphasisContentAreaControls = ( props ) => {\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected && props.children }\n\t\t\n\t)\n}\n\nconst EmphasisBlockAreaControls = ( props ) => {\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected && props.children }\n\t\t\n\t)\n}\n\nexport { EmphasisContentAreaControls, EmphasisBlockAreaControls };\n\nexport default withSettings( EmphasisLevelControls );\n","import EmphasisLevelControls from \"../../components/emphasis-level-controls\";\n\nconst { __ } = wp.i18n;\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\n\nconst enableFontSizeControlOnBlocks = [\n\t'novablocks/media',\n\t'novablocks/cards-collection',\n\t'novablocks/posts-collection',\n];\n\nconst withEmphasisLevelControls = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! enableFontSizeControlOnBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-ehpasis-level-controls', withEmphasisLevelControls );\n\nfunction addEmphasisLevelAttribute( block ) {\n\n\tif ( ! enableFontSizeControlOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes === 'undefined' ) {\n\t\tblock.attributes = {};\n\t}\n\n\tblock.attributes = Object.assign( block.attributes, {\n\t\tblockStyle: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'basic',\n\t\t},\n\t\tcontentStyle: {\n\t\t\ttype: 'string',\n\t\t\tdefault: block.name === 'novablocks/media' ? 'moderate' : 'basic',\n\t\t},\n\t\temphasisByContrast: {\n\t\t\tnumber: 'number',\n\t\t\tdefault: 1\n\t\t}\n\t});\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-emphasis-level-attributes', addEmphasisLevelAttribute );\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tButton,\n\tButtonGroup,\n\tRangeControl,\n} = wp.components;\n\nconst PaddingControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentPadding,\n\t\t\tcontentPaddingCustom,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tcontentPaddingOptions,\n\t\t},\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ contentPaddingOptions.map( ( option ) =>\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( { contentPadding: option.value } );\n\t\t\t\t\t\t\t} }>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t
\n\t\t\t{\n\t\t\t\t'custom' === contentPadding &&\n\t\t\t\t setAttributes( { contentPaddingCustom: newContentPadding } ) }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 25 }\n\t\t\t\t/>\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport default withSettings( PaddingControls );\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tButton,\n\tButtonGroup,\n\tRangeControl,\n} = wp.components;\n\nconst WidthControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentWidth,\n\t\t\tcontentWidthCustom,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tcontentWidthOptions,\n\t\t},\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ contentWidthOptions.map( ( option ) =>\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( { contentWidth: option.value } );\n\t\t\t\t\t\t\t} }>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t
\n\t\t\t{\n\t\t\t\t'custom' === contentWidth &&\n\t\t\t\t setAttributes( { contentWidthCustom: newContentWidth } ) }\n\t\t\t\t\tmin={ 20 }\n\t\t\t\t\tmax={ 90 }\n\t\t\t\t\tstep={ 10 }\n\t\t\t\t/>\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport default withSettings( WidthControls );\n","/**\n * Internal dependencies\n */\nimport PaddingControls from './padding';\nimport WidthControls from './width';\n\nimport { ControlsTab, ControlsSection } from \"../control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst LayoutPanel = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default LayoutPanel;\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tRangeControl,\n\tRadioControl,\n\tToggleControl,\n} = wp.components;\n\nconst ParallaxPanel = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\t// parallax\n\t\t\tenableParallax,\n\t\t\tparallaxAmount,\n\t\t\tparallaxCustomAmount,\n\t\t\tfocalPoint\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tparallaxOptions,\n\t\t},\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t setAttributes( { enableParallax: ! enableParallax } ) }\n\t\t\t/>\n\t\t\t{ !! enableParallax &&\n\t\t\t\t {\n\t\t\t\t\t\tif ( nextParallaxAmount === 'custom' ) {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tparallaxAmount: nextParallaxAmount,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tparallaxAmount: nextParallaxAmount,\n\t\t\t\t\t\t\t\tparallaxCustomAmount: parseInt( nextParallaxAmount, 10 )\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ parallaxOptions }\n\t\t\t\t\thelp={ __( 'The speed at which the parallax effect runs.', '__plugin_txtd' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t\t{ !! enableParallax && 'custom' === parallaxAmount &&\n\t\t\t\t setAttributes( { parallaxCustomAmount: nextParallaxAmount } ) }\n\t\t\t\t\tmin={ 10 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tstep={ 10 }\n\t\t\t\t\thelp={ __( 'It starts from 0 when the image will keep with the content (no parallax) up to 100 when the image appears fixed in place.', '__plugin_txtd' ) }\n\t\t\t\t/> }\n\t\t\n\t);\n};\n\nexport default withSettings( ParallaxPanel );\n","import { ControlsSection, ControlsTab } from \"../control-sections\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tToggleControl\n} = wp.components;\n\nfunction PositionIndicatorsPanel( props ) {\n\n\tconst { attributes, setAttributes } = props;\n\tconst { positionIndicators } = attributes;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t { setAttributes( { positionIndicators } ) } }\n\t\t\t\t/>\n\t\t\t\n\t\t\n )\n}\n\nexport default PositionIndicatorsPanel;\n","import Unsplash, { toJson } from \"unsplash-js\";\n\nconst COLLECTION_ID = 10606015;\n\nclass PlaceholderImagesCollection {\n\n\tconstructor() {\n\t\tthis.fetchedImages = false;\n\t\tthis.images = [];\n\n\t\tconst apiKey = window?.pixcare?.themeConfig?.unsplashApiKey;\n\n\t\tif ( !! apiKey ) {\n\t\t\tthis.api = new Unsplash( { accessKey: apiKey } );\n\t\t} else {\n\t\t\tthis.fetchedImages = true;\n\t\t}\n\t}\n\n\tfetch() {\n\t\tconst normalize = this.normalize.bind( this );\n\n\t\treturn this.api.collections.getCollectionPhotos( COLLECTION_ID )\n\t\t .then( toJson )\n\t\t .then( photos => {\n\t\t\t this.images = photos.map( normalize );\n\t\t\t return this.images;\n\t\t } )\n\t\t .finally( () => {\n\t\t \t this.fetchedImages = true;\n\t\t } );\n\t}\n\n\tget() {\n\t\tif ( this.fetchedImages ) {\n\t\t\treturn this.images;\n\t\t}\n\n\t\treturn this.fetch();\n\t}\n\n\tnormalize( photo ) {\n\t\treturn {\n\t\t\tid: photo.id,\n\t\t\turl: photo.urls.full,\n\t\t\ttype: 'image',\n\t\t\twidth: photo.width,\n\t\t\theight: photo.height,\n\t\t\tsizes: {\n\t\t\t\tfull: {\n\t\t\t\t\turl: photo.urls.full\n\t\t\t\t},\n\t\t\t\tlarge: {\n\t\t\t\t\turl: photo.urls.regular\n\t\t\t\t},\n\t\t\t\tmedium: {\n\t\t\t\t\turl: photo.urls.small\n\t\t\t\t},\n\t\t\t\tthumbnail: {\n\t\t\t\t\turl: photo.urls.thumb\n\t\t\t\t},\n\t\t\t\tnovablocks_huge: {\n\t\t\t\t\turl: photo.urls.full\n\t\t\t\t},\n\t\t\t\tnovablocks_large: {\n\t\t\t\t\turl: photo.urls.regular\n\t\t\t\t},\n\t\t\t\tnovablocks_medium: {\n\t\t\t\t\turl: photo.urls.small\n\t\t\t\t},\n\t\t\t\tnovablocks_tiny: {\n\t\t\t\t\turl: photo.urls.thumb\n\t\t\t\t},\n\t\t\t},\n\t\t\ttitle: photo.description,\n\t\t\tcaption: `

Photo by ${ photo.user.name } on Unsplash

`,\n\t\t\tdownload: () => {\n\t\t\t\tthis.api.photos.downloadPhoto( photo );\n\t\t\t},\n\t\t};\n\t};\n}\n\nconst instance = new PlaceholderImagesCollection();\nconst getPlaceholderImages = instance.get.bind( instance );\n\nexport { getPlaceholderImages };\n","import classnames from \"classnames\";\n\nexport { getPlaceholderImages } from './unsplash';\n\nexport const getRandomBetween = ( min, max ) => {\n\tconst random = Math.max(0, Math.random() - Number.MIN_VALUE );\n\treturn Math.floor( random * (max - min + 1) + min );\n};\n\nexport const getRandomArrayFromArray = ( arr, n ) => {\n\n\tlet result = new Array( n ),\n\t\tlen = arr.length,\n\t\ttaken = new Array( len );\n\n\tif ( ! len ) {\n\t\treturn [];\n\t}\n\n\twhile ( n -- ) {\n\t\tconst x = Math.floor( Math.random() * len );\n\t\tresult[n] = arr[x in taken ? taken[x] : x];\n\t\ttaken[x] = -- len in taken ? taken[len] : len;\n\t}\n\n\treturn result;\n};\n\nexport const debounce = (func, wait) => {\n\tlet timeout = null;\n\n\treturn function () {\n\t\tconst context = this;\n\t\tconst args = arguments;\n\n\t\tconst later = () => {\n\t\t\tfunc.apply(context, args);\n\t\t};\n\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t}\n};\n\nexport const range = function( min, max ) {\n\tconst array = [];\n\tfor ( let i = 0; i <= max - min; i++ ) {\n\t\tarray.push( i + min );\n\t}\n\treturn array;\n};\n\nexport const withFirstBlockConditions = function( Component ) {\n\n\treturn function( props ) {\n\n\t\tconst { getBlocks, getSelectedBlockClientId } = wp.data.select( 'core/block-editor' );\n\t\tconst blocks = getBlocks();\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst index = blocks.findIndex( block => block.clientId === selectedBlockClientId );\n\t\tconst show = index === 0 && props.clientId === selectedBlockClientId;\n\n\t\treturn show && ;\n\n\t}\n\n};\n\nexport const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const hasTouchScreen = function() {\n\tvar hasTouchScreen = false;\n\n\tif ( \"maxTouchPoints\" in navigator ) {\n\t\thasTouchScreen = navigator.maxTouchPoints > 0;\n\t} else if ( \"msMaxTouchPoints\" in navigator ) {\n\t\thasTouchScreen = navigator.msMaxTouchPoints > 0;\n\t} else {\n\t\tvar mQ = window.matchMedia && matchMedia( \"(pointer:coarse)\" );\n\t\tif ( mQ && mQ.media === \"(pointer:coarse)\" ) {\n\t\t\thasTouchScreen = !!mQ.matches;\n\t\t} else if ( 'orientation' in window ) {\n\t\t\thasTouchScreen = true;\n\t\t} else {\n\t\t\tvar UA = navigator.userAgent;\n\t\t\thasTouchScreen = (\n\t\t\t\t/\\b(BlackBerry|webOS|iPhone|IEMobile)\\b/i.test( UA ) || /\\b(Android|Windows Phone|iPad|iPod)\\b/i.test( UA )\n\t\t\t);\n\t\t}\n\t}\n\n\treturn hasTouchScreen;\n};\n\nexport const findParents = ( target, query ) => {\n\tlet parents = [];\n\n\tfunction traverse( item ) {\n\t\tconst parent = item.parentNode;\n\t\tif ( parent instanceof HTMLElement ) {\n\t\t\tif ( parent.matches( query ) ) {\n\t\t\t\tparents.push( parent );\n\t\t\t}\n\t\t\ttraverse( parent );\n\t\t}\n\t}\n\n\ttraverse( target );\n\n\treturn parents;\n};\n\n// https://stackoverflow.com/a/2450976\nexport const shuffleArray = function( array ) {\n\tlet currentIndex = array.length,\n\t\ttemporaryValue,\n\t\trandomIndex;\n\n\t// While there remain elements to shuffle...\n\twhile ( 0 !== currentIndex ) {\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\trandomIndex = Math.floor( Math.random() * currentIndex );\n\t\tcurrentIndex -= 1;\n\n\t\t// And swap it with the current element.\n\t\ttemporaryValue = array[ currentIndex ];\n\t\tarray[ currentIndex ] = array[ randomIndex ];\n\t\tarray[ randomIndex ] = temporaryValue;\n\t}\n\n\treturn array;\n};\n\nexport const defaultSnapValues = {\n\tx: [0, 0.5, 1],\n\ty: [0, 0.5, 1]\n};\n\nexport const maybeSnapFocalPoint = function( focalPoint, snapValues = defaultSnapValues ) {\n\tlet x = parseFloat( focalPoint.x );\n\tlet y = parseFloat( focalPoint.y );\n\tlet thereshold = 0.05;\n\n\tsnapValues.x.forEach( snapValue => {\n\t\tif ( snapValue - thereshold < x && x < snapValue + thereshold ) {\n\t\t\tx = snapValue;\n\t\t}\n\t} );\n\n\tsnapValues.y.forEach( snapValue => {\n\t\tif ( snapValue - thereshold < y && y < snapValue + thereshold ) {\n\t\t\ty = snapValue;\n\t\t}\n\t} );\n\n\treturn { x, y }\n};\n\nexport const getSnapClassname = focalPoint => {\n\tconst classNames = [];\n\n\tif ( defaultSnapValues.x.includes( parseFloat( focalPoint.x ) ) ) {\n\t\tclassNames.push( 'is-snapped-x' );\n\t}\n\n\tif ( defaultSnapValues.y.includes( parseFloat( focalPoint.y ) ) ) {\n\t\tclassNames.push( 'is-snapped-y' );\n\t}\n\n\treturn classNames.join( ' ' );\n};\n\nexport const getControlsClasses = ( attributes, compileAttributes ) => {\n\tconst classes = [ 'novablocks-controls-wrap' ];\n\tconst compiledAttributes = compileAttributes( attributes );\n\n\tif ( Object.keys( compiledAttributes ).some( key => compiledAttributes[ key ] !== attributes[ key ] ) ) {\n\t\tclasses.push( 'novablocks-controls-wrap--dirty' );\n\t}\n\n\treturn classnames( classes );\n};\n","import { ControlsSection, ControlsTab } from \"../control-sections\";\n\n/**\n * WordPress dependencies\n */\n\n\nconst { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tFocalPointPicker,\n\tPanelBody,\n\tRadioControl,\n\tRangeControl,\n\tToggleControl,\n} = wp.components;\n\nconst {\n\tFragment\n} = wp.element;\n\nimport { defaultSnapValues, getSnapClassname, maybeSnapFocalPoint } from \"../../utils\";\n\nconst ScrollingEffectControls = function( props ) {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nconst ScrollingEffectPanel = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t\tattributes: {\n\t\t\tscrollingEffect,\n\t\t\tmotionPreset,\n\t\t},\n\t\tsettings,\n\t\tname,\n\t} = props;\n\n\tconst {\n\t\tmotionPresetOptions,\n\t\ttheme_support: {\n\t\t\tdoppler\n\t\t}\n\t} = settings;\n\n\tconst scrollingEffectOptions = [ ...settings.scrollingEffectOptions ];\n\n\tif ( !! doppler && doppler.includes( name ) ) {\n\t\tscrollingEffectOptions.push( {\n\t\t\tlabel: __( 'Doppler by Pixelgrade ®' ),\n\t\t\tvalue: 'doppler'\n\t\t} );\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tlet newAttributes = { scrollingEffect };\n\n\t\t\t\t\t\tif ( scrollingEffect === 'doppler' && motionPreset !== 'custom' ) {\n\t\t\t\t\t\t\tlet newOption = motionPresetOptions.find( option => motionPreset === option.value );\n\t\t\t\t\t\t\tnewAttributes = Object.assign( newOption.preset, newAttributes );\n\t\t\t\t\t\t\tnewAttributes.minHeightFallback = 75;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ scrollingEffectOptions }\n\t\t\t\t/>\n\t\t\t\t{ props.children }\n\t\t\t\n\t\t\n\t)\n}\n\nconst DopplerPresetsPanel = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tmotionPreset,\n\t\t\tscrollingEffect,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tmotionPresetOptions\n\t\t},\n\t\tisScrolling,\n\t\tpreviewScrolling,\n\t} = props;\n\n\tif ( scrollingEffect !== 'doppler' ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t\n\n\t\t\t {\n\t\t\t\t\tlet newAttributes = { motionPreset };\n\t\t\t\t\tlet newOption = motionPresetOptions.find( option => motionPreset === option.value );\n\n\t\t\t\t\tif ( newOption && newOption.preset ) {\n\t\t\t\t\t\tnewAttributes = Object.assign( newOption.preset, newAttributes );\n\t\t\t\t\t}\n\n\t\t\t\t\tsetAttributes( newAttributes );\n\n\t\t\t\t\tif ( 'custom' !== motionPreset && ! isScrolling ) {\n//\t\t\t\t\t\tpreviewScrolling();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\toptions={ motionPresetOptions }\n\t\t\t/>\n\n\t\t\t
\n\t\t\t\tPreview Scrolling\n\t\t\t
\n\n\t\t
\n\t)\n}\n\nconst getParallaxFocalPointImage = ( media ) => {\n\tlet mediaType = media?.type;\n\tlet parallaxFocalPointImage = false;\n\n\tif ( mediaType === 'image' ) {\n\t\tparallaxFocalPointImage = {\n\t\t\turl: media?.sizes?.novablocks_large?.url || media?.sizes?.novablocks_huge?.url || media?.url,\n\t\t\twidth: 218,\n\t\t\theight: 170\n\t\t}\n\t}\n\n\tif ( mediaType === 'video' ) {\n\t\tparallaxFocalPointImage = {\n\t\t\turl: '//cloud.pixelgrade.com/wp-content/uploads/2020/01/Screenshot-2020-01-09-at-15.59.37.png',\n\t\t\twidth: 218,\n\t\t\theight: 170,\n\t\t};\n\t}\n\n\treturn parallaxFocalPointImage;\n}\n\nconst StartFramePanel = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\tmedia,\n\t\tmotionPreset,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tinitialBackgroundScale,\n\t\tfollowThroughStart,\n\t\tscrollingEffect,\n\t} = attributes;\n\n\tconst parallaxFocalPointImage = getParallaxFocalPointImage( media );\n\tconst isDoppler = scrollingEffect === 'doppler';\n\n\tif ( ! parallaxFocalPointImage ) {\n\t\treturn false;\n\t}\n\n\tconst staticPanelTitle = __( 'Static Scrolling Settings', '__plugin_txtd' );\n\tconst parallaxPanelTitle = __( 'Parallax Scrolling Settings', '__plugin_txtd' );\n\tconst dopplerPanelTitle = __( 'Start Frame', '__plugin_txtd' );\n\n\tlet panelTitle = staticPanelTitle;\n\n\tif ( 'parallax' === scrollingEffect ) {\n\t\tpanelTitle = parallaxPanelTitle;\n\t}\n\n\tif ( isDoppler ) {\n\t\tpanelTitle = dopplerPanelTitle;\n\t}\n\n\tlet classNames = [\n\t\t'novablocks-focal-point-picker',\n\t\t`novablocks-focal-point-picker--${ scrollingEffect }`,\n\t\t`novablocks-focal-point-picker--start`,\n\t\tgetSnapClassname( focalPoint )\n\t]\n\n\tlet className = classNames.join( ' ' );\n\n\treturn (\n\t\t\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tfocalPoint: maybeSnapFocalPoint( focalPoint ),\n\t\t\t\t\t\tfinalFocalPoint: maybeSnapFocalPoint( {\n\t\t\t\t\t\t\tx: focalPoint.x,\n\t\t\t\t\t\t\ty: finalFocalPoint.y,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tinitialBackgroundScale,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tmin={ 1 }\n\t\t\t\tmax={ 2 }\n\t\t\t\tstep={ 0.01 }\n\t\t\t/>\n\t\t\t{\n\t\t\t\tscrollingEffect === 'doppler' &&\n\t\t\t\t\t setAttributes( {\n\t\t\t\t\t\t\tfollowThroughStart: ! followThroughStart\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t}\n\t\t\n\t)\n}\n\nconst EndFramePanel = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\tmedia,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tfinalBackgroundScale,\n\t\tfollowThroughEnd,\n\t\tscrollingEffect,\n\t} = attributes;\n\n\tconst parallaxFocalPointImage = getParallaxFocalPointImage( media );\n\n\tif ( ! parallaxFocalPointImage || scrollingEffect !== 'doppler' ) {\n\t\treturn false;\n\t}\n\n\tlet classNames = [\n\t\t'novablocks-focal-point-picker',\n\t\t`novablocks-focal-point-picker--${ scrollingEffect }`,\n\t\t'novablocks-focal-point-picker--end',\n\t\tgetSnapClassname( focalPoint ),\n\t]\n\n\tlet className = classNames.join( ' ' );\n\n\treturn (\n\n\t\t\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tfocalPoint: maybeSnapFocalPoint( {\n\t\t\t\t\t\t\tx: finalFocalPoint.x,\n\t\t\t\t\t\t\ty: focalPoint.y,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tfinalFocalPoint: maybeSnapFocalPoint( finalFocalPoint ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdisabled\n\t\t\t/>\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tfinalBackgroundScale,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tmin={ 1 }\n\t\t\t\tmax={ 2 }\n\t\t\t\tstep={ 0.01 }\n\t\t\t/>\n\t\t\t setAttributes( {\n\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\tfollowThroughEnd: ! followThroughEnd\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t\n\t)\n}\n\nexport default ScrollingEffectControls;\n","import {\n\tuseTransition,\n\tanimated,\n} from 'react-spring';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n\tuseState,\n} = wp.element;\n\nconst {\n\tPanelBody,\n\tToggleControl,\n} = wp.components;\n\nconst ToggleGroup = ( props ) => {\n\tconst { toggles, onChange } = props;\n\tconst [ refMap ] = useState( () => new WeakMap() );\n\n\tconst enabledToggles = toggles.filter( toggle => !! toggle.value );\n\tconst disabledToggles = toggles.filter( toggle => ! toggle.value );\n\n\tconst config = {\n\t\tinitial: false,\n\t\tenter: item => async next => {\n\t\t\tconst ref = refMap.get(item);\n\n\t\t\tif ( typeof ref === \"undefined\" ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tnext( { height: ref.offsetHeight } );\n\t\t\t}, 100);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tnext( { opacity: 1, left: 0 } );\n\t\t\t}, 200);\n\t\t},\n\t\tleave: item => async next => {\n\t\t\tnext( { opacity: 0, left: 40 } );\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tnext( { height: 0 } );\n\t\t\t}, 100);\n\t\t},\n\t};\n\n\tconst enabledTransitions = useTransition( enabledToggles, item => item.attribute, config );\n\tconst disabledTransitions = useTransition( disabledToggles, item => item.attribute, config );\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{ !! enabledToggles.length &&\n\t\t\t\t
\n\t\t\t\t\t { enabledTransitions.map( ( { item, key, props } ) => {\n\t\t\t\t\t\t return (\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
ref && refMap.set(item, ref)}>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t { onChange( { [item.attribute]: value } ) } }\n\t\t\t\t\t\t\t\t\t\t />\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t );\n\t\t\t\t\t } ) }\n\t\t\t\t
\n\t\t\t\t}\n\t\t\t\t{ !! disabledToggles.length &&\n\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t\t\t { disabledTransitions.map( ( { item, key, props } ) => {\n\t\t\t\t\t\t\t return (\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
ref && refMap.set(item, ref)}>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t { onChange( { [item.attribute]: value } ) } }\n\t\t\t\t\t\t\t\t\t\t\t />\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t );\n\t\t\t\t\t\t } ) }\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ToggleGroup;\n","/**\n * WordPress dependencies\n */\nconst { Path, SVG } = wp.components;\n\nexport default function Index( { level, isPressed = false } ) {\n\tconst levelToPath = {\n\t\t1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',\n\t\t2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z',\n\t\t3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z',\n\t\t4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',\n\t\t5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z',\n\t\t6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z',\n\t};\n\tif ( ! levelToPath.hasOwnProperty( level ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { range } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nconst { __, sprintf } = wp.i18n;\n\nconst { Component } = wp.element;\nconst { ToolbarGroup } = wp.components;\n\n/**\n * Internal dependencies\n */\n\nimport HeadingLevelIcon from '../heading-level-icon';\n\nclass HeadingToolbar extends Component {\n\tcreateLevelControl( targetLevel, selectedLevel, onChange ) {\n\t\tconst isActive = targetLevel === selectedLevel;\n\t\treturn {\n\t\t\ticon: ,\n\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\ttitle: sprintf( __( 'Heading %d' ), targetLevel ),\n\t\t\tisActive,\n\t\t\tonClick: () => onChange( targetLevel ),\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { minLevel, maxLevel, selectedLevel, onChange } = this.props;\n\n\t\treturn (\n\t\t\t }\n\t\t\t\tcontrols={ range( minLevel, maxLevel ).map(\n\t\t\t\t\t( index ) => this.createLevelControl( index, selectedLevel, onChange )\n\t\t\t\t) } />\n\t\t);\n\t}\n}\n\nexport default HeadingToolbar;\n","const { forwardRef } = wp.element;\nconst { RichText } = wp.blockEditor;\n\nconst EditableText = forwardRef( ( props, ref ) => {\n\treturn ;\n} );\n\nEditableText.Content = ( { value = '', tagName: Tag = 'div', ...props } ) => {\n\treturn { value };\n};\n\n/**\n * Renders an editable text input in which text formatting is not allowed.\n */\nexport default EditableText;\n","import { EmphasisBlockAreaControls, EmphasisContentAreaControls } from \"../emphasis-level-controls\";\nimport { HeadingToolbar } from \"../../components\";\nimport { ControlsSection, ControlsTab } from \"../control-sections\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tPanelRow,\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst {\n\tInspectorControls,\n\tAlignmentToolbar,\n} = wp.blockEditor;\n\nconst CollectionInspectorControls = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tcontentAlign,\n\t\t\tcontainerHeight,\n\t\t\timageResizing,\n\t\t\tlevel,\n\t\t\timagePadding,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tconst onChange = typeof props.onChange !== 'function' ? setAttributes : props.onChange;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { imageResizing } )\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: 'Stretch to fill the container', value: 'cropped' },\n\t\t\t\t\t\t{ label: 'Shrink to fit (no crop)', value: 'original' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { containerHeight } )\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tstep={ 5 }\n\t\t\t\t/>\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { imagePadding } )\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tstep={ 50 }\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t{__( 'Title Level', '__plugin_txtd' )}\n\t\t\t\t\t {\n\t\t\t\t\t\t\tonChange( {level} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{__( 'Content Alignment', '__plugin_txtd' )}\n\t\t\t\t\t {\n\t\t\t\t\t\t\tonChange( {contentAlign} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default CollectionInspectorControls;\n","import classnames from 'classnames';\nimport { kebabCase } from 'lodash';\nimport EditableText from \"../editable-text\";\nimport InspectorControls from \"./inspector-controls\";\n\nconst { Fragment } = wp.element;\n\nconst CollectionTitle = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tshowCollectionTitle,\n\t\t\ttitle,\n\t\t\tlevel,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tif ( ! showCollectionTitle ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tsetAttributes( { title } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t
\n\t);\n}\n\nconst CollectionSubtitle = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tshowCollectionSubtitle,\n\t\t\tsubtitle,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tif ( ! showCollectionSubtitle ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tsetAttributes( { subtitle } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t
\n\t)\n}\n\nconst Collection = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\thasAppender\n\t} = props;\n\n\tconst {\n\t\tblockStyle,\n\t\tcontentStyle,\n\n\t\tcontentAlign,\n\t\timageResizing,\n\t\tcontainerHeight,\n\t\timagePadding,\n\t} = attributes;\n\n\tconst blockClassName = 'novablocks-collection';\n\n\tconst getCardMediaPaddingTop = ( containerHeight ) => {\n\t\tlet compiledHeight = containerHeight / 50 - 1;\n\n\t\tif ( compiledHeight < 0 ) {\n\t\t\tcompiledHeight *= 3;\n\t\t}\n\n\t\tlet numerator = 1;\n\t\tlet denominator = 1;\n\n\t\tcompiledHeight = Math.min( Math.max( -3, compiledHeight ), 1 );\n\n\t\tif ( compiledHeight > 0 ) {\n\t\t\tnumerator = 1 + compiledHeight;\n\t\t}\n\n\t\tif ( compiledHeight < 0 ) {\n\t\t\tdenominator = 1 + Math.abs( compiledHeight );\n\t\t}\n\n\t\treturn `${ numerator * 100 / denominator }%`;\n\t}\n\n\tconst style = {\n\t\t'--card-media-padding': imagePadding,\n\t\t'--card-media-padding-top': getCardMediaPaddingTop( containerHeight ),\n\t\t'--card-media-object-fit': imageResizing === 'cropped' ? 'cover' : 'scale-down',\n\t};\n\n\tconst className = classnames(\n\t\tprops.className,\n\t\tblockClassName,\n\t\t'novablocks-block',\n\t\t`${ blockClassName }--align-${ contentAlign }`,\n\t\t`block-is-${ blockStyle }`,\n\t\t`content-is-${ contentStyle }`,\n\t\t{\n\t\t\t'has-appender': hasAppender,\n\t\t},\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{ props.children }\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default Collection;\n","const { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tRadioControl,\n} = wp.components;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tuseBlockEditContext\n} = wp.blockEditor;\n\nconst {\n\twithDispatch,\n\twithSelect,\n} = wp.data;\n\nconst {\n\tcompose\n} = wp.compose;\n\nconst PresetControl = ( props ) => {\n\n\tconst noop = () => { return {} };\n\tconst { randomize, attributes, setAttributes } = props;\n\tconst options = Array.isArray( props.options ) ? props.options.slice() : [];\n\tconst randomizeAttributes = typeof randomize === \"function\" ? randomize : noop;\n\n\toptions.push({\n\t\tlabel: 'Just My Style™',\n\t\tvalue: 'just-my-style',\n\t\tpreset: {}\n\t});\n\n\tconst selectedPreset = getSelectedPreset( options, attributes );\n\n\treturn (\n\t\t\n\t\t\t {\n\n\t\t\t\t\tif ( 'just-my-style' === preset ) {\n\t\t\t\t\t\tsetAttributes( Object.assign( {}, randomizeAttributes() ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst newAttributes = getNewAttributesFromPreset( preset, options );\n\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{\n\t\t\t\tselectedPreset === 'just-my-style' &&\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( randomizeAttributes() )\n\t\t\t\t\t\t} }>\n\t\t\t\t\t\t{ __( '💡 Surprise me!' ) }\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport const getNewAttributesFromPreset = ( preset, presets ) => {\n\tlet newAttributes = {};\n\tlet newOption = presets.find( option => preset === option.value );\n\n\tif ( newOption && newOption.preset ) {\n\t\tnewAttributes = Object.assign( newOption.preset, newAttributes );\n\t}\n\n\treturn newAttributes;\n};\n\nexport const getSelectedPreset = ( presetOptions, attributes ) => {\n\tconst activePresets = presetOptions.filter( presetOption => {\n\t\tconst { preset } = presetOption;\n\n\t\treturn Object.keys( preset ).every( key => {\n\t\t\treturn preset[key] === attributes[key];\n\t\t} );\n\t} );\n\n\tif ( activePresets.length ) {\n\t\treturn activePresets[0].value;\n\t}\n\n\treturn null;\n};\n\nconst applyWithSelect = withSelect( ( select, props ) => {\n\tconst { clientId } = useBlockEditContext();\n\tconst { getBlock } = select( 'core/block-editor' );\n\tconst { attributes } = getBlock( clientId );\n\n\treturn {\n\t\t...props,\n\t\tclientId,\n\t\tattributes,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, { clientId } ) => {\n\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\tconst setAttributes = ( newAttributes ) => {\n\t\treturn updateBlockAttributes( clientId, newAttributes );\n\t};\n\n\treturn {\n\t\tsetAttributes,\n\t};\n} );\n\nexport default compose( [ applyWithSelect, applyWithDispatch ] )( PresetControl );\n","// Credits:\n// Gaëtan Renaudeau - https://gist.github.com/gre/1650294\n// Jeremy Kahn - https://github.com/jeremyckahn/shifty/\n// Johan Lindell - https://gist.github.com/gre/1650294#gistcomment-1806616\n\nconst { pow, abs, sin, cos, PI } = Math;\n\nconst EaseIn = power => x => pow( x, power );\nconst EaseOut = power => x => 1 - abs( pow( x - 1, power ) );\nconst EaseInOut = power => x => x < .5\n\t? EaseIn( power )( x * 2 ) / 2\n\t: EaseOut( power )( x * 2 - 1 ) / 2 + 0.5;\n\n// Linear\nexport const linear = EaseInOut(1);\n\n// Quad\nexport const easeInQuad = EaseIn(2);\nexport const easeOutQuad = EaseOut(2);\nexport const easeInOutQuad = EaseInOut(2);\n\n// Cubic\nexport const easeInCubic = EaseIn(3);\nexport const easeOutCubic = EaseOut(3);\nexport const easeInOutCubic = EaseInOut(3);\n\n// Quart\nexport const easeInQuart = EaseIn(4);\nexport const easeOutQuart = EaseOut(4);\nexport const easeInOutQuart = EaseInOut(4);\n\n// Quint\nexport const easeInQuint = EaseIn(5);\nexport const easeOutQuint = EaseOut(5);\nexport const easeInOutQuint = EaseInOut(5);\n\n// Sine\nexport const easeInSine = x => -1 * cos(x * PI / 2) + 1;\nexport const easeOutSine = x => sin(x * PI / 2);\nexport const easeInOutSine = x => -0.5 * (cos(PI * x) - 1);\n\n// Expo\nexport const easeInExpo = x => (x === 0 ? 0 : pow(2, 10 * (x - 1)));\nexport const easeOutExpo = x => (x === 1 ? 1 : -pow(2, -10 * x) + 1);\nexport const easeInOutExpo = x => {\n\n\tif (x === 0 || x === 1) {\n\t\treturn x;\n\t}\n\n\tif ((x /= 0.5) < 1) {\n\t\treturn 0.5 * pow(2, 10 * (x - 1));\n\t}\n\n\treturn 0.5 * (-pow(2, -10 * --x) + 2);\n};\n\n// Back\nexport const easeInBack = x => {\n\tconst s = 1.70158;\n\treturn pow(x, 2) * ((s + 1) * x - s);\n};\n\nexport const easeOutBack = x => {\n\tconst s = 1.70158;\n\treturn (x = x - 1) * x * ((s + 1) * x + s) + 1;\n};\n\nexport const easeInOutBack = x => {\n\tconst s = 1.70158;\n\treturn ((x /= 0.5) < 1)\n\t\t? 0.5 * (x * x * (((s *= 1.525) + 1) * x - s))\n\t\t: 0.5 * ((x -= 2) * x * (((s *= 1.525) + 1) * x + s) + 2);\n};\n","import $ from 'jquery';\nimport {hasTouchScreen} from \"../../utils\";\n\nfunction userPrefersReducedMotion() {\n\tconst mediaQuery = window.matchMedia( '(prefers-reduced-motion: reduce)' );\n\treturn !! mediaQuery.matches;\n}\n\nexport const getIntermediateFocalPoint = function( focalPoint1, focalPoint2, progress ) {\n\n\tif ( ! focalPoint1 && ! focalPoint2 ) {\n\t\treturn {\n\t\t\tx: 0.5,\n\t\t\ty: 0.5,\n\t\t}\n\t}\n\n\tif ( ! focalPoint1 ) {\n\t\treturn focalPoint2;\n\t}\n\n\tif ( ! focalPoint2 ) {\n\t\treturn focalPoint1;\n\t}\n\n\treturn {\n\t\tx: parseFloat( focalPoint1.x ) + ( parseFloat( focalPoint2.x ) - parseFloat( focalPoint1.x ) ) * progress,\n\t\ty: parseFloat( focalPoint1.y ) + ( parseFloat( focalPoint2.y ) - parseFloat( focalPoint1.y ) ) * progress,\n\t}\n}\n\nexport const getStyles = function( config ) {\n\tconst props = getProps( config );\n\tconst styles = getStylesFromProps( props );\n\treturn styles;\n}\n\nexport const getStylesFromProps = function( props ) {\n\n\tconst {\n\t\tparallaxAmount,\n\t\twidth,\n\t\theight,\n\t\tmoveX,\n\t\tmoveY,\n\t\toffsetX,\n\t\toffsetY,\n\t\tscale,\n\t\tfocalPoint,\n\t} = props;\n\n\treturn {\n\t\twidth: width || '',\n\t\theight: height || '',\n\t\tminHeight: 0,\n\t\tmaxWidth: 'none',\n\t\ttransform: `translate(${ moveX },${ moveY * parallaxAmount }px) translateX(${ offsetX }) translateY(${ offsetY }px) scale(${ scale })`,\n\t\tobjectPosition: focalPoint.x * 100 + '% ' + focalPoint.y * 100 + '%',\n\t\ttransformOrigin: focalPoint.x * 100 + '% 50%',\n\t};\n}\n\nfunction getIntermediateValue( initialValue, finalValue, progress ) {\n\treturn initialValue + ( finalValue - initialValue ) * progress;\n}\n\nfunction getScales( config ) {\n\n\tlet {\n\t\tscrollingEffect,\n\t\tinitialBackgroundScale,\n\t\tfinalBackgroundScale,\n\t\tprogress,\n\t} = config;\n\n\tinitialBackgroundScale = initialBackgroundScale || 1;\n\n\tif ( scrollingEffect === 'parallax' ) {\n\t\tfinalBackgroundScale = initialBackgroundScale;\n\t}\n\n\tlet maxScale = Math.max( initialBackgroundScale, finalBackgroundScale );\n\n\tinitialBackgroundScale = initialBackgroundScale / maxScale;\n\tfinalBackgroundScale = finalBackgroundScale / maxScale;\n\n\tif ( userPrefersReducedMotion() ) {\n\t\treturn {\n\t\t\tmaxScale: 1,\n\t\t\tnewScale: 1,\n\t\t};\n\t}\n\n\treturn {\n\t\tmaxScale: maxScale,\n\t\tnewScale: getIntermediateValue( initialBackgroundScale, finalBackgroundScale, progress ),\n\t}\n}\n\nfunction getFocalPoint( config ) {\n\n\tlet {\n\t\tscrollingEffect,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tprogress,\n\t} = config;\n\n\tif ( ! focalPoint ) {\n\t\tfocalPoint = {\n\t\t\tx: 0.5,\n\t\t\ty: 0.5,\n\t\t}\n\t}\n\n\tif ( scrollingEffect !== 'doppler' ) {\n\t\treturn focalPoint;\n\t}\n\n\treturn getIntermediateFocalPoint( focalPoint, finalFocalPoint, progress );\n}\n\nfunction getNewImageHeight( config, parallaxAmount ) {\n\n\tconst {\n\t\tscrollContainerHeight,\n\t\tcontainerHeight,\n\t} = config;\n\n\treturn containerHeight + ( scrollContainerHeight - containerHeight ) * parallaxAmount;\n}\n\nexport const getProps = function( config, fixed ) {\n\n\tconst {\n\t\tdistance,\n\t\tprogress,\n\t\tsmoothStart,\n\t\tsmoothEnd,\n\n\t\tscrollingEffect,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tinitialBackgroundScale,\n\t\tfinalBackgroundScale,\n\n\t\tcontainer,\n\t\tcontainerBox,\n\t\tcontainerWidth,\n\t\tcontainerHeight,\n\n\t\tscrollContainer,\n\t\tscrollContainerBox,\n\t\tscrollContainerHeight,\n\t} = config;\n\n\tconst newFocalPoint = getFocalPoint( config );\n\n\tif ( scrollingEffect === 'static' ) {\n\n\t\treturn {\n\t\t\twidth: containerWidth,\n\t\t\theight: containerHeight,\n\t\t\tscale: initialBackgroundScale || 1,\n\t\t\tmoveX: 0,\n\t\t\tmoveY: 0,\n\t\t\toffsetX: 0,\n\t\t\toffsetY: 0,\n\t\t\tparallaxAmount: 0,\n\t\t\tfocalPoint: newFocalPoint,\n\t\t};\n\t}\n\n\tconst parallaxAmount = userPrefersReducedMotion() ? 0 : scrollingEffect === 'parallax' ? 0.75 : 1;\n\tconst { maxScale, newScale } = getScales( config );\n\tconst newImageHeight = getNewImageHeight( config, parallaxAmount );\n\n\t// keep in sync with scroll\n\tlet moveY = scrollContainerBox.top - containerBox.top;\n\n\tif ( ! smoothStart ) {\n\t\tif ( !! fixed && containerBox.top < 0 ) {\n\t\t\tmoveY = scrollContainerBox.top;\n\t\t}\n\n\t\tif ( ! fixed && 0 > scrollContainerBox.top - containerBox.top ) {\n\t\t\tmoveY = 0;\n\t\t}\n\t}\n\n\tif ( ! smoothEnd ) {\n\n\t\tif ( scrollContainerBox.top - containerBox.top > containerHeight - scrollContainerHeight ) {\n\t\t\tif ( !! fixed ) {\n\t\t\t\tmoveY = scrollContainerBox.top - containerBox.top - containerHeight + scrollContainerHeight;\n\t\t\t} else {\n\t\t\t\tmoveY = containerHeight - scrollContainerHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// align top\n\tlet offsetY = newImageHeight * maxScale * ( newScale - 1 ) * 0.5;\n\n\t// position according to focalPoint\n\toffsetY += newImageHeight * ( 1 - maxScale * newScale ) * newFocalPoint.y;\n\n\treturn {\n\t\tdistance: distance,\n\t\tparallaxAmount: parallaxAmount,\n\t\tprogress: progress,\n\t\twidth: containerWidth * maxScale,\n\t\theight: newImageHeight * maxScale,\n\t\tmoveX: `${ fixed ? containerBox.left - scrollContainerBox.left : 0 }px`,\n\t\tmoveY: moveY,\n\t\toffsetX: ( 1 / maxScale - 1 ) * newFocalPoint.x * 100 + '%',\n\t\toffsetY: offsetY,\n\t\tscale: newScale,\n\t\tfocalPoint: newFocalPoint,\n\t};\n}\n\nexport const getState = function( container, config ) {\n\n\tif ( ! container || ! config ) {\n\t\treturn {};\n\t}\n\n\tconst {\n\t\tfollowThroughStart,\n\t\tfollowThroughEnd,\n\t\tscrollingEffect,\n\t\tscrollContainerHeight,\n\t\tscrollContainerBox,\n\t} = config;\n\n\tconst containerWidth = container.offsetWidth;\n\tconst containerHeight = container.offsetHeight;\n\tconst containerBox = container.getBoundingClientRect();\n\n\tconst smoothStart = followThroughStart || scrollingEffect === 'parallax';\n\tconst smoothEnd = followThroughEnd || scrollingEffect === 'parallax';\n\n\tlet current = scrollContainerBox.top - containerBox.top;\n\tlet distance = containerHeight - scrollContainerHeight;\n\n\tif ( smoothStart ) {\n\t\tcurrent += scrollContainerHeight;\n\t\tdistance += scrollContainerHeight;\n\t}\n\n\tif ( smoothEnd ) {\n\t\tdistance += scrollContainerHeight;\n\t}\n\n\tlet progress = distance <= 0 ? 0.5 : current / distance;\n\n\tif ( ! smoothStart ) {\n\t\tprogress = Math.max( 0, progress );\n\t}\n\n\tif ( ! smoothEnd ) {\n\t\tprogress = Math.min( 1, progress );\n\t}\n\n\tif ( userPrefersReducedMotion() ) {\n\t\tprogress = 0.5;\n\t}\n\n\treturn {\n\t\tprogress,\n\t\tdistance,\n\t\tsmoothStart,\n\t\tsmoothEnd,\n\n\t\tcontainerBox,\n\t\tcontainerHeight,\n\t\tcontainerWidth,\n\n\t\tscrollContainerHeight,\n\t\tscrollContainerBox,\n\t}\n};\n\nfunction getScrollContainerHeight() {\n\tconst useOrientation = hasTouchScreen() && 'orientation' in window;\n\treturn useOrientation && window.screen && window.screen.availHeight || window.innerHeight\n}\n\nexport const parallaxInit = function( $blocks ) {\n\n\tlet frameRendered = false;\n\tlet scrollContainerHeight = getScrollContainerHeight();\n\n\t$blocks.each( function( i, container ) {\n\t\tvar $container = $( container );\n\t\tvar followThroughStart = !! $container.data( 'smooth-start' );\n\t\tvar followThroughEnd = !! $container.data( 'smooth-end' );\n\t\tvar scrollingEffect = $container.data( 'scrolling-effect' );\n\t\tvar focalPoint = $container.data( 'focal-point' );\n\t\tvar finalFocalPoint = $container.data( 'final-focal-point' );\n\t\tvar initialBackgroundScale = $container.data( 'initial-background-scale' );\n\t\tvar finalBackgroundScale = $container.data( 'final-background-scale' );\n\t\tvar scrollContainerBox = {\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t};\n\n\t\tvar config = {\n\t\t\tfollowThroughStart,\n\t\t\tfollowThroughEnd,\n\t\t\tscrollingEffect,\n\t\t\tscrollContainerHeight,\n\t\t\tscrollContainerBox,\n\t\t\tfocalPoint,\n\t\t\tfinalFocalPoint,\n\t\t\tinitialBackgroundScale,\n\t\t\tfinalBackgroundScale,\n\t\t};\n\n\t\t$container.data( {\n\t\t\tstate: getState( container, config ),\n\t\t\tconfig: config,\n\t\t} );\n\n\t\tvar $parallax = $container.find( '.novablocks-parallax' );\n\n\t\t$container.data( 'parallax', $parallax );\n\n\t\tfunction parallaxUpdateState() {\n\t\t\tvar newConfig = Object.assign( {}, config, {\n\t\t\t\tscrollContainerHeight: getScrollContainerHeight()\n\t\t\t} );\n\t\t\tvar state = getState( container, newConfig );\n\t\t\t$container.data( 'state', state );\n\t\t\t$container.data( 'config', newConfig );\n\t\t\tframeRendered = false;\n\t\t}\n\n\t\t$( window ).on( 'scroll', parallaxUpdateState );\n\t\t$( window ).on( 'resize', parallaxUpdateState );\n\t} );\n\n\tfunction parallaxUpdateLoop() {\n\t\tif ( ! frameRendered ) {\n\t\t\t$blocks.each( function( i, obj ) {\n\t\t\t\tlet $container = $( obj );\n\t\t\t\tlet $background = $container.data( 'parallax' );\n\t\t\t\tlet $foreground = $background.find( '.novablocks-foreground' );\n\t\t\t\tlet state = $container.data( 'state' );\n\t\t\t\tlet config = $container.data( 'config' );\n\n\t\t\t\tconfig = Object.assign( {}, state, config );\n\n\t\t\t\tlet props = getProps( config, true );\n\n\t\t\t\t$foreground.css( 'transform', `translate3d(0,${ -props.moveY * props.parallaxAmount }px,0)` );\n\n\t\t\t\t// because of fixed positioning\n\t\t\t\tprops.moveY = -1 * props.moveY;\n\n\t\t\t\tif ( 0 < props.progress && props.progress < 1 ) {\n\t\t\t\t\tprops.parallaxAmount = 1 - props.parallaxAmount;\n\t\t\t\t}\n\n\t\t\t\tlet styles = getStylesFromProps( props );\n\n\t\t\t\t$container.data( 'parallax' ).css( styles );\n\t\t\t} );\n\t\t\tframeRendered = true;\n\t\t}\n\t\trequestAnimationFrame( parallaxUpdateLoop );\n\t}\n\n\trequestAnimationFrame( parallaxUpdateLoop );\n}\n","const { createContext } = wp.element;\n\nimport { findParents } from '../../utils';\nimport { easeInOutCubic, easeOutQuart } from '../../easing';\nimport { ScrollingEffectControls, withSettings } from \"../index\";\n\nimport { getStyles, getState } from './util';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tInspectorControls\n} = wp.blockEditor;\n\nconst {\n\tcompose,\n} = wp.compose;\n\nconst ParallaxContext = createContext();\n\nconst withParallaxProvider = function( WrappedComponent ) {\n\n\treturn class extends Component {\n\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.state = {\n\t\t\t\tscrollContainerWidth: 0,\n\t\t\t\tscrollContainerHeight: 0,\n\t\t\t\tprogress: 0.5,\n\t\t\t};\n\n\t\t\tthis.updateHandler = this.updateState.bind( this );\n\t\t\tthis.scrollContainer = this.getScrollContainer();\n\t\t}\n\n\t\tgetScrollContainer() {\n\t\t\treturn document.querySelector( '.edit-post-layout__content' ) ||\n\t\t\t document.querySelector( '.edit-post-editor-regions__content' ) ||\n\t\t\t document.querySelector( '.block-editor-editor-skeleton__content' ) ||\n\t\t\t document.querySelector( '.interface-interface-skeleton__content' );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\twindow.addEventListener( 'resize', this.updateHandler );\n\t\t\tthis.createBlockObservers();\n\t\t\tthis.unsubscribeUpdate = wp.data.subscribe( this.updateHandler );\n\n\t\t\tif ( this.scrollContainer ) {\n\t\t\t\tthis.scrollContainer.addEventListener( 'scroll', this.updateHandler );\n\t\t\t}\n\n\t\t\tthis.updateState();\n\t\t}\n\n\t\tcreateBlockObservers() {\n\t\t\tthis.observers = [];\n\n\t\t\tfindParents( this.container, '.wp-block' ).map( block => {\n\n\t\t\t\tif ( window.MutationObserver ) {\n\t\t\t\t\tconst mutationObserver = new MutationObserver( movements => {\n\t\t\t\t\t\tmovements.forEach( movement => {\n\t\t\t\t\t\t\tif ( 'style' === movement.attributeName ) {\n\t\t\t\t\t\t\t\tif ( movement.oldValue && movement.oldValue.includes( 'transform: translate3d' ) ) {\n\t\t\t\t\t\t\t\t\tthis.updateState();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\t\tmutationObserver.observe( block, {\n\t\t\t\t\t\tattributes: true,\n\t\t\t\t\t\tattributeOldValue: true,\n\t\t\t\t\t\tchildList: false,\n\t\t\t\t\t\tsubtree: false,\n\t\t\t\t\t} );\n\n\t\t\t\t\tthis.observers.push( mutationObserver );\n\t\t\t\t}\n\n\t\t\t\tif ( window.ResizeObserver ) {\n\n\t\t\t\t\tconst resizeObserver = new ResizeObserver( () => {\n\t\t\t\t\t\tthis.updateState();\n\t\t\t\t\t} );\n\n\t\t\t\t\tresizeObserver.observe( block );\n\n\t\t\t\t\tthis.observers.push( resizeObserver );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\twindow.removeEventListener( 'resize', this.updateHandler );\n\t\t\tthis.observers.forEach( observer => observer.disconnect() );\n\t\t\tthis.unsubscribeUpdate();\n\n\t\t\tif ( this.scrollContainer ) {\n\t\t\t\tthis.scrollContainer.removeEventListener( 'scroll', this.updateHandler );\n\t\t\t}\n\t\t}\n\n\t\tupdateState() {\n\t\t\tconst container = this.container;\n\t\t\tconst scrollContainerHeight = this.scrollContainer.offsetHeight;\n\t\t\tconst scrollContainerBox = this.scrollContainer.getBoundingClientRect();\n\n\t\t\tconst config = Object.assign( {}, this.props.attributes, {\n\t\t\t\tscrollContainerBox,\n\t\t\t\tscrollContainerHeight,\n\t\t\t} );\n\n\t\t\tthis.setState( getState( container, config ) );\n\t\t}\n\n\t\tgetElementStyle() {\n\n\t\t\tconst { attributes } = this.props;\n\t\t\tconst { scrollingEffect } = attributes;\n\n\t\t\tif ( ! this.scrollContainer || ! this.container ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst state = getState( this.container, Object.assign( {}, this.state, attributes ) );\n\t\t\tconst config = Object.assign( {}, state, attributes );\n\t\t\tconst styles = getStyles( config );\n\n\t\t\treturn styles;\n\t\t}\n\n\t\trender() {\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
( this.container = el ) }>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t};\n};\n\nconst withParallaxControls = function( WrappedComponent ) {\n\n\treturn class extends Component {\n\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.state = {\n\t\t\t\tisScrolling: false,\n\t\t\t}\n\n\t\t\tthis.previewScrolling = this.previewScrolling.bind( this );\n\t\t}\n\n\t\tscrollFromTo( start, end, easing = x => x, callback = () => {}, speed = 1000 ) {\n\n\t\t\tconst {\n\t\t\t\tparallax: {\n\t\t\t\t\tscrollContainer\n\t\t\t\t}\n\t\t\t} = this.props;\n\n\t\t\tconst length = end - start;\n\t\t\tconst duration = Math.abs( length ) * 1000 / speed;\n\t\t\tconst startTime = Date.now();\n\n\t\t\tfunction updateScrollTopLoop() {\n\t\t\t\tconst currentTime = Date.now();\n\t\t\t\tconst timePassed = currentTime - startTime;\n\t\t\t\tconst progress = timePassed / duration;\n\t\t\t\tconst newScrollTop = start + length * easing( progress );\n\n\t\t\t\tscrollContainer.scrollTop = newScrollTop;\n\t\t\t}\n\n\t\t\tscrollContainer.style.pointerEvents = 'none';\n\t\t\tconst interval = setInterval( updateScrollTopLoop, 0 );\n\n\t\t\tthis.setState({\n\t\t\t\tisScrolling: true\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tclearInterval( interval );\n\t\t\t\tthis.setState({\n\t\t\t\t\tisScrolling: false\n\t\t\t\t});\n\t\t\t\tscrollContainer.scrollTop = start + length;\n\t\t\t\tscrollContainer.style.removeProperty( 'pointer-events' );\n\n\t\t\t\tif ( typeof callback === \"function\" ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}, duration );\n\t\t}\n\n\t\tpreviewScrolling() {\n\n\t\t\tconst {\n\t\t\t\tparallax: {\n\t\t\t\t\tscrollContainer,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tcontainerBox,\n\t\t\t\t\t\tcontainerHeight,\n\t\t\t\t\t\tscrollContainerHeight,\n\t\t\t\t\t\tscrollContainerBox,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t} = this.props;\n\n\t\t\tif ( ! container || ! scrollContainer ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst scrollTop = scrollContainer.scrollTop;\n\n\t\t\tlet start = scrollTop + containerBox.top - scrollContainerBox.top - scrollContainerHeight;\n\t\t\tlet length = containerHeight + scrollContainerHeight;\n\n\t\t\tif ( start < 0 ) {\n\t\t\t\tlength = length + start;\n\t\t\t\tstart = 0;\n\t\t\t}\n\n\t\t\tlet maxScroll = scrollContainer.scrollHeight - scrollContainer.offsetHeight;\n\t\t\tlet distanceToBottom = maxScroll - ( start + length );\n\n\t\t\tif ( distanceToBottom < 0 ) {\n\t\t\t\tlength = length + distanceToBottom;\n\t\t\t}\n\n\t\t\tlet end = start + length;\n\n\t\t\tthis.scrollFromTo( scrollTop, start, easeOutQuart, () => {\n\t\t\t\tthis.scrollFromTo( start, end, easeInOutCubic, () => {}, 1000 );\n\t\t\t}, 3000 );\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\t}\n\t}\n}\n\nconst withParallaxContext = function( WrappedComponent ) {\n\n\treturn class extends Component {\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{ context => }\n\t\t\t\t\n\t\t\t)\n\t\t}\n\t}\n}\n\nconst withParallax = compose([\n\twithParallaxProvider,\n\twithParallaxContext,\n\twithParallaxControls,\n]);\n\nexport {\n\twithParallaxProvider,\n\twithParallaxContext,\n\twithParallaxControls,\n};\n\nexport default withParallax;\n","const { __ } = wp.i18n;\n\nconst toggles = [\n\t{\n\t\tlabel: __( 'Collection Title' ),\n\t\tattribute: 'showCollectionTitle'\n\t}, {\n\t\tlabel: __( 'Collection Subtitle' ),\n\t\tattribute: 'showCollectionSubtitle',\n\t}, {\n\t\tlabel: __( 'Media' ),\n\t\tattribute: 'showMedia',\n\t}, {\n\t\tlabel: __( 'Title' ),\n\t\tattribute: 'showTitle',\n\t}, {\n\t\tlabel: __( 'Subtitle' ),\n\t\tattribute: 'showSubtitle',\n\t}, {\n\t\tlabel: __( 'Description' ),\n\t\tattribute: 'showDescription',\n\t}, {\n\t\tlabel: __( 'Buttons' ),\n\t\tattribute: 'showButtons',\n\t}, {\n\t\tlabel: __( 'Meta' ),\n\t\tattribute: 'showMeta',\n\t}\n];\n\nexport default toggles;\n","import { ToggleGroup } from \"../index\";\nimport toggles from \"./toggles\";\n\nconst CardsManager = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t {\n\t\t\t\treturn {\n\t\t\t\t\t...toggle,\n\t\t\t\t\tvalue: attributes[ toggle.attribute ]\n\t\t\t\t}\n\t\t\t} ) }\n\t\t/>\n\t)\n};\n\nexport default CardsManager;\n","const { SVG, Path } = wp.components;\n\nexport const nova = (\n \n \n \n \n);\n\nexport const hero = (\n \n \n \n \n \n \n \n \n \n);\n\nexport const media = (\n \n \n \n \n \n \n \n \n \n);\n\nexport const slideshow = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport const foodmenu = (\n \n \n \n \n \n \n \n \n \n \n);\n\nexport const opentable = (\n \n \n \n\n);\n\nexport const alignBottom = (\n \n \n \n \n);\n\nexport const alignCenter = (\n \n \n \n \n);\n\nexport const alignTop = (\n \n \n \n \n);\n\nexport const alignment = (\n \n \n \n \n);\n\nexport const invert = (\n \n \n \n);\n\nexport const swap = (\n \n \n \n \n \n);\n\nexport const map = (\n\t\n\t\t\n\t\n);\n\nexport const announcement = (\n\t\n\t\t\n\t\n);\n\nexport const headline = (\n\t\n\t\t\n\t\n)\n\nexport const header = (\n\t\n\t\t\n\t\n);\n\nexport const logo = (\n\t\n\t\t\n\t\n\n);\n\nexport const navigation = (\n\t\n\t\t\n\t\n);\n\nexport const openhours = (\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n\nexport const placeholder = (\n\t\n\t\t\n\t\t\n\t\n);\n\nexport const card = (\n\t\n\t\t\n\t\t\n\t\n);\n\nexport const gallery = (\n \n \n \n\n);\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { _x } = wp.i18n;\nconst { Toolbar } = wp.components;\nconst { withViewportMatch } = wp.viewport;\nconst { withSelect } = wp.data;\nconst { compose, createHigherOrderComponent } = wp.compose;\nconst { createContext } = wp.element;\nconst { Consumer } = createContext( {\n\tname: '',\n\tisSelected: false,\n\tfocusedElement: null,\n\tsetFocusedElement: () => {},\n\tclientId: null,\n} );\n\nconst BLOCK_ALIGNMENTS_CONTROLS = {\n\ttop: {\n\t\ticon: icons.alignTop,\n\t\ttitle: _x( 'Vertically Align Top', 'Block vertical alignment setting' ),\n\t},\n\tcenter: {\n\t\ticon: icons.alignCenter,\n\t\ttitle: _x( 'Vertically Align Middle', 'Block vertical alignment setting' ),\n\t},\n\tbottom: {\n\t\ticon: icons.alignBottom,\n\t\ttitle: _x( 'Vertically Align Bottom', 'Block vertical alignment setting' ),\n\t},\n};\n\nconst DEFAULT_CONTROLS = [ 'top', 'center', 'bottom' ];\nconst DEFAULT_CONTROL = 'top';\n\nexport function BlockVerticalAlignmentToolbar( { isCollapsed, value, onChange, controls = DEFAULT_CONTROLS } ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\treturn (\n\t\t {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\t\tisActive: value === control,\n\t\t\t\t\t\tonClick: applyOrUnset( control ),\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t}\n\t\t/>\n\t);\n}\n\n// @todo remove function declaration and use core method when exposed through the api\nconst withBlockEditContext = ( mapContextToProps ) => createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn ( props ) => (\n\t\t\n\t\t\t{ ( context ) => (\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n}, 'withBlockEditContext' );\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/block-vertical-alignment-toolbar/README.md\n */\nexport default compose(\n\twithBlockEditContext( ( { clientId } ) => {\n\t\treturn { clientId };\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithSelect( ( select, { clientId, isLargeViewport, isCollapsed } ) => {\n\t\tconst { getBlockRootClientId, getSettings } = select( 'core/block-editor' );\n\t\treturn {\n\t\t\tisCollapsed: isCollapsed || ! isLargeViewport || (\n\t\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t),\n\t\t};\n\t} ),\n)( BlockVerticalAlignmentToolbar );\n","/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n} = wp.element;\n\nconst {\n\tMediaPlaceholder,\n} = wp.blockEditor;\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst GalleryPlaceholder = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tgalleryImages,\n\t\t},\n\t} = props;\n\n\tconst hasImages = !! galleryImages.length;\n\n\tfunction onChangeGallery( newGalleryImages ) {\n\t\tconst promises = newGalleryImages.map( ( image, index ) => {\n\t\t\treturn wp.apiRequest( { path: '/wp/v2/media/' + image.id } ).then( ( newImage ) => {\n\t\t\t\tnewGalleryImages[ index ] = { ...newImage, ...image };\n\t\t\t} );\n\t\t} );\n\n\t\tPromise.all( promises ).then( () => {\n\t\t\tprops.setAttributes( { galleryImages: newGalleryImages.filter( ( image ) => {\n\t\t\t\treturn !! image.id && !! image.sizes && !! image.sizes.large && !! image.sizes.large.url;\n\t\t\t} ) } );\n\t\t} );\n\t}\n\n\treturn (\n\t\t\n\t);\n};\n\nclass GalleryPreview extends Component {\n\n\trender() {\n\n\t\tconst {\n\t\t\tgalleryImages,\n\t\t\tselected,\n\t\t\tonSelectImage,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{ galleryImages.map( ( img, index ) => {\n\t\t\t\t\tconst classes = [\n\t\t\t\t\t\t'novablocks-slideshow__gallery-item',\n\t\t\t\t\t];\n\n\t\t\t\t\tif ( selected === index ) {\n\t\t\t\t\t\tclasses.push( 'novablocks-slideshow__gallery-item--active' );\n\t\t\t\t\t}\n\n\t\t\t\t\tlet thumbnail = false;\n\n\t\t\t\t\tif ( 'video' === img.type ) {\n\t\t\t\t\t\tthumbnail = img?.thumb?.src;\n\t\t\t\t\t\tclasses.push( 'novablocks-slideshow__gallery-item--video' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthumbnail = img?.sizes?.novablocks_tiny?.url || img?.sizes?.novablocks_large?.url || img?.sizes?.novablocks_huge?.url\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
  • { onSelectImage( index ); } }>\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
  • \n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport {\n\tGalleryPlaceholder,\n\tGalleryPreview,\n};\n","const { Component } = wp.element;\n\nclass Tabs extends Component {\n\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tactiveTab: props.children[0].props.label,\n\t\t};\n\t}\n\n\tonClickTabItem(tab) {\n\t\tthis.setState({ activeTab: tab });\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tprops: {\n\t\t\t\tchildren,\n\t\t\t},\n\t\t\tstate: {\n\t\t\t\tactiveTab,\n\t\t\t}\n\t\t} = this;\n\n\t\tconst onClickTabItem = this.onClickTabItem.bind( this );\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t{ children.map((child) => {\n\t\t\t\t\t\tconst { label } = child.props;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}) }\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{ children.map((child) => {\n\t\t\t\t\t\tif (child.props.label !== activeTab) return undefined;\n\t\t\t\t\t\treturn child.props.children;\n\t\t\t\t\t}) }\n\t\t\t\t
\n\t\t\t
\n\t\t)\n\t}\n}\n\nclass Tab extends Component {\n\n\tonClick() {\n\t\tconst { label, onClick } = this.props;\n\t\tonClick(label);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tactiveTab,\n\t\t\tlabel,\n\t\t} = this.props;\n\n\t\tconst onClick = this.onClick.bind( this );\n\n\t\tlet className = 'novablocks-tab';\n\n\t\tif (activeTab === label) {\n\t\t\tclassName += ' novablocks-tab--active';\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{label}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport { Tab, Tabs };\n","import Cookies from 'js-cookie';\n\nconst {\n\tuseState\n} = wp.element;\n\nconst {\n\tButton,\n} = wp.components;\n\nconst Notice = ( props ) => {\n\n\tconst {\n\t\tid,\n\t\tcontent,\n\t\tdismissLabel\n\t} = props;\n\n\tconst [ hidden, setHidden ] = useState( Cookies.get( id ) );\n\n\tconst onClick = () => {\n\t\tCookies.set( id, true, { expires: 365 } );\n\t\tsetHidden( true );\n\t}\n\n\tif ( hidden ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{ content }\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default Notice;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { Fragment } = wp.element;\n\nconst {\n\tColorPalette,\n\tDropdown,\n\tButton,\n\tRadioControl,\n\tRangeControl,\n\tToolbar,\n\tBaseControl\n} = wp.components;\n\nconst {\n\tPanelColorSettings,\n} = wp.blockEditor;\n\nconst colors = [ {\n\tname: __( 'Dark', '__plugin_txtd' ),\n\tcolor: '#000',\n}, {\n\tname: __( 'Light', '__plugin_txtd' ),\n\tcolor: '#FFF',\n} ];\n\nconst OverlayControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\toverlayFilterStyle,\n\t\t\toverlayFilterStrength,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t setAttributes( { overlayFilterStyle: nextOverlayFilterStyle } ) }\n\t\t\t/>\n\t\t\t{ overlayFilterStyle !== 'none' && setAttributes( { overlayFilterStrength: nextOverlayFilterStrength } ) }\n\t\t\t\tmin={ 0 }\n\t\t\t\tmax={ 100 }\n\t\t\t\tstep={ 10 }\n\t\t\t/> }\n\t\t\n\t);\n};\n\nconst ColorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentColor,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn \n\t\t\t\t setAttributes( { contentColor: nextContentColor } ) }\n\t\t\t\tdisableCustomColors\n\t\t\t\tclearable={ false }\n\t\t\t\t/>\n\t\n};\n\nconst ColorPanel = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentColor,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t setAttributes( { contentColor: nextContentColor } ),\n\t\t\t\t\tlabel: __( 'Content Color', '__plugin_txtd' ),\n\t\t\t\t},\n\t\t\t] }\n\t\t\tcolors={ colors }\n\t\t\tinitialOpen={ false }>\n\t\t\t\n\t\t\n\t);\n};\n\nconst ColorToolbar = function( props ) {\n\treturn (\n\t\t\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t/>\n\t\t\n\t);\n};\n\nexport {\n\tColorControls,\n\tColorPanel,\n\tColorToolbar,\n\tOverlayControls,\n};\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { Toolbar } = wp.components;\nconst { withViewportMatch } = wp.viewport;\nconst { withSelect } = wp.data;\nconst { compose, createHigherOrderComponent } = wp.compose;\nconst { createContext } = wp.element;\nconst { Consumer } = createContext( {\n\tname: '',\n\tisSelected: false,\n\tfocusedElement: null,\n\tsetFocusedElement: () => {},\n\tclientId: null,\n} );\n\nconst BLOCK_ALIGNMENTS_CONTROLS = {\n\tleft: {\n\t\ticon: icons.alignTop,\n\t\ttitle: __( 'Align Left', '__plugin_txtd' ),\n\t},\n\tcenter: {\n\t\ticon: icons.alignCenter,\n\t\ttitle: __( 'Align Middle', '__plugin_txtd' ),\n\t},\n\tright: {\n\t\ticon: icons.alignBottom,\n\t\ttitle: __( 'Align Right', '__plugin_txtd' ),\n\t},\n};\n\nconst DEFAULT_CONTROLS = [ 'left', 'center', 'right' ];\nconst DEFAULT_CONTROL = 'center';\n\nexport function BlockHorizontalAlignmentToolbar( { isCollapsed, value, onChange, controls = DEFAULT_CONTROLS } ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\treturn (\n\t\t {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\t\tisActive: value === control,\n\t\t\t\t\t\tonClick: applyOrUnset( control ),\n\t\t\t\t\t\tclassName: 'pixelgrade-hero-horizontal-alignment-button'\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t}\n\t\t/>\n\t);\n}\n\n// @todo remove function declaration and use core method when exposed through the api\nconst withBlockEditContext = ( mapContextToProps ) => createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn ( props ) => (\n\t\t\n\t\t\t{ ( context ) => (\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n}, 'withBlockEditContext' );\n\nexport default compose(\n\twithBlockEditContext( ( { clientId } ) => {\n\t\treturn {\n\t\t\tclientId,\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithSelect( ( select, { clientId, isLargeViewport, isCollapsed } ) => {\n\t\tconst { getBlockRootClientId, getSettings } = select( 'core/block-editor' );\n\t\treturn {\n\t\t\tisCollapsed: isCollapsed || ! isLargeViewport || (\n\t\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t),\n\t\t};\n\t} ),\n)( BlockHorizontalAlignmentToolbar );\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\nimport BlockHorizontalAlignmentToolbar from '../block-horizontal-alignment-toolbar';\nimport BlockVerticalAlignmentToolbar from '../block-vertical-alignment-toolbar';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { Fragment } = wp.element;\n\nconst {\n\tDropdown,\n\tButton,\n\tPanelRow,\n\tToolbar,\n} = wp.components;\n\nconst AlignmentToolbar = function( props ) {\n\treturn (\n\t\t\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\trenderContent={ () => }\n\t\t\t/>\n\t\t\n\t);\n};\n\nconst AlignmentControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\thorizontalAlignment,\n\t\t\tverticalAlignment,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{ __( 'Horizontal', '__plugin_txtd' ) }\n\t\t\t\t {\n\t\t\t\t\t\twp.data.select( 'core/block-editor' ).getSelectedBlock().innerBlocks.map( ( block ) => {\n\t\t\t\t\t\t\twp.data.dispatch( 'core/block-editor' ).updateBlockAttributes( block.clientId, { align: nextHorizontalAlignment } );\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetAttributes( { horizontalAlignment: nextHorizontalAlignment } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t{ __( 'Vertical', '__plugin_txtd' ) }\n\t\t\t\t setAttributes( { verticalAlignment: nextVerticalAlignment } ) }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport {\n\tAlignmentControls,\n\tAlignmentToolbar,\n};\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\nimport { ControlsSection, ControlsTab } from \"../control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst { ToggleControl } = wp.components;\n\nconst {\n\tselect,\n} = wp.data;\n\nconst {\n\tComponent\n} = wp.element;\n\nconst ScrollIndicatorPanel = withSettings( function( props ) {\n\n\tconst {\n\t\tsettings,\n\t\tattributes: {\n\t\t\tscrollIndicator,\n\t\t},\n\t\tsetAttributes,\n\t\tupdateAttributes,\n\t} = props;\n\n\tconst { getBlocks, getSelectedBlockClientId } = select( 'core/block-editor' );\n\n\tconst heroBlocks = getBlocks().filter( ( block ) => {\n\t\treturn block.name === 'novablocks/hero';\n\t} );\n\n\tconst index = heroBlocks.findIndex( block => block.clientId === getSelectedBlockClientId() );\n\n\treturn (\n\t\tindex === 0 &&\n\t\t\n\t\t\t\n\t\t\t\t { updateAttributes( { scrollIndicator } ) } }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n} );\n\nexport {\n\tScrollIndicatorPanel,\n};\n","/**\n * Internal dependencies\n */\nexport { default as LayoutPanel } from './layout-panel';\nexport { default as ParallaxPanel } from './parallax-panel';\nexport { default as PositionIndicatorsPanel } from './position-indicators-panel';\nexport { default as ScrollingEffectControls } from './scrolling-effect-controls';\nexport { default as ToggleGroup } from './toggle-group';\nexport { default as HeadingToolbar } from './heading-toolbar';\nexport { default as Collection } from './collection';\nexport { default as PresetControl } from './preset-control';\nexport { default as withParallax } from './with-parallax';\nexport { default as withSettings } from './with-settings';\nexport { default as CardsManager } from './cards-manager';\nexport { default as BlockVerticalAlignmentToolbar } from './block-vertical-alignment-toolbar';\n\nexport {\n\tGalleryPreview,\n\tGalleryPlaceholder,\n} from './gallery-options';\n\nexport {\n\tTabs,\n\tTab,\n} from './tabs';\n\nexport { default as Notice } from './notice';\n\nexport {\n\tControlsSection,\n\tControlsSections,\n\tControlsTab,\n\tControlsDrawerContent,\n} from './control-sections'\n\nexport { default as ControlsGroup } from './controls-group';\n\nexport {\n\tColorControls,\n\tColorPanel,\n\tColorToolbar,\n\tOverlayControls,\n} from './color-controls';\n\nexport {\n\tAlignmentControls,\n\tAlignmentToolbar,\n} from './alignment-controls';\n\nexport {\n\tScrollIndicatorPanel,\n} from './scroll-indicator-panel';\n","import {\n\tCardsManager,\n\tControlsDrawerContent,\n} from '../../components';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\taddFilter\n} = wp.hooks;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\tPanelBody\n} = wp.components;\n\nconst ALLOWED_BLOCKS = [\n\t'novablocks/cards-collection',\n\t'novablocks/posts-collection',\n];\n\nconst withCardsManager = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! ALLOWED_BLOCKS.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-cards-manager', withCardsManager );\n","/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nvar instanceMap = new WeakMap();\n/**\n * Creates a new id for a given object.\n *\n * @param {Object} object Object reference to create an id for.\n */\n\nfunction createId(object) {\n var instances = instanceMap.get(object) || 0;\n instanceMap.set(object, instances + 1);\n return instances;\n}\n/**\n * Provides a unique instance ID.\n *\n * @param {Object} object Object reference to create an id for.\n */\n\n\nexport default function useInstanceId(object) {\n return useMemo(function () {\n return createId(object);\n }, [object]);\n}\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * Internal dependencies\n */\nimport createHigherOrderComponent from '../../utils/create-higher-order-component';\nimport useInstanceId from '../../hooks/use-instance-id';\n/**\n * A Higher Order Component used to be provide a unique instance ID by\n * component.\n *\n * @param {WPComponent} WrappedComponent The wrapped component.\n *\n * @return {WPComponent} Component with an instanceId prop.\n */\n\nexport default createHigherOrderComponent(function (WrappedComponent) {\n return function (props) {\n var instanceId = useInstanceId(WrappedComponent);\n return createElement(WrappedComponent, _extends({}, props, {\n instanceId: instanceId\n }));\n };\n}, 'withInstanceId');\n//# sourceMappingURL=index.js.map","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { createElement } from '@wordpress/element'; // Disable reason: JSDoc linter doesn't seem to parse the union (`&`) correctly.\n\n/* eslint-disable jsdoc/valid-types */\n\n/** @typedef {{isPressed?: boolean} & import('react').ComponentPropsWithoutRef<'svg'>} SVGProps */\n\n/* eslint-enable jsdoc/valid-types */\n\n/**\n * @param {import('react').ComponentPropsWithoutRef<'circle'>} props\n *\n * @return {JSX.Element} Circle component\n */\n\nexport var Circle = function Circle(props) {\n return createElement('circle', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'g'>} props\n *\n * @return {JSX.Element} G component\n */\n\nexport var G = function G(props) {\n return createElement('g', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'path'>} props\n *\n * @return {JSX.Element} Path component\n */\n\nexport var Path = function Path(props) {\n return createElement('path', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'polygon'>} props\n *\n * @return {JSX.Element} Polygon component\n */\n\nexport var Polygon = function Polygon(props) {\n return createElement('polygon', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'rect'>} props\n *\n * @return {JSX.Element} Rect component\n */\n\nexport var Rect = function Rect(props) {\n return createElement('rect', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'defs'>} props\n *\n * @return {JSX.Element} Defs component\n */\n\nexport var Defs = function Defs(props) {\n return createElement('defs', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'radialGradient'>} props\n *\n * @return {JSX.Element} RadialGradient component\n */\n\nexport var RadialGradient = function RadialGradient(props) {\n return createElement('radialGradient', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'linearGradient'>} props\n *\n * @return {JSX.Element} LinearGradient component\n */\n\nexport var LinearGradient = function LinearGradient(props) {\n return createElement('linearGradient', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'stop'>} props\n *\n * @return {JSX.Element} Stop component\n */\n\nexport var Stop = function Stop(props) {\n return createElement('stop', props);\n};\n/**\n *\n * @param {SVGProps} props isPressed indicates whether the SVG should appear as pressed.\n * Other props will be passed through to svg component.\n *\n * @return {JSX.Element} Stop component\n */\n\nexport var SVG = function SVG(_ref) {\n var className = _ref.className,\n isPressed = _ref.isPressed,\n props = _objectWithoutProperties(_ref, [\"className\", \"isPressed\"]);\n\n var appliedProps = _objectSpread({}, props, {\n className: classnames(className, {\n 'is-pressed': isPressed\n }) || undefined,\n role: 'img',\n 'aria-hidden': true,\n focusable: false\n }); // Disable reason: We need to have a way to render HTML tag for web.\n // eslint-disable-next-line react/forbid-elements\n\n\n return createElement(\"svg\", appliedProps);\n};\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nvar closeCircleFilled = createElement(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\"\n}, createElement(Path, {\n d: \"M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z\"\n}));\nexport default closeCircleFilled;\n//# sourceMappingURL=close-circle-filled.js.map","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport { Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, memo, StrictMode, useState, useEffect, useContext, useReducer, useCallback, useMemo, useRef, useImperativeHandle, useLayoutEffect, useDebugValue, lazy, Suspense } from 'react';\nimport { isString } from 'lodash';\n/**\n * Object containing a React element.\n *\n * @typedef {import('react').ReactElement} WPElement\n */\n\n/**\n * Object containing a React component.\n *\n * @typedef {import('react').ComponentType} WPComponent\n */\n\n/**\n * Object containing a React synthetic event.\n *\n * @typedef {import('react').SyntheticEvent} WPSyntheticEvent\n */\n\n/**\n * Object that provides utilities for dealing with React children.\n */\n\nexport { Children };\n/**\n * Creates a copy of an element with extended props.\n *\n * @param {WPElement} element Element\n * @param {?Object} props Props to apply to cloned element\n *\n * @return {WPElement} Cloned element.\n */\n\nexport { cloneElement };\n/**\n * A base class to create WordPress Components (Refs, state and lifecycle hooks)\n */\n\nexport { Component };\n/**\n * Creates a context object containing two components: a provider and consumer.\n *\n * @param {Object} defaultValue A default data stored in the context.\n *\n * @return {Object} Context object.\n */\n\nexport { createContext };\n/**\n * Returns a new element of given type. Type can be either a string tag name or\n * another function which itself returns an element.\n *\n * @param {?(string|Function)} type Tag name or element creator\n * @param {Object} props Element properties, either attribute\n * set to apply to DOM node or values to\n * pass through to element creator\n * @param {...WPElement} children Descendant elements\n *\n * @return {WPElement} Element.\n */\n\nexport { createElement };\n/**\n * Returns an object tracking a reference to a rendered element via its\n * `current` property as either a DOMElement or Element, dependent upon the\n * type of element rendered with the ref attribute.\n *\n * @return {Object} Ref object.\n */\n\nexport { createRef };\n/**\n * Component enhancer used to enable passing a ref to its wrapped component.\n * Pass a function argument which receives `props` and `ref` as its arguments,\n * returning an element using the forwarded ref. The return value is a new\n * component which forwards its ref.\n *\n * @param {Function} forwarder Function passed `props` and `ref`, expected to\n * return an element.\n *\n * @return {WPComponent} Enhanced component.\n */\n\nexport { forwardRef };\n/**\n * A component which renders its children without any wrapping element.\n */\n\nexport { Fragment };\n/**\n * Checks if an object is a valid WPElement.\n *\n * @param {Object} objectToCheck The object to be checked.\n *\n * @return {boolean} true if objectToTest is a valid WPElement and false otherwise.\n */\n\nexport { isValidElement };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactmemo\n */\n\nexport { memo };\n/**\n * Component that activates additional checks and warnings for its descendants.\n */\n\nexport { StrictMode };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecallback\n */\n\nexport { useCallback };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecontext\n */\n\nexport { useContext };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue\n */\n\nexport { useDebugValue };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useeffect\n */\n\nexport { useEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle\n */\n\nexport { useImperativeHandle };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\n\nexport { useLayoutEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usememo\n */\n\nexport { useMemo };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usereducer\n */\n\nexport { useReducer };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n */\n\nexport { useRef };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usestate\n */\n\nexport { useState };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactlazy\n */\n\nexport { lazy };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactsuspense\n */\n\nexport { Suspense };\n/**\n * Concatenate two or more React children objects.\n *\n * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate.\n *\n * @return {Array} The concatenated value.\n */\n\nexport function concatChildren() {\n for (var _len = arguments.length, childrenArguments = new Array(_len), _key = 0; _key < _len; _key++) {\n childrenArguments[_key] = arguments[_key];\n }\n\n return childrenArguments.reduce(function (accumulator, children, i) {\n Children.forEach(children, function (child, j) {\n if (child && 'string' !== typeof child) {\n child = cloneElement(child, {\n key: [i, j].join()\n });\n }\n\n accumulator.push(child);\n });\n return accumulator;\n }, []);\n}\n/**\n * Switches the nodeName of all the elements in the children object.\n *\n * @param {?Object} children Children object.\n * @param {string} nodeName Node name.\n *\n * @return {?Object} The updated children object.\n */\n\nexport function switchChildrenNodeName(children, nodeName) {\n return children && Children.map(children, function (elt, index) {\n if (isString(elt)) {\n return createElement(nodeName, {\n key: index\n }, elt);\n }\n\n var _elt$props = elt.props,\n childrenProp = _elt$props.children,\n props = _objectWithoutProperties(_elt$props, [\"children\"]);\n\n return createElement(nodeName, _objectSpread({\n key: index\n }, props), childrenProp);\n });\n}\n//# sourceMappingURL=react.js.map","/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n/**\n * Browser dependencies\n */\n\nvar _window = window,\n DOMParser = _window.DOMParser,\n getComputedStyle = _window.getComputedStyle;\nvar _window$Node = window.Node,\n TEXT_NODE = _window$Node.TEXT_NODE,\n ELEMENT_NODE = _window$Node.ELEMENT_NODE,\n DOCUMENT_POSITION_PRECEDING = _window$Node.DOCUMENT_POSITION_PRECEDING,\n DOCUMENT_POSITION_FOLLOWING = _window$Node.DOCUMENT_POSITION_FOLLOWING;\n/**\n * Returns true if the given selection object is in the forward direction, or\n * false otherwise.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n *\n * @param {Selection} selection Selection object to check.\n *\n * @return {boolean} Whether the selection is forward.\n */\n\nfunction isSelectionForward(selection) {\n var anchorNode = selection.anchorNode,\n focusNode = selection.focusNode,\n anchorOffset = selection.anchorOffset,\n focusOffset = selection.focusOffset;\n var position = anchorNode.compareDocumentPosition(focusNode); // Disable reason: `Node#compareDocumentPosition` returns a bitmask value,\n // so bitwise operators are intended.\n\n /* eslint-disable no-bitwise */\n // Compare whether anchor node precedes focus node. If focus node (where\n // end of selection occurs) is after the anchor node, it is forward.\n\n if (position & DOCUMENT_POSITION_PRECEDING) {\n return false;\n }\n\n if (position & DOCUMENT_POSITION_FOLLOWING) {\n return true;\n }\n /* eslint-enable no-bitwise */\n // `compareDocumentPosition` returns 0 when passed the same node, in which\n // case compare offsets.\n\n\n if (position === 0) {\n return anchorOffset <= focusOffset;\n } // This should never be reached, but return true as default case.\n\n\n return true;\n}\n/**\n * Check whether the selection is at the edge of the container. Checks for\n * horizontal position by default. Set `onlyVertical` to true to check only\n * vertically.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse Set to true to check left, false to check right.\n * @param {boolean} onlyVertical Set to true to check only vertical position.\n *\n * @return {boolean} True if at the edge, false if not.\n */\n\n\nfunction isEdge(container, isReverse, onlyVertical) {\n if (includes(['INPUT', 'TEXTAREA'], container.tagName)) {\n if (container.selectionStart !== container.selectionEnd) {\n return false;\n }\n\n if (isReverse) {\n return container.selectionStart === 0;\n }\n\n return container.value.length === container.selectionStart;\n }\n\n if (!container.isContentEditable) {\n return true;\n }\n\n var selection = window.getSelection();\n\n if (!selection.rangeCount) {\n return false;\n }\n\n var originalRange = selection.getRangeAt(0);\n var range = originalRange.cloneRange();\n var isForward = isSelectionForward(selection);\n var isCollapsed = selection.isCollapsed; // Collapse in direction of selection.\n\n if (!isCollapsed) {\n range.collapse(!isForward);\n }\n\n var rangeRect = getRectangleFromRange(range);\n\n if (!rangeRect) {\n return false;\n }\n\n var computedStyle = window.getComputedStyle(container);\n var lineHeight = parseInt(computedStyle.lineHeight, 10) || 0; // Only consider the multiline selection at the edge if the direction is\n // towards the edge.\n\n if (!isCollapsed && rangeRect.height > lineHeight && isForward === isReverse) {\n return false;\n }\n\n var padding = parseInt(computedStyle[\"padding\".concat(isReverse ? 'Top' : 'Bottom')], 10) || 0; // Calculate a buffer that is half the line height. In some browsers, the\n // selection rectangle may not fill the entire height of the line, so we add\n // 3/4 the line height to the selection rectangle to ensure that it is well\n // over its line boundary.\n\n var buffer = 3 * parseInt(lineHeight, 10) / 4;\n var containerRect = container.getBoundingClientRect();\n var originalRangeRect = getRectangleFromRange(originalRange);\n var verticalEdge = isReverse ? containerRect.top + padding > originalRangeRect.top - buffer : containerRect.bottom - padding < originalRangeRect.bottom + buffer;\n\n if (!verticalEdge) {\n return false;\n }\n\n if (onlyVertical) {\n return true;\n } // In the case of RTL scripts, the horizontal edge is at the opposite side.\n\n\n var direction = computedStyle.direction;\n var isReverseDir = direction === 'rtl' ? !isReverse : isReverse; // To calculate the horizontal position, we insert a test range and see if\n // this test range has the same horizontal position. This method proves to\n // be better than a DOM-based calculation, because it ignores empty text\n // nodes and a trailing line break element. In other words, we need to check\n // visual positioning, not DOM positioning.\n\n var x = isReverseDir ? containerRect.left + 1 : containerRect.right - 1;\n var y = isReverse ? containerRect.top + buffer : containerRect.bottom - buffer;\n var testRange = hiddenCaretRangeFromPoint(document, x, y, container);\n\n if (!testRange) {\n return false;\n }\n\n var side = isReverseDir ? 'left' : 'right';\n var testRect = getRectangleFromRange(testRange); // Allow the position to be 1px off.\n\n return Math.abs(testRect[side] - rangeRect[side]) <= 1;\n}\n/**\n * Check whether the selection is horizontally at the edge of the container.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse Set to true to check left, false for right.\n *\n * @return {boolean} True if at the horizontal edge, false if not.\n */\n\n\nexport function isHorizontalEdge(container, isReverse) {\n return isEdge(container, isReverse);\n}\n/**\n * Check whether the selection is vertically at the edge of the container.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse Set to true to check top, false for bottom.\n *\n * @return {boolean} True if at the vertical edge, false if not.\n */\n\nexport function isVerticalEdge(container, isReverse) {\n return isEdge(container, isReverse, true);\n}\n/**\n * Get the rectangle of a given Range.\n *\n * @param {Range} range The range.\n *\n * @return {DOMRect} The rectangle.\n */\n\nexport function getRectangleFromRange(range) {\n // For uncollapsed ranges, get the rectangle that bounds the contents of the\n // range; this a rectangle enclosing the union of the bounding rectangles\n // for all the elements in the range.\n if (!range.collapsed) {\n return range.getBoundingClientRect();\n }\n\n var _range = range,\n startContainer = _range.startContainer; // Correct invalid \"BR\" ranges. The cannot contain any children.\n\n if (startContainer.nodeName === 'BR') {\n var parentNode = startContainer.parentNode;\n var index = Array.from(parentNode.childNodes).indexOf(startContainer);\n range = document.createRange();\n range.setStart(parentNode, index);\n range.setEnd(parentNode, index);\n }\n\n var rect = range.getClientRects()[0]; // If the collapsed range starts (and therefore ends) at an element node,\n // `getClientRects` can be empty in some browsers. This can be resolved\n // by adding a temporary text node with zero-width space to the range.\n //\n // See: https://stackoverflow.com/a/6847328/995445\n\n if (!rect) {\n var padNode = document.createTextNode(\"\\u200B\"); // Do not modify the live range.\n\n range = range.cloneRange();\n range.insertNode(padNode);\n rect = range.getClientRects()[0];\n padNode.parentNode.removeChild(padNode);\n }\n\n return rect;\n}\n/**\n * Get the rectangle for the selection in a container.\n *\n * @return {?DOMRect} The rectangle.\n */\n\nexport function computeCaretRect() {\n var selection = window.getSelection();\n var range = selection.rangeCount ? selection.getRangeAt(0) : null;\n\n if (!range) {\n return;\n }\n\n return getRectangleFromRange(range);\n}\n/**\n * Places the caret at start or end of a given element.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse True for end, false for start.\n */\n\nexport function placeCaretAtHorizontalEdge(container, isReverse) {\n if (!container) {\n return;\n }\n\n if (includes(['INPUT', 'TEXTAREA'], container.tagName)) {\n container.focus();\n\n if (isReverse) {\n container.selectionStart = container.value.length;\n container.selectionEnd = container.value.length;\n } else {\n container.selectionStart = 0;\n container.selectionEnd = 0;\n }\n\n return;\n }\n\n container.focus();\n\n if (!container.isContentEditable) {\n return;\n } // Select on extent child of the container, not the container itself. This\n // avoids the selection always being `endOffset` of 1 when placed at end,\n // where `startContainer`, `endContainer` would always be container itself.\n\n\n var rangeTarget = container[isReverse ? 'lastChild' : 'firstChild']; // If no range target, it implies that the container is empty. Focusing is\n // sufficient for caret to be placed correctly.\n\n if (!rangeTarget) {\n return;\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n range.selectNodeContents(rangeTarget);\n range.collapse(!isReverse);\n selection.removeAllRanges();\n selection.addRange(range);\n}\n/**\n * Polyfill.\n * Get a collapsed range for a given point.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\n *\n * @param {Document} doc The document of the range.\n * @param {number} x Horizontal position within the current viewport.\n * @param {number} y Vertical position within the current viewport.\n *\n * @return {?Range} The best range for the given point.\n */\n\nfunction caretRangeFromPoint(doc, x, y) {\n if (doc.caretRangeFromPoint) {\n return doc.caretRangeFromPoint(x, y);\n }\n\n if (!doc.caretPositionFromPoint) {\n return null;\n }\n\n var point = doc.caretPositionFromPoint(x, y); // If x or y are negative, outside viewport, or there is no text entry node.\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\n\n if (!point) {\n return null;\n }\n\n var range = doc.createRange();\n range.setStart(point.offsetNode, point.offset);\n range.collapse(true);\n return range;\n}\n/**\n * Get a collapsed range for a given point.\n * Gives the container a temporary high z-index (above any UI).\n * This is preferred over getting the UI nodes and set styles there.\n *\n * @param {Document} doc The document of the range.\n * @param {number} x Horizontal position within the current viewport.\n * @param {number} y Vertical position within the current viewport.\n * @param {Element} container Container in which the range is expected to be found.\n *\n * @return {?Range} The best range for the given point.\n */\n\n\nfunction hiddenCaretRangeFromPoint(doc, x, y, container) {\n var originalZIndex = container.style.zIndex;\n var originalPosition = container.style.position; // A z-index only works if the element position is not static.\n\n container.style.zIndex = '10000';\n container.style.position = 'relative';\n var range = caretRangeFromPoint(doc, x, y);\n container.style.zIndex = originalZIndex;\n container.style.position = originalPosition;\n return range;\n}\n/**\n * Places the caret at the top or bottom of a given element.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse True for bottom, false for top.\n * @param {DOMRect} [rect] The rectangle to position the caret with.\n * @param {boolean} [mayUseScroll=true] True to allow scrolling, false to disallow.\n */\n\n\nexport function placeCaretAtVerticalEdge(container, isReverse, rect) {\n var mayUseScroll = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n if (!container) {\n return;\n }\n\n if (!rect || !container.isContentEditable) {\n placeCaretAtHorizontalEdge(container, isReverse);\n return;\n } // Offset by a buffer half the height of the caret rect. This is needed\n // because caretRangeFromPoint may default to the end of the selection if\n // offset is too close to the edge. It's unclear how to precisely calculate\n // this threshold; it may be the padded area of some combination of line\n // height, caret height, and font size. The buffer offset is effectively\n // equivalent to a point at half the height of a line of text.\n\n\n var buffer = rect.height / 2;\n var editableRect = container.getBoundingClientRect();\n var x = rect.left;\n var y = isReverse ? editableRect.bottom - buffer : editableRect.top + buffer;\n var range = hiddenCaretRangeFromPoint(document, x, y, container);\n\n if (!range || !container.contains(range.startContainer)) {\n if (mayUseScroll && (!range || !range.startContainer || !range.startContainer.contains(container))) {\n // Might be out of view.\n // Easier than attempting to calculate manually.\n container.scrollIntoView(isReverse);\n placeCaretAtVerticalEdge(container, isReverse, rect, false);\n return;\n }\n\n placeCaretAtHorizontalEdge(container, isReverse);\n return;\n }\n\n var selection = window.getSelection();\n selection.removeAllRanges();\n selection.addRange(range);\n container.focus(); // Editable was already focussed, it goes back to old range...\n // This fixes it.\n\n selection.removeAllRanges();\n selection.addRange(range);\n}\n/**\n * Check whether the given element is a text field, where text field is defined\n * by the ability to select within the input, or that it is contenteditable.\n *\n * See: https://html.spec.whatwg.org/#textFieldSelection\n *\n * @param {HTMLElement} element The HTML element.\n *\n * @return {boolean} True if the element is an text field, false if not.\n */\n\nexport function isTextField(element) {\n try {\n var nodeName = element.nodeName,\n selectionStart = element.selectionStart,\n contentEditable = element.contentEditable;\n return nodeName === 'INPUT' && selectionStart !== null || nodeName === 'TEXTAREA' || contentEditable === 'true';\n } catch (error) {\n // Safari throws an exception when trying to get `selectionStart`\n // on non-text elements (which, understandably, don't\n // have the text selection API). We catch this via a try/catch\n // block, as opposed to a more explicit check of the element's\n // input types, because of Safari's non-standard behavior. This\n // also means we don't have to worry about the list of input\n // types that support `selectionStart` changing as the HTML spec\n // evolves over time.\n return false;\n }\n}\n/**\n * Check whether the given element is an input field of type number\n * and has a valueAsNumber\n *\n * @param {HTMLElement} element The HTML element.\n *\n * @return {boolean} True if the element is input and holds a number.\n */\n\nexport function isNumberInput(element) {\n var nodeName = element.nodeName,\n type = element.type,\n valueAsNumber = element.valueAsNumber;\n return nodeName === 'INPUT' && type === 'number' && !!valueAsNumber;\n}\n/**\n * Check wether the current document has a selection.\n * This checks both for focus in an input field and general text selection.\n *\n * @return {boolean} True if there is selection, false if not.\n */\n\nexport function documentHasSelection() {\n if (isTextField(document.activeElement)) {\n return true;\n }\n\n if (isNumberInput(document.activeElement)) {\n return true;\n }\n\n var selection = window.getSelection();\n var range = selection.rangeCount ? selection.getRangeAt(0) : null;\n return range && !range.collapsed;\n}\n/**\n * Check whether the contents of the element have been entirely selected.\n * Returns true if there is no possibility of selection.\n *\n * @param {Element} element The element to check.\n *\n * @return {boolean} True if entirely selected, false if not.\n */\n\nexport function isEntirelySelected(element) {\n if (includes(['INPUT', 'TEXTAREA'], element.nodeName)) {\n return element.selectionStart === 0 && element.value.length === element.selectionEnd;\n }\n\n if (!element.isContentEditable) {\n return true;\n }\n\n var selection = window.getSelection();\n var range = selection.rangeCount ? selection.getRangeAt(0) : null;\n\n if (!range) {\n return true;\n }\n\n var startContainer = range.startContainer,\n endContainer = range.endContainer,\n startOffset = range.startOffset,\n endOffset = range.endOffset;\n\n if (startContainer === element && endContainer === element && startOffset === 0 && endOffset === element.childNodes.length) {\n return true;\n }\n\n var lastChild = element.lastChild;\n var lastChildContentLength = lastChild.nodeType === TEXT_NODE ? lastChild.data.length : lastChild.childNodes.length;\n return startContainer === element.firstChild && endContainer === element.lastChild && startOffset === 0 && endOffset === lastChildContentLength;\n}\n/**\n * Given a DOM node, finds the closest scrollable container node.\n *\n * @param {Element} node Node from which to start.\n *\n * @return {?Element} Scrollable container node, if found.\n */\n\nexport function getScrollContainer(node) {\n if (!node) {\n return;\n } // Scrollable if scrollable height exceeds displayed...\n\n\n if (node.scrollHeight > node.clientHeight) {\n // ...except when overflow is defined to be hidden or visible\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (/(auto|scroll)/.test(overflowY)) {\n return node;\n }\n } // Continue traversing\n\n\n return getScrollContainer(node.parentNode);\n}\n/**\n * Returns the closest positioned element, or null under any of the conditions\n * of the offsetParent specification. Unlike offsetParent, this function is not\n * limited to HTMLElement and accepts any Node (e.g. Node.TEXT_NODE).\n *\n * @see https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsetparent\n *\n * @param {Node} node Node from which to find offset parent.\n *\n * @return {?Node} Offset parent.\n */\n\nexport function getOffsetParent(node) {\n // Cannot retrieve computed style or offset parent only anything other than\n // an element node, so find the closest element node.\n var closestElement;\n\n while (closestElement = node.parentNode) {\n if (closestElement.nodeType === ELEMENT_NODE) {\n break;\n }\n }\n\n if (!closestElement) {\n return null;\n } // If the closest element is already positioned, return it, as offsetParent\n // does not otherwise consider the node itself.\n\n\n if (getComputedStyle(closestElement).position !== 'static') {\n return closestElement;\n }\n\n return closestElement.offsetParent;\n}\n/**\n * Given two DOM nodes, replaces the former with the latter in the DOM.\n *\n * @param {Element} processedNode Node to be removed.\n * @param {Element} newNode Node to be inserted in its place.\n * @return {void}\n */\n\nexport function replace(processedNode, newNode) {\n insertAfter(newNode, processedNode.parentNode);\n remove(processedNode);\n}\n/**\n * Given a DOM node, removes it from the DOM.\n *\n * @param {Element} node Node to be removed.\n * @return {void}\n */\n\nexport function remove(node) {\n node.parentNode.removeChild(node);\n}\n/**\n * Given two DOM nodes, inserts the former in the DOM as the next sibling of\n * the latter.\n *\n * @param {Element} newNode Node to be inserted.\n * @param {Element} referenceNode Node after which to perform the insertion.\n * @return {void}\n */\n\nexport function insertAfter(newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);\n}\n/**\n * Unwrap the given node. This means any child nodes are moved to the parent.\n *\n * @param {Node} node The node to unwrap.\n *\n * @return {void}\n */\n\nexport function unwrap(node) {\n var parent = node.parentNode;\n\n while (node.firstChild) {\n parent.insertBefore(node.firstChild, node);\n }\n\n parent.removeChild(node);\n}\n/**\n * Replaces the given node with a new node with the given tag name.\n *\n * @param {Element} node The node to replace\n * @param {string} tagName The new tag name.\n *\n * @return {Element} The new node.\n */\n\nexport function replaceTag(node, tagName) {\n var newNode = node.ownerDocument.createElement(tagName);\n\n while (node.firstChild) {\n newNode.appendChild(node.firstChild);\n }\n\n node.parentNode.replaceChild(newNode, node);\n return newNode;\n}\n/**\n * Wraps the given node with a new node with the given tag name.\n *\n * @param {Element} newNode The node to insert.\n * @param {Element} referenceNode The node to wrap.\n */\n\nexport function wrap(newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode);\n newNode.appendChild(referenceNode);\n}\n/**\n * Removes any HTML tags from the provided string.\n *\n * @param {string} html The string containing html.\n *\n * @return {string} The text content with any html removed.\n */\n\nexport function __unstableStripHTML(html) {\n var document = new DOMParser().parseFromString(html, 'text/html');\n return document.body.textContent || '';\n}\n//# sourceMappingURL=dom.js.map","/**\n * References:\n *\n * Focusable:\n * - https://www.w3.org/TR/html5/editing.html#focus-management\n *\n * Sequential focus navigation:\n * - https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n *\n * Disabled elements:\n * - https://www.w3.org/TR/html5/disabled-elements.html#disabled-elements\n *\n * getClientRects algorithm (requiring layout box):\n * - https://www.w3.org/TR/cssom-view-1/#extension-to-the-element-interface\n *\n * AREA elements associated with an IMG:\n * - https://w3c.github.io/html/editing.html#data-model\n */\nvar SELECTOR = ['[tabindex]', 'a[href]', 'button:not([disabled])', 'input:not([type=\"hidden\"]):not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'iframe', 'object', 'embed', 'area[href]', '[contenteditable]:not([contenteditable=false])'].join(',');\n/**\n * Returns true if the specified element is visible (i.e. neither display: none\n * nor visibility: hidden).\n *\n * @param {Element} element DOM element to test.\n *\n * @return {boolean} Whether element is visible.\n */\n\nfunction isVisible(element) {\n return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n/**\n * Returns true if the specified area element is a valid focusable element, or\n * false otherwise. Area is only focusable if within a map where a named map\n * referenced by an image somewhere in the document.\n *\n * @param {Element} element DOM area element to test.\n *\n * @return {boolean} Whether area element is valid for focus.\n */\n\n\nfunction isValidFocusableArea(element) {\n var map = element.closest('map[name]');\n\n if (!map) {\n return false;\n }\n\n var img = document.querySelector('img[usemap=\"#' + map.name + '\"]');\n return !!img && isVisible(img);\n}\n/**\n * Returns all focusable elements within a given context.\n *\n * @param {Element} context Element in which to search.\n *\n * @return {Element[]} Focusable elements.\n */\n\n\nexport function find(context) {\n var elements = context.querySelectorAll(SELECTOR);\n return Array.from(elements).filter(function (element) {\n if (!isVisible(element)) {\n return false;\n }\n\n var nodeName = element.nodeName;\n\n if ('AREA' === nodeName) {\n return isValidFocusableArea(element);\n }\n\n return true;\n });\n}\n//# sourceMappingURL=focusable.js.map","/**\n * External dependencies\n */\nimport { without, first, last } from 'lodash';\n/**\n * Internal dependencies\n */\n\nimport { find as findFocusable } from './focusable';\n/**\n * Returns the tab index of the given element. In contrast with the tabIndex\n * property, this normalizes the default (0) to avoid browser inconsistencies,\n * operating under the assumption that this function is only ever called with a\n * focusable node.\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1190261\n *\n * @param {Element} element Element from which to retrieve.\n *\n * @return {?number} Tab index of element (default 0).\n */\n\nfunction getTabIndex(element) {\n var tabIndex = element.getAttribute('tabindex');\n return tabIndex === null ? 0 : parseInt(tabIndex, 10);\n}\n/**\n * Returns true if the specified element is tabbable, or false otherwise.\n *\n * @param {Element} element Element to test.\n *\n * @return {boolean} Whether element is tabbable.\n */\n\n\nexport function isTabbableIndex(element) {\n return getTabIndex(element) !== -1;\n}\n/**\n * Returns a stateful reducer function which constructs a filtered array of\n * tabbable elements, where at most one radio input is selected for a given\n * name, giving priority to checked input, falling back to the first\n * encountered.\n *\n * @return {Function} Radio group collapse reducer.\n */\n\nfunction createStatefulCollapseRadioGroup() {\n var CHOSEN_RADIO_BY_NAME = {};\n return function collapseRadioGroup(result, element) {\n var nodeName = element.nodeName,\n type = element.type,\n checked = element.checked,\n name = element.name; // For all non-radio tabbables, construct to array by concatenating.\n\n if (nodeName !== 'INPUT' || type !== 'radio' || !name) {\n return result.concat(element);\n }\n\n var hasChosen = CHOSEN_RADIO_BY_NAME.hasOwnProperty(name); // Omit by skipping concatenation if the radio element is not chosen.\n\n var isChosen = checked || !hasChosen;\n\n if (!isChosen) {\n return result;\n } // At this point, if there had been a chosen element, the current\n // element is checked and should take priority. Retroactively remove\n // the element which had previously been considered the chosen one.\n\n\n if (hasChosen) {\n var hadChosenElement = CHOSEN_RADIO_BY_NAME[name];\n result = without(result, hadChosenElement);\n }\n\n CHOSEN_RADIO_BY_NAME[name] = element;\n return result.concat(element);\n };\n}\n/**\n * An array map callback, returning an object with the element value and its\n * array index location as properties. This is used to emulate a proper stable\n * sort where equal tabIndex should be left in order of their occurrence in the\n * document.\n *\n * @param {Element} element Element.\n * @param {number} index Array index of element.\n *\n * @return {Object} Mapped object with element, index.\n */\n\n\nfunction mapElementToObjectTabbable(element, index) {\n return {\n element: element,\n index: index\n };\n}\n/**\n * An array map callback, returning an element of the given mapped object's\n * element value.\n *\n * @param {Object} object Mapped object with index.\n *\n * @return {Element} Mapped object element.\n */\n\n\nfunction mapObjectTabbableToElement(object) {\n return object.element;\n}\n/**\n * A sort comparator function used in comparing two objects of mapped elements.\n *\n * @see mapElementToObjectTabbable\n *\n * @param {Object} a First object to compare.\n * @param {Object} b Second object to compare.\n *\n * @return {number} Comparator result.\n */\n\n\nfunction compareObjectTabbables(a, b) {\n var aTabIndex = getTabIndex(a.element);\n var bTabIndex = getTabIndex(b.element);\n\n if (aTabIndex === bTabIndex) {\n return a.index - b.index;\n }\n\n return aTabIndex - bTabIndex;\n}\n/**\n * Givin focusable elements, filters out tabbable element.\n *\n * @param {Array} focusables Focusable elements to filter.\n *\n * @return {Array} Tabbable elements.\n */\n\n\nfunction filterTabbable(focusables) {\n return focusables.filter(isTabbableIndex).map(mapElementToObjectTabbable).sort(compareObjectTabbables).map(mapObjectTabbableToElement).reduce(createStatefulCollapseRadioGroup(), []);\n}\n\nexport function find(context) {\n return filterTabbable(findFocusable(context));\n}\n/**\n * Given a focusable element, find the preceding tabbable element.\n *\n * @param {Element} element The focusable element before which to look. Defaults\n * to the active element.\n */\n\nexport function findPrevious() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.activeElement;\n var focusables = findFocusable(document.body);\n var index = focusables.indexOf(element); // Remove all focusables after and including `element`.\n\n focusables.length = index;\n return last(filterTabbable(focusables));\n}\n/**\n * Given a focusable element, find the next tabbable element.\n *\n * @param {Element} element The focusable element after which to look. Defaults\n * to the active element.\n */\n\nexport function findNext() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.activeElement;\n var focusables = findFocusable(document.body);\n var index = focusables.indexOf(element); // Remove all focusables before and inside `element`.\n\n var remaining = focusables.slice(index + 1).filter(function (node) {\n return !element.contains(node);\n });\n return first(filterTabbable(remaining));\n}\n//# sourceMappingURL=tabbable.js.map","/**\n * Internal dependencies\n */\nimport * as focusable from './focusable';\nimport * as tabbable from './tabbable';\n/**\n * Object grouping `focusable` and `tabbable` utils\n * under the keys with the same name.\n */\n\nexport var focus = {\n focusable: focusable,\n tabbable: tabbable\n};\nexport * from './dom';\n//# sourceMappingURL=index.js.map","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\n/**\n * Runs a media query and returns its value when it changes.\n *\n * @param {string} [query] Media Query.\n * @return {boolean} return value of the media query.\n */\n\nexport default function useMediaQuery(query) {\n var _useState = useState(query && window.matchMedia(query).matches),\n _useState2 = _slicedToArray(_useState, 2),\n match = _useState2[0],\n setMatch = _useState2[1];\n\n useEffect(function () {\n if (!query) {\n return;\n }\n\n var updateMatch = function updateMatch() {\n return setMatch(window.matchMedia(query).matches);\n };\n\n updateMatch();\n var list = window.matchMedia(query);\n list.addListener(updateMatch);\n return function () {\n list.removeListener(updateMatch);\n };\n }, [query]);\n return query && match;\n}\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport useMediaQuery from '../use-media-query';\n/**\n * @typedef {\"huge\"|\"wide\"|\"large\"|\"medium\"|\"small\"|\"mobile\"} WPBreakpoint\n */\n\n/**\n * Hash of breakpoint names with pixel width at which it becomes effective.\n *\n * @see _breakpoints.scss\n *\n * @type {Object}\n */\n\nvar BREAKPOINTS = {\n huge: 1440,\n wide: 1280,\n large: 960,\n medium: 782,\n small: 600,\n mobile: 480\n};\n/**\n * @typedef {\">=\"|\"<\"} WPViewportOperator\n */\n\n/**\n * Object mapping media query operators to the condition to be used.\n *\n * @type {Object}\n */\n\nvar CONDITIONS = {\n '>=': 'min-width',\n '<': 'max-width'\n};\n/**\n * Object mapping media query operators to a function that given a breakpointValue and a width evaluates if the operator matches the values.\n *\n * @type {Object}\n */\n\nvar OPERATOR_EVALUATORS = {\n '>=': function _(breakpointValue, width) {\n return width >= breakpointValue;\n },\n '<': function _(breakpointValue, width) {\n return width < breakpointValue;\n }\n};\nvar ViewportMatchWidthContext = createContext(null);\n/**\n * Returns true if the viewport matches the given query, or false otherwise.\n *\n * @param {WPBreakpoint} breakpoint Breakpoint size name.\n * @param {WPViewportOperator} [operator=\">=\"] Viewport operator.\n *\n * @example\n *\n * ```js\n * useViewportMatch( 'huge', '<' );\n * useViewportMatch( 'medium' );\n * ```\n *\n * @return {boolean} Whether viewport matches query.\n */\n\nvar useViewportMatch = function useViewportMatch(breakpoint) {\n var operator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '>=';\n var simulatedWidth = useContext(ViewportMatchWidthContext);\n var mediaQuery = !simulatedWidth && \"(\".concat(CONDITIONS[operator], \": \").concat(BREAKPOINTS[breakpoint], \"px)\");\n var mediaQueryResult = useMediaQuery(mediaQuery);\n\n if (simulatedWidth) {\n return OPERATOR_EVALUATORS[operator](BREAKPOINTS[breakpoint], simulatedWidth);\n }\n\n return mediaQueryResult;\n};\n\nuseViewportMatch.__experimentalWidthProvider = ViewportMatchWidthContext.Provider;\nexport default useViewportMatch;\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nvar close = createElement(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n d: \"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"\n}));\nexport default close;\n//# sourceMappingURL=close.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { getScrollContainer } from '@wordpress/dom';\n/**\n * Module constants\n */\n\nvar HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space\n\n/**\n * Utility used to compute the popover position over the xAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} xAxis Desired xAxis.\n * @param {string} corner Desired corner.\n * @param {boolean} sticky Whether or not to stick the popover to the\n * scroll container edge when part of the anchor\n * leaves view.\n * @param {string} chosenYAxis yAxis to be used.\n * @param {Element} boundaryElement Boundary element.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\n\nexport function computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, chosenYAxis, boundaryElement) {\n var width = contentSize.width;\n var isRTL = document.documentElement.dir === 'rtl'; // Correct xAxis for RTL support\n\n if (xAxis === 'left' && isRTL) {\n xAxis = 'right';\n } else if (xAxis === 'right' && isRTL) {\n xAxis = 'left';\n }\n\n if (corner === 'left' && isRTL) {\n corner = 'right';\n } else if (corner === 'right' && isRTL) {\n corner = 'left';\n } // x axis alignment choices\n\n\n var anchorMidPoint = Math.round(anchorRect.left + anchorRect.width / 2);\n var centerAlignment = {\n popoverLeft: anchorMidPoint,\n contentWidth: (anchorMidPoint - width / 2 > 0 ? width / 2 : anchorMidPoint) + (anchorMidPoint + width / 2 > window.innerWidth ? window.innerWidth - anchorMidPoint : width / 2)\n };\n var leftAlignmentX = anchorRect.left;\n\n if (corner === 'right') {\n leftAlignmentX = anchorRect.right;\n } else if (chosenYAxis !== 'middle') {\n leftAlignmentX = anchorMidPoint;\n }\n\n var rightAlignmentX = anchorRect.right;\n\n if (corner === 'left') {\n rightAlignmentX = anchorRect.left;\n } else if (chosenYAxis !== 'middle') {\n rightAlignmentX = anchorMidPoint;\n }\n\n var leftAlignment = {\n popoverLeft: leftAlignmentX,\n contentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX\n };\n var rightAlignment = {\n popoverLeft: rightAlignmentX,\n contentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width\n }; // Choosing the x axis\n\n var chosenXAxis = xAxis;\n var contentWidth = null;\n\n if (!sticky) {\n if (xAxis === 'center' && centerAlignment.contentWidth === width) {\n chosenXAxis = 'center';\n } else if (xAxis === 'left' && leftAlignment.contentWidth === width) {\n chosenXAxis = 'left';\n } else if (xAxis === 'right' && rightAlignment.contentWidth === width) {\n chosenXAxis = 'right';\n } else {\n chosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';\n var chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;\n contentWidth = chosenWidth !== width ? chosenWidth : null;\n }\n }\n\n var popoverLeft;\n\n if (chosenXAxis === 'center') {\n popoverLeft = centerAlignment.popoverLeft;\n } else if (chosenXAxis === 'left') {\n popoverLeft = leftAlignment.popoverLeft;\n } else {\n popoverLeft = rightAlignment.popoverLeft;\n }\n\n if (boundaryElement) {\n var boundaryRect = boundaryElement.getBoundingClientRect();\n popoverLeft = Math.min(popoverLeft, boundaryRect.right - width);\n }\n\n return {\n xAxis: chosenXAxis,\n popoverLeft: popoverLeft,\n contentWidth: contentWidth\n };\n}\n/**\n * Utility used to compute the popover position over the yAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} yAxis Desired yAxis.\n * @param {string} corner Desired corner.\n * @param {boolean} sticky Whether or not to stick the popover to the\n * scroll container edge when part of the\n * anchor leaves view.\n * @param {Element} anchorRef The anchor element.\n * @param {Element} relativeOffsetTop If applicable, top offset of the relative\n * positioned parent container.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\n\nexport function computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop) {\n var height = contentSize.height;\n\n if (sticky) {\n var scrollContainerEl = getScrollContainer(anchorRef) || document.body;\n var scrollRect = scrollContainerEl.getBoundingClientRect();\n\n if (anchorRect.top - height <= scrollRect.top) {\n return {\n yAxis: yAxis,\n popoverTop: Math.min(anchorRect.bottom - relativeOffsetTop, scrollRect.top + height - relativeOffsetTop)\n };\n }\n } // y axis alignment choices\n\n\n var anchorMidPoint = anchorRect.top + anchorRect.height / 2;\n\n if (corner === 'bottom') {\n anchorMidPoint = anchorRect.bottom;\n } else if (corner === 'top') {\n anchorMidPoint = anchorRect.top;\n }\n\n var middleAlignment = {\n popoverTop: anchorMidPoint,\n contentHeight: (anchorMidPoint - height / 2 > 0 ? height / 2 : anchorMidPoint) + (anchorMidPoint + height / 2 > window.innerHeight ? window.innerHeight - anchorMidPoint : height / 2)\n };\n var topAlignment = {\n popoverTop: anchorRect.top,\n contentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET\n };\n var bottomAlignment = {\n popoverTop: anchorRect.bottom,\n contentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height\n }; // Choosing the y axis\n\n var chosenYAxis = yAxis;\n var contentHeight = null;\n\n if (!sticky) {\n if (yAxis === 'middle' && middleAlignment.contentHeight === height) {\n chosenYAxis = 'middle';\n } else if (yAxis === 'top' && topAlignment.contentHeight === height) {\n chosenYAxis = 'top';\n } else if (yAxis === 'bottom' && bottomAlignment.contentHeight === height) {\n chosenYAxis = 'bottom';\n } else {\n chosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';\n var chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;\n contentHeight = chosenHeight !== height ? chosenHeight : null;\n }\n }\n\n var popoverTop;\n\n if (chosenYAxis === 'middle') {\n popoverTop = middleAlignment.popoverTop;\n } else if (chosenYAxis === 'top') {\n popoverTop = topAlignment.popoverTop;\n } else {\n popoverTop = bottomAlignment.popoverTop;\n }\n\n return {\n yAxis: chosenYAxis,\n popoverTop: popoverTop,\n contentHeight: contentHeight\n };\n}\n/**\n * Utility used to compute the popover position and the content max width/height\n * for a popover given its anchor rect and its content size.\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} position Position.\n * @param {boolean} sticky Whether or not to stick the popover to the\n * scroll container edge when part of the\n * anchor leaves view.\n * @param {Element} anchorRef The anchor element.\n * @param {number} relativeOffsetTop If applicable, top offset of the relative\n * positioned parent container.\n * @param {Element} boundaryElement Boundary element.\n *\n * @return {Object} Popover position and constraints.\n */\n\nexport function computePopoverPosition(anchorRect, contentSize) {\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'top';\n var sticky = arguments.length > 3 ? arguments[3] : undefined;\n var anchorRef = arguments.length > 4 ? arguments[4] : undefined;\n var relativeOffsetTop = arguments.length > 5 ? arguments[5] : undefined;\n var boundaryElement = arguments.length > 6 ? arguments[6] : undefined;\n\n var _position$split = position.split(' '),\n _position$split2 = _slicedToArray(_position$split, 3),\n yAxis = _position$split2[0],\n _position$split2$ = _position$split2[1],\n xAxis = _position$split2$ === void 0 ? 'center' : _position$split2$,\n corner = _position$split2[2];\n\n var yAxisPosition = computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop);\n var xAxisPosition = computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, yAxisPosition.yAxis, boundaryElement);\n return _objectSpread({}, xAxisPosition, {}, yAxisPosition);\n}\n//# sourceMappingURL=utils.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { uniq } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component, createContext } from '@wordpress/element';\n\nvar _createContext = createContext({\n focusHistory: []\n}),\n Provider = _createContext.Provider,\n Consumer = _createContext.Consumer;\n\nProvider.displayName = 'FocusReturnProvider';\nConsumer.displayName = 'FocusReturnConsumer';\n/**\n * The maximum history length to capture for the focus stack. When exceeded,\n * items should be shifted from the stack for each consecutive push.\n *\n * @type {number}\n */\n\nvar MAX_STACK_LENGTH = 100;\n\nvar FocusReturnProvider = /*#__PURE__*/function (_Component) {\n _inherits(FocusReturnProvider, _Component);\n\n var _super = _createSuper(FocusReturnProvider);\n\n function FocusReturnProvider() {\n var _this;\n\n _classCallCheck(this, FocusReturnProvider);\n\n _this = _super.apply(this, arguments);\n _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_this));\n _this.state = {\n focusHistory: []\n };\n return _this;\n }\n\n _createClass(FocusReturnProvider, [{\n key: \"onFocus\",\n value: function onFocus(event) {\n var focusHistory = this.state.focusHistory; // Push the focused element to the history stack, keeping only unique\n // members but preferring the _last_ occurrence of any duplicates.\n // Lodash's `uniq` behavior favors the first occurrence, so the array\n // is temporarily reversed prior to it being called upon. Uniqueness\n // helps avoid situations where, such as in a constrained tabbing area,\n // the user changes focus enough within a transient element that the\n // stack may otherwise only consist of members pending destruction, at\n // which point focus might have been lost.\n\n var nextFocusHistory = uniq([].concat(_toConsumableArray(focusHistory), [event.target]).slice(-1 * MAX_STACK_LENGTH).reverse()).reverse();\n this.setState({\n focusHistory: nextFocusHistory\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className;\n return createElement(Provider, {\n value: this.state\n }, createElement(\"div\", {\n onFocus: this.onFocus,\n className: className\n }, children));\n }\n }]);\n\n return FocusReturnProvider;\n}(Component);\n\nexport default FocusReturnProvider;\nexport { Consumer };\n//# sourceMappingURL=context.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { stubTrue, without } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\n\nimport Provider, { Consumer } from './context';\n/**\n * Returns true if the given object is component-like. An object is component-\n * like if it is an instance of wp.element.Component, or is a function.\n *\n * @param {*} object Object to test.\n *\n * @return {boolean} Whether object is component-like.\n */\n\nfunction isComponentLike(object) {\n return object instanceof Component || typeof object === 'function';\n}\n/**\n * Higher Order Component used to be used to wrap disposable elements like\n * sidebars, modals, dropdowns. When mounting the wrapped component, we track a\n * reference to the current active element so we know where to restore focus\n * when the component is unmounted.\n *\n * @param {(WPComponent|Object)} options The component to be enhanced with\n * focus return behavior, or an object\n * describing the component and the\n * focus return characteristics.\n *\n * @return {WPComponent} Component with the focus restauration behaviour.\n */\n\n\nfunction withFocusReturn(options) {\n // Normalize as overloaded form `withFocusReturn( options )( Component )`\n // or as `withFocusReturn( Component )`.\n if (isComponentLike(options)) {\n var WrappedComponent = options;\n return withFocusReturn({})(WrappedComponent);\n }\n\n var _options$onFocusRetur = options.onFocusReturn,\n onFocusReturn = _options$onFocusRetur === void 0 ? stubTrue : _options$onFocusRetur;\n return function (WrappedComponent) {\n var FocusReturn = /*#__PURE__*/function (_Component) {\n _inherits(FocusReturn, _Component);\n\n var _super = _createSuper(FocusReturn);\n\n function FocusReturn() {\n var _this;\n\n _classCallCheck(this, FocusReturn);\n\n _this = _super.apply(this, arguments);\n _this.ownFocusedElements = new Set();\n _this.activeElementOnMount = document.activeElement;\n\n _this.setIsFocusedFalse = function () {\n return _this.isFocused = false;\n };\n\n _this.setIsFocusedTrue = function (event) {\n _this.ownFocusedElements.add(event.target);\n\n _this.isFocused = true;\n };\n\n return _this;\n }\n\n _createClass(FocusReturn, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var activeElementOnMount = this.activeElementOnMount,\n isFocused = this.isFocused,\n ownFocusedElements = this.ownFocusedElements;\n\n if (!isFocused) {\n return;\n } // Defer to the component's own explicit focus return behavior,\n // if specified. The function should return `false` to prevent\n // the default behavior otherwise occurring here. This allows\n // for support that the `onFocusReturn` decides to allow the\n // default behavior to occur under some conditions.\n\n\n if (onFocusReturn() === false) {\n return;\n }\n\n var stack = [].concat(_toConsumableArray(without.apply(void 0, [this.props.focus.focusHistory].concat(_toConsumableArray(ownFocusedElements)))), [activeElementOnMount]);\n var candidate;\n\n while (candidate = stack.pop()) {\n if (document.body.contains(candidate)) {\n candidate.focus();\n return;\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return createElement(\"div\", {\n onFocus: this.setIsFocusedTrue,\n onBlur: this.setIsFocusedFalse\n }, createElement(WrappedComponent, this.props.childProps));\n }\n }]);\n\n return FocusReturn;\n }(Component);\n\n return function (props) {\n return createElement(Consumer, null, function (context) {\n return createElement(FocusReturn, {\n childProps: props,\n focus: context\n });\n });\n };\n };\n}\n\nexport default createHigherOrderComponent(withFocusReturn, 'withFocusReturn');\nexport { Provider };\n//# sourceMappingURL=index.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { TAB } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nvar withConstrainedTabbing = createHigherOrderComponent(function (WrappedComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(_class, _Component);\n\n var _super = _createSuper(_class);\n\n function _class() {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _super.apply(this, arguments);\n _this.focusContainRef = createRef();\n _this.handleTabBehaviour = _this.handleTabBehaviour.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleTabBehaviour\",\n value: function handleTabBehaviour(event) {\n if (event.keyCode !== TAB) {\n return;\n }\n\n var tabbables = focus.tabbable.find(this.focusContainRef.current);\n\n if (!tabbables.length) {\n return;\n }\n\n var firstTabbable = tabbables[0];\n var lastTabbable = tabbables[tabbables.length - 1];\n\n if (event.shiftKey && event.target === firstTabbable) {\n event.preventDefault();\n lastTabbable.focus();\n } else if (!event.shiftKey && event.target === lastTabbable) {\n event.preventDefault();\n firstTabbable.focus();\n /*\n * When pressing Tab and none of the tabbables has focus, the keydown\n * event happens on the wrapper div: move focus on the first tabbable.\n */\n } else if (!tabbables.includes(event.target)) {\n event.preventDefault();\n firstTabbable.focus();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n // Disable reason: this component is non-interactive, but must capture\n // events from the wrapped component to determine when the Tab key is used.\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n return createElement(\"div\", {\n onKeyDown: this.handleTabBehaviour,\n ref: this.focusContainRef,\n tabIndex: \"-1\"\n }, createElement(WrappedComponent, this.props));\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n }\n }]);\n\n return _class;\n }(Component);\n}, 'withConstrainedTabbing');\nexport default withConstrainedTabbing;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n/**\n * Input types which are classified as button types, for use in considering\n * whether element is a (focus-normalized) button.\n *\n * @type {string[]}\n */\n\nvar INPUT_BUTTON_TYPES = ['button', 'submit'];\n/**\n * Returns true if the given element is a button element subject to focus\n * normalization, or false otherwise.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n *\n * @param {Element} element Element to test.\n *\n * @return {boolean} Whether element is a button.\n */\n\nfunction isFocusNormalizedButton(element) {\n switch (element.nodeName) {\n case 'A':\n case 'BUTTON':\n return true;\n\n case 'INPUT':\n return includes(INPUT_BUTTON_TYPES, element.type);\n }\n\n return false;\n}\n\nexport default createHigherOrderComponent(function (WrappedComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(_class, _Component);\n\n var _super = _createSuper(_class);\n\n function _class() {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _super.apply(this, arguments);\n _this.bindNode = _this.bindNode.bind(_assertThisInitialized(_this));\n _this.cancelBlurCheck = _this.cancelBlurCheck.bind(_assertThisInitialized(_this));\n _this.queueBlurCheck = _this.queueBlurCheck.bind(_assertThisInitialized(_this));\n _this.normalizeButtonFocus = _this.normalizeButtonFocus.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(_class, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelBlurCheck();\n }\n }, {\n key: \"bindNode\",\n value: function bindNode(node) {\n if (node) {\n this.node = node;\n } else {\n delete this.node;\n this.cancelBlurCheck();\n }\n }\n }, {\n key: \"queueBlurCheck\",\n value: function queueBlurCheck(event) {\n var _this2 = this;\n\n // React does not allow using an event reference asynchronously\n // due to recycling behavior, except when explicitly persisted.\n event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.\n\n if (this.preventBlurCheck) {\n return;\n }\n\n this.blurCheckTimeout = setTimeout(function () {\n // If document is not focused then focus should remain\n // inside the wrapped component and therefore we cancel\n // this blur event thereby leaving focus in place.\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.\n if (!document.hasFocus()) {\n event.preventDefault();\n return;\n }\n\n if ('function' === typeof _this2.node.handleFocusOutside) {\n _this2.node.handleFocusOutside(event);\n }\n }, 0);\n }\n }, {\n key: \"cancelBlurCheck\",\n value: function cancelBlurCheck() {\n clearTimeout(this.blurCheckTimeout);\n }\n /**\n * Handles a mousedown or mouseup event to respectively assign and\n * unassign a flag for preventing blur check on button elements. Some\n * browsers, namely Firefox and Safari, do not emit a focus event on\n * button elements when clicked, while others do. The logic here\n * intends to normalize this as treating click on buttons as focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n *\n * @param {MouseEvent} event Event for mousedown or mouseup.\n */\n\n }, {\n key: \"normalizeButtonFocus\",\n value: function normalizeButtonFocus(event) {\n var type = event.type,\n target = event.target;\n var isInteractionEnd = includes(['mouseup', 'touchend'], type);\n\n if (isInteractionEnd) {\n this.preventBlurCheck = false;\n } else if (isFocusNormalizedButton(target)) {\n this.preventBlurCheck = true;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n // Disable reason: See `normalizeButtonFocus` for browser-specific\n // focus event normalization.\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n return createElement(\"div\", {\n onFocus: this.cancelBlurCheck,\n onMouseDown: this.normalizeButtonFocus,\n onMouseUp: this.normalizeButtonFocus,\n onTouchStart: this.normalizeButtonFocus,\n onTouchEnd: this.normalizeButtonFocus,\n onBlur: this.queueBlurCheck\n }, createElement(WrappedComponent, _extends({\n ref: this.bindNode\n }, this.props)));\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n }\n }]);\n\n return _class;\n }(Component);\n}, 'withFocusOutside');\n//# sourceMappingURL=index.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport withFocusOutside from '../higher-order/with-focus-outside';\n\nvar PopoverDetectOutside = /*#__PURE__*/function (_Component) {\n _inherits(PopoverDetectOutside, _Component);\n\n var _super = _createSuper(PopoverDetectOutside);\n\n function PopoverDetectOutside() {\n _classCallCheck(this, PopoverDetectOutside);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PopoverDetectOutside, [{\n key: \"handleFocusOutside\",\n value: function handleFocusOutside(event) {\n this.props.onFocusOutside(event);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return PopoverDetectOutside;\n}(Component);\n\nexport default withFocusOutside(PopoverDetectOutside);\n//# sourceMappingURL=detect-outside.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n/**\n * Creates a ScrollLock component bound to the specified document.\n *\n * This function creates a ScrollLock component for the specified document\n * and is exposed so we can create an isolated component for unit testing.\n *\n * @param {Object} args Keyword args.\n * @param {HTMLDocument} args.htmlDocument The document to lock the scroll for.\n * @param {string} args.className The name of the class used to lock scrolling.\n * @return {WPComponent} The bound ScrollLock component.\n */\n\nexport function createScrollLockComponent() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$htmlDocument = _ref.htmlDocument,\n htmlDocument = _ref$htmlDocument === void 0 ? document : _ref$htmlDocument,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? 'lockscroll' : _ref$className;\n\n var lockCounter = 0;\n /*\n * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.\n * Save scroll top so we can restore it after locking scroll.\n *\n * NOTE: It would be cleaner and possibly safer to find a localized solution such\n * as preventing default on certain touchmove events.\n */\n\n var previousScrollTop = 0;\n /**\n * Locks and unlocks scroll depending on the boolean argument.\n *\n * @param {boolean} locked Whether or not scroll should be locked.\n */\n\n function setLocked(locked) {\n var scrollingElement = htmlDocument.scrollingElement || htmlDocument.body;\n\n if (locked) {\n previousScrollTop = scrollingElement.scrollTop;\n }\n\n var methodName = locked ? 'add' : 'remove';\n scrollingElement.classList[methodName](className); // Adding the class to the document element seems to be necessary in iOS.\n\n htmlDocument.documentElement.classList[methodName](className);\n\n if (!locked) {\n scrollingElement.scrollTop = previousScrollTop;\n }\n }\n /**\n * Requests scroll lock.\n *\n * This function tracks requests for scroll lock. It locks scroll on the first\n * request and counts each request so `releaseLock` can unlock scroll when\n * all requests have been released.\n */\n\n\n function requestLock() {\n if (lockCounter === 0) {\n setLocked(true);\n }\n\n ++lockCounter;\n }\n /**\n * Releases a request for scroll lock.\n *\n * This function tracks released requests for scroll lock. When all requests\n * have been released, it unlocks scroll.\n */\n\n\n function releaseLock() {\n if (lockCounter === 1) {\n setLocked(false);\n }\n\n --lockCounter;\n }\n\n return /*#__PURE__*/function (_Component) {\n _inherits(ScrollLock, _Component);\n\n var _super = _createSuper(ScrollLock);\n\n function ScrollLock() {\n _classCallCheck(this, ScrollLock);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ScrollLock, [{\n key: \"componentDidMount\",\n\n /**\n * Requests scroll lock on mount.\n */\n value: function componentDidMount() {\n requestLock();\n }\n /**\n * Releases scroll lock before unmount.\n */\n\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n releaseLock();\n }\n /**\n * Render nothing as this component is merely a way to declare scroll lock.\n *\n * @return {null} Render nothing by returning `null`.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return ScrollLock;\n }(Component);\n}\nexport default createScrollLockComponent();\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nexport default forwardRef(function (_ref, ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"children\"]);\n\n // Disable reason: this stops certain events from propagating outside of the component.\n // - onMouseDown is disabled as this can cause interactions with other DOM elements\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n return createElement(\"div\", _extends({}, props, {\n ref: ref,\n onMouseDown: stopPropagation\n }), children);\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n});\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\nvar SlotFillContext = createContext({\n slots: {},\n fills: {},\n registerSlot: function registerSlot() {},\n unregisterSlot: function unregisterSlot() {},\n registerFill: function registerFill() {},\n unregisterFill: function unregisterFill() {}\n});\nexport default SlotFillContext;\n//# sourceMappingURL=slot-fill-context.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useContext, useMemo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport SlotFillContext from './slot-fill-context';\nexport default function useSlot(name) {\n var registry = useContext(SlotFillContext);\n var slot = registry.slots[name] || {};\n var slotFills = registry.fills[name];\n var fills = useMemo(function () {\n return slotFills || [];\n }, [slotFills]);\n var updateSlot = useCallback(function (slotRef, slotFillProps) {\n registry.updateSlot(name, slotRef, slotFillProps);\n }, [name, registry.updateSlot]);\n var unregisterSlot = useCallback(function (slotRef) {\n registry.unregisterSlot(name, slotRef);\n }, [name, registry.unregisterSlot]);\n var registerFill = useCallback(function (fillRef) {\n registry.registerFill(name, fillRef);\n }, [name, registry.registerFill]);\n var unregisterFill = useCallback(function (fillRef) {\n registry.unregisterFill(name, fillRef);\n }, [name, registry.unregisterFill]);\n return _objectSpread({}, slot, {\n updateSlot: updateSlot,\n unregisterSlot: unregisterSlot,\n fills: fills,\n registerFill: registerFill,\n unregisterFill: unregisterFill\n });\n}\n//# sourceMappingURL=use-slot.js.map","/**\n * External dependencies\n */\nimport { isArray, isNumber, isString } from 'lodash';\n/**\n * Checks if the provided WP element is empty.\n *\n * @param {*} element WP element to check.\n * @return {boolean} True when an element is considered empty.\n */\n\nexport var isEmptyElement = function isEmptyElement(element) {\n if (isNumber(element)) {\n return false;\n }\n\n if (isString(element) || isArray(element)) {\n return !element.length;\n }\n\n return !element;\n};\n//# sourceMappingURL=utils.js.map","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback, useState } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport SlotFillContext from './slot-fill-context';\n\nfunction useSlotRegistry() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n slots = _useState2[0],\n setSlots = _useState2[1];\n\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n fills = _useState4[0],\n setFills = _useState4[1];\n\n var registerSlot = useCallback(function (name, ref, fillProps) {\n setSlots(function (prevSlots) {\n var currentSlot = prevSlots[name] || {};\n return _objectSpread({}, prevSlots, _defineProperty({}, name, _objectSpread({}, currentSlot, {\n ref: ref || currentSlot.ref,\n fillProps: fillProps || currentSlot.fillProps || {}\n })));\n });\n }, []);\n var unregisterSlot = useCallback(function (name, ref) {\n setSlots(function (prevSlots) {\n var slot = prevSlots[name],\n nextSlots = _objectWithoutProperties(prevSlots, [name].map(_toPropertyKey)); // Make sure we're not unregistering a slot registered by another element\n // See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412\n\n\n if ((slot === null || slot === void 0 ? void 0 : slot.ref) === ref) {\n return nextSlots;\n }\n\n return prevSlots;\n });\n }, []);\n var registerFill = useCallback(function (name, ref) {\n setFills(function (prevFills) {\n return _objectSpread({}, prevFills, _defineProperty({}, name, [].concat(_toConsumableArray(prevFills[name] || []), [ref])));\n });\n }, []);\n var unregisterFill = useCallback(function (name, ref) {\n setFills(function (prevFills) {\n if (prevFills[name]) {\n return _objectSpread({}, prevFills, _defineProperty({}, name, prevFills[name].filter(function (fillRef) {\n return fillRef !== ref;\n })));\n }\n\n return prevFills;\n });\n }, []); // Memoizing the return value so it can be directly passed to Provider value\n\n var registry = useMemo(function () {\n return {\n slots: slots,\n fills: fills,\n registerSlot: registerSlot,\n // Just for readability\n updateSlot: registerSlot,\n unregisterSlot: unregisterSlot,\n registerFill: registerFill,\n unregisterFill: unregisterFill\n };\n }, [slots, fills, registerSlot, unregisterSlot, registerFill, unregisterFill]);\n return registry;\n}\n\nexport default function SlotFillProvider(_ref) {\n var children = _ref.children;\n var registry = useSlotRegistry();\n return createElement(SlotFillContext.Provider, {\n value: registry\n }, children);\n}\n//# sourceMappingURL=slot-fill-provider.js.map","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { sortBy, forEach, without } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component, createContext, useContext, useState, useEffect } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport SlotFillBubblesVirtuallyProvider from './bubbles-virtually/slot-fill-provider';\nvar SlotFillContext = createContext({\n registerSlot: function registerSlot() {},\n unregisterSlot: function unregisterSlot() {},\n registerFill: function registerFill() {},\n unregisterFill: function unregisterFill() {},\n getSlot: function getSlot() {},\n getFills: function getFills() {},\n subscribe: function subscribe() {}\n});\nvar Provider = SlotFillContext.Provider,\n Consumer = SlotFillContext.Consumer;\n\nvar SlotFillProvider = /*#__PURE__*/function (_Component) {\n _inherits(SlotFillProvider, _Component);\n\n var _super = _createSuper(SlotFillProvider);\n\n function SlotFillProvider() {\n var _this;\n\n _classCallCheck(this, SlotFillProvider);\n\n _this = _super.apply(this, arguments);\n _this.registerSlot = _this.registerSlot.bind(_assertThisInitialized(_this));\n _this.registerFill = _this.registerFill.bind(_assertThisInitialized(_this));\n _this.unregisterSlot = _this.unregisterSlot.bind(_assertThisInitialized(_this));\n _this.unregisterFill = _this.unregisterFill.bind(_assertThisInitialized(_this));\n _this.getSlot = _this.getSlot.bind(_assertThisInitialized(_this));\n _this.getFills = _this.getFills.bind(_assertThisInitialized(_this));\n _this.hasFills = _this.hasFills.bind(_assertThisInitialized(_this));\n _this.subscribe = _this.subscribe.bind(_assertThisInitialized(_this));\n _this.slots = {};\n _this.fills = {};\n _this.listeners = [];\n _this.contextValue = {\n registerSlot: _this.registerSlot,\n unregisterSlot: _this.unregisterSlot,\n registerFill: _this.registerFill,\n unregisterFill: _this.unregisterFill,\n getSlot: _this.getSlot,\n getFills: _this.getFills,\n hasFills: _this.hasFills,\n subscribe: _this.subscribe\n };\n return _this;\n }\n\n _createClass(SlotFillProvider, [{\n key: \"registerSlot\",\n value: function registerSlot(name, slot) {\n var previousSlot = this.slots[name];\n this.slots[name] = slot;\n this.triggerListeners(); // Sometimes the fills are registered after the initial render of slot\n // But before the registerSlot call, we need to rerender the slot\n\n this.forceUpdateSlot(name); // If a new instance of a slot is being mounted while another with the\n // same name exists, force its update _after_ the new slot has been\n // assigned into the instance, such that its own rendering of children\n // will be empty (the new Slot will subsume all fills for this name).\n\n if (previousSlot) {\n previousSlot.forceUpdate();\n }\n }\n }, {\n key: \"registerFill\",\n value: function registerFill(name, instance) {\n this.fills[name] = [].concat(_toConsumableArray(this.fills[name] || []), [instance]);\n this.forceUpdateSlot(name);\n }\n }, {\n key: \"unregisterSlot\",\n value: function unregisterSlot(name, instance) {\n // If a previous instance of a Slot by this name unmounts, do nothing,\n // as the slot and its fills should only be removed for the current\n // known instance.\n if (this.slots[name] !== instance) {\n return;\n }\n\n delete this.slots[name];\n this.triggerListeners();\n }\n }, {\n key: \"unregisterFill\",\n value: function unregisterFill(name, instance) {\n this.fills[name] = without(this.fills[name], instance);\n this.resetFillOccurrence(name);\n this.forceUpdateSlot(name);\n }\n }, {\n key: \"getSlot\",\n value: function getSlot(name) {\n return this.slots[name];\n }\n }, {\n key: \"getFills\",\n value: function getFills(name, slotInstance) {\n // Fills should only be returned for the current instance of the slot\n // in which they occupy.\n if (this.slots[name] !== slotInstance) {\n return [];\n }\n\n return sortBy(this.fills[name], 'occurrence');\n }\n }, {\n key: \"hasFills\",\n value: function hasFills(name) {\n return this.fills[name] && !!this.fills[name].length;\n }\n }, {\n key: \"resetFillOccurrence\",\n value: function resetFillOccurrence(name) {\n forEach(this.fills[name], function (instance) {\n instance.occurrence = undefined;\n });\n }\n }, {\n key: \"forceUpdateSlot\",\n value: function forceUpdateSlot(name) {\n var slot = this.getSlot(name);\n\n if (slot) {\n slot.forceUpdate();\n }\n }\n }, {\n key: \"triggerListeners\",\n value: function triggerListeners() {\n this.listeners.forEach(function (listener) {\n return listener();\n });\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(listener) {\n var _this2 = this;\n\n this.listeners.push(listener);\n return function () {\n _this2.listeners = without(_this2.listeners, listener);\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n return createElement(Provider, {\n value: this.contextValue\n }, createElement(SlotFillBubblesVirtuallyProvider, null, this.props.children));\n }\n }]);\n\n return SlotFillProvider;\n}(Component);\n/**\n * React hook returning the active slot given a name.\n *\n * @param {string} name Slot name.\n * @return {Object} Slot object.\n */\n\n\nexport var useSlot = function useSlot(name) {\n var _useContext = useContext(SlotFillContext),\n getSlot = _useContext.getSlot,\n subscribe = _useContext.subscribe;\n\n var _useState = useState(getSlot(name)),\n _useState2 = _slicedToArray(_useState, 2),\n slot = _useState2[0],\n setSlot = _useState2[1];\n\n useEffect(function () {\n setSlot(getSlot(name));\n var unsubscribe = subscribe(function () {\n setSlot(getSlot(name));\n });\n return unsubscribe;\n }, [name]);\n return slot;\n};\nexport default SlotFillProvider;\nexport { Consumer };\n//# sourceMappingURL=context.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement, Fragment } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { isFunction, isString, map, negate } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Children, Component, cloneElement, isEmptyElement } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport { Consumer } from './context';\n\nvar SlotComponent = /*#__PURE__*/function (_Component) {\n _inherits(SlotComponent, _Component);\n\n var _super = _createSuper(SlotComponent);\n\n function SlotComponent() {\n var _this;\n\n _classCallCheck(this, SlotComponent);\n\n _this = _super.apply(this, arguments);\n _this.bindNode = _this.bindNode.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(SlotComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var registerSlot = this.props.registerSlot;\n registerSlot(this.props.name, this);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var unregisterSlot = this.props.unregisterSlot;\n unregisterSlot(this.props.name, this);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n name = _this$props.name,\n unregisterSlot = _this$props.unregisterSlot,\n registerSlot = _this$props.registerSlot;\n\n if (prevProps.name !== name) {\n unregisterSlot(prevProps.name);\n registerSlot(name, this);\n }\n }\n }, {\n key: \"bindNode\",\n value: function bindNode(node) {\n this.node = node;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n children = _this$props2.children,\n name = _this$props2.name,\n _this$props2$fillProp = _this$props2.fillProps,\n fillProps = _this$props2$fillProp === void 0 ? {} : _this$props2$fillProp,\n getFills = _this$props2.getFills;\n var fills = map(getFills(name, this), function (fill) {\n var fillKey = fill.occurrence;\n var fillChildren = isFunction(fill.children) ? fill.children(fillProps) : fill.children;\n return Children.map(fillChildren, function (child, childIndex) {\n if (!child || isString(child)) {\n return child;\n }\n\n var childKey = \"\".concat(fillKey, \"---\").concat(child.key || childIndex);\n return cloneElement(child, {\n key: childKey\n });\n });\n }).filter( // In some cases fills are rendered only when some conditions apply.\n // This ensures that we only use non-empty fills when rendering, i.e.,\n // it allows us to render wrappers only when the fills are actually present.\n negate(isEmptyElement));\n return createElement(Fragment, null, isFunction(children) ? children(fills) : fills);\n }\n }]);\n\n return SlotComponent;\n}(Component);\n\nvar Slot = function Slot(props) {\n return createElement(Consumer, null, function (_ref) {\n var registerSlot = _ref.registerSlot,\n unregisterSlot = _ref.unregisterSlot,\n getFills = _ref.getFills;\n return createElement(SlotComponent, _extends({}, props, {\n registerSlot: registerSlot,\n unregisterSlot: unregisterSlot,\n getFills: getFills\n }));\n });\n};\n\nexport default Slot;\n//# sourceMappingURL=slot.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { createPortal, useLayoutEffect, useRef } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport { Consumer, useSlot } from './context';\nvar occurrences = 0;\n\nfunction FillComponent(_ref) {\n var name = _ref.name,\n children = _ref.children,\n registerFill = _ref.registerFill,\n unregisterFill = _ref.unregisterFill;\n var slot = useSlot(name);\n var ref = useRef({\n name: name,\n children: children\n });\n\n if (!ref.current.occurrence) {\n ref.current.occurrence = ++occurrences;\n }\n\n useLayoutEffect(function () {\n registerFill(name, ref.current);\n return function () {\n return unregisterFill(name, ref.current);\n };\n }, []);\n useLayoutEffect(function () {\n ref.current.children = children;\n\n if (slot) {\n slot.forceUpdate();\n }\n }, [children]);\n useLayoutEffect(function () {\n if (name === ref.current.name) {\n // ignore initial effect\n return;\n }\n\n unregisterFill(ref.current.name, ref.current);\n ref.current.name = name;\n registerFill(name, ref.current);\n }, [name]);\n\n if (!slot || !slot.node) {\n return null;\n } // If a function is passed as a child, provide it with the fillProps.\n\n\n if (isFunction(children)) {\n children = children(slot.props.fillProps);\n }\n\n return createPortal(children, slot.node);\n}\n\nvar Fill = function Fill(props) {\n return createElement(Consumer, null, function (_ref2) {\n var registerFill = _ref2.registerFill,\n unregisterFill = _ref2.unregisterFill;\n return createElement(FillComponent, _extends({}, props, {\n registerFill: registerFill,\n unregisterFill: unregisterFill\n }));\n });\n};\n\nexport default Fill;\n//# sourceMappingURL=fill.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useLayoutEffect, useContext } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n/**\n * Internal dependencies\n */\n\nimport SlotFillContext from './slot-fill-context';\nimport useSlot from './use-slot';\nexport default function Slot(_ref) {\n var name = _ref.name,\n _ref$fillProps = _ref.fillProps,\n fillProps = _ref$fillProps === void 0 ? {} : _ref$fillProps,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutProperties(_ref, [\"name\", \"fillProps\", \"as\"]);\n\n var registry = useContext(SlotFillContext);\n var ref = useRef();\n var slot = useSlot(name);\n useLayoutEffect(function () {\n registry.registerSlot(name, ref, fillProps);\n return function () {\n registry.unregisterSlot(name, ref);\n }; // We are not including fillProps in the deps because we don't want to\n // unregister and register the slot whenever fillProps change, which would\n // cause the fill to be re-mounted. We are only considering the initial value\n // of fillProps.\n }, [registry.registerSlot, registry.unregisterSlot, name]); // fillProps may be an update that interact with the layout, so\n // we useLayoutEffect\n\n useLayoutEffect(function () {\n if (slot.fillProps && !isShallowEqual(slot.fillProps, fillProps)) {\n registry.updateSlot(name, ref, fillProps);\n }\n });\n return createElement(Component, _extends({\n ref: ref\n }, props));\n}\n//# sourceMappingURL=slot.js.map","/**\n * WordPress dependencies\n */\nimport { useRef, useEffect, createPortal } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport useSlot from './use-slot';\nexport default function Fill(_ref) {\n var name = _ref.name,\n children = _ref.children;\n var slot = useSlot(name);\n var ref = useRef();\n useEffect(function () {\n // We register fills so we can keep track of their existance.\n // Some Slot implementations need to know if there're already fills\n // registered so they can choose to render themselves or not.\n slot.registerFill(ref);\n return function () {\n slot.unregisterFill(ref);\n };\n }, [slot.registerFill, slot.unregisterFill]);\n\n if (!slot.ref || !slot.ref.current) {\n return null;\n }\n\n if (typeof children === 'function') {\n children = children(slot.fillProps);\n }\n\n return createPortal(children, slot.ref.current);\n}\n//# sourceMappingURL=fill.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement, Fragment } from \"@wordpress/element\";\n\n/**\n * Internal dependencies\n */\nimport BaseSlot from './slot';\nimport BaseFill from './fill';\nimport Provider from './context';\nimport BubblesVirtuallySlot from './bubbles-virtually/slot';\nimport BubblesVirtuallyFill from './bubbles-virtually/fill';\nimport useSlot from './bubbles-virtually/use-slot';\nexport function Slot(_ref) {\n var bubblesVirtually = _ref.bubblesVirtually,\n props = _objectWithoutProperties(_ref, [\"bubblesVirtually\"]);\n\n if (bubblesVirtually) {\n return createElement(BubblesVirtuallySlot, props);\n }\n\n return createElement(BaseSlot, props);\n}\nexport function Fill(props) {\n // We're adding both Fills here so they can register themselves before\n // their respective slot has been registered. Only the Fill that has a slot\n // will render. The other one will return null.\n return createElement(Fragment, null, createElement(BaseFill, props), createElement(BubblesVirtuallyFill, props));\n}\nexport function createSlotFill(name) {\n var FillComponent = function FillComponent(props) {\n return createElement(Fill, _extends({\n name: name\n }, props));\n };\n\n FillComponent.displayName = name + 'Fill';\n\n var SlotComponent = function SlotComponent(props) {\n return createElement(Slot, _extends({\n name: name\n }, props));\n };\n\n SlotComponent.displayName = name + 'Slot';\n return {\n Fill: FillComponent,\n Slot: SlotComponent\n };\n}\nexport { useSlot, Provider };\n//# sourceMappingURL=index.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction Animate(_ref) {\n var type = _ref.type,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n children = _ref.children;\n\n if (type === 'appear') {\n var _classnames;\n\n var _options$origin = options.origin,\n origin = _options$origin === void 0 ? 'top' : _options$origin;\n\n var _origin$split = origin.split(' '),\n _origin$split2 = _slicedToArray(_origin$split, 2),\n yAxis = _origin$split2[0],\n _origin$split2$ = _origin$split2[1],\n xAxis = _origin$split2$ === void 0 ? 'center' : _origin$split2$;\n\n return children({\n className: classnames('components-animate__appear', (_classnames = {}, _defineProperty(_classnames, 'is-from-' + xAxis, xAxis !== 'center'), _defineProperty(_classnames, 'is-from-' + yAxis, yAxis !== 'middle'), _classnames))\n });\n }\n\n if (type === 'slide-in') {\n var _options$origin2 = options.origin,\n _origin = _options$origin2 === void 0 ? 'left' : _options$origin2;\n\n return children({\n className: classnames('components-animate__slide-in', 'is-from-' + _origin)\n });\n }\n\n if (type === 'loading') {\n return children({\n className: classnames('components-animate__loading')\n });\n }\n\n return children({});\n}\n\nexport default Animate;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus, getRectangleFromRange } from '@wordpress/dom';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport deprecated from '@wordpress/deprecated';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\n\nimport { computePopoverPosition } from './utils';\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\nimport PopoverDetectOutside from './detect-outside';\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport IsolatedEventContainer from '../isolated-event-container';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport Animate from '../animate';\nvar FocusManaged = withConstrainedTabbing(withFocusReturn(function (_ref) {\n var children = _ref.children;\n return children;\n}));\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\n\nvar SLOT_NAME = 'Popover';\n\nfunction computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {\n var anchorRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var shouldAnchorIncludePadding = arguments.length > 4 ? arguments[4] : undefined;\n\n if (anchorRect) {\n return anchorRect;\n }\n\n if (getAnchorRect) {\n if (!anchorRefFallback.current) {\n return;\n }\n\n return getAnchorRect(anchorRefFallback.current);\n }\n\n if (anchorRef !== false) {\n if (!anchorRef) {\n return;\n }\n\n if (anchorRef instanceof window.Range) {\n return getRectangleFromRange(anchorRef);\n }\n\n if (anchorRef instanceof window.Element) {\n var _rect2 = anchorRef.getBoundingClientRect();\n\n if (shouldAnchorIncludePadding) {\n return _rect2;\n }\n\n return withoutPadding(_rect2, anchorRef);\n }\n\n var top = anchorRef.top,\n bottom = anchorRef.bottom;\n var topRect = top.getBoundingClientRect();\n var bottomRect = bottom.getBoundingClientRect();\n\n var _rect = new window.DOMRect(topRect.left, topRect.top, topRect.width, bottomRect.bottom - topRect.top);\n\n if (shouldAnchorIncludePadding) {\n return _rect;\n }\n\n return withoutPadding(_rect, anchorRef);\n }\n\n if (!anchorRefFallback.current) {\n return;\n }\n\n var parentNode = anchorRefFallback.current.parentNode;\n var rect = parentNode.getBoundingClientRect();\n\n if (shouldAnchorIncludePadding) {\n return rect;\n }\n\n return withoutPadding(rect, parentNode);\n}\n\nfunction withoutPadding(rect, element) {\n var _window$getComputedSt = window.getComputedStyle(element),\n paddingTop = _window$getComputedSt.paddingTop,\n paddingBottom = _window$getComputedSt.paddingBottom,\n paddingLeft = _window$getComputedSt.paddingLeft,\n paddingRight = _window$getComputedSt.paddingRight;\n\n var top = paddingTop ? parseInt(paddingTop, 10) : 0;\n var bottom = paddingBottom ? parseInt(paddingBottom, 10) : 0;\n var left = paddingLeft ? parseInt(paddingLeft, 10) : 0;\n var right = paddingRight ? parseInt(paddingRight, 10) : 0;\n return {\n x: rect.left + left,\n y: rect.top + top,\n width: rect.width - left - right,\n height: rect.height - top - bottom,\n left: rect.left + left,\n right: rect.right - right,\n top: rect.top + top,\n bottom: rect.bottom - bottom\n };\n}\n/**\n * Hook used to focus the first tabbable element on mount.\n *\n * @param {boolean|string} focusOnMount Focus on mount mode.\n * @param {Object} contentRef Reference to the popover content element.\n */\n\n\nfunction useFocusContentOnMount(focusOnMount, contentRef) {\n // Focus handling\n useEffect(function () {\n /*\n * Without the setTimeout, the dom node is not being focused. Related:\n * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example\n *\n * TODO: Treat the cause, not the symptom.\n */\n var focusTimeout = setTimeout(function () {\n if (!focusOnMount || !contentRef.current) {\n return;\n }\n\n if (focusOnMount === 'firstElement') {\n // Find first tabbable node within content and shift focus, falling\n // back to the popover panel itself.\n var firstTabbable = focus.tabbable.find(contentRef.current)[0];\n\n if (firstTabbable) {\n firstTabbable.focus();\n } else {\n contentRef.current.focus();\n }\n\n return;\n }\n\n if (focusOnMount === 'container') {\n // Focus the popover panel itself so items in the popover are easily\n // accessed via keyboard navigation.\n contentRef.current.focus();\n }\n }, 0);\n return function () {\n return clearTimeout(focusTimeout);\n };\n }, []);\n}\n/**\n * Sets or removes an element attribute.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The attribute name to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * attribute.\n */\n\n\nfunction setAttribute(element, name, value) {\n if (!value) {\n if (element.hasAttribute(name)) {\n element.removeAttribute(name);\n }\n } else if (element.getAttribute(name) !== value) {\n element.setAttribute(name, value);\n }\n}\n/**\n * Sets or removes an element style property.\n *\n * @param {Element} element The element to modify.\n * @param {string} property The property to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * property.\n */\n\n\nfunction setStyle(element, property) {\n var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n if (element.style[property] !== value) {\n element.style[property] = value;\n }\n}\n/**\n * Sets or removes an element class.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The class to set or remove.\n * @param {boolean} toggle True to set the class, false to remove.\n */\n\n\nfunction setClass(element, name, toggle) {\n if (toggle) {\n if (!element.classList.contains(name)) {\n element.classList.add(name);\n }\n } else if (element.classList.contains(name)) {\n element.classList.remove(name);\n }\n}\n\nvar Popover = function Popover(_ref2) {\n var headerTitle = _ref2.headerTitle,\n onClose = _ref2.onClose,\n onKeyDown = _ref2.onKeyDown,\n children = _ref2.children,\n className = _ref2.className,\n _ref2$noArrow = _ref2.noArrow,\n noArrow = _ref2$noArrow === void 0 ? true : _ref2$noArrow,\n isAlternate = _ref2.isAlternate,\n _ref2$position = _ref2.position,\n position = _ref2$position === void 0 ? 'bottom right' : _ref2$position,\n range = _ref2.range,\n _ref2$focusOnMount = _ref2.focusOnMount,\n focusOnMount = _ref2$focusOnMount === void 0 ? 'firstElement' : _ref2$focusOnMount,\n anchorRef = _ref2.anchorRef,\n shouldAnchorIncludePadding = _ref2.shouldAnchorIncludePadding,\n anchorRect = _ref2.anchorRect,\n getAnchorRect = _ref2.getAnchorRect,\n expandOnMobile = _ref2.expandOnMobile,\n _ref2$animate = _ref2.animate,\n animate = _ref2$animate === void 0 ? true : _ref2$animate,\n onClickOutside = _ref2.onClickOutside,\n onFocusOutside = _ref2.onFocusOutside,\n __unstableSticky = _ref2.__unstableSticky,\n _ref2$__unstableSlotN = _ref2.__unstableSlotName,\n __unstableSlotName = _ref2$__unstableSlotN === void 0 ? SLOT_NAME : _ref2$__unstableSlotN,\n __unstableAllowVerticalSubpixelPosition = _ref2.__unstableAllowVerticalSubpixelPosition,\n __unstableAllowHorizontalSubpixelPosition = _ref2.__unstableAllowHorizontalSubpixelPosition,\n _ref2$__unstableFixed = _ref2.__unstableFixedPosition,\n __unstableFixedPosition = _ref2$__unstableFixed === void 0 ? true : _ref2$__unstableFixed,\n __unstableBoundaryParent = _ref2.__unstableBoundaryParent,\n contentProps = _objectWithoutProperties(_ref2, [\"headerTitle\", \"onClose\", \"onKeyDown\", \"children\", \"className\", \"noArrow\", \"isAlternate\", \"position\", \"range\", \"focusOnMount\", \"anchorRef\", \"shouldAnchorIncludePadding\", \"anchorRect\", \"getAnchorRect\", \"expandOnMobile\", \"animate\", \"onClickOutside\", \"onFocusOutside\", \"__unstableSticky\", \"__unstableSlotName\", \"__unstableAllowVerticalSubpixelPosition\", \"__unstableAllowHorizontalSubpixelPosition\", \"__unstableFixedPosition\", \"__unstableBoundaryParent\"]);\n\n var anchorRefFallback = useRef(null);\n var contentRef = useRef(null);\n var containerRef = useRef();\n var contentRect = useRef();\n var isMobileViewport = useViewportMatch('medium', '<');\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n animateOrigin = _useState2[0],\n setAnimateOrigin = _useState2[1];\n\n var slot = useSlot(__unstableSlotName);\n var isExpanded = expandOnMobile && isMobileViewport;\n noArrow = isExpanded || noArrow;\n useEffect(function () {\n if (isExpanded) {\n setClass(containerRef.current, 'is-without-arrow', noArrow);\n setClass(containerRef.current, 'is-alternate', isAlternate);\n setAttribute(containerRef.current, 'data-x-axis');\n setAttribute(containerRef.current, 'data-y-axis');\n setStyle(containerRef.current, 'top');\n setStyle(containerRef.current, 'left');\n setStyle(contentRef.current, 'maxHeight');\n setStyle(contentRef.current, 'maxWidth');\n setStyle(containerRef.current, 'position');\n return;\n }\n\n var refresh = function refresh() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n subpixels = _ref3.subpixels;\n\n if (!containerRef.current || !contentRef.current) {\n return;\n }\n\n var anchor = computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding);\n\n if (!anchor) {\n return;\n }\n\n if (!contentRect.current) {\n contentRect.current = contentRef.current.getBoundingClientRect();\n }\n\n var relativeOffsetTop = 0; // If there is a positioned ancestor element that is not the body,\n // subtract the position from the anchor rect. If the position of\n // the popover is fixed, the offset parent is null or the body\n // element, in which case the position is relative to the viewport.\n // See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n\n if (!__unstableFixedPosition) {\n setStyle(containerRef.current, 'position', 'absolute');\n var offsetParent = containerRef.current.offsetParent;\n var offsetParentRect = offsetParent.getBoundingClientRect();\n relativeOffsetTop = offsetParentRect.top;\n anchor = new window.DOMRect(anchor.left - offsetParentRect.left, anchor.top - offsetParentRect.top, anchor.width, anchor.height);\n } else {\n setStyle(containerRef.current, 'position');\n }\n\n var boundaryElement;\n\n if (__unstableBoundaryParent) {\n var _containerRef$current;\n\n boundaryElement = (_containerRef$current = containerRef.current.closest('.popover-slot')) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.parentNode;\n }\n\n var _computePopoverPositi = computePopoverPosition(anchor, contentRect.current, position, __unstableSticky, containerRef.current, relativeOffsetTop, boundaryElement),\n popoverTop = _computePopoverPositi.popoverTop,\n popoverLeft = _computePopoverPositi.popoverLeft,\n xAxis = _computePopoverPositi.xAxis,\n yAxis = _computePopoverPositi.yAxis,\n contentHeight = _computePopoverPositi.contentHeight,\n contentWidth = _computePopoverPositi.contentWidth;\n\n if (typeof popoverTop === 'number' && typeof popoverLeft === 'number') {\n if (subpixels && __unstableAllowVerticalSubpixelPosition) {\n setStyle(containerRef.current, 'left', popoverLeft + 'px');\n setStyle(containerRef.current, 'top');\n setStyle(containerRef.current, 'transform', \"translateY(\".concat(popoverTop, \"px)\"));\n } else if (subpixels && __unstableAllowHorizontalSubpixelPosition) {\n setStyle(containerRef.current, 'top', popoverTop + 'px');\n setStyle(containerRef.current, 'left');\n setStyle(containerRef.current, 'transform', \"translate(\".concat(popoverLeft, \"px)\"));\n } else {\n setStyle(containerRef.current, 'top', popoverTop + 'px');\n setStyle(containerRef.current, 'left', popoverLeft + 'px');\n setStyle(containerRef.current, 'transform');\n }\n }\n\n setClass(containerRef.current, 'is-without-arrow', noArrow || xAxis === 'center' && yAxis === 'middle');\n setClass(containerRef.current, 'is-alternate', isAlternate);\n setAttribute(containerRef.current, 'data-x-axis', xAxis);\n setAttribute(containerRef.current, 'data-y-axis', yAxis);\n setStyle(contentRef.current, 'maxHeight', typeof contentHeight === 'number' ? contentHeight + 'px' : '');\n setStyle(contentRef.current, 'maxWidth', typeof contentWidth === 'number' ? contentWidth + 'px' : ''); // Compute the animation position\n\n var yAxisMapping = {\n top: 'bottom',\n bottom: 'top'\n };\n var xAxisMapping = {\n left: 'right',\n right: 'left'\n };\n var animateYAxis = yAxisMapping[yAxis] || 'middle';\n var animateXAxis = xAxisMapping[xAxis] || 'center';\n setAnimateOrigin(animateXAxis + ' ' + animateYAxis);\n }; // Height may still adjust between now and the next tick.\n\n\n var timeoutId = window.setTimeout(refresh);\n /*\n * There are sometimes we need to reposition or resize the popover that\n * are not handled by the resize/scroll window events (i.e. CSS changes\n * in the layout that changes the position of the anchor).\n *\n * For these situations, we refresh the popover every 0.5s\n */\n\n var intervalHandle = window.setInterval(refresh, 500);\n var rafId;\n\n var refreshOnAnimationFrame = function refreshOnAnimationFrame() {\n window.cancelAnimationFrame(rafId);\n rafId = window.requestAnimationFrame(refresh);\n }; // Sometimes a click trigger a layout change that affects the popover\n // position. This is an opportunity to immediately refresh rather than\n // at the interval.\n\n\n window.addEventListener('click', refreshOnAnimationFrame);\n window.addEventListener('resize', refresh);\n window.addEventListener('scroll', refresh, true);\n var observer;\n var observeElement = __unstableAllowVerticalSubpixelPosition || __unstableAllowHorizontalSubpixelPosition;\n\n if (observeElement) {\n observer = new window.MutationObserver(function () {\n return refresh({\n subpixels: true\n });\n });\n observer.observe(observeElement, {\n attributes: true\n });\n }\n\n return function () {\n window.clearTimeout(timeoutId);\n window.clearInterval(intervalHandle);\n window.removeEventListener('resize', refresh);\n window.removeEventListener('scroll', refresh, true);\n window.removeEventListener('click', refreshOnAnimationFrame);\n window.cancelAnimationFrame(rafId);\n\n if (observer) {\n observer.disconnect();\n }\n };\n }, [isExpanded, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding, position, __unstableSticky, __unstableAllowVerticalSubpixelPosition, __unstableAllowHorizontalSubpixelPosition, __unstableBoundaryParent]);\n useFocusContentOnMount(focusOnMount, contentRef); // Event handlers\n\n var maybeClose = function maybeClose(event) {\n // Close on escape\n if (event.keyCode === ESCAPE && onClose) {\n event.stopPropagation();\n onClose();\n } // Preserve original content prop behavior\n\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n /**\n * Shims an onFocusOutside callback to be compatible with a deprecated\n * onClickOutside prop function, if provided.\n *\n * @param {FocusEvent} event Focus event from onFocusOutside.\n */\n\n\n function handleOnFocusOutside(event) {\n // Defer to given `onFocusOutside` if specified. Call `onClose` only if\n // both `onFocusOutside` and `onClickOutside` are unspecified. Doing so\n // assures backwards-compatibility for prior `onClickOutside` default.\n if (onFocusOutside) {\n onFocusOutside(event);\n return;\n } else if (!onClickOutside) {\n if (onClose) {\n onClose();\n }\n\n return;\n } // Simulate MouseEvent using FocusEvent#relatedTarget as emulated click\n // target. MouseEvent constructor is unsupported in Internet Explorer.\n\n\n var clickEvent;\n\n try {\n clickEvent = new window.MouseEvent('click');\n } catch (error) {\n clickEvent = document.createEvent('MouseEvent');\n clickEvent.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n }\n\n Object.defineProperty(clickEvent, 'target', {\n get: function get() {\n return event.relatedTarget;\n }\n });\n deprecated('Popover onClickOutside prop', {\n alternative: 'onFocusOutside'\n });\n onClickOutside(clickEvent);\n } // Disable reason: We care to capture the _bubbled_ events from inputs\n // within popover as inferring close intent.\n\n\n var content = createElement(PopoverDetectOutside, {\n onFocusOutside: handleOnFocusOutside\n }, createElement(Animate, {\n type: animate && animateOrigin ? 'appear' : null,\n options: {\n origin: animateOrigin\n }\n }, function (_ref4) {\n var animateClassName = _ref4.className;\n return createElement(IsolatedEventContainer, _extends({\n className: classnames('components-popover', className, animateClassName, {\n 'is-expanded': isExpanded,\n 'is-without-arrow': noArrow,\n 'is-alternate': isAlternate\n })\n }, contentProps, {\n onKeyDown: maybeClose,\n ref: containerRef\n }), isExpanded && createElement(ScrollLock, null), isExpanded && createElement(\"div\", {\n className: \"components-popover__header\"\n }, createElement(\"span\", {\n className: \"components-popover__header-title\"\n }, headerTitle), createElement(Button, {\n className: \"components-popover__close\",\n icon: close,\n onClick: onClose\n })), createElement(\"div\", {\n ref: contentRef,\n className: \"components-popover__content\",\n tabIndex: \"-1\"\n }, children));\n })); // Apply focus to element as long as focusOnMount is truthy; false is\n // the only \"disabled\" value.\n\n if (focusOnMount) {\n content = createElement(FocusManaged, null, content);\n }\n\n if (slot.ref) {\n content = createElement(Fill, {\n name: __unstableSlotName\n }, content);\n }\n\n if (anchorRef || anchorRect) {\n return content;\n }\n\n return createElement(\"span\", {\n ref: anchorRefFallback\n }, content);\n};\n\nvar PopoverContainer = Popover;\n\nPopoverContainer.Slot = function (_ref5) {\n var _ref5$name = _ref5.name,\n name = _ref5$name === void 0 ? SLOT_NAME : _ref5$name;\n return createElement(Slot, {\n bubblesVirtually: true,\n name: name,\n className: \"popover-slot\"\n });\n};\n\nexport default PopoverContainer;\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport { isString, isObject } from 'lodash';\n\nfunction Shortcut(_ref) {\n var shortcut = _ref.shortcut,\n className = _ref.className;\n\n if (!shortcut) {\n return null;\n }\n\n var displayText;\n var ariaLabel;\n\n if (isString(shortcut)) {\n displayText = shortcut;\n }\n\n if (isObject(shortcut)) {\n displayText = shortcut.display;\n ariaLabel = shortcut.ariaLabel;\n }\n\n return createElement(\"span\", {\n className: className,\n \"aria-label\": ariaLabel\n }, displayText);\n}\n\nexport default Shortcut;\n//# sourceMappingURL=index.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { debounce, includes } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component, Children, cloneElement, concatChildren } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\n\nvar TOOLTIP_DELAY = 700;\n\nvar Tooltip = /*#__PURE__*/function (_Component) {\n _inherits(Tooltip, _Component);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip() {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n _this = _super.apply(this, arguments);\n _this.delayedSetIsOver = debounce(function (isOver) {\n return _this.setState({\n isOver: isOver\n });\n }, TOOLTIP_DELAY);\n /**\n * Prebound `isInMouseDown` handler, created as a constant reference to\n * assure ability to remove in component unmount.\n *\n * @type {Function}\n */\n\n _this.cancelIsMouseDown = _this.createSetIsMouseDown(false);\n /**\n * Whether a the mouse is currently pressed, used in determining whether\n * to handle a focus event as displaying the tooltip immediately.\n *\n * @type {boolean}\n */\n\n _this.isInMouseDown = false;\n _this.state = {\n isOver: false\n };\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.delayedSetIsOver.cancel();\n document.removeEventListener('mouseup', this.cancelIsMouseDown);\n }\n }, {\n key: \"emitToChild\",\n value: function emitToChild(eventName, event) {\n var children = this.props.children;\n\n if (Children.count(children) !== 1) {\n return;\n }\n\n var child = Children.only(children);\n\n if (typeof child.props[eventName] === 'function') {\n child.props[eventName](event);\n }\n }\n }, {\n key: \"createToggleIsOver\",\n value: function createToggleIsOver(eventName, isDelayed) {\n var _this2 = this;\n\n return function (event) {\n // Preserve original child callback behavior\n _this2.emitToChild(eventName, event); // Mouse events behave unreliably in React for disabled elements,\n // firing on mouseenter but not mouseleave. Further, the default\n // behavior for disabled elements in some browsers is to ignore\n // mouse events. Don't bother trying to to handle them.\n //\n // See: https://github.com/facebook/react/issues/4251\n\n\n if (event.currentTarget.disabled) {\n return;\n } // A focus event will occur as a result of a mouse click, but it\n // should be disambiguated between interacting with the button and\n // using an explicit focus shift as a cue to display the tooltip.\n\n\n if ('focus' === event.type && _this2.isInMouseDown) {\n return;\n } // Needed in case unsetting is over while delayed set pending, i.e.\n // quickly blur/mouseleave before delayedSetIsOver is called\n\n\n _this2.delayedSetIsOver.cancel();\n\n var isOver = includes(['focus', 'mouseenter'], event.type);\n\n if (isOver === _this2.state.isOver) {\n return;\n }\n\n if (isDelayed) {\n _this2.delayedSetIsOver(isOver);\n } else {\n _this2.setState({\n isOver: isOver\n });\n }\n };\n }\n /**\n * Creates an event callback to handle assignment of the `isInMouseDown`\n * instance property in response to a `mousedown` or `mouseup` event.\n *\n * @param {boolean} isMouseDown Whether handler is to be created for the\n * `mousedown` event, as opposed to `mouseup`.\n *\n * @return {Function} Event callback handler.\n */\n\n }, {\n key: \"createSetIsMouseDown\",\n value: function createSetIsMouseDown(isMouseDown) {\n var _this3 = this;\n\n return function (event) {\n // Preserve original child callback behavior\n _this3.emitToChild(isMouseDown ? 'onMouseDown' : 'onMouseUp', event); // On mouse down, the next `mouseup` should revert the value of the\n // instance property and remove its own event handler. The bind is\n // made on the document since the `mouseup` might not occur within\n // the bounds of the element.\n\n\n document[isMouseDown ? 'addEventListener' : 'removeEventListener']('mouseup', _this3.cancelIsMouseDown);\n _this3.isInMouseDown = isMouseDown;\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n position = _this$props.position,\n text = _this$props.text,\n shortcut = _this$props.shortcut;\n\n if (Children.count(children) !== 1) {\n if ('development' === process.env.NODE_ENV) {\n // eslint-disable-next-line no-console\n console.error('Tooltip should be called with only a single child element.');\n }\n\n return children;\n }\n\n var child = Children.only(children);\n var isOver = this.state.isOver;\n return cloneElement(child, {\n onMouseEnter: this.createToggleIsOver('onMouseEnter', true),\n onMouseLeave: this.createToggleIsOver('onMouseLeave'),\n onClick: this.createToggleIsOver('onClick'),\n onFocus: this.createToggleIsOver('onFocus'),\n onBlur: this.createToggleIsOver('onBlur'),\n onMouseDown: this.createSetIsMouseDown(true),\n children: concatChildren(child.props.children, isOver && createElement(Popover, {\n focusOnMount: false,\n position: position,\n className: \"components-tooltip\",\n \"aria-hidden\": \"true\",\n animate: false,\n noArrow: true\n }, text, createElement(Shortcut, {\n className: \"components-tooltip__shortcut\",\n shortcut: shortcut\n })))\n });\n }\n }]);\n\n return Tooltip;\n}(Component);\n\nexport default Tooltip;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/* !!!\nIF YOU ARE EDITING dashicon/index.jsx\nTHEN YOU ARE EDITING A FILE THAT GETS OUTPUT FROM THE DASHICONS REPO!\nDO NOT EDIT THAT FILE! EDIT index-header.jsx and index-footer.jsx instead\nOR if you're looking to change now SVGs get output, you'll need to edit strings in the Gruntfile :)\n!!! */\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Path, SVG } from '@wordpress/primitives';\n\nvar Dashicon = /*#__PURE__*/function (_Component) {\n _inherits(Dashicon, _Component);\n\n var _super = _createSuper(Dashicon);\n\n function Dashicon() {\n _classCallCheck(this, Dashicon);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dashicon, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n icon = _this$props.icon,\n _this$props$size = _this$props.size,\n size = _this$props$size === void 0 ? 20 : _this$props$size,\n className = _this$props.className,\n extraProps = _objectWithoutProperties(_this$props, [\"icon\", \"size\", \"className\"]);\n\n var path;\n\n switch (icon) {\n case 'admin-appearance':\n path = 'M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z';\n break;\n\n case 'admin-collapse':\n path = 'M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z';\n break;\n\n case 'admin-comments':\n path = 'M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z';\n break;\n\n case 'admin-customizer':\n path = 'M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z';\n break;\n\n case 'admin-generic':\n path = 'M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z';\n break;\n\n case 'admin-home':\n path = 'M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z';\n break;\n\n case 'admin-links':\n path = 'M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z';\n break;\n\n case 'admin-media':\n path = 'M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z';\n break;\n\n case 'admin-multisite':\n path = 'M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z';\n break;\n\n case 'admin-network':\n path = 'M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z';\n break;\n\n case 'admin-page':\n path = 'M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z';\n break;\n\n case 'admin-plugins':\n path = 'M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z';\n break;\n\n case 'admin-post':\n path = 'M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z';\n break;\n\n case 'admin-settings':\n path = 'M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z';\n break;\n\n case 'admin-site-alt':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z';\n break;\n\n case 'admin-site-alt2':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z';\n break;\n\n case 'admin-site-alt3':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z';\n break;\n\n case 'admin-site':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z';\n break;\n\n case 'admin-tools':\n path = 'M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z';\n break;\n\n case 'admin-users':\n path = 'M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z';\n break;\n\n case 'album':\n path = 'M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z';\n break;\n\n case 'align-center':\n path = 'M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z';\n break;\n\n case 'align-full-width':\n path = 'M17 13V3H3v10h14zM5 17h10v-2H5v2z';\n break;\n\n case 'align-left':\n path = 'M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z';\n break;\n\n case 'align-none':\n path = 'M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z';\n break;\n\n case 'align-pull-left':\n path = 'M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z';\n break;\n\n case 'align-pull-right':\n path = 'M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z';\n break;\n\n case 'align-right':\n path = 'M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z';\n break;\n\n case 'align-wide':\n path = 'M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z';\n break;\n\n case 'analytics':\n path = 'M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z';\n break;\n\n case 'archive':\n path = 'M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z';\n break;\n\n case 'arrow-down-alt':\n path = 'M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z';\n break;\n\n case 'arrow-down-alt2':\n path = 'M5 6l5 5 5-5 2 1-7 7-7-7z';\n break;\n\n case 'arrow-down':\n path = 'M15 8l-4.03 6L7 8h8z';\n break;\n\n case 'arrow-left-alt':\n path = 'M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z';\n break;\n\n case 'arrow-left-alt2':\n path = 'M14 5l-5 5 5 5-1 2-7-7 7-7z';\n break;\n\n case 'arrow-left':\n path = 'M13 14L7 9.97 13 6v8z';\n break;\n\n case 'arrow-right-alt':\n path = 'M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z';\n break;\n\n case 'arrow-right-alt2':\n path = 'M6 15l5-5-5-5 1-2 7 7-7 7z';\n break;\n\n case 'arrow-right':\n path = 'M8 6l6 4.03L8 14V6z';\n break;\n\n case 'arrow-up-alt':\n path = 'M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z';\n break;\n\n case 'arrow-up-alt2':\n path = 'M15 14l-5-5-5 5-2-1 7-7 7 7z';\n break;\n\n case 'arrow-up':\n path = 'M7 13l4.03-6L15 13H7z';\n break;\n\n case 'art':\n path = 'M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z';\n break;\n\n case 'awards':\n path = 'M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z';\n break;\n\n case 'backup':\n path = 'M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z';\n break;\n\n case 'block-default':\n path = 'M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z';\n break;\n\n case 'book-alt':\n path = 'M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z';\n break;\n\n case 'book':\n path = 'M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z';\n break;\n\n case 'buddicons-activity':\n path = 'M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z';\n break;\n\n case 'buddicons-bbpress-logo':\n path = 'M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z';\n break;\n\n case 'buddicons-buddypress-logo':\n path = 'M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z';\n break;\n\n case 'buddicons-community':\n path = 'M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z';\n break;\n\n case 'buddicons-forums':\n path = 'M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z';\n break;\n\n case 'buddicons-friends':\n path = 'M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z';\n break;\n\n case 'buddicons-groups':\n path = 'M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z';\n break;\n\n case 'buddicons-pm':\n path = 'M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z';\n break;\n\n case 'buddicons-replies':\n path = 'M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z';\n break;\n\n case 'buddicons-topics':\n path = 'M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z';\n break;\n\n case 'buddicons-tracking':\n path = 'M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z';\n break;\n\n case 'building':\n path = 'M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z';\n break;\n\n case 'businessman':\n path = 'M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z';\n break;\n\n case 'button':\n path = 'M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z';\n break;\n\n case 'calendar-alt':\n path = 'M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z';\n break;\n\n case 'calendar':\n path = 'M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z';\n break;\n\n case 'camera':\n path = 'M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z';\n break;\n\n case 'carrot':\n path = 'M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z';\n break;\n\n case 'cart':\n path = 'M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z';\n break;\n\n case 'category':\n path = 'M5 7h13v10H2V4h7l2 2H4v9h1V7z';\n break;\n\n case 'chart-area':\n path = 'M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n break;\n\n case 'chart-bar':\n path = 'M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z';\n break;\n\n case 'chart-line':\n path = 'M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z';\n break;\n\n case 'chart-pie':\n path = 'M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z';\n break;\n\n case 'clipboard':\n path = 'M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z';\n break;\n\n case 'clock':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z';\n break;\n\n case 'cloud-saved':\n path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z';\n break;\n\n case 'cloud-upload':\n path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z';\n break;\n\n case 'cloud':\n path = 'M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z';\n break;\n\n case 'columns':\n path = 'M3 15h6V5H3v10zm8 0h6V5h-6v10z';\n break;\n\n case 'controls-back':\n path = 'M2 10l10-6v3.6L18 4v12l-6-3.6V16z';\n break;\n\n case 'controls-forward':\n path = 'M18 10L8 16v-3.6L2 16V4l6 3.6V4z';\n break;\n\n case 'controls-pause':\n path = 'M5 16V4h3v12H5zm7-12h3v12h-3V4z';\n break;\n\n case 'controls-play':\n path = 'M5 4l10 6-10 6V4z';\n break;\n\n case 'controls-repeat':\n path = 'M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z';\n break;\n\n case 'controls-skipback':\n path = 'M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z';\n break;\n\n case 'controls-skipforward':\n path = 'M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z';\n break;\n\n case 'controls-volumeoff':\n path = 'M2 7h4l5-4v14l-5-4H2V7z';\n break;\n\n case 'controls-volumeon':\n path = 'M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z';\n break;\n\n case 'cover-image':\n path = 'M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z';\n break;\n\n case 'dashboard':\n path = 'M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z';\n break;\n\n case 'desktop':\n path = 'M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z';\n break;\n\n case 'dismiss':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z';\n break;\n\n case 'download':\n path = 'M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z';\n break;\n\n case 'edit':\n path = 'M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z';\n break;\n\n case 'editor-aligncenter':\n path = 'M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z';\n break;\n\n case 'editor-alignleft':\n path = 'M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z';\n break;\n\n case 'editor-alignright':\n path = 'M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z';\n break;\n\n case 'editor-bold':\n path = 'M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z';\n break;\n\n case 'editor-break':\n path = 'M16 4h2v9H7v3l-5-4 5-4v3h9V4z';\n break;\n\n case 'editor-code':\n path = 'M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z';\n break;\n\n case 'editor-contract':\n path = 'M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z';\n break;\n\n case 'editor-customchar':\n path = 'M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z';\n break;\n\n case 'editor-expand':\n path = 'M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3';\n break;\n\n case 'editor-help':\n path = 'M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z';\n break;\n\n case 'editor-indent':\n path = 'M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z';\n break;\n\n case 'editor-insertmore':\n path = 'M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z';\n break;\n\n case 'editor-italic':\n path = 'M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z';\n break;\n\n case 'editor-justify':\n path = 'M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z';\n break;\n\n case 'editor-kitchensink':\n path = 'M19 2v6H1V2h18zm-1 5V3H2v4h16zM5 4v2H3V4h2zm3 0v2H6V4h2zm3 0v2H9V4h2zm3 0v2h-2V4h2zm3 0v2h-2V4h2zm2 5v9H1V9h18zm-1 8v-7H2v7h16zM5 11v2H3v-2h2zm3 0v2H6v-2h2zm3 0v2H9v-2h2zm6 0v2h-5v-2h5zm-6 3v2H3v-2h8zm3 0v2h-2v-2h2zm3 0v2h-2v-2h2z';\n break;\n\n case 'editor-ltr':\n path = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z';\n break;\n\n case 'editor-ol-rtl':\n path = 'M15.025 8.75a1.048 1.048 0 0 1 .45-.1.507.507 0 0 1 .35.11.455.455 0 0 1 .13.36.803.803 0 0 1-.06.3 1.448 1.448 0 0 1-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76v-.7h-1.72v-.04l.51-.48a7.276 7.276 0 0 0 .7-.71 1.75 1.75 0 0 0 .3-.49 1.254 1.254 0 0 0 .1-.51.968.968 0 0 0-.16-.56 1.007 1.007 0 0 0-.44-.37 1.512 1.512 0 0 0-.65-.14 1.98 1.98 0 0 0-.51.06 1.9 1.9 0 0 0-.42.15 3.67 3.67 0 0 0-.48.35l.45.54a2.505 2.505 0 0 1 .45-.3zM16.695 15.29a1.29 1.29 0 0 0-.74-.3v-.02a1.203 1.203 0 0 0 .65-.37.973.973 0 0 0 .23-.65.81.81 0 0 0-.37-.71 1.72 1.72 0 0 0-1-.26 2.185 2.185 0 0 0-1.33.4l.4.6a1.79 1.79 0 0 1 .46-.23 1.18 1.18 0 0 1 .41-.07c.38 0 .58.15.58.46a.447.447 0 0 1-.22.43 1.543 1.543 0 0 1-.7.12h-.31v.66h.31a1.764 1.764 0 0 1 .75.12.433.433 0 0 1 .23.41.55.55 0 0 1-.2.47 1.084 1.084 0 0 1-.63.15 2.24 2.24 0 0 1-.57-.08 2.671 2.671 0 0 1-.52-.2v.74a2.923 2.923 0 0 0 1.18.22 1.948 1.948 0 0 0 1.22-.33 1.077 1.077 0 0 0 .43-.92.836.836 0 0 0-.26-.64zM15.005 4.17c.06-.05.16-.14.3-.28l-.02.42V7h.84V3h-.69l-1.29 1.03.4.51zM4.02 5h9v1h-9zM4.02 10h9v1h-9zM4.02 15h9v1h-9z';\n break;\n\n case 'editor-ol':\n path = 'M6 7V3h-.69L4.02 4.03l.4.51.46-.37c.06-.05.16-.14.3-.28l-.02.42V7H6zm2-2h9v1H8V5zm-1.23 6.95v-.7H5.05v-.04l.51-.48c.33-.31.57-.54.7-.71.14-.17.24-.33.3-.49.07-.16.1-.33.1-.51 0-.21-.05-.4-.16-.56-.1-.16-.25-.28-.44-.37s-.41-.14-.65-.14c-.19 0-.36.02-.51.06-.15.03-.29.09-.42.15-.12.07-.29.19-.48.35l.45.54c.16-.13.31-.23.45-.3.15-.07.3-.1.45-.1.14 0 .26.03.35.11s.13.2.13.36c0 .1-.02.2-.06.3s-.1.21-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76zM8 10h9v1H8v-1zm-1.29 3.95c0-.3-.12-.54-.37-.71-.24-.17-.58-.26-1-.26-.52 0-.96.13-1.33.4l.4.6c.17-.11.32-.19.46-.23.14-.05.27-.07.41-.07.38 0 .58.15.58.46 0 .2-.07.35-.22.43s-.38.12-.7.12h-.31v.66h.31c.34 0 .59.04.75.12.15.08.23.22.23.41 0 .22-.07.37-.2.47-.14.1-.35.15-.63.15-.19 0-.38-.03-.57-.08s-.36-.12-.52-.2v.74c.34.15.74.22 1.18.22.53 0 .94-.11 1.22-.33.29-.22.43-.52.43-.92 0-.27-.09-.48-.26-.64s-.42-.26-.74-.3v-.02c.27-.06.49-.19.65-.37.15-.18.23-.39.23-.65zM8 15h9v1H8v-1z';\n break;\n\n case 'editor-outdent':\n path = 'M7 4V3H3v1h4zm10 1V3H8v2h9zM7 7H5V5L1 8.5 5 12v-2h2V7zm10 1V6H8v2h9zm-2 3V9H8v2h7zm2 3v-2H8v2h9zM7 14v-1H3v1h4zm4 3v-2H8v2h3z';\n break;\n\n case 'editor-paragraph':\n path = 'M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71C15.5 2.1 15.27 2 15 2z';\n break;\n\n case 'editor-paste-text':\n path = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.44 1-1 0-.55-.45-1-1-1s-1 .45-1 1c0 .56.45 1 1 1zm5.45-1H17c.55 0 1 .45 1 1v12c0 .56-.45 1-1 1H3c-.55 0-1-.44-1-1V5c0-.55.45-1 1-1h1.55L4 4.63V7h12V4.63zM14 11V9H6v2h3v5h2v-5h3z';\n break;\n\n case 'editor-paste-word':\n path = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 12V5c0-.55-.45-1-1-1h-1.54l.54.63V7H4V4.62L4.55 4H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-3-8l-2 7h-2l-1-5-1 5H6.92L5 9h2l1 5 1-5h2l1 5 1-5h2z';\n break;\n\n case 'editor-quote':\n path = 'M9.49 13.22c0-.74-.2-1.38-.61-1.9-.62-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L7.88 4c-2.73 1.3-5.42 4.28-4.96 8.05C3.21 14.43 4.59 16 6.54 16c.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03zm8.05 0c0-.74-.2-1.38-.61-1.9-.63-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L15.93 4c-2.73 1.3-5.41 4.28-4.95 8.05.29 2.38 1.66 3.95 3.61 3.95.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03z';\n break;\n\n case 'editor-removeformatting':\n path = 'M14.29 4.59l1.1 1.11c.41.4.61.94.61 1.47v2.12c0 .53-.2 1.07-.61 1.47l-6.63 6.63c-.4.41-.94.61-1.47.61s-1.07-.2-1.47-.61l-1.11-1.1-1.1-1.11c-.41-.4-.61-.94-.61-1.47v-2.12c0-.54.2-1.07.61-1.48l6.63-6.62c.4-.41.94-.61 1.47-.61s1.06.2 1.47.61zm-6.21 9.7l6.42-6.42c.39-.39.39-1.03 0-1.43L12.36 4.3c-.19-.19-.45-.29-.72-.29s-.52.1-.71.29l-6.42 6.42c-.39.4-.39 1.04 0 1.43l2.14 2.14c.38.38 1.04.38 1.43 0z';\n break;\n\n case 'editor-rtl':\n path = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM19 6l-5 4 5 4V6z';\n break;\n\n case 'editor-spellcheck':\n path = 'M15.84 2.76c.25 0 .49.04.71.11.23.07.44.16.64.25l.35-.81c-.52-.26-1.08-.39-1.69-.39-.58 0-1.09.13-1.52.37-.43.25-.76.61-.99 1.08C13.11 3.83 13 4.38 13 5c0 .99.23 1.75.7 2.28s1.15.79 2.02.79c.6 0 1.13-.09 1.6-.26v-.84c-.26.08-.51.14-.74.19-.24.05-.49.08-.74.08-.59 0-1.04-.19-1.34-.57-.32-.37-.47-.93-.47-1.66 0-.7.16-1.25.48-1.65.33-.4.77-.6 1.33-.6zM6.5 8h1.04L5.3 2H4.24L2 8h1.03l.58-1.66H5.9zM8 2v6h2.17c.67 0 1.19-.15 1.57-.46.38-.3.56-.72.56-1.26 0-.4-.1-.72-.3-.95-.19-.24-.5-.39-.93-.47v-.04c.35-.06.6-.21.78-.44.18-.24.28-.53.28-.88 0-.52-.19-.9-.56-1.14-.36-.24-.96-.36-1.79-.36H8zm.98 2.48V2.82h.85c.44 0 .77.06.97.19.21.12.31.33.31.61 0 .31-.1.53-.29.66-.18.13-.48.2-.89.2h-.95zM5.64 5.5H3.9l.54-1.56c.14-.4.25-.76.32-1.1l.15.52c.07.23.13.4.17.51zm3.34-.23h.99c.44 0 .76.08.98.23.21.15.32.38.32.69 0 .34-.11.59-.32.75s-.52.24-.93.24H8.98V5.27zM4 13l5 5 9-8-1-1-8 6-4-3z';\n break;\n\n case 'editor-strikethrough':\n path = 'M15.82 12.25c.26 0 .5-.02.74-.07.23-.05.48-.12.73-.2v.84c-.46.17-.99.26-1.58.26-.88 0-1.54-.26-2.01-.79-.39-.44-.62-1.04-.68-1.79h-.94c.12.21.18.48.18.79 0 .54-.18.95-.55 1.26-.38.3-.9.45-1.56.45H8v-2.5H6.59l.93 2.5H6.49l-.59-1.67H3.62L3.04 13H2l.93-2.5H2v-1h1.31l.93-2.49H5.3l.92 2.49H8V7h1.77c1 0 1.41.17 1.77.41.37.24.55.62.55 1.13 0 .35-.09.64-.27.87l-.08.09h1.29c.05-.4.15-.77.31-1.1.23-.46.55-.82.98-1.06.43-.25.93-.37 1.51-.37.61 0 1.17.12 1.69.38l-.35.81c-.2-.1-.42-.18-.64-.25s-.46-.11-.71-.11c-.55 0-.99.2-1.31.59-.23.29-.38.66-.44 1.11H17v1h-2.95c.06.5.2.9.44 1.19.3.37.75.56 1.33.56zM4.44 8.96l-.18.54H5.3l-.22-.61c-.04-.11-.09-.28-.17-.51-.07-.24-.12-.41-.14-.51-.08.33-.18.69-.33 1.09zm4.53-1.09V9.5h1.19c.28-.02.49-.09.64-.18.19-.13.28-.35.28-.66 0-.28-.1-.48-.3-.61-.2-.12-.53-.18-.97-.18h-.84zm-3.33 2.64v-.01H3.91v.01h1.73zm5.28.01l-.03-.02H8.97v1.68h1.04c.4 0 .71-.08.92-.23.21-.16.31-.4.31-.74 0-.31-.11-.54-.32-.69z';\n break;\n\n case 'editor-table':\n path = 'M18 17V3H2v14h16zM16 7H4V5h12v2zm-7 4H4V9h5v2zm7 0h-5V9h5v2zm-7 4H4v-2h5v2zm7 0h-5v-2h5v2z';\n break;\n\n case 'editor-textcolor':\n path = 'M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z';\n break;\n\n case 'editor-ul':\n path = 'M5.5 7C4.67 7 4 6.33 4 5.5 4 4.68 4.67 4 5.5 4 6.32 4 7 4.68 7 5.5 7 6.33 6.32 7 5.5 7zM8 5h9v1H8V5zm-2.5 7c-.83 0-1.5-.67-1.5-1.5C4 9.68 4.67 9 5.5 9c.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 10h9v1H8v-1zm-2.5 7c-.83 0-1.5-.67-1.5-1.5 0-.82.67-1.5 1.5-1.5.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 15h9v1H8v-1z';\n break;\n\n case 'editor-underline':\n path = 'M14 5h-2v5.71c0 1.99-1.12 2.98-2.45 2.98-1.32 0-2.55-1-2.55-2.96V5H5v5.87c0 1.91 1 4.54 4.48 4.54 3.49 0 4.52-2.58 4.52-4.5V5zm0 13v-2H5v2h9z';\n break;\n\n case 'editor-unlink':\n path = 'M17.74 2.26c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-.32.33-.69.58-1.08.77L13 10l1.69-1.64.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-.76.76L10 7l-.65-2.14c.19-.38.44-.75.77-1.07l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM2 4l8 6-6-8zm4-2l4 8-2-8H6zM2 6l8 4-8-2V6zm7.36 7.69L10 13l.74 2.35-1.38 1.39c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.39-1.38L7 10l-.69.64-1.52 1.53c-.85.84-.85 2.2 0 3.04.84.85 2.2.85 3.04 0zM18 16l-8-6 6 8zm-4 2l-4-8 2 8h2zm4-4l-8-4 8 2v2z';\n break;\n\n case 'editor-video':\n path = 'M16 2h-3v1H7V2H4v15h3v-1h6v1h3V2zM6 3v1H5V3h1zm9 0v1h-1V3h1zm-2 1v5H7V4h6zM6 5v1H5V5h1zm9 0v1h-1V5h1zM6 7v1H5V7h1zm9 0v1h-1V7h1zM6 9v1H5V9h1zm9 0v1h-1V9h1zm-2 1v5H7v-5h6zm-7 1v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1z';\n break;\n\n case 'ellipsis':\n path = 'M5 10c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm12-2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z';\n break;\n\n case 'email-alt':\n path = 'M19 14.5v-9c0-.83-.67-1.5-1.5-1.5H3.49c-.83 0-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5H17.5c.83 0 1.5-.67 1.5-1.5zm-1.31-9.11c.33.33.15.67-.03.84L13.6 9.95l3.9 4.06c.12.14.2.36.06.51-.13.16-.43.15-.56.05l-4.37-3.73-2.14 1.95-2.13-1.95-4.37 3.73c-.13.1-.43.11-.56-.05-.14-.15-.06-.37.06-.51l3.9-4.06-4.06-3.72c-.18-.17-.36-.51-.03-.84s.67-.17.95.07l6.24 5.04 6.25-5.04c.28-.24.62-.4.95-.07z';\n break;\n\n case 'email-alt2':\n path = 'M18.01 11.18V2.51c0-1.19-.9-1.81-2-1.37L4 5.91c-1.1.44-2 1.77-2 2.97v8.66c0 1.2.9 1.81 2 1.37l12.01-4.77c1.1-.44 2-1.76 2-2.96zm-1.43-7.46l-6.04 9.33-6.65-4.6c-.1-.07-.36-.32-.17-.64.21-.36.65-.21.65-.21l6.3 2.32s4.83-6.34 5.11-6.7c.13-.17.43-.34.73-.13.29.2.16.49.07.63z';\n break;\n\n case 'email':\n path = 'M3.87 4h13.25C18.37 4 19 4.59 19 5.79v8.42c0 1.19-.63 1.79-1.88 1.79H3.87c-1.25 0-1.88-.6-1.88-1.79V5.79c0-1.2.63-1.79 1.88-1.79zm6.62 8.6l6.74-5.53c.24-.2.43-.66.13-1.07-.29-.41-.82-.42-1.17-.17l-5.7 3.86L4.8 5.83c-.35-.25-.88-.24-1.17.17-.3.41-.11.87.13 1.07z';\n break;\n\n case 'embed-audio':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 3H7v4c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.4 0 .7.1 1 .3V5h4v2zm4 3.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'embed-generic':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3 6.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'embed-photo':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 8H3V6h7v6zm4-1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3zm-6-4V8.5L7.2 10 6 9.2 4 11h5zM4.6 8.6c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z';\n break;\n\n case 'embed-post':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.6 9l-.4.3c-.4.4-.5 1.1-.2 1.6l-.8.8-1.1-1.1-1.3 1.3c-.2.2-1.6 1.3-1.8 1.1-.2-.2.9-1.6 1.1-1.8l1.3-1.3-1.1-1.1.8-.8c.5.3 1.2.3 1.6-.2l.3-.3c.5-.5.5-1.2.2-1.7L8 5l3 2.9-.8.8c-.5-.2-1.2-.2-1.6.3zm5.4 1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'embed-video':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 6.5L8 9.1V11H3V6h5v1.8l2-1.3v4zm4 0L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'excerpt-view':\n path = 'M19 18V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6V3h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6v-6h11z';\n break;\n\n case 'exit':\n path = 'M13 3v2h2v10h-2v2h4V3h-4zm0 8V9H5.4l4.3-4.3-1.4-1.4L1.6 10l6.7 6.7 1.4-1.4L5.4 11H13z';\n break;\n\n case 'external':\n path = 'M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z';\n break;\n\n case 'facebook-alt':\n path = 'M8.46 18h2.93v-7.3h2.45l.37-2.84h-2.82V6.04c0-.82.23-1.38 1.41-1.38h1.51V2.11c-.26-.03-1.15-.11-2.19-.11-2.18 0-3.66 1.33-3.66 3.76v2.1H6v2.84h2.46V18z';\n break;\n\n case 'facebook':\n path = 'M2.89 2h14.23c.49 0 .88.39.88.88v14.24c0 .48-.39.88-.88.88h-4.08v-6.2h2.08l.31-2.41h-2.39V7.85c0-.7.2-1.18 1.2-1.18h1.28V4.51c-.22-.03-.98-.09-1.86-.09-1.85 0-3.11 1.12-3.11 3.19v1.78H8.46v2.41h2.09V18H2.89c-.49 0-.89-.4-.89-.88V2.88c0-.49.4-.88.89-.88z';\n break;\n\n case 'feedback':\n path = 'M2 2h16c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm15 14V7H3v9h14zM4 8v1h3V8H4zm4 0v3h8V8H8zm-4 4v1h3v-1H4zm4 0v3h8v-3H8z';\n break;\n\n case 'filter':\n path = 'M3 4.5v-2s3.34-1 7-1 7 1 7 1v2l-5 7.03v6.97s-1.22-.09-2.25-.59S8 16.5 8 16.5v-4.97z';\n break;\n\n case 'flag':\n path = 'M5 18V3H3v15h2zm1-6V4c3-1 7 1 11 0v8c-3 1.27-8-1-11 0z';\n break;\n\n case 'format-aside':\n path = 'M1 1h18v12l-6 6H1V1zm3 3v1h12V4H4zm0 4v1h12V8H4zm6 5v-1H4v1h6zm2 4l5-5h-5v5z';\n break;\n\n case 'format-audio':\n path = 'M6.99 3.08l11.02-2c.55-.08.99.45.99 1V14.5c0 1.94-1.57 3.5-3.5 3.5S12 16.44 12 14.5c0-1.93 1.57-3.5 3.5-3.5.54 0 1.04.14 1.5.35V5.08l-9 2V16c-.24 1.7-1.74 3-3.5 3C2.57 19 1 17.44 1 15.5 1 13.57 2.57 12 4.5 12c.54 0 1.04.14 1.5.35V4.08c0-.55.44-.91.99-1z';\n break;\n\n case 'format-chat':\n path = 'M11 6h-.82C9.07 6 8 7.2 8 8.16V10l-3 3v-3H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v3zm0 1h6c1.1 0 2 .9 2 2v5c0 1.1-.9 2-2 2h-2v3l-3-3h-1c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2z';\n break;\n\n case 'format-gallery':\n path = 'M16 4h1.96c.57 0 1.04.47 1.04 1.04v12.92c0 .57-.47 1.04-1.04 1.04H5.04C4.47 19 4 18.53 4 17.96V16H2.04C1.47 16 1 15.53 1 14.96V2.04C1 1.47 1.47 1 2.04 1h12.92c.57 0 1.04.47 1.04 1.04V4zM3 14h11V3H3v11zm5-8.5C8 4.67 7.33 4 6.5 4S5 4.67 5 5.5 5.67 7 6.5 7 8 6.33 8 5.5zm2 4.5s1-5 3-5v8H4V7c2 0 2 3 2 3s.33-2 2-2 2 2 2 2zm7 7V6h-1v8.96c0 .57-.47 1.04-1.04 1.04H6v1h11z';\n break;\n\n case 'format-image':\n path = 'M2.25 1h15.5c.69 0 1.25.56 1.25 1.25v15.5c0 .69-.56 1.25-1.25 1.25H2.25C1.56 19 1 18.44 1 17.75V2.25C1 1.56 1.56 1 2.25 1zM17 17V3H3v14h14zM10 6c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm3 5s0-6 3-6v10c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V8c2 0 3 4 3 4s1-3 3-3 3 2 3 2z';\n break;\n\n case 'format-quote':\n path = 'M8.54 12.74c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45L6.65 1.94C3.45 3.46.31 6.96.85 11.37 1.19 14.16 2.8 16 5.08 16c1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38zm9.43 0c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45l-1.63-2.28c-3.2 1.52-6.34 5.02-5.8 9.43.34 2.79 1.95 4.63 4.23 4.63 1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38z';\n break;\n\n case 'format-status':\n path = 'M10 1c7 0 9 2.91 9 6.5S17 14 10 14s-9-2.91-9-6.5S3 1 10 1zM5.5 9C6.33 9 7 8.33 7 7.5S6.33 6 5.5 6 4 6.67 4 7.5 4.67 9 5.5 9zM10 9c.83 0 1.5-.67 1.5-1.5S10.83 6 10 6s-1.5.67-1.5 1.5S9.17 9 10 9zm4.5 0c.83 0 1.5-.67 1.5-1.5S15.33 6 14.5 6 13 6.67 13 7.5 13.67 9 14.5 9zM6 14.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm-3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n break;\n\n case 'format-video':\n path = 'M2 1h16c.55 0 1 .45 1 1v16l-18-.02V2c0-.55.45-1 1-1zm4 1L4 5h1l2-3H6zm4 0H9L7 5h1zm3 0h-1l-2 3h1zm3 0h-1l-2 3h1zm1 14V6H3v10h14zM8 7l6 4-6 4V7z';\n break;\n\n case 'forms':\n path = 'M2 2h7v7H2V2zm9 0v7h7V2h-7zM5.5 4.5L7 3H4zM12 8V3h5v5h-5zM4.5 5.5L3 4v3zM8 4L6.5 5.5 8 7V4zM5.5 6.5L4 8h3zM9 18v-7H2v7h7zm9 0h-7v-7h7v7zM8 12v5H3v-5h5zm6.5 1.5L16 12h-3zM12 16l1.5-1.5L12 13v3zm3.5-1.5L17 16v-3zm-1 1L13 17h3z';\n break;\n\n case 'googleplus':\n path = 'M6.73 10h5.4c.05.29.09.57.09.95 0 3.27-2.19 5.6-5.49 5.6-3.17 0-5.73-2.57-5.73-5.73 0-3.17 2.56-5.73 5.73-5.73 1.54 0 2.84.57 3.83 1.5l-1.55 1.5c-.43-.41-1.17-.89-2.28-.89-1.96 0-3.55 1.62-3.55 3.62 0 1.99 1.59 3.61 3.55 3.61 2.26 0 3.11-1.62 3.24-2.47H6.73V10zM19 10v1.64h-1.64v1.63h-1.63v-1.63h-1.64V10h1.64V8.36h1.63V10H19z';\n break;\n\n case 'grid-view':\n path = 'M2 1h16c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1zm7.01 7.99v-6H3v6h6.01zm8 0v-6h-6v6h6zm-8 8.01v-6H3v6h6.01zm8 0v-6h-6v6h6z';\n break;\n\n case 'groups':\n path = 'M8.03 4.46c-.29 1.28.55 3.46 1.97 3.46 1.41 0 2.25-2.18 1.96-3.46-.22-.98-1.08-1.63-1.96-1.63-.89 0-1.74.65-1.97 1.63zm-4.13.9c-.25 1.08.47 2.93 1.67 2.93s1.92-1.85 1.67-2.93c-.19-.83-.92-1.39-1.67-1.39s-1.48.56-1.67 1.39zm8.86 0c-.25 1.08.47 2.93 1.66 2.93 1.2 0 1.92-1.85 1.67-2.93-.19-.83-.92-1.39-1.67-1.39-.74 0-1.47.56-1.66 1.39zm-.59 11.43l1.25-4.3C14.2 10 12.71 8.47 10 8.47c-2.72 0-4.21 1.53-3.44 4.02l1.26 4.3C8.05 17.51 9 18 10 18c.98 0 1.94-.49 2.17-1.21zm-6.1-7.63c-.49.67-.96 1.83-.42 3.59l1.12 3.79c-.34.2-.77.31-1.2.31-.85 0-1.65-.41-1.85-1.03l-1.07-3.65c-.65-2.11.61-3.4 2.92-3.4.27 0 .54.02.79.06-.1.1-.2.22-.29.33zm8.35-.39c2.31 0 3.58 1.29 2.92 3.4l-1.07 3.65c-.2.62-1 1.03-1.85 1.03-.43 0-.86-.11-1.2-.31l1.11-3.77c.55-1.78.08-2.94-.42-3.61-.08-.11-.18-.23-.28-.33.25-.04.51-.06.79-.06z';\n break;\n\n case 'hammer':\n path = 'M17.7 6.32l1.41 1.42-3.47 3.41-1.42-1.42.84-.82c-.32-.76-.81-1.57-1.51-2.31l-4.61 6.59-5.26 4.7c-.39.39-1.02.39-1.42 0l-1.2-1.21c-.39-.39-.39-1.02 0-1.41l10.97-9.92c-1.37-.86-3.21-1.46-5.67-1.48 2.7-.82 4.95-.93 6.58-.3 1.7.66 2.82 2.2 3.91 3.58z';\n break;\n\n case 'heading':\n path = 'M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4';\n break;\n\n case 'heart':\n path = 'M10 17.12c3.33-1.4 5.74-3.79 7.04-6.21 1.28-2.41 1.46-4.81.32-6.25-1.03-1.29-2.37-1.78-3.73-1.74s-2.68.63-3.63 1.46c-.95-.83-2.27-1.42-3.63-1.46s-2.7.45-3.73 1.74c-1.14 1.44-.96 3.84.34 6.25 1.28 2.42 3.69 4.81 7.02 6.21z';\n break;\n\n case 'hidden':\n path = 'M17.2 3.3l.16.17c.39.39.39 1.02 0 1.41L4.55 17.7c-.39.39-1.03.39-1.41 0l-.17-.17c-.39-.39-.39-1.02 0-1.41l1.59-1.6c-1.57-1-2.76-2.3-3.56-3.93.81-1.65 2.03-2.98 3.64-3.99S8.04 5.09 10 5.09c1.2 0 2.33.21 3.4.6l2.38-2.39c.39-.39 1.03-.39 1.42 0zm-7.09 4.01c-.23.25-.34.54-.34.88 0 .31.12.58.31.81l1.8-1.79c-.13-.12-.28-.21-.45-.26-.11-.01-.28-.03-.49-.04-.33.03-.6.16-.83.4zM2.4 10.59c.69 1.23 1.71 2.25 3.05 3.05l1.28-1.28c-.51-.69-.77-1.47-.77-2.36 0-1.06.36-1.98 1.09-2.76-1.04.27-1.96.7-2.76 1.26-.8.58-1.43 1.27-1.89 2.09zm13.22-2.13l.96-.96c1.02.86 1.83 1.89 2.42 3.09-.81 1.65-2.03 2.98-3.64 3.99s-3.4 1.51-5.36 1.51c-.63 0-1.24-.07-1.83-.18l1.07-1.07c.25.02.5.05.76.05 1.63 0 3.13-.4 4.5-1.21s2.4-1.84 3.1-3.09c-.46-.82-1.09-1.51-1.89-2.09-.03-.01-.06-.03-.09-.04zm-5.58 5.58l4-4c-.01 1.1-.41 2.04-1.18 2.81-.78.78-1.72 1.18-2.82 1.19z';\n break;\n\n case 'html':\n path = 'M4 16v-2H2v2H1v-5h1v2h2v-2h1v5H4zM7 16v-4H5.6v-1h3.7v1H8v4H7zM10 16v-5h1l1.4 3.4h.1L14 11h1v5h-1v-3.1h-.1l-1.1 2.5h-.6l-1.1-2.5H11V16h-1zM19 16h-3v-5h1v4h2v1zM9.4 4.2L7.1 6.5l2.3 2.3-.6 1.2-3.5-3.5L8.8 3l.6 1.2zm1.2 4.6l2.3-2.3-2.3-2.3.6-1.2 3.5 3.5-3.5 3.5-.6-1.2z';\n break;\n\n case 'id-alt':\n path = 'M18 18H2V2h16v16zM8.05 7.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L8.95 6c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C8.23 4.1 7.95 4 7.6 4c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM16 5V4h-5v1h5zm0 2V6h-5v1h5zM7.62 8.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM16 9V8h-3v1h3zm0 2v-1h-3v1h3zm0 3v-1H4v1h12zm0 2v-1H4v1h12z';\n break;\n\n case 'id':\n path = 'M18 16H2V4h16v12zM7.05 8.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L7.95 7c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C7.23 5.1 6.95 5 6.6 5c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM17 9V5h-5v4h5zm-10.38.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM17 11v-1h-5v1h5zm0 2v-1h-5v1h5zm0 2v-1H3v1h14z';\n break;\n\n case 'image-crop':\n path = 'M19 12v3h-4v4h-3v-4H4V7H0V4h4V0h3v4h7l3-3 1 1-3 3v7h4zm-8-5H7v4zm-3 5h4V8z';\n break;\n\n case 'image-filter':\n path = 'M14 5.87c0-2.2-1.79-4-4-4s-4 1.8-4 4c0 2.21 1.79 4 4 4s4-1.79 4-4zM3.24 10.66c-1.92 1.1-2.57 3.55-1.47 5.46 1.11 1.92 3.55 2.57 5.47 1.47 1.91-1.11 2.57-3.55 1.46-5.47-1.1-1.91-3.55-2.56-5.46-1.46zm9.52 6.93c1.92 1.1 4.36.45 5.47-1.46 1.1-1.92.45-4.36-1.47-5.47-1.91-1.1-4.36-.45-5.46 1.46-1.11 1.92-.45 4.36 1.46 5.47z';\n break;\n\n case 'image-flip-horizontal':\n path = 'M19 3v14h-8v3H9v-3H1V3h8V0h2v3h8zm-8.5 14V3h-1v14h1zM7 6.5L3 10l4 3.5v-7zM17 10l-4-3.5v7z';\n break;\n\n case 'image-flip-vertical':\n path = 'M20 9v2h-3v8H3v-8H0V9h3V1h14v8h3zM6.5 7h7L10 3zM17 9.5H3v1h14v-1zM13.5 13h-7l3.5 4z';\n break;\n\n case 'image-rotate-left':\n path = 'M7 5H5.05c0-1.74.85-2.9 2.95-2.9V0C4.85 0 2.96 2.11 2.96 5H1.18L3.8 8.39zm13-4v14h-5v5H1V10h9V1h10zm-2 2h-6v7h3v3h3V3zm-5 9H3v6h10v-6z';\n break;\n\n case 'image-rotate-right':\n path = 'M15.95 5H14l3.2 3.39L19.82 5h-1.78c0-2.89-1.89-5-5.04-5v2.1c2.1 0 2.95 1.16 2.95 2.9zM1 1h10v9h9v10H6v-5H1V1zm2 2v10h3v-3h3V3H3zm5 9v6h10v-6H8z';\n break;\n\n case 'image-rotate':\n path = 'M10.25 1.02c5.1 0 8.75 4.04 8.75 9s-3.65 9-8.75 9c-3.2 0-6.02-1.59-7.68-3.99l2.59-1.52c1.1 1.5 2.86 2.51 4.84 2.51 3.3 0 6-2.79 6-6s-2.7-6-6-6c-1.97 0-3.72 1-4.82 2.49L7 8.02l-6 2v-7L2.89 4.6c1.69-2.17 4.36-3.58 7.36-3.58z';\n break;\n\n case 'images-alt':\n path = 'M4 15v-3H2V2h12v3h2v3h2v10H6v-3H4zm7-12c-1.1 0-2 .9-2 2h4c0-1.1-.89-2-2-2zm-7 8V6H3v5h1zm7-3h4c0-1.1-.89-2-2-2-1.1 0-2 .9-2 2zm-5 6V9H5v5h1zm9-1c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2s-2 .9-2 2c0 1.11.9 2 2 2zm2 4v-2c-5 0-5-3-10-3v5h10z';\n break;\n\n case 'images-alt2':\n path = 'M5 3h14v11h-2v2h-2v2H1V7h2V5h2V3zm13 10V4H6v9h12zm-3-4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm1 6v-1H5V6H4v9h12zM7 6l10 6H7V6zm7 11v-1H3V8H2v9h12z';\n break;\n\n case 'index-card':\n path = 'M1 3.17V18h18V4H8v-.83c0-.32-.12-.6-.35-.83S7.14 2 6.82 2H2.18c-.33 0-.6.11-.83.34-.24.23-.35.51-.35.83zM10 6v2H3V6h7zm7 0v10h-5V6h5zm-7 4v2H3v-2h7zm0 4v2H3v-2h7z';\n break;\n\n case 'info-outline':\n path = 'M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z';\n break;\n\n case 'info':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1 4c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zm0 9V9H9v6h2z';\n break;\n\n case 'insert-after':\n path = 'M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z';\n break;\n\n case 'insert-before':\n path = 'M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z';\n break;\n\n case 'insert':\n path = 'M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z';\n break;\n\n case 'instagram':\n path = 'M12.67 10A2.67 2.67 0 1 0 10 12.67 2.68 2.68 0 0 0 12.67 10zm1.43 0A4.1 4.1 0 1 1 10 5.9a4.09 4.09 0 0 1 4.1 4.1zm1.13-4.27a1 1 0 1 1-1-1 1 1 0 0 1 1 1zM10 3.44c-1.17 0-3.67-.1-4.72.32a2.67 2.67 0 0 0-1.52 1.52c-.42 1-.32 3.55-.32 4.72s-.1 3.67.32 4.72a2.74 2.74 0 0 0 1.52 1.52c1 .42 3.55.32 4.72.32s3.67.1 4.72-.32a2.83 2.83 0 0 0 1.52-1.52c.42-1.05.32-3.55.32-4.72s.1-3.67-.32-4.72a2.74 2.74 0 0 0-1.52-1.52c-1.05-.42-3.55-.32-4.72-.32zM18 10c0 1.1 0 2.2-.05 3.3a4.84 4.84 0 0 1-1.29 3.36A4.8 4.8 0 0 1 13.3 18H6.7a4.84 4.84 0 0 1-3.36-1.29 4.84 4.84 0 0 1-1.29-3.41C2 12.2 2 11.1 2 10V6.7a4.84 4.84 0 0 1 1.34-3.36A4.8 4.8 0 0 1 6.7 2.05C7.8 2 8.9 2 10 2h3.3a4.84 4.84 0 0 1 3.36 1.29A4.8 4.8 0 0 1 18 6.7V10z';\n break;\n\n case 'keyboard-hide':\n path = 'M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z';\n break;\n\n case 'laptop':\n path = 'M3 3h14c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1zm13 2H4v8h12V5zm-3 1H5v4zm6 11v-1H1v1c0 .6.5 1 1.1 1h15.8c.6 0 1.1-.4 1.1-1z';\n break;\n\n case 'layout':\n path = 'M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z';\n break;\n\n case 'leftright':\n path = 'M3 10.03L9 6v8zM11 6l6 4.03L11 14V6z';\n break;\n\n case 'lightbulb':\n path = 'M10 1c3.11 0 5.63 2.52 5.63 5.62 0 1.84-2.03 4.58-2.03 4.58-.33.44-.6 1.25-.6 1.8v1c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-1c0-.55-.27-1.36-.6-1.8 0 0-2.02-2.74-2.02-4.58C4.38 3.52 6.89 1 10 1zM7 16.87V16h6v.87c0 .62-.13 1.13-.75 1.13H12c0 .62-.4 1-1.02 1h-2c-.61 0-.98-.38-.98-1h-.25c-.62 0-.75-.51-.75-1.13z';\n break;\n\n case 'list-view':\n path = 'M2 19h16c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V3h11zM4 7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V7h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11zM4 15c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11z';\n break;\n\n case 'location-alt':\n path = 'M13 13.14l1.17-5.94c.79-.43 1.33-1.25 1.33-2.2 0-1.38-1.12-2.5-2.5-2.5S10.5 3.62 10.5 5c0 .95.54 1.77 1.33 2.2zm0-9.64c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm1.72 4.8L18 6.97v9L13.12 18 7 15.97l-5 2v-9l5-2 4.27 1.41 1.73 7.3z';\n break;\n\n case 'location':\n path = 'M10 2C6.69 2 4 4.69 4 8c0 2.02 1.17 3.71 2.53 4.89.43.37 1.18.96 1.85 1.83.74.97 1.41 2.01 1.62 2.71.21-.7.88-1.74 1.62-2.71.67-.87 1.42-1.46 1.85-1.83C14.83 11.71 16 10.02 16 8c0-3.31-2.69-6-6-6zm0 2.56c1.9 0 3.44 1.54 3.44 3.44S11.9 11.44 10 11.44 6.56 9.9 6.56 8 8.1 4.56 10 4.56z';\n break;\n\n case 'lock':\n path = 'M14 9h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h1V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3zm-2 0V6c0-1.1-.9-2-2-2s-2 .9-2 2v3h4zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n break;\n\n case 'marker':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z';\n break;\n\n case 'media-archive':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zM8 3.5v2l1.8-1zM11 5L9.2 6 11 7V5zM8 6.5v2l1.8-1zM11 8L9.2 9l1.8 1V8zM8 9.5v2l1.8-1zm3 1.5l-1.8 1 1.8 1v-2zm-1.5 6c.83 0 1.62-.72 1.5-1.63-.05-.38-.49-1.61-.49-1.61l-1.99-1.1s-.45 1.95-.52 2.71c-.07.77.67 1.63 1.5 1.63zm0-2.39c.42 0 .76.34.76.76 0 .43-.34.77-.76.77s-.76-.34-.76-.77c0-.42.34-.76.76-.76z';\n break;\n\n case 'media-audio':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm1 7.26V8.09c0-.11-.04-.21-.12-.29-.07-.08-.16-.11-.27-.1 0 0-3.97.71-4.25.78C8.07 8.54 8 8.8 8 9v3.37c-.2-.09-.42-.07-.6-.07-.38 0-.7.13-.96.39-.26.27-.4.58-.4.96 0 .37.14.69.4.95.26.27.58.4.96.4.34 0 .7-.04.96-.26.26-.23.64-.65.64-1.12V10.3l3-.6V12c-.67-.2-1.17.04-1.44.31-.26.26-.39.58-.39.95 0 .38.13.69.39.96.27.26.71.39 1.08.39.38 0 .7-.13.96-.39.26-.27.4-.58.4-.96z';\n break;\n\n case 'media-code':\n path = 'M12 2l4 4v12H4V2h8zM9 13l-2-2 2-2-1-1-3 3 3 3zm3 1l3-3-3-3-1 1 2 2-2 2z';\n break;\n\n case 'media-default':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3z';\n break;\n\n case 'media-document':\n path = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zM5 9v1h4V9H5zm10 3V9h-5v3h5zM5 11v1h4v-1H5zm10 3v-1H5v1h10zm-3 2v-1H5v1h7z';\n break;\n\n case 'media-interactive':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm2 8V8H6v6h3l-1 2h1l1-2 1 2h1l-1-2h3zm-6-3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-2v2h-3V9h3zm0 3v1H7v-1h6z';\n break;\n\n case 'media-spreadsheet':\n path = 'M12 2l4 4v12H4V2h8zm-1 4V3H5v3h6zM8 8V7H5v1h3zm3 0V7H9v1h2zm4 0V7h-3v1h3zm-7 2V9H5v1h3zm3 0V9H9v1h2zm4 0V9h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2z';\n break;\n\n case 'media-text':\n path = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zm0 2V9H5v1h10zm0 2v-1H5v1h10zm-4 2v-1H5v1h6z';\n break;\n\n case 'media-video':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm-1 8v-3c0-.27-.1-.51-.29-.71-.2-.19-.44-.29-.71-.29H7c-.27 0-.51.1-.71.29-.19.2-.29.44-.29.71v3c0 .27.1.51.29.71.2.19.44.29.71.29h3c.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71zm3 1v-5l-2 2v1z';\n break;\n\n case 'megaphone':\n path = 'M18.15 5.94c.46 1.62.38 3.22-.02 4.48-.42 1.28-1.26 2.18-2.3 2.48-.16.06-.26.06-.4.06-.06.02-.12.02-.18.02-.06.02-.14.02-.22.02h-6.8l2.22 5.5c.02.14-.06.26-.14.34-.08.1-.24.16-.34.16H6.95c-.1 0-.26-.06-.34-.16-.08-.08-.16-.2-.14-.34l-1-5.5H4.25l-.02-.02c-.5.06-1.08-.18-1.54-.62s-.88-1.08-1.06-1.88c-.24-.8-.2-1.56-.02-2.2.18-.62.58-1.08 1.06-1.3l.02-.02 9-5.4c.1-.06.18-.1.24-.16.06-.04.14-.08.24-.12.16-.08.28-.12.5-.18 1.04-.3 2.24.1 3.22.98s1.84 2.24 2.26 3.86zm-2.58 5.98h-.02c.4-.1.74-.34 1.04-.7.58-.7.86-1.76.86-3.04 0-.64-.1-1.3-.28-1.98-.34-1.36-1.02-2.5-1.78-3.24s-1.68-1.1-2.46-.88c-.82.22-1.4.96-1.7 2-.32 1.04-.28 2.36.06 3.72.38 1.36 1 2.5 1.8 3.24.78.74 1.62 1.1 2.48.88zm-2.54-7.08c.22-.04.42-.02.62.04.38.16.76.48 1.02 1s.42 1.2.42 1.78c0 .3-.04.56-.12.8-.18.48-.44.84-.86.94-.34.1-.8-.06-1.14-.4s-.64-.86-.78-1.5c-.18-.62-.12-1.24.02-1.72s.48-.84.82-.94z';\n break;\n\n case 'menu-alt':\n path = 'M3 4h14v2H3V4zm0 5h14v2H3V9zm0 5h14v2H3v-2z';\n break;\n\n case 'menu':\n path = 'M17 7V5H3v2h14zm0 4V9H3v2h14zm0 4v-2H3v2h14z';\n break;\n\n case 'microphone':\n path = 'M12 9V3c0-1.1-.89-2-2-2-1.12 0-2 .94-2 2v6c0 1.1.9 2 2 2 1.13 0 2-.94 2-2zm4 0c0 2.97-2.16 5.43-5 5.91V17h2c.56 0 1 .45 1 1s-.44 1-1 1H7c-.55 0-1-.45-1-1s.45-1 1-1h2v-2.09C6.17 14.43 4 11.97 4 9c0-.55.45-1 1-1 .56 0 1 .45 1 1 0 2.21 1.8 4 4 4 2.21 0 4-1.79 4-4 0-.55.45-1 1-1 .56 0 1 .45 1 1z';\n break;\n\n case 'migrate':\n path = 'M4 6h6V4H2v12.01h8V14H4V6zm2 2h6V5l6 5-6 5v-3H6V8z';\n break;\n\n case 'minus':\n path = 'M4 9h12v2H4V9z';\n break;\n\n case 'money':\n path = 'M0 3h20v12h-.75c0-1.79-1.46-3.25-3.25-3.25-1.31 0-2.42.79-2.94 1.91-.25-.1-.52-.16-.81-.16-.98 0-1.8.63-2.11 1.5H0V3zm8.37 3.11c-.06.15-.1.31-.11.47s-.01.33.01.5l.02.08c.01.06.02.14.05.23.02.1.06.2.1.31.03.11.09.22.15.33.07.12.15.22.23.31s.18.17.31.23c.12.06.25.09.4.09.14 0 .27-.03.39-.09s.22-.14.3-.22c.09-.09.16-.2.22-.32.07-.12.12-.23.16-.33s.07-.2.09-.31c.03-.11.04-.18.05-.22s.01-.07.01-.09c.05-.29.03-.56-.04-.82s-.21-.48-.41-.66c-.21-.18-.47-.27-.79-.27-.19 0-.36.03-.52.1-.15.07-.28.16-.38.28-.09.11-.17.25-.24.4zm4.48 6.04v-1.14c0-.33-.1-.66-.29-.98s-.45-.59-.77-.79c-.32-.21-.66-.31-1.02-.31l-1.24.84-1.28-.82c-.37 0-.72.1-1.04.3-.31.2-.56.46-.74.77-.18.32-.27.65-.27.99v1.14l.18.05c.12.04.29.08.51.14.23.05.47.1.74.15.26.05.57.09.91.13.34.03.67.05.99.05.3 0 .63-.02.98-.05.34-.04.64-.08.89-.13.25-.04.5-.1.76-.16l.5-.12c.08-.02.14-.04.19-.06zm3.15.1c1.52 0 2.75 1.23 2.75 2.75s-1.23 2.75-2.75 2.75c-.73 0-1.38-.3-1.87-.77.23-.35.37-.78.37-1.23 0-.77-.39-1.46-.99-1.86.43-.96 1.37-1.64 2.49-1.64zm-5.5 3.5c0-.96.79-1.75 1.75-1.75s1.75.79 1.75 1.75-.79 1.75-1.75 1.75-1.75-.79-1.75-1.75z';\n break;\n\n case 'move':\n path = 'M19 10l-4 4v-3h-4v4h3l-4 4-4-4h3v-4H5v3l-4-4 4-4v3h4V5H6l4-4 4 4h-3v4h4V6z';\n break;\n\n case 'nametag':\n path = 'M12 5V2c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-2-3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 13V7c0-1.1-.9-2-2-2h-3v.33C13 6.25 12.25 7 11.33 7H8.67C7.75 7 7 6.25 7 5.33V5H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-1-6v6H3V9h14zm-8 2c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm3 0c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm-5.96 1.21c.92.48 2.34.79 3.96.79s3.04-.31 3.96-.79c-.21 1-1.89 1.79-3.96 1.79s-3.75-.79-3.96-1.79z';\n break;\n\n case 'networking':\n path = 'M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z';\n break;\n\n case 'no-alt':\n path = 'M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z';\n break;\n\n case 'no':\n path = 'M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z';\n break;\n\n case 'palmtree':\n path = 'M8.58 2.39c.32 0 .59.05.81.14 1.25.55 1.69 2.24 1.7 3.97.59-.82 2.15-2.29 3.41-2.29s2.94.73 3.53 3.55c-1.13-.65-2.42-.94-3.65-.94-1.26 0-2.45.32-3.29.89.4-.11.86-.16 1.33-.16 1.39 0 2.9.45 3.4 1.31.68 1.16.47 3.38-.76 4.14-.14-2.1-1.69-4.12-3.47-4.12-.44 0-.88.12-1.33.38C8 10.62 7 14.56 7 19H2c0-5.53 4.21-9.65 7.68-10.79-.56-.09-1.17-.15-1.82-.15C6.1 8.06 4.05 8.5 2 10c.76-2.96 2.78-4.1 4.69-4.1 1.25 0 2.45.5 3.2 1.29-.66-2.24-2.49-2.86-4.08-2.86-.8 0-1.55.16-2.05.35.91-1.29 3.31-2.29 4.82-2.29zM13 11.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5 1.5-.67 1.5-1.5z';\n break;\n\n case 'paperclip':\n path = 'M17.05 2.7c1.93 1.94 1.93 5.13 0 7.07L10 16.84c-1.88 1.89-4.91 1.93-6.86.15-.06-.05-.13-.09-.19-.15-1.93-1.94-1.93-5.12 0-7.07l4.94-4.95c.91-.92 2.28-1.1 3.39-.58.3.15.59.33.83.58 1.17 1.17 1.17 3.07 0 4.24l-4.93 4.95c-.39.39-1.02.39-1.41 0s-.39-1.02 0-1.41l4.93-4.95c.39-.39.39-1.02 0-1.41-.38-.39-1.02-.39-1.4 0l-4.94 4.95c-.91.92-1.1 2.29-.57 3.4.14.3.32.59.57.84s.54.43.84.57c1.11.53 2.47.35 3.39-.57l7.05-7.07c1.16-1.17 1.16-3.08 0-4.25-.56-.55-1.28-.83-2-.86-.08.01-.16.01-.24 0-.22-.03-.43-.11-.6-.27-.39-.4-.38-1.05.02-1.45.16-.16.36-.24.56-.28.14-.02.27-.01.4.02 1.19.06 2.36.52 3.27 1.43z';\n break;\n\n case 'performance':\n path = 'M3.76 17.01h12.48C17.34 15.63 18 13.9 18 12c0-4.41-3.58-8-8-8s-8 3.59-8 8c0 1.9.66 3.63 1.76 5.01zM9 6c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zM4 8c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm4.52 3.4c.84-.83 6.51-3.5 6.51-3.5s-2.66 5.68-3.49 6.51c-.84.84-2.18.84-3.02 0-.83-.83-.83-2.18 0-3.01zM3 13c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1z';\n break;\n\n case 'phone':\n path = 'M12.06 6l-.21-.2c-.52-.54-.43-.79.08-1.3l2.72-2.75c.81-.82.96-1.21 1.73-.48l.21.2zm.53.45l4.4-4.4c.7.94 2.34 3.47 1.53 5.34-.73 1.67-1.09 1.75-2 3-1.85 2.11-4.18 4.37-6 6.07-1.26.91-1.31 1.33-3 2-1.8.71-4.4-.89-5.38-1.56l4.4-4.4 1.18 1.62c.34.46 1.2-.06 1.8-.66 1.04-1.05 3.18-3.18 4-4.07.59-.59 1.12-1.45.66-1.8zM1.57 16.5l-.21-.21c-.68-.74-.29-.9.52-1.7l2.74-2.72c.51-.49.75-.6 1.27-.11l.2.21z';\n break;\n\n case 'playlist-audio':\n path = 'M17 3V1H2v2h15zm0 4V5H2v2h15zm-7 4V9H2v2h8zm7.45-1.96l-6 1.12c-.16.02-.19.03-.29.13-.11.09-.16.22-.16.37v4.59c-.29-.13-.66-.14-.93-.14-.54 0-1 .19-1.38.57s-.56.84-.56 1.38c0 .53.18.99.56 1.37s.84.57 1.38.57c.49 0 .92-.16 1.29-.48s.59-.71.65-1.19v-4.95L17 11.27v3.48c-.29-.13-.56-.19-.83-.19-.54 0-1.11.19-1.49.57-.38.37-.57.83-.57 1.37s.19.99.57 1.37.84.57 1.38.57c.53 0 .99-.19 1.37-.57s.57-.83.57-1.37V9.6c0-.16-.05-.3-.16-.41-.11-.12-.24-.17-.39-.15zM8 15v-2H2v2h6zm-2 4v-2H2v2h4z';\n break;\n\n case 'playlist-video':\n path = 'M17 3V1H2v2h15zm0 4V5H2v2h15zM6 11V9H2v2h4zm2-2h9c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm3 7l3.33-2L11 12v4zm-5-1v-2H2v2h4zm0 4v-2H2v2h4z';\n break;\n\n case 'plus-alt':\n path = 'M15.8 4.2c3.2 3.21 3.2 8.39 0 11.6-3.21 3.2-8.39 3.2-11.6 0C1 12.59 1 7.41 4.2 4.2 7.41 1 12.59 1 15.8 4.2zm-4.3 11.3v-4h4v-3h-4v-4h-3v4h-4v3h4v4h3z';\n break;\n\n case 'plus-light':\n path = 'M17 9v2h-6v6H9v-6H3V9h6V3h2v6h6z';\n break;\n\n case 'plus':\n path = 'M17 7v3h-5v5H9v-5H4V7h5V2h3v5h5z';\n break;\n\n case 'portfolio':\n path = 'M4 5H.78c-.37 0-.74.32-.69.84l1.56 9.99S3.5 8.47 3.86 6.7c.11-.53.61-.7.98-.7H10s-.7-2.08-.77-2.31C9.11 3.25 8.89 3 8.45 3H5.14c-.36 0-.7.23-.8.64C4.25 4.04 4 5 4 5zm4.88 0h-4s.42-1 .87-1h2.13c.48 0 1 1 1 1zM2.67 16.25c-.31.47-.76.75-1.26.75h15.73c.54 0 .92-.31 1.03-.83.44-2.19 1.68-8.44 1.68-8.44.07-.5-.3-.73-.62-.73H16V5.53c0-.16-.26-.53-.66-.53h-3.76c-.52 0-.87.58-.87.58L10 7H5.59c-.32 0-.63.19-.69.5 0 0-1.59 6.7-1.72 7.33-.07.37-.22.99-.51 1.42zM15.38 7H11s.58-1 1.13-1h2.29c.71 0 .96 1 .96 1z';\n break;\n\n case 'post-status':\n path = 'M14 6c0 1.86-1.28 3.41-3 3.86V16c0 1-2 2-2 2V9.86c-1.72-.45-3-2-3-3.86 0-2.21 1.79-4 4-4s4 1.79 4 4zM8 5c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z';\n break;\n\n case 'pressthis':\n path = 'M14.76 1C16.55 1 18 2.46 18 4.25c0 1.78-1.45 3.24-3.24 3.24-.23 0-.47-.03-.7-.08L13 8.47V19H2V4h9.54c.13-2 1.52-3 3.22-3zm0 5.49C16 6.49 17 5.48 17 4.25 17 3.01 16 2 14.76 2s-2.24 1.01-2.24 2.25c0 .37.1.72.27 1.03L9.57 8.5c-.28.28-1.77 2.22-1.5 2.49.02.03.06.04.1.04.49 0 2.14-1.28 2.39-1.53l3.24-3.24c.29.14.61.23.96.23z';\n break;\n\n case 'products':\n path = 'M17 8h1v11H2V8h1V6c0-2.76 2.24-5 5-5 .71 0 1.39.15 2 .42.61-.27 1.29-.42 2-.42 2.76 0 5 2.24 5 5v2zM5 6v2h2V6c0-1.13.39-2.16 1.02-3H8C6.35 3 5 4.35 5 6zm10 2V6c0-1.65-1.35-3-3-3h-.02c.63.84 1.02 1.87 1.02 3v2h2zm-5-4.22C9.39 4.33 9 5.12 9 6v2h2V6c0-.88-.39-1.67-1-2.22z';\n break;\n\n case 'randomize':\n path = 'M18 6.01L14 9V7h-4l-5 8H2v-2h2l5-8h5V3zM2 5h3l1.15 2.17-1.12 1.8L4 7H2V5zm16 9.01L14 17v-2H9l-1.15-2.17 1.12-1.8L10 13h4v-2z';\n break;\n\n case 'redo':\n path = 'M8 5h5V2l6 4-6 4V7H8c-2.2 0-4 1.8-4 4s1.8 4 4 4h5v2H8c-3.3 0-6-2.7-6-6s2.7-6 6-6z';\n break;\n\n case 'rest-api':\n path = 'M3 4h2v12H3z';\n break;\n\n case 'rss':\n path = 'M14.92 18H18C18 9.32 10.82 2.25 2 2.25v3.02c7.12 0 12.92 5.71 12.92 12.73zm-5.44 0h3.08C12.56 12.27 7.82 7.6 2 7.6v3.02c2 0 3.87.77 5.29 2.16C8.7 14.17 9.48 16.03 9.48 18zm-5.35-.02c1.17 0 2.13-.93 2.13-2.09 0-1.15-.96-2.09-2.13-2.09-1.18 0-2.13.94-2.13 2.09 0 1.16.95 2.09 2.13 2.09z';\n break;\n\n case 'saved':\n path = 'M15.3 5.3l-6.8 6.8-2.8-2.8-1.4 1.4 4.2 4.2 8.2-8.2';\n break;\n\n case 'schedule':\n path = 'M2 2h16v4H2V2zm0 10V8h4v4H2zm6-2V8h4v2H8zm6 3V8h4v5h-4zm-6 5v-6h4v6H8zm-6 0v-4h4v4H2zm12 0v-3h4v3h-4z';\n break;\n\n case 'screenoptions':\n path = 'M9 9V3H3v6h6zm8 0V3h-6v6h6zm-8 8v-6H3v6h6zm8 0v-6h-6v6h6z';\n break;\n\n case 'search':\n path = 'M12.14 4.18c1.87 1.87 2.11 4.75.72 6.89.12.1.22.21.36.31.2.16.47.36.81.59.34.24.56.39.66.47.42.31.73.57.94.78.32.32.6.65.84 1 .25.35.44.69.59 1.04.14.35.21.68.18 1-.02.32-.14.59-.36.81s-.49.34-.81.36c-.31.02-.65-.04-.99-.19-.35-.14-.7-.34-1.04-.59-.35-.24-.68-.52-1-.84-.21-.21-.47-.52-.77-.93-.1-.13-.25-.35-.47-.66-.22-.32-.4-.57-.56-.78-.16-.2-.29-.35-.44-.5-2.07 1.09-4.69.76-6.44-.98-2.14-2.15-2.14-5.64 0-7.78 2.15-2.15 5.63-2.15 7.78 0zm-1.41 6.36c1.36-1.37 1.36-3.58 0-4.95-1.37-1.37-3.59-1.37-4.95 0-1.37 1.37-1.37 3.58 0 4.95 1.36 1.37 3.58 1.37 4.95 0z';\n break;\n\n case 'share-alt':\n path = 'M16.22 5.8c.47.69.29 1.62-.4 2.08-.69.47-1.62.29-2.08-.4-.16-.24-.35-.46-.55-.67-.21-.2-.43-.39-.67-.55s-.5-.3-.77-.41c-.27-.12-.55-.21-.84-.26-.59-.13-1.23-.13-1.82-.01-.29.06-.57.15-.84.27-.27.11-.53.25-.77.41s-.46.35-.66.55c-.21.21-.4.43-.56.67s-.3.5-.41.76c-.01.02-.01.03-.01.04-.1.24-.17.48-.23.72H1V6h2.66c.04-.07.07-.13.12-.2.27-.4.57-.77.91-1.11s.72-.65 1.11-.91c.4-.27.83-.51 1.28-.7s.93-.34 1.41-.43c.99-.21 2.03-.21 3.02 0 .48.09.96.24 1.41.43s.88.43 1.28.7c.39.26.77.57 1.11.91s.64.71.91 1.11zM12.5 10c0-1.38-1.12-2.5-2.5-2.5S7.5 8.62 7.5 10s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5zm-8.72 4.2c-.47-.69-.29-1.62.4-2.09.69-.46 1.62-.28 2.08.41.16.24.35.46.55.67.21.2.43.39.67.55s.5.3.77.41c.27.12.55.2.84.26.59.13 1.23.12 1.82 0 .29-.06.57-.14.84-.26.27-.11.53-.25.77-.41s.46-.35.66-.55c.21-.21.4-.44.56-.67.16-.25.3-.5.41-.76.01-.02.01-.03.01-.04.1-.24.17-.48.23-.72H19v3h-2.66c-.04.06-.07.13-.12.2-.27.4-.57.77-.91 1.11s-.72.65-1.11.91c-.4.27-.83.51-1.28.7s-.93.33-1.41.43c-.99.21-2.03.21-3.02 0-.48-.1-.96-.24-1.41-.43s-.88-.43-1.28-.7c-.39-.26-.77-.57-1.11-.91s-.64-.71-.91-1.11z';\n break;\n\n case 'share-alt2':\n path = 'M18 8l-5 4V9.01c-2.58.06-4.88.45-7 2.99.29-3.57 2.66-5.66 7-5.94V3zM4 14h11v-2l2-1.6V16H2V5h9.43c-1.83.32-3.31 1-4.41 2H4v7z';\n break;\n\n case 'share':\n path = 'M14.5 12c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.24.03-.46.09-.69l-4.38-2.3c-.55.61-1.33.99-2.21.99-1.66 0-3-1.34-3-3s1.34-3 3-3c.88 0 1.66.39 2.21.99l4.38-2.3c-.06-.23-.09-.45-.09-.69 0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-.88 0-1.66-.39-2.21-.99l-4.38 2.3c.06.23.09.45.09.69s-.03.46-.09.69l4.38 2.3c.55-.61 1.33-.99 2.21-.99z';\n break;\n\n case 'shield-alt':\n path = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2z';\n break;\n\n case 'shield':\n path = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2zm0 8h5s1-1 1-5c0 0-5-1-6-2v7H5c1 4 5 7 5 7v-7z';\n break;\n\n case 'shortcode':\n path = 'M6 14H4V6h2V4H2v12h4M7.1 17h2.1l3.7-14h-2.1M14 4v2h2v8h-2v2h4V4';\n break;\n\n case 'slides':\n path = 'M5 14V6h10v8H5zm-3-1V7h2v6H2zm4-6v6h8V7H6zm10 0h2v6h-2V7zm-3 2V8H7v1h6zm0 3v-2H7v2h6z';\n break;\n\n case 'smartphone':\n path = 'M6 2h8c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm7 12V4H7v10h6zM8 5h4l-4 5V5z';\n break;\n\n case 'smiley':\n path = 'M7 5.2c1.1 0 2 .89 2 2 0 .37-.11.71-.28 1C8.72 8.2 8 8 7 8s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.9-2 2-2zm6 0c1.11 0 2 .89 2 2 0 .37-.11.71-.28 1 0 0-.72-.2-1.72-.2s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.89-2 2-2zm-3 13.7c3.72 0 7.03-2.36 8.23-5.88l-1.32-.46C15.9 15.52 13.12 17.5 10 17.5s-5.9-1.98-6.91-4.94l-1.32.46c1.2 3.52 4.51 5.88 8.23 5.88z';\n break;\n\n case 'sort':\n path = 'M11 7H1l5 7zm-2 7h10l-5-7z';\n break;\n\n case 'sos':\n path = 'M18 10c0-4.42-3.58-8-8-8s-8 3.58-8 8 3.58 8 8 8 8-3.58 8-8zM7.23 3.57L8.72 7.3c-.62.29-1.13.8-1.42 1.42L3.57 7.23c.71-1.64 2.02-2.95 3.66-3.66zm9.2 3.66L12.7 8.72c-.29-.62-.8-1.13-1.42-1.42l1.49-3.73c1.64.71 2.95 2.02 3.66 3.66zM10 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm-6.43.77l3.73-1.49c.29.62.8 1.13 1.42 1.42l-1.49 3.73c-1.64-.71-2.95-2.02-3.66-3.66zm9.2 3.66l-1.49-3.73c.62-.29 1.13-.8 1.42-1.42l3.73 1.49c-.71 1.64-2.02 2.95-3.66 3.66z';\n break;\n\n case 'star-empty':\n path = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88l-4.68 2.34.87-5.15-3.18-3.56 4.65-.58z';\n break;\n\n case 'star-filled':\n path = 'M10 1l3 6 6 .75-4.12 4.62L16 19l-6-3-6 3 1.13-6.63L1 7.75 7 7z';\n break;\n\n case 'star-half':\n path = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88V3.24z';\n break;\n\n case 'sticky':\n path = 'M5 3.61V1.04l8.99-.01-.01 2.58c-1.22.26-2.16 1.35-2.16 2.67v.5c.01 1.31.93 2.4 2.17 2.66l-.01 2.58h-3.41l-.01 2.57c0 .6-.47 4.41-1.06 4.41-.6 0-1.08-3.81-1.08-4.41v-2.56L5 12.02l.01-2.58c1.23-.25 2.15-1.35 2.15-2.66v-.5c0-1.31-.92-2.41-2.16-2.67z';\n break;\n\n case 'store':\n path = 'M1 10c.41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.51.43.54 0 1.08-.14 1.49-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.63-.46 1-1.17 1-2V7l-3-7H4L0 7v1c0 .83.37 1.54 1 2zm2 8.99h5v-5h4v5h5v-7c-.37-.05-.72-.22-1-.43-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.49.44-.55 0-1.1-.14-1.51-.44-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.5.44-.54 0-1.09-.14-1.5-.44-.63-.45-1-.73-1-1.57 0 .84-.38 1.12-1 1.57-.29.21-.63.38-1 .44v6.99z';\n break;\n\n case 'table-col-after':\n path = 'M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z';\n break;\n\n case 'table-col-before':\n path = 'M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z';\n break;\n\n case 'table-col-delete':\n path = 'M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z';\n break;\n\n case 'table-row-after':\n path = 'M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z';\n break;\n\n case 'table-row-before':\n path = 'M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z';\n break;\n\n case 'table-row-delete':\n path = 'M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z';\n break;\n\n case 'tablet':\n path = 'M4 2h12c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H4c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm11 14V4H5v12h10zM6 5h6l-6 5V5z';\n break;\n\n case 'tag':\n path = 'M11 2h7v7L8 19l-7-7zm3 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z';\n break;\n\n case 'tagcloud':\n path = 'M11 3v4H1V3h10zm8 0v4h-7V3h7zM7 8v3H1V8h6zm12 0v3H8V8h11zM9 12v2H1v-2h8zm10 0v2h-9v-2h9zM6 15v1H1v-1h5zm5 0v1H7v-1h4zm3 0v1h-2v-1h2zm5 0v1h-4v-1h4z';\n break;\n\n case 'testimonial':\n path = 'M4 3h12c.55 0 1.02.2 1.41.59S18 4.45 18 5v7c0 .55-.2 1.02-.59 1.41S16.55 14 16 14h-1l-5 5v-5H4c-.55 0-1.02-.2-1.41-.59S2 12.55 2 12V5c0-.55.2-1.02.59-1.41S3.45 3 4 3zm11 2H4v1h11V5zm1 3H4v1h12V8zm-3 3H4v1h9v-1z';\n break;\n\n case 'text':\n path = 'M18 3v2H2V3h16zm-6 4v2H2V7h10zm6 0v2h-4V7h4zM8 11v2H2v-2h6zm10 0v2h-8v-2h8zm-4 4v2H2v-2h12z';\n break;\n\n case 'thumbs-down':\n path = 'M7.28 18c-.15.02-.26-.02-.41-.07-.56-.19-.83-.79-.66-1.35.17-.55 1-3.04 1-3.58 0-.53-.75-1-1.35-1h-3c-.6 0-1-.4-1-1s2-7 2-7c.17-.39.55-1 1-1H14v9h-2.14c-.41.41-3.3 4.71-3.58 5.27-.21.41-.6.68-1 .73zM18 12h-2V3h2v9z';\n break;\n\n case 'thumbs-up':\n path = 'M12.72 2c.15-.02.26.02.41.07.56.19.83.79.66 1.35-.17.55-1 3.04-1 3.58 0 .53.75 1 1.35 1h3c.6 0 1 .4 1 1s-2 7-2 7c-.17.39-.55 1-1 1H6V8h2.14c.41-.41 3.3-4.71 3.58-5.27.21-.41.6-.68 1-.73zM2 8h2v9H2V8z';\n break;\n\n case 'tickets-alt':\n path = 'M20 6.38L18.99 9.2v-.01c-.52-.19-1.03-.16-1.53.08s-.85.62-1.04 1.14-.16 1.03.07 1.53c.24.5.62.84 1.15 1.03v.01l-1.01 2.82-15.06-5.38.99-2.79c.52.19 1.03.16 1.53-.08.5-.23.84-.61 1.03-1.13s.16-1.03-.08-1.53c-.23-.49-.61-.83-1.13-1.02L4.93 1zm-4.97 5.69l1.37-3.76c.12-.31.1-.65-.04-.95s-.39-.53-.7-.65L8.14 3.98c-.64-.23-1.37.12-1.6.74L5.17 8.48c-.24.65.1 1.37.74 1.6l7.52 2.74c.14.05.28.08.43.08.52 0 1-.33 1.17-.83zM7.97 4.45l7.51 2.73c.19.07.34.21.43.39.08.18.09.38.02.57l-1.37 3.76c-.13.38-.58.59-.96.45L6.09 9.61c-.39-.14-.59-.57-.45-.96l1.37-3.76c.1-.29.39-.49.7-.49.09 0 .17.02.26.05zm6.82 12.14c.35.27.75.41 1.2.41H16v3H0v-2.96c.55 0 1.03-.2 1.41-.59.39-.38.59-.86.59-1.41s-.2-1.02-.59-1.41-.86-.59-1.41-.59V10h1.05l-.28.8 2.87 1.02c-.51.16-.89.62-.89 1.18v4c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25v-1.75l.83.3c.12.43.36.78.71 1.04zM3.25 17v-4c0-.41.34-.75.75-.75h.83l7.92 2.83V17c0 .41-.34.75-.75.75H4c-.41 0-.75-.34-.75-.75z';\n break;\n\n case 'tickets':\n path = 'M20 5.38L18.99 8.2v-.01c-1.04-.37-2.19.18-2.57 1.22-.37 1.04.17 2.19 1.22 2.56v.01l-1.01 2.82L1.57 9.42l.99-2.79c1.04.38 2.19-.17 2.56-1.21s-.17-2.18-1.21-2.55L4.93 0zm-5.45 3.37c.74-2.08-.34-4.37-2.42-5.12-2.08-.74-4.37.35-5.11 2.42-.74 2.08.34 4.38 2.42 5.12 2.07.74 4.37-.35 5.11-2.42zm-2.56-4.74c.89.32 1.57.94 1.97 1.71-.01-.01-.02-.01-.04-.02-.33-.12-.67.09-.78.4-.1.28-.03.57.05.91.04.27.09.62-.06 1.04-.1.29-.33.58-.65 1l-.74 1.01.08-4.08.4.11c.19.04.26-.24.08-.29 0 0-.57-.15-.92-.28-.34-.12-.88-.36-.88-.36-.18-.08-.3.19-.12.27 0 0 .16.08.34.16l.01 1.63L9.2 9.18l.08-4.11c.2.06.4.11.4.11.19.04.26-.23.07-.29 0 0-.56-.15-.91-.28-.07-.02-.14-.05-.22-.08.93-.7 2.19-.94 3.37-.52zM7.4 6.19c.17-.49.44-.92.78-1.27l.04 5c-.94-.95-1.3-2.39-.82-3.73zm4.04 4.75l2.1-2.63c.37-.41.57-.77.69-1.12.05-.12.08-.24.11-.35.09.57.04 1.18-.17 1.77-.45 1.25-1.51 2.1-2.73 2.33zm-.7-3.22l.02 3.22c0 .02 0 .04.01.06-.4 0-.8-.07-1.2-.21-.33-.12-.63-.28-.9-.48zm1.24 6.08l2.1.75c.24.84 1 1.45 1.91 1.45H16v3H0v-2.96c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2V9h1.05l-.28.8 4.28 1.52C4.4 12.03 4 12.97 4 14c0 2.21 1.79 4 4 4s4-1.79 4-4c0-.07-.02-.13-.02-.2zm-6.53-2.33l1.48.53c-.14.04-.15.27.03.28 0 0 .18.02.37.03l.56 1.54-.78 2.36-1.31-3.9c.21-.01.41-.03.41-.03.19-.02.17-.31-.02-.3 0 0-.59.05-.96.05-.07 0-.15 0-.23-.01.13-.2.28-.38.45-.55zM4.4 14c0-.52.12-1.02.32-1.46l1.71 4.7C5.23 16.65 4.4 15.42 4.4 14zm4.19-1.41l1.72.62c.07.17.12.37.12.61 0 .31-.12.66-.28 1.16l-.35 1.2zM11.6 14c0 1.33-.72 2.49-1.79 3.11l1.1-3.18c.06-.17.1-.31.14-.46l.52.19c.02.11.03.22.03.34zm-4.62 3.45l1.08-3.14 1.11 3.03c.01.02.01.04.02.05-.37.13-.77.21-1.19.21-.35 0-.69-.06-1.02-.15z';\n break;\n\n case 'tide':\n path = 'M17 7.2V3H3v7.1c2.6-.5 4.5-1.5 6.4-2.6.2-.2.4-.3.6-.5v3c-1.9 1.1-4 2.2-7 2.8V17h14V9.9c-2.6.5-4.4 1.5-6.2 2.6-.3.1-.5.3-.8.4V10c2-1.1 4-2.2 7-2.8z';\n break;\n\n case 'translation':\n path = 'M11 7H9.49c-.63 0-1.25.3-1.59.7L7 5H4.13l-2.39 7h1.69l.74-2H7v4H2c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h7c1.1 0 2 .9 2 2v2zM6.51 9H4.49l1-2.93zM10 8h7c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-7c-1.1 0-2-.9-2-2v-7c0-1.1.9-2 2-2zm7.25 5v-1.08h-3.17V9.75h-1.16v2.17H9.75V13h1.28c.11.85.56 1.85 1.28 2.62-.87.36-1.89.62-2.31.62-.01.02.22.97.2 1.46.84 0 2.21-.5 3.28-1.15 1.09.65 2.48 1.15 3.34 1.15-.02-.49.2-1.44.2-1.46-.43 0-1.49-.27-2.38-.63.7-.77 1.14-1.77 1.25-2.61h1.36zm-3.81 1.93c-.5-.46-.85-1.13-1.01-1.93h2.09c-.17.8-.51 1.47-1 1.93l-.04.03s-.03-.02-.04-.03z';\n break;\n\n case 'trash':\n path = 'M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z';\n break;\n\n case 'twitter':\n path = 'M18.94 4.46c-.49.73-1.11 1.38-1.83 1.9.01.15.01.31.01.47 0 4.85-3.69 10.44-10.43 10.44-2.07 0-4-.61-5.63-1.65.29.03.58.05.88.05 1.72 0 3.3-.59 4.55-1.57-1.6-.03-2.95-1.09-3.42-2.55.22.04.45.07.69.07.33 0 .66-.05.96-.13-1.67-.34-2.94-1.82-2.94-3.6v-.04c.5.27 1.06.44 1.66.46-.98-.66-1.63-1.78-1.63-3.06 0-.67.18-1.3.5-1.84 1.81 2.22 4.51 3.68 7.56 3.83-.06-.27-.1-.55-.1-.84 0-2.02 1.65-3.66 3.67-3.66 1.06 0 2.01.44 2.68 1.16.83-.17 1.62-.47 2.33-.89-.28.85-.86 1.57-1.62 2.02.75-.08 1.45-.28 2.11-.57z';\n break;\n\n case 'undo':\n path = 'M12 5H7V2L1 6l6 4V7h5c2.2 0 4 1.8 4 4s-1.8 4-4 4H7v2h5c3.3 0 6-2.7 6-6s-2.7-6-6-6z';\n break;\n\n case 'universal-access-alt':\n path = 'M19 10c0-4.97-4.03-9-9-9s-9 4.03-9 9 4.03 9 9 9 9-4.03 9-9zm-9-7.4c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n break;\n\n case 'universal-access':\n path = 'M10 2.6c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n break;\n\n case 'unlock':\n path = 'M12 9V6c0-1.1-.9-2-2-2s-2 .9-2 2H6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h7zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n break;\n\n case 'update':\n path = 'M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z';\n break;\n\n case 'upload':\n path = 'M8 14V8H5l5-6 5 6h-3v6H8zm-2 2v-6H4v8h12.01v-8H14v6H6z';\n break;\n\n case 'vault':\n path = 'M18 17V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-1 0H3V3h14v14zM4.75 4h10.5c.41 0 .75.34.75.75V6h-1v3h1v2h-1v3h1v1.25c0 .41-.34.75-.75.75H4.75c-.41 0-.75-.34-.75-.75V4.75c0-.41.34-.75.75-.75zM13 10c0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4 4-1.79 4-4zM9 7l.77 1.15C10.49 8.46 11 9.17 11 10c0 1.1-.9 2-2 2s-2-.9-2-2c0-.83.51-1.54 1.23-1.85z';\n break;\n\n case 'video-alt':\n path = 'M8 5c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1 0 .57.49 1 1 1h5c.55 0 1-.45 1-1zm6 5l4-4v10l-4-4v-2zm-1 4V8c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h8c.55 0 1-.45 1-1z';\n break;\n\n case 'video-alt2':\n path = 'M12 13V7c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2zm1-2.5l6 4.5V5l-6 4.5v1z';\n break;\n\n case 'video-alt3':\n path = 'M19 15V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2zM8 14V6l6 4z';\n break;\n\n case 'visibility':\n path = 'M19.7 9.4C17.7 6 14 3.9 10 3.9S2.3 6 .3 9.4L0 10l.3.6c2 3.4 5.7 5.5 9.7 5.5s7.7-2.1 9.7-5.5l.3-.6-.3-.6zM10 14.1c-3.1 0-6-1.6-7.7-4.1C3.6 8 5.7 6.6 8 6.1c-.9.6-1.5 1.7-1.5 2.9 0 1.9 1.6 3.5 3.5 3.5s3.5-1.6 3.5-3.5c0-1.2-.6-2.3-1.5-2.9 2.3.5 4.4 1.9 5.7 3.9-1.7 2.5-4.6 4.1-7.7 4.1z';\n break;\n\n case 'warning':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1.13 9.38l.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z';\n break;\n\n case 'welcome-add-page':\n path = 'M17 7V4h-2V2h-3v1H3v15h11V9h1V7h2zm-1-2v1h-2v2h-1V6h-2V5h2V3h1v2h2z';\n break;\n\n case 'welcome-comments':\n path = 'M5 2h10c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2zm8.5 8.5L11 8l2.5-2.5-1-1L10 7 7.5 4.5l-1 1L9 8l-2.5 2.5 1 1L10 9l2.5 2.5z';\n break;\n\n case 'welcome-learn-more':\n path = 'M10 10L2.54 7.02 3 18H1l.48-11.41L0 6l10-4 10 4zm0-5c-.55 0-1 .22-1 .5s.45.5 1 .5 1-.22 1-.5-.45-.5-1-.5zm0 6l5.57-2.23c.71.94 1.2 2.07 1.36 3.3-.3-.04-.61-.07-.93-.07-2.55 0-4.78 1.37-6 3.41C8.78 13.37 6.55 12 4 12c-.32 0-.63.03-.93.07.16-1.23.65-2.36 1.36-3.3z';\n break;\n\n case 'welcome-view-site':\n path = 'M18 14V4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-8-8c2.3 0 4.4 1.14 6 3-1.6 1.86-3.7 3-6 3s-4.4-1.14-6-3c1.6-1.86 3.7-3 6-3zm2 3c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm2 8h3v1H3v-1h3v-1h8v1z';\n break;\n\n case 'welcome-widgets-menus':\n path = 'M19 16V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v13c0 .55.45 1 1 1h15c.55 0 1-.45 1-1zM4 4h13v4H4V4zm1 1v2h3V5H5zm4 0v2h3V5H9zm4 0v2h3V5h-3zm-8.5 5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 10h4v1H6v-1zm6 0h5v5h-5v-5zm-7.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 12h4v1H6v-1zm7 0v2h3v-2h-3zm-8.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 14h4v1H6v-1z';\n break;\n\n case 'welcome-write-blog':\n path = 'M16.89 1.2l1.41 1.41c.39.39.39 1.02 0 1.41L14 8.33V18H3V3h10.67l1.8-1.8c.4-.39 1.03-.4 1.42 0zm-5.66 8.48l5.37-5.36-1.42-1.42-5.36 5.37-.71 2.12z';\n break;\n\n case 'wordpress-alt':\n path = 'M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z';\n break;\n\n case 'wordpress':\n path = 'M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z';\n break;\n\n case 'yes-alt':\n path = 'M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm-.615 12.66h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4 5.14-5.93 1.34.94-5.81 8.38z';\n break;\n\n case 'yes':\n path = 'M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z';\n break;\n }\n\n if (!path) {\n return null;\n }\n\n var iconClass = ['dashicon', 'dashicons-' + icon, className].filter(Boolean).join(' ');\n return createElement(SVG, _extends({\n \"aria-hidden\": true,\n role: \"img\",\n focusable: \"false\",\n className: iconClass,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 20 20\"\n }, extraProps), createElement(Path, {\n d: path\n }));\n }\n }]);\n\n return Dashicon;\n}(Component);\n\nexport { Dashicon as default };\n//# sourceMappingURL=index.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, createElement, Component, isValidElement } from '@wordpress/element';\nimport { SVG } from '@wordpress/primitives';\n/**\n * Internal dependencies\n */\n\nimport Dashicon from '../dashicon';\n\nfunction Icon(_ref) {\n var _ref$icon = _ref.icon,\n icon = _ref$icon === void 0 ? null : _ref$icon,\n size = _ref.size,\n additionalProps = _objectWithoutProperties(_ref, [\"icon\", \"size\"]);\n\n // Dashicons should be 20x20 by default.\n var dashiconSize = size || 20;\n\n if ('string' === typeof icon) {\n return createElement(Dashicon, _extends({\n icon: icon,\n size: dashiconSize\n }, additionalProps));\n }\n\n if (icon && Dashicon === icon.type) {\n return cloneElement(icon, _objectSpread({\n size: dashiconSize\n }, additionalProps));\n } // Icons should be 24x24 by default.\n\n\n var iconSize = size || 24;\n\n if ('function' === typeof icon) {\n if (icon.prototype instanceof Component) {\n return createElement(icon, _objectSpread({\n size: iconSize\n }, additionalProps));\n }\n\n return icon(_objectSpread({\n size: iconSize\n }, additionalProps));\n }\n\n if (icon && (icon.type === 'svg' || icon.type === SVG)) {\n var appliedProps = _objectSpread({\n width: iconSize,\n height: iconSize\n }, icon.props, {}, additionalProps);\n\n return createElement(SVG, appliedProps);\n }\n\n if (isValidElement(icon)) {\n return cloneElement(icon, _objectSpread({\n size: iconSize\n }, additionalProps));\n }\n\n return icon;\n}\n\nexport default Icon;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createForOfIteratorHelper(o) { if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(n); 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\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isArray } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\nvar disabledEventsOnDisabledButton = ['onMouseDown', 'onClick'];\nexport function Button(props, ref) {\n var href = props.href,\n target = props.target,\n isPrimary = props.isPrimary,\n isLarge = props.isLarge,\n isSmall = props.isSmall,\n isTertiary = props.isTertiary,\n isPressed = props.isPressed,\n isBusy = props.isBusy,\n isDefault = props.isDefault,\n isSecondary = props.isSecondary,\n isLink = props.isLink,\n isDestructive = props.isDestructive,\n className = props.className,\n disabled = props.disabled,\n icon = props.icon,\n iconSize = props.iconSize,\n showTooltip = props.showTooltip,\n tooltipPosition = props.tooltipPosition,\n shortcut = props.shortcut,\n label = props.label,\n children = props.children,\n isFocusable = props.__experimentalIsFocusable,\n additionalProps = _objectWithoutProperties(props, [\"href\", \"target\", \"isPrimary\", \"isLarge\", \"isSmall\", \"isTertiary\", \"isPressed\", \"isBusy\", \"isDefault\", \"isSecondary\", \"isLink\", \"isDestructive\", \"className\", \"disabled\", \"icon\", \"iconSize\", \"showTooltip\", \"tooltipPosition\", \"shortcut\", \"label\", \"children\", \"__experimentalIsFocusable\"]);\n\n if (isDefault) {\n deprecated('Button isDefault prop', {\n alternative: 'isSecondary'\n });\n }\n\n var classes = classnames('components-button', className, {\n 'is-secondary': isDefault || isSecondary,\n 'is-primary': isPrimary,\n 'is-large': isLarge,\n 'is-small': isSmall,\n 'is-tertiary': isTertiary,\n 'is-pressed': isPressed,\n 'is-busy': isBusy,\n 'is-link': isLink,\n 'is-destructive': isDestructive,\n 'has-text': !!icon && !!children,\n 'has-icon': !!icon\n });\n var trulyDisabled = disabled && !isFocusable;\n var Tag = href !== undefined && !trulyDisabled ? 'a' : 'button';\n var tagProps = Tag === 'a' ? {\n href: href,\n target: target\n } : {\n type: 'button',\n disabled: trulyDisabled,\n 'aria-pressed': isPressed\n };\n\n if (disabled && isFocusable) {\n // In this case, the button will be disabled, but still focusable and\n // perceivable by screen reader users.\n tagProps['aria-disabled'] = true;\n\n var _iterator = _createForOfIteratorHelper(disabledEventsOnDisabledButton),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var disabledEvent = _step.value;\n\n additionalProps[disabledEvent] = function (event) {\n event.stopPropagation();\n event.preventDefault();\n };\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } // Should show the tooltip if...\n\n\n var shouldShowTooltip = !trulyDisabled && ( // an explicit tooltip is passed or...\n showTooltip && label || // there's a shortcut or...\n shortcut || // there's a label and...\n !!label && ( // the children are empty and...\n !children || isArray(children) && !children.length) && // the tooltip is not explicitly disabled.\n false !== showTooltip);\n var element = createElement(Tag, _extends({}, tagProps, additionalProps, {\n className: classes,\n \"aria-label\": additionalProps['aria-label'] || label,\n ref: ref\n }), icon && createElement(Icon, {\n icon: icon,\n size: iconSize\n }), children);\n\n if (!shouldShowTooltip) {\n return element;\n }\n\n return createElement(Tooltip, {\n text: label,\n shortcut: shortcut,\n position: tooltipPosition\n }, element);\n}\nexport default forwardRef(Button);\n//# sourceMappingURL=index.js.map","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * Utility Functions\n */\n\n/**\n * renderAsRenderProps is used to wrap a component and convert\n * the passed property \"as\" either a string or component, to the\n * rendered tag if a string, or component.\n *\n * See VisuallyHidden hidden for example.\n *\n * @param {string|WPComponent} as A tag or component to render.\n * @return {WPComponent} The rendered component.\n */\nfunction renderAsRenderProps(_ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutProperties(_ref, [\"as\"]);\n\n if (typeof props.children === 'function') {\n return props.children(props);\n }\n\n return createElement(Component, props);\n}\n\nexport { renderAsRenderProps };\n//# sourceMappingURL=utils.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * Internal dependencies\n */\n\nimport { renderAsRenderProps } from './utils';\n/**\n * VisuallyHidden component to render text out non-visually\n * for use in devices such as a screen reader.\n */\n\nfunction VisuallyHidden(_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n props = _objectWithoutProperties(_ref, [\"as\", \"className\"]);\n\n return renderAsRenderProps(_objectSpread({\n as: as,\n className: classnames('components-visually-hidden', className)\n }, props));\n}\n\nexport default VisuallyHidden;\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { closeCircleFilled } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\n\nimport Button from '../button';\nimport VisuallyHidden from '../visually-hidden';\nexport default function Token(_ref) {\n var value = _ref.value,\n status = _ref.status,\n title = _ref.title,\n displayTransform = _ref.displayTransform,\n _ref$isBorderless = _ref.isBorderless,\n isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$onClickRemove = _ref.onClickRemove,\n onClickRemove = _ref$onClickRemove === void 0 ? noop : _ref$onClickRemove,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n messages = _ref.messages,\n termPosition = _ref.termPosition,\n termsCount = _ref.termsCount;\n var instanceId = useInstanceId(Token);\n var tokenClasses = classnames('components-form-token-field__token', {\n 'is-error': 'error' === status,\n 'is-success': 'success' === status,\n 'is-validating': 'validating' === status,\n 'is-borderless': isBorderless,\n 'is-disabled': disabled\n });\n\n var onClick = function onClick() {\n return onClickRemove({\n value: value\n });\n };\n\n var transformedValue = displayTransform(value);\n var termPositionAndCount = sprintf(\n /* translators: 1: term name, 2: term position in a set of terms, 3: total term set count. */\n __('%1$s (%2$s of %3$s)'), transformedValue, termPosition, termsCount);\n return createElement(\"span\", {\n className: tokenClasses,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n title: title\n }, createElement(\"span\", {\n className: \"components-form-token-field__token-text\",\n id: \"components-form-token-field__token-text-\".concat(instanceId)\n }, createElement(VisuallyHidden, {\n as: \"span\"\n }, termPositionAndCount), createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, transformedValue)), createElement(Button, {\n className: \"components-form-token-field__remove-token\",\n icon: closeCircleFilled,\n onClick: !disabled && onClick,\n label: messages.remove,\n \"aria-describedby\": \"components-form-token-field__token-text-\".concat(instanceId)\n }));\n}\n//# sourceMappingURL=token.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nvar TokenInput = /*#__PURE__*/function (_Component) {\n _inherits(TokenInput, _Component);\n\n var _super = _createSuper(TokenInput);\n\n function TokenInput() {\n var _this;\n\n _classCallCheck(this, TokenInput);\n\n _this = _super.apply(this, arguments);\n _this.onChange = _this.onChange.bind(_assertThisInitialized(_this));\n _this.bindInput = _this.bindInput.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(TokenInput, [{\n key: \"focus\",\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: \"hasFocus\",\n value: function hasFocus() {\n return this.input === document.activeElement;\n }\n }, {\n key: \"bindInput\",\n value: function bindInput(ref) {\n this.input = ref;\n }\n }, {\n key: \"onChange\",\n value: function onChange(event) {\n this.props.onChange({\n value: event.target.value\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n value = _this$props.value,\n isExpanded = _this$props.isExpanded,\n instanceId = _this$props.instanceId,\n selectedSuggestionIndex = _this$props.selectedSuggestionIndex,\n props = _objectWithoutProperties(_this$props, [\"value\", \"isExpanded\", \"instanceId\", \"selectedSuggestionIndex\"]);\n\n var size = value.length + 1;\n return createElement(\"input\", _extends({\n ref: this.bindInput,\n id: \"components-form-token-input-\".concat(instanceId),\n type: \"text\"\n }, props, {\n value: value,\n onChange: this.onChange,\n size: size,\n className: \"components-form-token-field__input\",\n role: \"combobox\",\n \"aria-expanded\": isExpanded,\n \"aria-autocomplete\": \"list\",\n \"aria-owns\": isExpanded ? \"components-form-token-suggestions-\".concat(instanceId) : undefined,\n \"aria-activedescendant\": selectedSuggestionIndex !== -1 ? \"components-form-token-suggestions-\".concat(instanceId, \"-\").concat(selectedSuggestionIndex) : undefined,\n \"aria-describedby\": \"components-form-token-suggestions-howto-\".concat(instanceId)\n }));\n }\n }]);\n\n return TokenInput;\n}(Component);\n\nexport default TokenInput;\n//# sourceMappingURL=token-input.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { withSafeTimeout } from '@wordpress/compose';\n\nvar SuggestionsList = /*#__PURE__*/function (_Component) {\n _inherits(SuggestionsList, _Component);\n\n var _super = _createSuper(SuggestionsList);\n\n function SuggestionsList() {\n var _this;\n\n _classCallCheck(this, SuggestionsList);\n\n _this = _super.apply(this, arguments);\n _this.handleMouseDown = _this.handleMouseDown.bind(_assertThisInitialized(_this));\n _this.bindList = _this.bindList.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(SuggestionsList, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this2 = this;\n\n // only have to worry about scrolling selected suggestion into view\n // when already expanded\n if (this.props.selectedIndex > -1 && this.props.scrollIntoView) {\n this.scrollingIntoView = true;\n scrollIntoView(this.list.children[this.props.selectedIndex], this.list, {\n onlyScrollIfNeeded: true\n });\n this.props.setTimeout(function () {\n _this2.scrollingIntoView = false;\n }, 100);\n }\n }\n }, {\n key: \"bindList\",\n value: function bindList(ref) {\n this.list = ref;\n }\n }, {\n key: \"handleHover\",\n value: function handleHover(suggestion) {\n var _this3 = this;\n\n return function () {\n if (!_this3.scrollingIntoView) {\n _this3.props.onHover(suggestion);\n }\n };\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(suggestion) {\n var _this4 = this;\n\n return function () {\n _this4.props.onSelect(suggestion);\n };\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(e) {\n // By preventing default here, we will not lose focus of when clicking a suggestion\n e.preventDefault();\n }\n }, {\n key: \"computeSuggestionMatch\",\n value: function computeSuggestionMatch(suggestion) {\n var match = this.props.displayTransform(this.props.match || '').toLocaleLowerCase();\n\n if (match.length === 0) {\n return null;\n }\n\n suggestion = this.props.displayTransform(suggestion);\n var indexOfMatch = suggestion.toLocaleLowerCase().indexOf(match);\n return {\n suggestionBeforeMatch: suggestion.substring(0, indexOfMatch),\n suggestionMatch: suggestion.substring(indexOfMatch, indexOfMatch + match.length),\n suggestionAfterMatch: suggestion.substring(indexOfMatch + match.length)\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n // We set `tabIndex` here because otherwise Firefox sets focus on this\n // div when tabbing off of the input in `TokenField` -- not really sure\n // why, since usually a div isn't focusable by default\n // TODO does this still apply now that it's a
    and not a
    ?\n return createElement(\"ul\", {\n ref: this.bindList,\n className: \"components-form-token-field__suggestions-list\",\n id: \"components-form-token-suggestions-\".concat(this.props.instanceId),\n role: \"listbox\"\n }, map(this.props.suggestions, function (suggestion, index) {\n var match = _this5.computeSuggestionMatch(suggestion);\n\n var classeName = classnames('components-form-token-field__suggestion', {\n 'is-selected': index === _this5.props.selectedIndex\n });\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n\n return createElement(\"li\", {\n id: \"components-form-token-suggestions-\".concat(_this5.props.instanceId, \"-\").concat(index),\n role: \"option\",\n className: classeName,\n key: suggestion,\n onMouseDown: _this5.handleMouseDown,\n onClick: _this5.handleClick(suggestion),\n onMouseEnter: _this5.handleHover(suggestion),\n \"aria-selected\": index === _this5.props.selectedIndex\n }, match ? createElement(\"span\", {\n \"aria-label\": _this5.props.displayTransform(suggestion)\n }, match.suggestionBeforeMatch, createElement(\"strong\", {\n className: \"components-form-token-field__suggestion-match\"\n }, match.suggestionMatch), match.suggestionAfterMatch) : _this5.props.displayTransform(suggestion));\n /* eslint-enable jsx-a11y/click-events-have-key-events */\n }));\n }\n }]);\n\n return SuggestionsList;\n}(Component);\n\nSuggestionsList.defaultProps = {\n match: '',\n onHover: function onHover() {},\n onSelect: function onSelect() {},\n suggestions: Object.freeze([])\n};\nexport default withSafeTimeout(SuggestionsList);\n//# sourceMappingURL=suggestions-list.js.map","/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * Build the live regions markup.\n *\n * @param {string} [ariaLive] Value for the 'aria-live' attribute; default: 'polite'.\n *\n * @return {HTMLDivElement} The ARIA live region HTML element.\n */\nexport default function addContainer() {\n var ariaLive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'polite';\n var container = document.createElement('div');\n container.id = \"a11y-speak-\".concat(ariaLive);\n container.className = 'a11y-speak-region';\n container.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;');\n container.setAttribute('aria-live', ariaLive);\n container.setAttribute('aria-relevant', 'additions text');\n container.setAttribute('aria-atomic', 'true');\n var _document = document,\n body = _document.body;\n\n if (body) {\n body.appendChild(container);\n }\n\n return container;\n}\n//# sourceMappingURL=add-container.js.map","/**\n * Clear the a11y-speak-region elements.\n */\nexport default function clear() {\n var regions = document.getElementsByClassName('a11y-speak-region');\n\n for (var i = 0; i < regions.length; i++) {\n regions[i].textContent = '';\n }\n}\n//# sourceMappingURL=clear.js.map","var previousMessage = '';\n/**\n * Filter the message to be announced to the screenreader.\n *\n * @param {string} message The message to be announced.\n *\n * @return {string} The filtered message.\n */\n\nexport default function filterMessage(message) {\n /*\n * Strip HTML tags (if any) from the message string. Ideally, messages should\n * be simple strings, carefully crafted for specific use with A11ySpeak.\n * When re-using already existing strings this will ensure simple HTML to be\n * stripped out and replaced with a space. Browsers will collapse multiple\n * spaces natively.\n */\n message = message.replace(/<[^<>]+>/g, ' ');\n\n if (previousMessage === message) {\n message += \"\\xA0\";\n }\n\n previousMessage = message;\n return message;\n}\n//# sourceMappingURL=filter-message.js.map","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n/**\n * Internal dependencies\n */\n\nimport addContainer from './add-container';\nimport clear from './clear';\nimport filterMessage from './filter-message';\n/**\n * Create the live regions.\n */\n\nexport function setup() {\n var containerAssertive = document.getElementById('a11y-speak-assertive');\n var containerPolite = document.getElementById('a11y-speak-polite');\n\n if (containerAssertive === null) {\n addContainer('assertive');\n }\n\n if (containerPolite === null) {\n addContainer('polite');\n }\n}\n/**\n * Run setup on domReady.\n */\n\ndomReady(setup);\n/**\n * Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions.\n * This module is inspired by the `speak` function in `wp-a11y.js`.\n *\n * @param {string} message The message to be announced by assistive technologies.\n * @param {string} [ariaLive] The politeness level for aria-live; default: 'polite'.\n *\n * @example\n * ```js\n * import { speak } from '@wordpress/a11y';\n *\n * // For polite messages that shouldn't interrupt what screen readers are currently announcing.\n * speak( 'The message you want to send to the ARIA live region' );\n *\n * // For assertive messages that should interrupt what screen readers are currently announcing.\n * speak( 'The message you want to send to the ARIA live region', 'assertive' );\n * ```\n */\n\nexport function speak(message, ariaLive) {\n // Clear previous messages to allow repeated strings being read out.\n clear();\n message = filterMessage(message);\n var containerAssertive = document.getElementById('a11y-speak-assertive');\n var containerPolite = document.getElementById('a11y-speak-polite');\n\n if (containerAssertive && ariaLive === 'assertive') {\n containerAssertive.textContent = message;\n } else if (containerPolite) {\n containerPolite.textContent = message;\n }\n}\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { speak as _speak } from '@wordpress/a11y';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n/**\n * A Higher Order Component used to be provide a unique instance ID by\n * component.\n *\n * @param {WPComponent} WrappedComponent The wrapped component.\n *\n * @return {WPComponent} The component to be rendered.\n */\n\nexport default createHigherOrderComponent(function (WrappedComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(_class, _Component);\n\n var _super = _createSuper(_class);\n\n function _class() {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _super.apply(this, arguments);\n _this.debouncedSpeak = debounce(_this.speak.bind(_assertThisInitialized(_this)), 500);\n return _this;\n }\n\n _createClass(_class, [{\n key: \"speak\",\n value: function speak(message) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'polite';\n\n _speak(message, type);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.debouncedSpeak.cancel();\n }\n }, {\n key: \"render\",\n value: function render() {\n return createElement(WrappedComponent, _extends({}, this.props, {\n speak: this.speak,\n debouncedSpeak: this.debouncedSpeak\n }));\n }\n }]);\n\n return _class;\n }(Component);\n}, 'withSpokenMessages');\n//# sourceMappingURL=index.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { last, take, clone, uniq, map, difference, each, identity, some } from 'lodash';\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { BACKSPACE, ENTER, UP, DOWN, LEFT, RIGHT, SPACE, DELETE, ESCAPE } from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n/**\n * Internal dependencies\n */\n\nimport Token from './token';\nimport TokenInput from './token-input';\nimport SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\nvar initialState = {\n incompleteTokenValue: '',\n inputOffsetFromEnd: 0,\n isActive: false,\n isExpanded: false,\n selectedSuggestionIndex: -1,\n selectedSuggestionScroll: false\n};\n\nvar FormTokenField = /*#__PURE__*/function (_Component) {\n _inherits(FormTokenField, _Component);\n\n var _super = _createSuper(FormTokenField);\n\n function FormTokenField() {\n var _this;\n\n _classCallCheck(this, FormTokenField);\n\n _this = _super.apply(this, arguments);\n _this.state = initialState;\n _this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_this));\n _this.onKeyPress = _this.onKeyPress.bind(_assertThisInitialized(_this));\n _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_this));\n _this.onBlur = _this.onBlur.bind(_assertThisInitialized(_this));\n _this.deleteTokenBeforeInput = _this.deleteTokenBeforeInput.bind(_assertThisInitialized(_this));\n _this.deleteTokenAfterInput = _this.deleteTokenAfterInput.bind(_assertThisInitialized(_this));\n _this.addCurrentToken = _this.addCurrentToken.bind(_assertThisInitialized(_this));\n _this.onContainerTouched = _this.onContainerTouched.bind(_assertThisInitialized(_this));\n _this.renderToken = _this.renderToken.bind(_assertThisInitialized(_this));\n _this.onTokenClickRemove = _this.onTokenClickRemove.bind(_assertThisInitialized(_this));\n _this.onSuggestionHovered = _this.onSuggestionHovered.bind(_assertThisInitialized(_this));\n _this.onSuggestionSelected = _this.onSuggestionSelected.bind(_assertThisInitialized(_this));\n _this.onInputChange = _this.onInputChange.bind(_assertThisInitialized(_this));\n _this.bindInput = _this.bindInput.bind(_assertThisInitialized(_this));\n _this.bindTokensAndInput = _this.bindTokensAndInput.bind(_assertThisInitialized(_this));\n _this.updateSuggestions = _this.updateSuggestions.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(FormTokenField, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // Make sure to focus the input when the isActive state is true.\n if (this.state.isActive && !this.input.hasFocus()) {\n this.input.focus();\n }\n\n var _this$props = this.props,\n suggestions = _this$props.suggestions,\n value = _this$props.value;\n var suggestionsDidUpdate = !isShallowEqual(suggestions, prevProps.suggestions);\n\n if (suggestionsDidUpdate || value !== prevProps.value) {\n this.updateSuggestions(suggestionsDidUpdate);\n }\n }\n }, {\n key: \"bindInput\",\n value: function bindInput(ref) {\n this.input = ref;\n }\n }, {\n key: \"bindTokensAndInput\",\n value: function bindTokensAndInput(ref) {\n this.tokensAndInput = ref;\n }\n }, {\n key: \"onFocus\",\n value: function onFocus(event) {\n // If focus is on the input or on the container, set the isActive state to true.\n if (this.input.hasFocus() || event.target === this.tokensAndInput) {\n this.setState({\n isActive: true\n });\n } else {\n /*\n * Otherwise, focus is on one of the token \"remove\" buttons and we\n * set the isActive state to false to prevent the input to be\n * re-focused, see componentDidUpdate().\n */\n this.setState({\n isActive: false\n });\n }\n\n if ('function' === typeof this.props.onFocus) {\n this.props.onFocus(event);\n }\n }\n }, {\n key: \"onBlur\",\n value: function onBlur() {\n if (this.inputHasValidValue()) {\n this.setState({\n isActive: false\n });\n } else {\n this.setState(initialState);\n }\n }\n }, {\n key: \"onKeyDown\",\n value: function onKeyDown(event) {\n var preventDefault = false;\n\n switch (event.keyCode) {\n case BACKSPACE:\n preventDefault = this.handleDeleteKey(this.deleteTokenBeforeInput);\n break;\n\n case ENTER:\n preventDefault = this.addCurrentToken();\n break;\n\n case LEFT:\n preventDefault = this.handleLeftArrowKey();\n break;\n\n case UP:\n preventDefault = this.handleUpArrowKey();\n break;\n\n case RIGHT:\n preventDefault = this.handleRightArrowKey();\n break;\n\n case DOWN:\n preventDefault = this.handleDownArrowKey();\n break;\n\n case DELETE:\n preventDefault = this.handleDeleteKey(this.deleteTokenAfterInput);\n break;\n\n case SPACE:\n if (this.props.tokenizeOnSpace) {\n preventDefault = this.addCurrentToken();\n }\n\n break;\n\n case ESCAPE:\n preventDefault = this.handleEscapeKey(event);\n event.stopPropagation();\n break;\n\n default:\n break;\n }\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onKeyPress\",\n value: function onKeyPress(event) {\n var preventDefault = false;\n\n switch (event.charCode) {\n case 44:\n // comma\n preventDefault = this.handleCommaKey();\n break;\n\n default:\n break;\n }\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onContainerTouched\",\n value: function onContainerTouched(event) {\n // Prevent clicking/touching the tokensAndInput container from blurring\n // the input and adding the current token.\n if (event.target === this.tokensAndInput && this.state.isActive) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onTokenClickRemove\",\n value: function onTokenClickRemove(event) {\n this.deleteToken(event.value);\n this.input.focus();\n }\n }, {\n key: \"onSuggestionHovered\",\n value: function onSuggestionHovered(suggestion) {\n var index = this.getMatchingSuggestions().indexOf(suggestion);\n\n if (index >= 0) {\n this.setState({\n selectedSuggestionIndex: index,\n selectedSuggestionScroll: false\n });\n }\n }\n }, {\n key: \"onSuggestionSelected\",\n value: function onSuggestionSelected(suggestion) {\n this.addNewToken(suggestion);\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(event) {\n var text = event.value;\n var separator = this.props.tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n var items = text.split(separator);\n var tokenValue = last(items) || '';\n\n if (items.length > 1) {\n this.addNewTokens(items.slice(0, -1));\n }\n\n this.setState({\n incompleteTokenValue: tokenValue\n }, this.updateSuggestions);\n this.props.onInputChange(tokenValue);\n }\n }, {\n key: \"handleDeleteKey\",\n value: function handleDeleteKey(deleteToken) {\n var preventDefault = false;\n\n if (this.input.hasFocus() && this.isInputEmpty()) {\n deleteToken();\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"handleLeftArrowKey\",\n value: function handleLeftArrowKey() {\n var preventDefault = false;\n\n if (this.isInputEmpty()) {\n this.moveInputBeforePreviousToken();\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"handleRightArrowKey\",\n value: function handleRightArrowKey() {\n var preventDefault = false;\n\n if (this.isInputEmpty()) {\n this.moveInputAfterNextToken();\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"handleUpArrowKey\",\n value: function handleUpArrowKey() {\n var _this2 = this;\n\n this.setState(function (state, props) {\n return {\n selectedSuggestionIndex: (state.selectedSuggestionIndex === 0 ? _this2.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length : state.selectedSuggestionIndex) - 1,\n selectedSuggestionScroll: true\n };\n });\n return true; // preventDefault\n }\n }, {\n key: \"handleDownArrowKey\",\n value: function handleDownArrowKey() {\n var _this3 = this;\n\n this.setState(function (state, props) {\n return {\n selectedSuggestionIndex: (state.selectedSuggestionIndex + 1) % _this3.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length,\n selectedSuggestionScroll: true\n };\n });\n return true; // preventDefault\n }\n }, {\n key: \"handleEscapeKey\",\n value: function handleEscapeKey(event) {\n this.setState({\n incompleteTokenValue: event.target.value,\n isExpanded: false,\n selectedSuggestionIndex: -1,\n selectedSuggestionScroll: false\n });\n return true; // preventDefault\n }\n }, {\n key: \"handleCommaKey\",\n value: function handleCommaKey() {\n if (this.inputHasValidValue()) {\n this.addNewToken(this.state.incompleteTokenValue);\n }\n\n return true; // preventDefault\n }\n }, {\n key: \"moveInputToIndex\",\n value: function moveInputToIndex(index) {\n this.setState(function (state, props) {\n return {\n inputOffsetFromEnd: props.value.length - Math.max(index, -1) - 1\n };\n });\n }\n }, {\n key: \"moveInputBeforePreviousToken\",\n value: function moveInputBeforePreviousToken() {\n this.setState(function (state, props) {\n return {\n inputOffsetFromEnd: Math.min(state.inputOffsetFromEnd + 1, props.value.length)\n };\n });\n }\n }, {\n key: \"moveInputAfterNextToken\",\n value: function moveInputAfterNextToken() {\n this.setState(function (state) {\n return {\n inputOffsetFromEnd: Math.max(state.inputOffsetFromEnd - 1, 0)\n };\n });\n }\n }, {\n key: \"deleteTokenBeforeInput\",\n value: function deleteTokenBeforeInput() {\n var index = this.getIndexOfInput() - 1;\n\n if (index > -1) {\n this.deleteToken(this.props.value[index]);\n }\n }\n }, {\n key: \"deleteTokenAfterInput\",\n value: function deleteTokenAfterInput() {\n var index = this.getIndexOfInput();\n\n if (index < this.props.value.length) {\n this.deleteToken(this.props.value[index]); // update input offset since it's the offset from the last token\n\n this.moveInputToIndex(index);\n }\n }\n }, {\n key: \"addCurrentToken\",\n value: function addCurrentToken() {\n var preventDefault = false;\n var selectedSuggestion = this.getSelectedSuggestion();\n\n if (selectedSuggestion) {\n this.addNewToken(selectedSuggestion);\n preventDefault = true;\n } else if (this.inputHasValidValue()) {\n this.addNewToken(this.state.incompleteTokenValue);\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"addNewTokens\",\n value: function addNewTokens(tokens) {\n var _this4 = this;\n\n var tokensToAdd = uniq(tokens.map(this.props.saveTransform).filter(Boolean).filter(function (token) {\n return !_this4.valueContainsToken(token);\n }));\n\n if (tokensToAdd.length > 0) {\n var newValue = clone(this.props.value);\n newValue.splice.apply(newValue, [this.getIndexOfInput(), 0].concat(tokensToAdd));\n this.props.onChange(newValue);\n }\n }\n }, {\n key: \"addNewToken\",\n value: function addNewToken(token) {\n this.addNewTokens([token]);\n this.props.speak(this.props.messages.added, 'assertive');\n this.setState({\n incompleteTokenValue: '',\n selectedSuggestionIndex: -1,\n selectedSuggestionScroll: false,\n isExpanded: false\n });\n\n if (this.state.isActive) {\n this.input.focus();\n }\n }\n }, {\n key: \"deleteToken\",\n value: function deleteToken(token) {\n var _this5 = this;\n\n var newTokens = this.props.value.filter(function (item) {\n return _this5.getTokenValue(item) !== _this5.getTokenValue(token);\n });\n this.props.onChange(newTokens);\n this.props.speak(this.props.messages.removed, 'assertive');\n }\n }, {\n key: \"getTokenValue\",\n value: function getTokenValue(token) {\n if ('object' === _typeof(token)) {\n return token.value;\n }\n\n return token;\n }\n }, {\n key: \"getMatchingSuggestions\",\n value: function getMatchingSuggestions() {\n var searchValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.incompleteTokenValue;\n var suggestions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.suggestions;\n var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.value;\n var maxSuggestions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props.maxSuggestions;\n var saveTransform = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.props.saveTransform;\n var match = saveTransform(searchValue);\n var startsWithMatch = [];\n var containsMatch = [];\n\n if (match.length === 0) {\n suggestions = difference(suggestions, value);\n } else {\n match = match.toLocaleLowerCase();\n each(suggestions, function (suggestion) {\n var index = suggestion.toLocaleLowerCase().indexOf(match);\n\n if (value.indexOf(suggestion) === -1) {\n if (index === 0) {\n startsWithMatch.push(suggestion);\n } else if (index > 0) {\n containsMatch.push(suggestion);\n }\n }\n });\n suggestions = startsWithMatch.concat(containsMatch);\n }\n\n return take(suggestions, maxSuggestions);\n }\n }, {\n key: \"getSelectedSuggestion\",\n value: function getSelectedSuggestion() {\n if (this.state.selectedSuggestionIndex !== -1) {\n return this.getMatchingSuggestions()[this.state.selectedSuggestionIndex];\n }\n }\n }, {\n key: \"valueContainsToken\",\n value: function valueContainsToken(token) {\n var _this6 = this;\n\n return some(this.props.value, function (item) {\n return _this6.getTokenValue(token) === _this6.getTokenValue(item);\n });\n }\n }, {\n key: \"getIndexOfInput\",\n value: function getIndexOfInput() {\n return this.props.value.length - this.state.inputOffsetFromEnd;\n }\n }, {\n key: \"isInputEmpty\",\n value: function isInputEmpty() {\n return this.state.incompleteTokenValue.length === 0;\n }\n }, {\n key: \"inputHasValidValue\",\n value: function inputHasValidValue() {\n return this.props.saveTransform(this.state.incompleteTokenValue).length > 0;\n }\n }, {\n key: \"updateSuggestions\",\n value: function updateSuggestions() {\n var resetSelectedSuggestion = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var incompleteTokenValue = this.state.incompleteTokenValue;\n var inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n var matchingSuggestions = this.getMatchingSuggestions(incompleteTokenValue);\n var hasMatchingSuggestions = matchingSuggestions.length > 0;\n var newState = {\n isExpanded: inputHasMinimumChars && hasMatchingSuggestions\n };\n\n if (resetSelectedSuggestion) {\n newState.selectedSuggestionIndex = -1;\n newState.selectedSuggestionScroll = false;\n }\n\n this.setState(newState);\n\n if (inputHasMinimumChars) {\n var debouncedSpeak = this.props.debouncedSpeak;\n var message = hasMatchingSuggestions ? sprintf(\n /* translators: %d: number of results. */\n _n('%d result found, use up and down arrow keys to navigate.', '%d results found, use up and down arrow keys to navigate.', matchingSuggestions.length), matchingSuggestions.length) : __('No results.');\n debouncedSpeak(message, 'assertive');\n }\n }\n }, {\n key: \"renderTokensAndInput\",\n value: function renderTokensAndInput() {\n var components = map(this.props.value, this.renderToken);\n components.splice(this.getIndexOfInput(), 0, this.renderInput());\n return components;\n }\n }, {\n key: \"renderToken\",\n value: function renderToken(token, index, tokens) {\n var value = this.getTokenValue(token);\n var status = token.status ? token.status : undefined;\n var termPosition = index + 1;\n var termsCount = tokens.length;\n return createElement(Token, {\n key: 'token-' + value,\n value: value,\n status: status,\n title: token.title,\n displayTransform: this.props.displayTransform,\n onClickRemove: this.onTokenClickRemove,\n isBorderless: token.isBorderless || this.props.isBorderless,\n onMouseEnter: token.onMouseEnter,\n onMouseLeave: token.onMouseLeave,\n disabled: 'error' !== status && this.props.disabled,\n messages: this.props.messages,\n termsCount: termsCount,\n termPosition: termPosition\n });\n }\n }, {\n key: \"renderInput\",\n value: function renderInput() {\n var _this$props2 = this.props,\n autoCapitalize = _this$props2.autoCapitalize,\n autoComplete = _this$props2.autoComplete,\n maxLength = _this$props2.maxLength,\n value = _this$props2.value,\n instanceId = _this$props2.instanceId;\n var props = {\n instanceId: instanceId,\n autoCapitalize: autoCapitalize,\n autoComplete: autoComplete,\n ref: this.bindInput,\n key: 'input',\n disabled: this.props.disabled,\n value: this.state.incompleteTokenValue,\n onBlur: this.onBlur,\n isExpanded: this.state.isExpanded,\n selectedSuggestionIndex: this.state.selectedSuggestionIndex\n };\n\n if (!(maxLength && value.length >= maxLength)) {\n props = _objectSpread({}, props, {\n onChange: this.onInputChange\n });\n }\n\n return createElement(TokenInput, props);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n disabled = _this$props3.disabled,\n _this$props3$label = _this$props3.label,\n label = _this$props3$label === void 0 ? __('Add item') : _this$props3$label,\n instanceId = _this$props3.instanceId,\n className = _this$props3.className;\n var isExpanded = this.state.isExpanded;\n var classes = classnames(className, 'components-form-token-field__input-container', {\n 'is-active': this.state.isActive,\n 'is-disabled': disabled\n });\n var tokenFieldProps = {\n className: 'components-form-token-field',\n tabIndex: '-1'\n };\n var matchingSuggestions = this.getMatchingSuggestions();\n\n if (!disabled) {\n tokenFieldProps = Object.assign({}, tokenFieldProps, {\n onKeyDown: this.onKeyDown,\n onKeyPress: this.onKeyPress,\n onFocus: this.onFocus\n });\n } // Disable reason: There is no appropriate role which describes the\n // input container intended accessible usability.\n // TODO: Refactor click detection to use blur to stop propagation.\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n\n\n return createElement(\"div\", tokenFieldProps, createElement(\"label\", {\n htmlFor: \"components-form-token-input-\".concat(instanceId),\n className: \"components-form-token-field__label\"\n }, label), createElement(\"div\", {\n ref: this.bindTokensAndInput,\n className: classes,\n tabIndex: \"-1\",\n onMouseDown: this.onContainerTouched,\n onTouchStart: this.onContainerTouched\n }, this.renderTokensAndInput(), isExpanded && createElement(SuggestionsList, {\n instanceId: instanceId,\n match: this.props.saveTransform(this.state.incompleteTokenValue),\n displayTransform: this.props.displayTransform,\n suggestions: matchingSuggestions,\n selectedIndex: this.state.selectedSuggestionIndex,\n scrollIntoView: this.state.selectedSuggestionScroll,\n onHover: this.onSuggestionHovered,\n onSelect: this.onSuggestionSelected\n })), createElement(\"p\", {\n id: \"components-form-token-suggestions-howto-\".concat(instanceId),\n className: \"components-form-token-field__help\"\n }, this.props.tokenizeOnSpace ? __('Separate with commas, spaces, or the Enter key.') : __('Separate with commas or the Enter key.')));\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if (!props.disabled || !state.isActive) {\n return null;\n }\n\n return {\n isActive: false,\n incompleteTokenValue: ''\n };\n }\n }]);\n\n return FormTokenField;\n}(Component);\n\nFormTokenField.defaultProps = {\n suggestions: Object.freeze([]),\n maxSuggestions: 100,\n value: Object.freeze([]),\n displayTransform: identity,\n saveTransform: function saveTransform(token) {\n return token.trim();\n },\n onChange: function onChange() {},\n onInputChange: function onInputChange() {},\n isBorderless: false,\n disabled: false,\n tokenizeOnSpace: false,\n messages: {\n added: __('Item added.'),\n removed: __('Item removed.'),\n remove: __('Remove item')\n }\n};\nexport default withSpokenMessages(withInstanceId(FormTokenField));\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\nexport default function Spinner() {\n return createElement(\"span\", {\n className: \"components-spinner\"\n });\n}\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { FormTokenField, Spinner } from '@wordpress/components';\n\n/**\n * An multi-selecting, api-driven autocomplete input suitable for use in block attributes.\n */\nclass AutocompleteTokenField extends Component {\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tsuggestions: [],\n\t\t\tvalidValues: {},\n\t\t\tloading: this.isFetchingInfoOnLoad(),\n\t\t};\n\n\t\tthis.debouncedUpdateSuggestions = debounce( this.updateSuggestions, 500 );\n\t}\n\n\t/**\n\t * If the component has tokens passed in props, it should fetch info after it mounts.\n\t */\n\tisFetchingInfoOnLoad() {\n\t\tconst { tokens, fetchSavedInfo } = this.props;\n\t\treturn Boolean( tokens.length && fetchSavedInfo );\n\t};\n\n\t/**\n\t * When the component loads, fetch information about the tokens so we can populate\n\t * the tokens with the correct labels.\n\t */\n\tcomponentDidMount() {\n\t\tif ( this.isFetchingInfoOnLoad() ) {\n\t\t\tconst { tokens, fetchSavedInfo } = this.props;\n\n\t\t\tfetchSavedInfo( tokens ).then( results => {\n\t\t\t\tconst { validValues } = this.state;\n\n\t\t\t\tresults.forEach( suggestion => {\n\t\t\t\t\tvalidValues[ suggestion.value ] = suggestion.label;\n\t\t\t\t} );\n\n\t\t\t\tthis.setState( { validValues, loading: false } );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Clean up any unfinished autocomplete api call requests.\n\t */\n\tcomponentWillUnmount() {\n\t\tdelete this.suggestionsRequest;\n\t\tthis.debouncedUpdateSuggestions.cancel();\n\t}\n\n\t/**\n\t * Get a list of labels for input values.\n\t *\n\t * @param {Array} values Array of values (ids, etc.).\n\t * @return {Array} array of valid labels corresponding to the values.\n\t */\n\tgetLabelsForValues( values ) {\n\t\tconst { validValues } = this.state;\n\t\treturn values.reduce(\n\t\t\t( accumulator, value ) =>\n\t\t\t\tvalidValues[ value ] ? [ ...accumulator, validValues[ value ] ] : accumulator,\n\t\t\t[]\n\t\t);\n\t}\n\n\t/**\n\t * Get a list of values for input labels.\n\t *\n\t * @param {Array} labels Array of labels from the tokens.\n\t * @return {Array} Array of valid values corresponding to the labels.\n\t */\n\tgetValuesForLabels( labels ) {\n\t\tconst { validValues } = this.state;\n\t\treturn labels.map( label =>\n\t\t\tObject.keys( validValues ).find( key => validValues[ key ] === label )\n\t\t);\n\t}\n\n\t/**\n\t * Refresh the autocomplete dropdown.\n\t *\n\t * @param {string} input Input to fetch suggestions for\n\t */\n\tupdateSuggestions( input ) {\n\t\tconst { fetchSuggestions } = this.props;\n\t\tif ( ! fetchSuggestions ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( { loading: true }, () => {\n\t\t\tconst request = fetchSuggestions( input );\n\t\t\trequest\n\t\t\t.then( suggestions => {\n\t\t\t\t// A fetch Promise doesn't have an abort option. It's mimicked by\n\t\t\t\t// comparing the request reference in on the instance, which is\n\t\t\t\t// reset or deleted on subsequent requests or unmounting.\n\t\t\t\tif ( this.suggestionsRequest !== request ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { validValues } = this.state;\n\t\t\t\tconst currentSuggestions = [];\n\n\t\t\t\tsuggestions.forEach( suggestion => {\n\t\t\t\t\tcurrentSuggestions.push( suggestion.label );\n\t\t\t\t\tvalidValues[ suggestion.value ] = suggestion.label;\n\t\t\t\t} );\n\n\t\t\t\tthis.setState( { suggestions: currentSuggestions, validValues, loading: false } );\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.suggestionsRequest === request ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tloading: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthis.suggestionsRequest = request;\n\t\t} );\n\t}\n\n\t/**\n\t * When a token is selected, we need to convert the string label into a recognized value suitable for saving as an attribute.\n\t *\n\t * @param {Array} tokenStrings An array of token label strings.\n\t */\n\thandleOnChange( tokenStrings ) {\n\t\tconst { onChange } = this.props;\n\t\tonChange( this.getValuesForLabels( tokenStrings ) );\n\t}\n\n\t/**\n\t * To populate the tokens, we need to convert the values into a human-readable label.\n\t *\n\t * @return {Array} An array of token label strings.\n\t */\n\tgetTokens() {\n\t\tconst { tokens } = this.props;\n\t\treturn this.getLabelsForValues( tokens );\n\t}\n\n\t/**\n\t * Render.\n\t */\n\trender() {\n\t\tconst { help, label = '' } = this.props;\n\t\tconst { suggestions, loading } = this.state;\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t this.handleOnChange( tokens ) }\n\t\t\t\t\tonInputChange={ input => this.debouncedUpdateSuggestions( input ) }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t/>\n\t\t\t\t{ loading && }\n\t\t\t\t{ help &&

    { help }

    }\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default AutocompleteTokenField;\n","import AutocompleteTokenField from \"../autocomplete-tokenfield\";\n\nconst apiFetch = wp.apiFetch;\nconst { addQueryArgs } = wp.url;\nconst { decodeEntities } = wp.htmlEntities;\nconst { __ } = wp.i18n;\n\nconst fetchPostSuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/search', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,title',\n\t\t\ttype: 'post',\n\t\t} ),\n\t} ).then( function( posts ) {\n\t\tconst result = posts.map( post => ( {\n\t\t\tvalue: post.id,\n\t\t\tlabel: decodeEntities( post.title ) || __( '(no title)' ),\n\t\t} ) );\n\t\treturn result;\n\t} );\n}\n\nconst fetchSavedPosts = ( postIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/posts', {\n\t\t\tper_page: 100,\n\t\t\tinclude: postIDs.join( ',' ),\n\t\t\t_fields: 'id,title',\n\t\t} ),\n\t} ).then( function( posts ) {\n\t\treturn posts.map( post => ( {\n\t\t\tvalue: post.id,\n\t\t\tlabel: decodeEntities( post.title.rendered ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n};\n\nconst ManualControls = ( props ) => {\n\n\tconst {\n\t\tloadingMode,\n\t\tspecificPosts,\n\t\tonSpecificPostsChange,\n\t} = props;\n\n\tif ( 'manual' !== loadingMode ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t)\n}\n\nexport default ManualControls;\n","const { QueryControls } = wp.components;\nconst apiFetch = wp.apiFetch;\nconst { addQueryArgs } = wp.url;\nconst { decodeEntities } = wp.htmlEntities;\n\nconst { __ } = wp.i18n;\nimport AutocompleteTokenField from \"../autocomplete-tokenfield\";\n\nconst fetchAuthorSuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/users', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,name',\n\t\t} ),\n\t} ).then( function( users ) {\n\t\treturn users.map( user => ( {\n\t\t\tvalue: user.id,\n\t\t\tlabel: decodeEntities( user.name ) || __( '(no name)' ),\n\t\t} ) );\n\t} );\n};\n\nconst fetchSavedAuthors = ( userIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/users', {\n\t\t\tper_page: 100,\n\t\t\tinclude: userIDs.join( ',' ),\n\t\t\t_fields: 'id,name',\n\t\t} ),\n\t} ).then( function( users ) {\n\t\treturn users.map( user => ( {\n\t\t\tvalue: user.id,\n\t\t\tlabel: decodeEntities( user.name ) || __( '(no name)' ),\n\t\t} ) );\n\t} );\n};\n\nconst fetchCategorySuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/categories', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,name',\n\t\t\torderby: 'count',\n\t\t\torder: 'desc',\n\t\t} ),\n\t} ).then( function( categories ) {\n\t\treturn categories.map( category => ( {\n\t\t\tvalue: category.id,\n\t\t\tlabel: decodeEntities( category.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst fetchSavedCategories = ( categoryIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/categories', {\n\t\t\tper_page: 100,\n\t\t\t_fields: 'id,name',\n\t\t\tinclude: categoryIDs.join( ',' ),\n\t\t} ),\n\t} ).then( function( categories ) {\n\t\treturn categories.map( category => ( {\n\t\t\tvalue: category.id,\n\t\t\tlabel: decodeEntities( category.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst fetchTagSuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/tags', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,name',\n\t\t\torderby: 'count',\n\t\t\torder: 'desc',\n\t\t} ),\n\t} ).then( function( tags ) {\n\t\treturn tags.map( tag => ( {\n\t\t\tvalue: tag.id,\n\t\t\tlabel: decodeEntities( tag.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst fetchSavedTags = ( tagIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/tags', {\n\t\t\tper_page: 100,\n\t\t\t_fields: 'id,name',\n\t\t\tinclude: tagIDs.join( ',' ),\n\t\t} ),\n\t} ).then( function( tags ) {\n\t\treturn tags.map( tag => ( {\n\t\t\tvalue: tag.id,\n\t\t\tlabel: decodeEntities( tag.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst AutomatedControls = ( props ) => {\n\n\tconst {\n\t\tauthors,\n\t\tonAuthorsChange,\n\t\tcategories,\n\t\tonCategoriesChange,\n\t\ttags,\n\t\tonTagsChange,\n\t\tloadingMode,\n\t} = props;\n\n\tif ( 'automated' !== loadingMode ) {\n\t\treturn null;\n\t}\n\n\treturn [\n\t\t,\n\t\tonAuthorsChange && (\n\t\t\t\n\t\t),\n\t\tonCategoriesChange && (\n\t\t\t\n\t\t),\n\t\tonTagsChange && (\n\t\t\t\n\t\t),\n\t]\n}\n\nexport default AutomatedControls;\n","/**\n * WordPress dependencies\n */\n\n\nconst { __ } = wp.i18n;\nconst { RadioControl } = wp.components;\n\nimport ManualControls from \"./manual-controls\";\nimport AutomatedControls from \"./automated-controls\";\n\nconst QueryControls = ( props ) => {\n\n\tconst {\n\t\tloadingMode,\n\t\tonLoadingModeChange,\n\t\tenableSpecific,\n\t} = props;\n\n\treturn [\n\t\tenableSpecific && (\n\t\t\t\n\t\t),\n\t\t,\n\t\t\n\t];\n}\n\nexport default QueryControls;\n","/**\n * External dependencies\n */\nimport { isUndefined, pickBy } from 'lodash';\n\n/**\n * Checks whether the specific post mode is active.\n *\n * @param {Object} attributes block attributes\n * @return {boolean} specific mode active flag\n */\nexport const isSpecificPostModeActive = ( { loadingMode, specificPosts } ) =>\n\t'manual' === loadingMode && specificPosts && specificPosts.length;\n\n/**\n * Builds query criteria from given attributes.\n *\n * @param {Object} attributes block attributes\n * @return {Object} criteria\n */\nexport const queryCriteriaFromAttributes = attributes => {\n\tconst { postsToShow, authors, categories, tags, specificPosts, tagExclusions } = attributes;\n\tconst criteria = pickBy(\n\t\tisSpecificPostModeActive( attributes )\n\t\t\t? {\n\t\t\t\tinclude: specificPosts,\n\t\t\t\torderby: 'include',\n\t\t\t\tper_page: specificPosts.length,\n\t\t\t}\n\t\t\t: {\n\t\t\t\tper_page: postsToShow,\n\t\t\t\tcategories,\n\t\t\t\tauthor: authors,\n\t\t\t\ttags,\n\t\t\t\ttags_exclude: tagExclusions,\n\t\t\t},\n\t\tvalue => ! isUndefined( value )\n\t);\n\treturn criteria;\n};\n","/**\n * External dependencies\n */\nimport { uniq } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tregisterStore,\n\tselect,\n\tsubscribe,\n\tdispatch\n} = wp.data;\n\n/**\n * Internal dependencies\n */\nexport const STORE_NAME = 'posts-collection';\n\nconst initialState = {\n\tqueryBlocks: [], // list of Query blocks in the order they are on the page\n\tpostsByBlock: {}, // map of returned posts to block clientId\n\tspecificPostsByBlock: {}, // posts displayed by specific-mode, which always return in the selector\n};\n\nconst UPDATE_BLOCKS = 'UPDATE_BLOCKS';\nconst MARK_POSTS_DISPLAYED = 'MARK_POSTS_DISPLAYED';\nconst MARK_SPECIFIC_POSTS_DISPLAYED = 'MARK_SPECIFIC_POSTS_DISPLAYED';\n\nconst actions = {\n\tupdateBlocks( blocks ) {\n\t\treturn {\n\t\t\ttype: UPDATE_BLOCKS,\n\t\t\tblocks,\n\t\t};\n\t},\n\tmarkPostsAsDisplayed( clientId, posts ) {\n\t\treturn {\n\t\t\ttype: MARK_POSTS_DISPLAYED,\n\t\t\tclientId,\n\t\t\tposts,\n\t\t};\n\t},\n\tmarkSpecificPostsAsDisplayed( clientId, posts ) {\n\t\treturn {\n\t\t\ttype: MARK_SPECIFIC_POSTS_DISPLAYED,\n\t\t\tclientId,\n\t\t\tposts,\n\t\t};\n\t},\n};\n\n/**\n * @typedef Block A Gutenberg editor block\n * @type {object}\n * @typedef uuid Unique id\n * @type {string}\n */\n\n/**\n * Returns the Query blocks that appear before the current one on the page\n *\n * @param {Block[]} orderedBlocks Ordered Blocks\n * @param {uuid} clientId client id\n * @returns {Block[]} blocks\n */\nconst blocksBefore = ( orderedBlocks, clientId ) => {\n\tconst ourBlockIdx = orderedBlocks.findIndex( b => b.clientId === clientId );\n\treturn orderedBlocks.slice( 0, ourBlockIdx );\n};\n\nconst selectors = {\n\tpreviousPostIds( state, _clientId ) {\n\t\tconst { queryBlocks, specificPostsByBlock, postsByBlock } = state;\n\n\t\tconst postIdsFromSpecificMode = queryBlocks\n\t\t.filter( ( { clientId } ) => specificPostsByBlock[ clientId ] )\n\t\t.flatMap( ( { clientId } ) => specificPostsByBlock[ clientId ].map( p => p.id ) );\n\n\t\tconst previousPostIds = blocksBefore( queryBlocks, _clientId )\n\t\t.filter( ( { clientId } ) => postsByBlock[ clientId ] )\n\t\t.flatMap( ( { clientId } ) => postsByBlock[ clientId ].map( p => p.id ) );\n\n\t\treturn uniq( postIdsFromSpecificMode.concat( previousPostIds ) ).sort();\n\t},\n};\n\nexport const registerQueryStore = blockName => {\n\t/**\n\t * Returns an array of all query blocks in the order they are on\n\t * the page. This is needed to be able to show the editor blocks in the order\n\t * that PHP will render them.\n\t *\n\t * @param {Block[]} blocks any blocks\n\t * @returns {Block[]} ordered query blocks\n\t */\n\tconst getQueryBlocksInOrder = blocks =>\n\t\tblocks.flatMap( block => {\n\t\t\tconst queryBlocks = [];\n\t\t\tif ( block.name === blockName ) {\n\t\t\t\tqueryBlocks.push( block );\n\t\t\t}\n\t\t\treturn queryBlocks.concat( getQueryBlocksInOrder( block.innerBlocks ) );\n\t\t} );\n\n\tconst reducer = ( state = initialState, action ) => {\n\t\tswitch ( action.type ) {\n\t\t\tcase UPDATE_BLOCKS:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tqueryBlocks: getQueryBlocksInOrder( action.blocks ),\n\t\t\t\t};\n\t\t\tcase MARK_POSTS_DISPLAYED:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tpostsByBlock: {\n\t\t\t\t\t\t...state.postsByBlock,\n\t\t\t\t\t\t[ action.clientId ]: action.posts,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tcase MARK_SPECIFIC_POSTS_DISPLAYED:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tspecificPostsByBlock: {\n\t\t\t\t\t\t...state.specificPostsByBlock,\n\t\t\t\t\t\t[ action.clientId ]: action.posts,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t\treturn state;\n\t};\n\tregisterStore( STORE_NAME, {\n\t\treducer,\n\t\tactions,\n\t\tselectors,\n\t\tinitialState,\n\t} );\n\n\tconst { getClientIdsWithDescendants, getBlocks } = select( 'core/block-editor' );\n\tconst { updateBlocks } = dispatch( STORE_NAME );\n\n\tlet currentBlocksIds;\n\tsubscribe( () => {\n\t\tconst newBlocksIds = getClientIdsWithDescendants();\n\t\t// I don't know why != works but it does, I guess getClientIdsWithDescendants is memoized?\n\t\tconst blocksChanged = newBlocksIds !== currentBlocksIds;\n\t\tcurrentBlocksIds = newBlocksIds;\n\n\t\tif ( blocksChanged ) {\n\t\t\tupdateBlocks( getBlocks() );\n\t\t}\n\t} );\n};\n","import { isUndefined, pickBy } from \"lodash\";\n\nimport QueryControls from '../../components/query-controls';\n\nimport {\n\tisSpecificPostModeActive,\n\tqueryCriteriaFromAttributes\n} from \"./utils\";\n\nimport { STORE_NAME, registerQueryStore } from \"./store\";\nimport {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\nregisterQueryStore( `novablocks/${ STORE_NAME }` );\n\nconst { __ } = wp.i18n;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\nconst { InspectorControls } = wp.blockEditor;\nconst { PanelBody } = wp.components;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\twithSelect,\n\twithDispatch,\n} = wp.data;\n\nconst enablePostsQueryControlsOnBlocks = [ 'novablocks/posts-collection' ];\n\nconst withPostsQueryControls = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! enablePostsQueryControlsOnBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\tconst {\n\t\t\tattributes,\n\t\t\tsetAttributes,\n\t\t} = props;\n\n\t\tconst {\n\t\t\tpostsToShow,\n\t\t\tloadingMode,\n\t\t\tspecificPosts,\n\t\t\tauthors,\n\t\t\tcategories,\n\t\t\ttags,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsetAttributes( { postsToShow: _postsToShow } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tloadingMode={ loadingMode }\n\t\t\t\t\t\t\tonLoadingModeChange={ _loadingMode =>\n\t\t\t\t\t\t\t\tsetAttributes( { loadingMode: _loadingMode } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tspecificPosts={ specificPosts }\n\t\t\t\t\t\t\tonSpecificPostsChange={ _specificPosts =>\n\t\t\t\t\t\t\t\tsetAttributes( { specificPosts: _specificPosts } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tauthors={ authors }\n\t\t\t\t\t\t\tonAuthorsChange={\n\t\t\t\t\t\t\t\t_authors => setAttributes( { authors: _authors } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\t\tonCategoriesChange={\n\t\t\t\t\t\t\t\t_categories => setAttributes( { categories: _categories } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttags={ tags }\n\t\t\t\t\t\t\tonTagsChange={ _tags => {\n\t\t\t\t\t\t\t\tsetAttributes( { tags: _tags } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n} );\n\nfunction withPostsQueryAttributes( block ) {\n\n\tif ( ! enablePostsQueryControlsOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes === 'undefined' ) {\n\t\tblock.attributes = {};\n\t}\n\n\tblock.attributes = Object.assign( block.attributes, {\n\t\tpostsToShow: {\n\t\t\ttype: \"integer\",\n\t\t\tdefault: 3\n\t\t},\n\t\tloadingMode: {\n\t\t\ttype: \"string\",\n\t\t\tdefault: \"automated\"\n\t\t},\n\t\tspecificPosts: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t\tauthors: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t\tcategories: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t\ttags: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t});\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/with-posts-query-attributes', withPostsQueryAttributes );\n\nconst withLatestPosts = compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, clientId } = props;\n\n\t\tconst latestPostsQuery = queryCriteriaFromAttributes( attributes );\n\n\t\tif ( ! isSpecificPostModeActive( attributes ) ) {\n\t\t\tconst postIdsToExclude = select( STORE_NAME ).previousPostIds( clientId );\n\t\t\tlatestPostsQuery.exclude = postIdsToExclude.join( ',' );\n\t\t}\n\n\t\treturn {\n\t\t\tposts: select( 'core' ).getEntityRecords( 'postType', 'post', latestPostsQuery )\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, props ) => {\n\t\tconst { attributes } = props;\n\t\tconst markPostsAsDisplayed = isSpecificPostModeActive( attributes )\n\t\t\t? dispatch( STORE_NAME ).markSpecificPostsAsDisplayed\n\t\t\t: dispatch( STORE_NAME ).markPostsAsDisplayed;\n\n\t\treturn {\n\t\t\tmarkPostsAsDisplayed,\n\t\t};\n\t} ),\n\twithPostsQueryControls\n] );\naddFilter( 'editor.BlockEdit', 'novablocks/with-latest-posts', withLatestPosts );\n\n","import advancedGalleryAttributes from '../../components/advanced-gallery/attributes';\n\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component, Fragment } = wp.element;\n\nconst enableAdvancedMediaAttributeOnBlocks = [\n\t'novablocks/media',\n\t'novablocks/advanced-gallery',\n];\n\nfunction addAdvancedGalleryAttributes( block ) {\n\n\tif ( ! enableAdvancedMediaAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, advancedGalleryAttributes );\n\t}\n\n\treturn block;\n}\n\naddFilter( 'blocks.registerBlockType', 'novablocks/add-advanced-gallery-attributes', addAdvancedGalleryAttributes );\n","import dopplerAttributes from '../../components/scrolling-effect-controls/attributes';\n\nconst { addFilter } = wp.hooks;\n\nconst enableDopplerAttributeOnBlocks = [\n\t'novablocks/hero',\n\t'novablocks/google-map',\n\t'novablocks/slideshow',\n];\n\nfunction addDopplerAttributes( block ) {\n\n\tif ( ! enableDopplerAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, dopplerAttributes );\n\t}\n\n\treturn block;\n}\n\naddFilter( 'blocks.registerBlockType', 'novablocks/add-advanced-gallery-attributes', addDopplerAttributes );\n","import overlayColorAttributes from '../../components/color-controls/attributes';\n\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component, Fragment } = wp.element;\n\nconst enableOverlayColorAttributesOnBlocks = [\n\t'novablocks/hero',\n\t'novablocks/slideshow',\n];\n\nfunction addOverlayColorAttributes( block ) {\n\n\tif ( ! enableOverlayColorAttributesOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, overlayColorAttributes );\n\t}\n\n\treturn block;\n}\n\naddFilter( 'blocks.registerBlockType', 'novablocks/add-overlay-color-attributes', addOverlayColorAttributes );\n","import { ControlsSections } from \"../../components/control-sections\";\n\nconst { InspectorControls } = wp.blockEditor;\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\n\nconst withControlsSections = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-controls-sections', withControlsSections );\n","import attributes from './attributes';\n\nimport { getControlsClasses, getRandomBetween, getRandomArrayFromArray } from \"../../utils\";\nimport { withSettings } from '../../components';\n\nimport {\n\tBlockVerticalAlignmentToolbar,\n\tControlsGroup,\n\tControlsSection,\n\tControlsTab,\n\tPresetControl,\n} from \"../../components\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelRow,\n\tRangeControl,\n\tToggleControl,\n} = wp.components;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\taddFilter\n} = wp.hooks;\n\nconst ALLOWED_BLOCKS = [\n\t'novablocks/media',\n\t'novablocks/cards-collection',\n\t'novablocks/posts-collection',\n];\n\nconst ALLOWED_BLOCKS_ADVANCED = [\n\t'novablocks/media',\n];\n\nconst getEmphasisAttributes = ( { emphasisBySpace, enableOverlapping, verticalAlignment } ) => {\n\n\tconst actualEmphasis = ! enableOverlapping ? emphasisBySpace : -1 * emphasisBySpace;\n\n\treturn {\n\t\temphasisBySpace: emphasisBySpace,\n\t\tenableOverlapping: enableOverlapping,\n\t\tblockTopSpacing: \t\t( actualEmphasis < 0 && ['center', 'bottom'].includes( verticalAlignment ) ) \t? actualEmphasis : 0,\n\t\tblockBottomSpacing: \t( actualEmphasis < 0 && ['center', 'top'].includes( verticalAlignment ) ) \t\t? actualEmphasis : 0,\n\t\temphasisTopSpacing: \t( verticalAlignment !== 'top' ) \t? actualEmphasis : 1,\n\t\temphasisBottomSpacing: \t( verticalAlignment !== 'bottom' ) \t? actualEmphasis : \t1,\n\t\tverticalAlignment: verticalAlignment,\n\t};\n};\n\nconst getRandomAttributes = () => {\n\tconst getRandomSign = () => { return getRandomArrayFromArray( [ -1, 0, 1 ], 1 )[0] };\n\tconst block = getRandomBetween( 0, 3 );\n\tconst emphasis = getRandomBetween( 0, 3 );\n\tconst blockTopSign = getRandomSign();\n\tconst blockBottomSign = getRandomSign();\n\tconst emphasisTopSign = getRandomSign();\n\tconst emphasisBottomSign = getRandomSign();\n\tconst verticalAlignment = getRandomArrayFromArray( [ 'top', 'center', 'bottom' ], 1 )[0];\n\tconst enableOverlapping = getRandomArrayFromArray( [ true, false ], 1 )[0];\n\n\treturn {\n\t\tblockTopSpacing: block * blockTopSign,\n\t\tblockBottomSpacing: block * blockBottomSign,\n\t\temphasisTopSpacing: emphasis * emphasisTopSign,\n\t\temphasisBottomSpacing: emphasis * emphasisBottomSign,\n\t\tenableOverlapping,\n\t\tverticalAlignment,\n\t};\n};\n\nconst withSpaceAndSizingControlsAdvanced = createHigherOrderComponent( OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! ALLOWED_BLOCKS_ADVANCED.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\tconst presetOptions = props?.settings?.media?.spaceAndSizing?.presetOptions;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\t!! presetOptions &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n});\n\nconst componentWithSettings = compose( [\n\twithSettings,\n\twithSpaceAndSizingControlsAdvanced\n] );\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-space-and-sizing-advanced', componentWithSettings );\n\nconst withSpaceAndSizingControls = createHigherOrderComponent( OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! ALLOWED_BLOCKS.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\tconst {\n\t\t\tattributes,\n\t\t\tsetAttributes,\n\t\t} = props;\n\n\t\tconst {\n\t\t\tblockTopSpacing,\n\t\t\tblockBottomSpacing,\n\t\t\temphasisTopSpacing,\n\t\t\temphasisBottomSpacing,\n\t\t\temphasisBySpace,\n\t\t\tenableOverlapping,\n\t\t} = attributes;\n\n\t\tconst verticalAlignment = attributes.verticalAlignment || 'center';\n\n\t\tconst SPACING_MIN_VALUE = ALLOWED_BLOCKS_ADVANCED.includes( props.name ) ? -3 : 0;\n\t\tconst SPACING_MAX_VALUE = 3;\n\n\t\tconst cssVars = {\n\t\t\t'--novablocks-emphasis-top-spacing': verticalAlignment === 'top' ? Math.abs(emphasisTopSpacing) : emphasisTopSpacing,\n\t\t\t'--novablocks-emphasis-bottom-spacing': verticalAlignment === 'bottom' ? Math.abs(emphasisBottomSpacing) : emphasisBottomSpacing,\n\t\t\t'--novablocks-block-top-spacing': blockTopSpacing,\n\t\t\t'--novablocks-block-bottom-spacing': blockBottomSpacing,\n\t\t\t'--novablocks-block-zindex': Math.max( 0, -1 * ( blockTopSpacing + blockBottomSpacing ) )\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst newAttributes = getEmphasisAttributes( { ...attributes, emphasisBySpace } );\n\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Emphasis by Space' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tmax={ 3 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst newAttributes = getEmphasisAttributes( { ...attributes, enableOverlapping } );\n\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'Vertical', '__plugin_txtd' ) }\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tconst newAttributes = getEmphasisAttributes( { ...attributes, verticalAlignment } );\n\t\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t setAttributes( { blockTopSpacing } ) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Top' ) }\n\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t setAttributes( { blockBottomSpacing } ) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Bottom' ) }\n\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t setAttributes( { emphasisTopSpacing } ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Top' ) }\n\t\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t setAttributes( { emphasisBottomSpacing } ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Bottom' ) }\n\t\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t};\n});\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-space-and-sizing', withSpaceAndSizingControls );\n\nfunction addSpaceAndSizingAttributes( block ) {\n\n\tif ( ! ALLOWED_BLOCKS.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, attributes );\n\t}\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-space-and-sizing-attributes', addSpaceAndSizingAttributes );\n","const { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\n\nconst { withSelect } = wp.data;\n\nconst enableInnerBlocks = [\n\t'novablocks/menu-food',\n\t'novablocks/menu-food-section',\n\t'novablocks/cards-collection'\n];\n\nconst withInnerBlocks = withSelect( ( select, props ) => {\n\tconst { clientId } = props;\n\tconst { getBlock } = select( 'core/block-editor' );\n\tconst parentBlock = getBlock( clientId );\n\tconst innerBlocks = parentBlock.innerBlocks;\n\n\treturn {\n\t\tinnerBlocks,\n\t\t...props\n\t}\n} );\n\nconst withInnerBlocksComponent = createHigherOrderComponent( OriginalComponent => {\n\n\tconst BetterComponent = withInnerBlocks(OriginalComponent);\n\n\treturn ( props ) => {\n\n\t\tif ( ! enableInnerBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn ;\n\t};\n});\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-inner-blocks-component', withInnerBlocksComponent );\n","// Copyright 2014 Foursquare Labs Inc. All Rights Reserved.\n\nvar fourSq = fourSq || {};\nfourSq.util = fourSq.util || {}\n\nfourSq.util.Hours = {\n /**\n * Pads times to be HHMM\n * @param {string} text\n * @return {string}\n */\n padTimes: function(text) {\n // Add leading/trailing zeros to times so it's always 4 digits, like 0800\n // Have to run each twice because they're pivoting around the separator\n // i.e. x10-12x first matches \"x10-\" and doesn't match the rest\n text = text.replace(/([^0-9]|^)([0-9]{3})([^0-9]|$)/g, '$10$2$3');\n text = text.replace(/([^0-9]|^)([0-9]{3})([^0-9]|$)/g, '$10$2$3');\n text = text.replace(/([^0-9]|^)([0-9]{2})([^0-9]|$)/g, '$1$200$3');\n text = text.replace(/([^0-9]|^)([0-9]{2})([^0-9]|$)/g, '$1$200$3');\n text = text.replace(/([^0-9]|^)([0-9])([^0-9]|$)/g, '$10$200$3');\n text = text.replace(/([^0-9]|^)([0-9])([^0-9]|$)/g, '$10$200$3');\n return text;\n },\n\n /**\n * @param {Array.} days\n * @param {number} startMinutes\n * @param {number} endMinutes\n */\n toTimeframe: function(days, startMinutes, endMinutes) {\n // If we've day wrapped and end before 4am, push the ending value up 24 hours.\n if (startMinutes >= endMinutes && endMinutes <= 240) {\n endMinutes += 1440;\n }\n var startFormatted = fourSq.util.Hours.formatMinutes(startMinutes);\n var endFormatted = fourSq.util.Hours.formatMinutes(endMinutes);\n\n return /** @type {fourSq.api.models.hours.MachineTimeframe} */ (({\n days: days,\n open: [(/** @type {fourSq.api.models.hours.MachineSegment} */({\n start: startFormatted,\n end: endFormatted\n }))]\n }));\n },\n\n /**\n * @param {number} minutes after minute\n * @return {string} the hhmm format that API takes for the input hours\n */\n formatMinutes: function(minutes) {\n var hh = Math.floor(minutes / 60);\n var mm = minutes % 60;\n var intoNextDay = ((hh % 24) !== hh);\n hh = (hh % 24);\n if (hh % 10 === hh) {\n hh = '0' + hh;\n }\n if (intoNextDay) {\n hh = '+' + hh;\n }\n if (mm % 10 === mm) {\n mm = '0' + mm;\n }\n return hh + '' + mm;\n },\n\n /**\n * @param {string} hoursText\n * @param {(string|undefined)} minutesText\n * @param {(string|undefined)} meridiem\n * @return {number}\n */\n minutesAfterMidnight: function(hoursText, minutesText, meridiem) {\n var hours = parseInt(hoursText, 10);\n var minutes = (minutesText !== undefined) ? parseInt(minutesText, 10) : 0;\n if (hours === 12 && meridiem) {\n hours -= 12;\n }\n if (meridiem && meridiem[0] === 'p') {\n hours += 12;\n }\n\n return (hours * 60) + minutes;\n }\n}\n\nfourSq.util.HoursParser = {\n\n /**\n * @return {fourSq.api.models.hours.MachineHours}\n */\n parse: function(text) {\n text = text.toLowerCase();\n\n // Normalize new lines to ';'\n text = text.replace(/\\n/g, ' ; ');\n\n // Massage times\n // TODO(ss): translate and do weekend/weekday subs\n text = text.replace(/(12|12:00)?midnight/g, '1200a');\n text = text.replace(/(12|12:00)?noon/g, '1200p');\n text = text.replace(/(open)?\\s*24\\s*hours?/g, '1200a-1200a');\n\n // Standardize conjunctions to '&'\n text = text.replace(/\\s*(and|,|\\+|&)\\s*/g, '&');\n\n // Standardize range tokens to '-'\n text = text.replace(/\\s*(-|to|thru|through|till?|'till?|until)\\s*/g, '-');\n\n // Standardize am/pm\n text = text.replace(/\\s*a\\.?m?\\.?/g, 'a');\n text = text.replace(/\\s*p\\.?m?\\.?/g, 'p');\n\n // Not sure this happens, but add trailing zeros to things like 5:3pm\n text = text.replace(/([0-9])(h|:|\\.)([0-9])([^0-9]|$)/g, '$1$2$30$4');\n\n // Remove separators from times (e.g. ':')...\n // if they both have separators\n text = text.replace(/([0-9]+)\\s*[^0-9]\\s*([0-9]{2})([^0-9]+?)([0-9]+)\\s*[^0-9]\\s*([0-9]{2})/g, '$1$2$3$4$5');\n // if only the start time has a separator\n text = text.replace(/([0-9]+)\\s*(h|:|\\.)\\s*([0-9]{2})/g, '$1$3');\n // if only the end time has a separator\n //text = text.replace(/([0-9]+)([^0-9ap]+?)([0-9]+)\\s*(h|:|\\.)\\s*([0-9]{2})/g, '$1$2$3$5');\n\n text = fourSq.util.Hours.padTimes(text);\n\n // Massage days\n var dayCanonicals = _.map(_.range(1, 8), function(dayI) {\n var allNames = fourSq.util.HoursParser.dayAliases(dayI);\n var canonical = _.head(allNames); // Shortest is at the front\n var aliases = _.tail(allNames);\n aliases.reverse(); // Need to have the largest alias first for replacing\n if (canonical && aliases) {\n _.each(aliases, function(alias) {\n text = text.replace(new RegExp(alias, 'g'), canonical);\n });\n }\n return canonical;\n });\n\n var dayPattern = '(' + dayCanonicals.join('|') + ')';\n var timePattern = '([0-9][0-9])([0-9][0-9])\\\\s*([ap])?';\n var globTimePattern = '[0-9]{4}\\\\s*[ap]?';\n var globTimeRangePattern = '(' + globTimePattern + '[^0-9]+' + globTimePattern + ')';\n\n // Need to establish whether days come before times (forward) or not (backward)\n var forwardTimeframePattern = dayPattern + '.*?' + globTimeRangePattern;\n var backwardTimeframePattern = globTimeRangePattern + '.*?' + dayPattern;\n\n var forwardPosition = text.search(new RegExp(forwardTimeframePattern));\n var backwardPosition = text.search(new RegExp(backwardTimeframePattern));\n\n // If a forward pattern is found first, consider it a forward facing text\n var isForward = (forwardPosition !== -1 && forwardPosition <= backwardPosition) || backwardPosition === -1;\n // TODO(ss): may be better to normalize the string to be forward facing at this point\n // so the rest of the method would be easier to grok\n\n // Separate out something like Mon-Thu, Sat, Sun\n if (isForward) {\n var ungroupedPattern = dayPattern + '&' + dayPattern + '[^&]*?' + globTimeRangePattern;\n var ungroupedRegex = new RegExp(ungroupedPattern, 'g');\n for (var i = 0; i < dayCanonicals.length; ++i) {\n text = text.replace(ungroupedRegex, '$1 $3; $2 $3; ');\n }\n } else {\n var ungroupedPattern = globTimeRangePattern + '([^0-9]*?)' + dayPattern + '&' + dayPattern;\n var ungroupedRegex = new RegExp(ungroupedPattern, 'g');\n for (var i = 0; i < dayCanonicals.length; ++i) {\n text = text.replace(ungroupedRegex, '$1 $2 $3; $1 $4; ');\n }\n }\n\n var dayRangePattern = dayPattern + '[^a-z0-9]*' + dayPattern + '?';\n var timeRangePattern = timePattern + '[^0-9]*' + timePattern;\n var timeframePattern = isForward ? (\n dayRangePattern + '.*?' + timeRangePattern\n ) : (\n timeRangePattern + '.*?' + dayRangePattern\n );\n var dayTimeMatcher = new RegExp(timeframePattern, 'g');\n\n var matches = [];\n do {\n var dayTimeMatch = dayTimeMatcher.exec(text);\n if (dayTimeMatch) {\n matches.push(dayTimeMatch);\n }\n } while (dayTimeMatch)\n\n if (matches.length <= 0) {\n // Try to find just a time range, and then we'll assume it's all days later on.\n // First two groups are strings that won't match, to get undefined values\n // in those slots in the regex match array.\n var timeRangeMatcher = new RegExp('(@!ZfW#)?(@!ZfW#)?' + timeRangePattern);\n var timeRangeMatch = timeRangeMatcher.exec(text);\n if (timeRangeMatch) {\n matches.push(timeRangeMatch);\n }\n }\n\n var timeframes = _.map(matches, function(match) {\n // day slots in the regex match array\n var day1 = isForward ? match[1] : match[7];\n var day2 = isForward ? match[2] : match[8];\n var startDay = (day1 !== undefined) ? dayCanonicals.indexOf(day1) : 0;\n\n var endDay = null;\n if (day2 !== undefined) {\n if (day1 === undefined) {\n startDay = dayCanonicals.indexOf(day2);\n } else {\n endDay = dayCanonicals.indexOf(day2);\n }\n } else if (day1 === undefined) {\n // If start and end days were undefined, assume 7 days a week\n endDay = 7;\n }\n if (endDay === null) {\n endDay = startDay;\n }\n\n if (endDay < startDay) {\n // For case where: Sun-Tue (we start on Monday)\n endDay += 7;\n }\n var days = _.map(_.range(startDay, endDay + 1), function(day) {\n // Days start at 1 for Monday\n return (day % 7) + 1;\n });\n\n // time slots in the regex match array\n var startHour = isForward ? match[3] : match[1];\n var startMinute = isForward ? match[4] : match[2];\n var startMeridiem = isForward ? match[5] : match[3];\n var endHour = isForward ? match[6] : match[4];\n var endMinute = isForward ? match[7] : match[5];\n var endMeridiem = isForward ? match[8] : match[6];\n // TODO(ss): hint the meridiem based on endHour < startHour and > 4\n var startTime = fourSq.util.Hours.minutesAfterMidnight(startHour, startMinute, startMeridiem);\n var endTime = fourSq.util.Hours.minutesAfterMidnight(endHour, endMinute, endMeridiem);\n return fourSq.util.Hours.toTimeframe(days, startTime, endTime);\n });\n\n if (timeframes.length) {\n return /** @type {fourSq.api.models.hours.MachineHours} */ (({\n timeframes: timeframes\n }));\n } else {\n return null;\n }\n },\n\n /**\n * @param {number} day starting at 1 for monday\n * @return {Array.} all aliases of the day, sorted by length\n */\n dayAliases: function(day) {\n var text = '';\n var aliases = '';\n switch(day) {\n case 1: aliases = ['mondays','monday','monda','mond','mon','mo','m']; break;\n case 2: aliases = ['tuesdays','tuesday','tuesd','tues','tue','tu']; break;\n case 3: aliases = ['wednesdays','wednesday','wednes','wedne','wedn','wed','we','w']; break;\n case 4: aliases = ['thursdays','thursday','thurs','thur','thu','th']; break;\n case 5: aliases = ['fridays','friday','frida','frid','fri','fr','f']; break;\n case 6: aliases = ['saturdays','saturday','satur','satu','sat','sa']; break;\n case 7: aliases = ['sundays','sunday','sunda','sund','sun','su']; break;\n default: return [];\n }\n return _.sortBy(aliases, function(alias) {\n return alias.length;\n });\n }\n}\n\n// Remove the days in which the business is closed. The parser doesn't need those days anyways.\nfunction removeClosedDays( schedule ) {\n var hoursString ='';\n var lines = schedule.split('\\n');\n for (var i=0; i< lines.length; i++) {\n if (lines[i].includes('closed') || lines[i].includes('Closed') || !lines[i].match(/\\d+/g)) {\n // don't add it to the list\n } else {\n hoursString += lines[i] + '\\n';\n }\n }\n\n return hoursString;\n}\n\nexport const parseContent = function( currentValue ) {\n currentValue = removeClosedDays(currentValue);\n var hours = fourSq.util.HoursParser.parse(currentValue);\n return JSON.stringify(hours);\n};\n","import classnames from 'classnames';\n\nexport const addSeparatorFilters = ( settings ) => {\n\n\tconst Separator = ( props ) => {\n\t\tconst className = classnames(\n\t\t\t'wp-block-separator',\n\t\t\tprops.className\n\t\t);\n\n\t\treturn (\n\t\t\t
    \n\t\t\t
    \n\t\t);\n\t};\n\n\tconst replaceSeparatorEdit = wp.compose.createHigherOrderComponent( ( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tif ( 'core/separator' === props.name ) {\n\t\t\t\treturn ;\n\t\t\t} else {\n\t\t\t\treturn ;\n\t\t\t}\n\t\t}\n\t}, \"replaceSeparatorEdit\" );\n\n\tconst replaceSeparatorSave = ( element, blockType, attributes ) => {\n\t\tif ( 'core/separator' !== blockType.name ) {\n\t\t\treturn element;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\twp.hooks.addFilter( 'editor.BlockEdit', 'nova-theme/separator', replaceSeparatorEdit );\n\twp.hooks.addFilter( 'blocks.getSaveElement', 'nova-theme/separator', replaceSeparatorSave );\n}\n","const ITEM_SIZE = 20;\n\nexport class GridItemCollection {\n\n\tconstructor( images, attributes ) {\n\t\tconst placementVariation = attributes.placementVariation / 25 - 1;\n\n\t\tthis.gridItems = images.map( ( image, index ) => {\n\t\t\tconst groupStart = Math.floor( index / 4 ) * 4;\n\t\t\tconst groupEnd = Math.min( groupStart + 4, images.length );\n\t\t\tconst isGroupOfThree = groupEnd - groupStart === 3;\n\n\t\t\treturn new GridItem( image, index, attributes, isGroupOfThree );\n\t\t} );\n\n\t\tthis.removeExtra();\n\n\t\tif ( placementVariation === 1 || placementVariation === 2 ) {\n\t\t\tthis.flipX();\n\t\t}\n\n\t\tif ( placementVariation === 2 || placementVariation === 3 ) {\n\t\t\tthis.flipY();\n\t\t}\n\t}\n\n\tremoveExtra() {\n\t\tconst extraLeft = this.getExtraLeft();\n\t\tconst extraTop = this.getExtraTop();\n\t\tconst extraBetween = this.getExtraBetween();\n\n\t\tthis.gridItems = this.gridItems.map( ( gridItem, index ) => {\n\t\t\tconst groupIndex = Math.floor( index / 4 );\n\n\t\t\tgridItem.x = gridItem.x - extraLeft;\n\t\t\tgridItem.y = gridItem.y - extraTop - groupIndex * extraBetween;\n\n\t\t\treturn gridItem;\n\t\t} );\n\t}\n\n\tflipX() {\n\t\tconst maxX = Math.max( ...this.gridItems.map( gridItem => gridItem.x + gridItem.width ) );\n\n\t\tthis.gridItems = this.gridItems.map( ( gridItem, index ) => {\n\t\t\tgridItem.x = maxX - gridItem.x - gridItem.width + 1;\n\t\t\treturn gridItem;\n\t\t} );\n\t}\n\n\tflipY() {\n\t\tconst maxY = Math.max( ...this.gridItems.map( gridItem => gridItem.y + gridItem.height ) );\n\n\t\tthis.gridItems = this.gridItems.map( ( gridItem, index ) => {\n\t\t\tgridItem.y = maxY - gridItem.y - gridItem.height + 1;\n\t\t\treturn gridItem;\n\t\t} );\n\t}\n\n\tgetExtraLeft() {\n\t\treturn Math.min( ...this.gridItems.map( gridItem => gridItem.x ) ) - 1;\n\t}\n\n\tgetExtraTop() {\n\t\treturn Math.min( ...this.gridItems.map( gridItem => gridItem.y ) ) - 1;\n\t}\n\n\tgetExtraBetween() {\n\t\tconst firstGroup = this.gridItems.slice( 0, 4 );\n\t\tconst maxBottom = Math.max( ...firstGroup.map( gridItem => gridItem.y + gridItem.height ) );\n\n\t\treturn ITEM_SIZE * 2 - maxBottom + 1;\n\t}\n}\n\nexport default class GridItem {\n\n\tconstructor( image, index, attributes, isGroupOfThree ) {\n\n\t\tthis.sizeContrast = attributes.sizeContrast / 20;\n\t\tthis.positionShift = attributes.positionShift / 5;\n\t\tthis.objectPosition = attributes.objectPosition;\n\t\tthis.imageResizing = attributes.imageResizing;\n\t\tthis.imageRotation = attributes.imageRotation;\n\n\t\tthis.image = image;\n\t\tthis.index = index;\n\n\t\tthis.idx = this.getIndex( index );\n\t\tthis.col = this.idx % 2;\n\t\tthis.row = Math.floor( index / 2 );\n\n\t\tif ( !! isGroupOfThree ) {\n\n\t\t\tif ( index === 0 ) {\n\t\t\t\tthis.positionShift = Math.min( this.positionShift, 10 );\n\t\t\t}\n\n\t\t\tif ( index === 2 ) {\n\t\t\t\tthis.positionShift = Math.max( this.positionShift, 10 );\n\t\t\t}\n\n\t\t}\n\n\t\tlet { offsetX, offsetY } = this.getOffsets();\n\t\tconst size = ITEM_SIZE - this.sizeContrast * ( index % 4 );\n\n\t\tthis.x = ITEM_SIZE * this.col + 1 + offsetX;\n\t\tthis.y = ITEM_SIZE * this.row + 1 + offsetY;\n\n\t\tthis.width = size;\n\t\tthis.height = size;\n\t}\n\n\tgetOffsets() {\n\t\tconst { row, col, index, sizeContrast, positionShift } = this;\n\n\t\t// offset for positioning\n\t\tlet offsetX = ( 1 - col % 2 ) * ( index % 4 ) * sizeContrast;\n\t\tlet offsetY = ( 1 - row % 2 ) * ( index % 4 ) * sizeContrast;\n\n\t\t// offset from offset\n\t\t// move 1st to right\n\t\toffsetX += ( 1 - col % 2 ) * ( 1 - row % 2 ) * positionShift;\n\t\t// move 3rd to left\n\t\toffsetX -= ( col % 2 ) * ( row % 2 ) * positionShift;\n\t\t// move 2nd down\n\t\toffsetY -= ( 1 - col % 2 ) * ( row % 2 ) * positionShift;\n\t\t// move 4th up\n\t\toffsetY += ( col % 2 ) * ( 1 - row % 2 ) * positionShift;\n\n\t\treturn {\n\t\t\toffsetX,\n\t\t\toffsetY,\n\t\t}\n\t}\n\n\t// reoder to display items clockwise\n\tgetIndex( index ) {\n\t\tif ( index % 4 === 3 ) return index - 1;\n\t\tif ( index % 4 === 2 ) return index + 1;\n\n\t\treturn index;\n\t}\n\n\tgetStyle() {\n\t\tconst { index, x, y, width, height, imageRotation } = this;\n\t\tconst rotation = `rotate(${ ( index % 2 - 0.5 ) * imageRotation / 10 }deg)`;\n\n\t\treturn {\n\t\t\tgridColumnStart: x + '',\n\t\t\tgridColumnEnd: `span ${ width }`,\n\t\t\tgridRowStart: y + '',\n\t\t\tgridRowEnd: `span ${ height }`,\n\t\t\ttransform: rotation,\n\t\t};\n\t}\n\n\tgetImageStyle() {\n\t\tconst { idx, row, col, objectPosition, imageResizing } = this;\n\t\tconst positionY = row % 2 === 0 ? 100 - objectPosition : objectPosition;\n\t\tconst positionX = col % 2 === 0 ? 100 - objectPosition : objectPosition;\n\t\tconst objPos = imageResizing === 'original' ? `${ positionX }% ${ positionY }%` : '';\n\n\t\treturn {\n\t\t\tobjectFit: imageResizing === 'cropped' ? 'cover' : 'scale-down',\n\t\t\tobjectPosition: `${ positionX }% ${ positionY }%`,\n\t\t}\n\t}\n}\n","import $ from 'jquery';\nimport { debounce, isSafari, getRandomBetween } from \"../../utils\";\n\nexport const getRandomAttributes = () => {\n\treturn {\n\t\tsizeContrast: getRandomBetween(0, 5) * 20,\n\t\tpositionShift: getRandomBetween(0, 20) * 5,\n\t\telementsDistance: getRandomBetween(0, 5) * 20,\n\t\tplacementVariation: getRandomBetween(1, 4) * 25,\n\t\tstylePreset: 'just-my-style',\n\t};\n};\n\nexport const getGalleryStyle = ( attributes ) => {\n\tlet containerHeight = attributes.containerHeight / 50 - 1;\n\tlet numerator = 1;\n\tlet denominator = 1;\n\n\tcontainerHeight = Math.min( Math.max( -1, containerHeight ), 1 );\n\n\tif ( containerHeight > 0 ) {\n\t\tnumerator = 1 + containerHeight;\n\t}\n\n\tif ( containerHeight < 0 ) {\n\t\tdenominator = 1 + Math.abs( containerHeight );\n\t}\n\n\treturn {\n\t\tpaddingTop: `${ numerator * 100 / denominator }%`,\n\t}\n};\n\nexport const getGridStyle = ( attributes ) => {\n\tconst { elementsDistance } = attributes;\n\n\treturn {\n\t\t'--novablocks-advanced-gallery-grid-gap': `${ elementsDistance }px`\n\t}\n};\n\nexport const safariHeightFix = ( grid ) => {\n\n\tif ( ! isSafari ) {\n\t\treturn;\n\t}\n\n\tconst parent = grid.parentNode;\n\tconst $grid = $( grid );\n\tconst $parent = $( parent );\n\n\tconst resetHeight = () => {\n\t\tconst newHeight = $parent.outerHeight();\n\n\t\t$grid.css( 'height', newHeight );\n\t};\n\n\tconst debouncedResetHeight = debounce( resetHeight, 30 );\n\n\tresetHeight();\n\n\tif ( typeof window.ResizeObserver !== \"undefined\" ) {\n\t\tconst observer = new ResizeObserver( entries => {\n\t\t\tdebouncedResetHeight();\n\t\t} );\n\n\t\tobserver.observe( parent );\n\t} else {\n\t\t$( window ).on( 'resize', function() {\n\t\t\tdebouncedResetHeight();\n\t\t} );\n\t}\n};\n","import { isSafari } from \"../../utils\";\n\nimport { GridItemCollection } from \"./grid-item\";\nimport { getGalleryStyle, getGridStyle } from \"./util\";\nimport AdvancedGallery from \"./index\";\n\nconst { useState, useEffect, useRef } = wp.element;\n\nconst AdvancedGalleryPreview = ( props ) => {\n\n\tconst { attributes } = props;\n\tconst gallery = ( attributes.gallery && attributes.gallery.length ) ? attributes.gallery : attributes.images;\n\n\tconst [ height, setHeight ] = useState(0);\n\tconst ref = useRef( null );\n\n\tuseEffect(() => {\n\t\tsetHeight( !! ref.current ? ref.current.clientHeight : 0 );\n\t});\n\n\tif ( ! gallery || ! gallery.length ) {\n\t\treturn null;\n\t}\n\n\tconst gridItemsCollection = new GridItemCollection( gallery, attributes );\n\tconst gridStyle = getGridStyle( attributes );\n\n\tif ( !! isSafari ) {\n\t\tObject.assign( gridStyle, { height } );\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t{ gridItemsCollection.gridItems.map( ( item, index ) => (\n\t\t\t\t\t\n\t\t\t\t) ) }\n\t\t\t
    \n\t\t
    \n\t);\n}\n\nconst AdvancedGalleryItem = ( { gridItem } ) => {\n\t// @todo standardize those damn images\n\treturn (\n\t\t
    \n\t\t\t\n\t\t
    \n\t);\n}\n\nexport default AdvancedGalleryPreview;\n","const {\n\tMediaPlaceholder,\n\tBlockIcon,\n} = wp.blockEditor;\n\nconst AdvancedGalleryPlaceholder = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst gallery = ( attributes.gallery && attributes.gallery.length ) ? attributes.gallery : attributes.images;\n\n\tif ( !! gallery && !! gallery.length ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t }\n\t\t\tonSelect={ images => {\n\t\t\t\tsetAttributes( { images } );\n\t\t\t} }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\tmultiple\n\t\t/>\n\t)\n}\n\nexport default AdvancedGalleryPlaceholder;\n","import { PresetControl, Notice, Tab, Tabs } from '../../components';\n\nimport {\n\tControlsSection,\n\tControlsTab,\n} from \"../control-sections\";\n\nimport ControlsGroup from \"../controls-group\";\n\nimport { getRandomBetween } from \"../../utils\";\nimport { getRandomAttributes } from \"./util\";\n\nconst { __ } = wp.i18n;\nconst { Fragment } = wp.element;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tButton,\n\tPanelBody,\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst AdvancedGalleryInspectorControls = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t\tattributes: {\n\t\t\t// gallery preset\n\t\t\tstylePreset,\n\n\t\t\t// composition settings\n\t\t\tsizeContrast,\n\t\t\tpositionShift,\n\t\t\telementsDistance,\n\t\t\tplacementVariation,\n\n\t\t\t// elements settings\n\t\t\timageResizing,\n\t\t\tobjectPosition,\n\t\t\tcontainerHeight,\n\t\t\timageRotation,\n\t\t},\n\t\tsettings: {\n\t\t\tadvancedGalleryPresetOptions\n\t\t}\n\t} = props;\n\n\treturn (\n\t\t\n\n\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tQuick start: Set up your gallery layout using the presets list below and use the Customize tab to fine-tune the details

    }\n\t\t\t\t\t\tdismissLabel={ '✔ Ok, I got it!' }\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( { imageResizing: cropStyle === 2 ? 'cropped' : 'original' } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ 2 }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { sizeContrast } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 20 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { positionShift } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { elementsDistance } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 20 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { placementVariation } ) }\n\t\t\t\t\t\t\tmin={ 25 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 25 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { imageRotation } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { containerHeight } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { imageResizing } ) }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: 'Stretch to fill the container', value: 'cropped' },\n\t\t\t\t\t\t\t\t{ label: 'Shrink to fit (no crop)', value: 'original' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { objectPosition } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t
    \n\t\t
    \n\t);\n}\n\nexport default AdvancedGalleryInspectorControls;\n","import { swap, alignCenter } from \"../../icons\";\n\nconst { __ } = wp.i18n;\nconst apiFetch = wp.apiFetch;\n\nconst {\n\tBlockControls,\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst {\n\tButton,\n\tToolbar,\n} = wp.components;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst AdvancedGalleryChangeMediaToolbar = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t} = props;\n\n\tconst gallery = ( attributes.gallery && attributes.gallery.length ) ? attributes.gallery : attributes.images;\n\n\tif ( ! gallery || ! gallery.length ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t\n\t\t\t image.id ) }\n\t\t\t\tonSelect={ ( images ) => {\n\t\t\t\t\tsetAttributes( { images: normalize( images ) } );\n\t\t\t\t} }\n\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t/>\n\t\t\n\t);\n}\n\n// @todo use apiFetch to get large image size\n// and normalize title, caption and description structure\nconst normalize = ( images ) => {\n\tconst promises = images.map( image => {\n\n\t} );\n\treturn images;\n}\n\nconst AdvancedGalleryBlockControls = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default AdvancedGalleryBlockControls;\n","import withSettings from \"../with-settings\";\nimport AdvancedGalleryPreview from './preview';\nimport AdvancedGalleryPlaceholder from './placeholder';\nimport AdvancedGalleryInspectorControls from './inspector-controls';\nimport AdvancedGalleryBlockControls from './block-controls';\n\nconst {\n\tFragment\n} = wp.element;\n\nconst AdvancedGallery = ( props ) => {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default withSettings( AdvancedGallery );\n","import AdvancedGallery from '../../components/advanced-gallery';\n\nconst Edit = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tclassName\n\t\t}\n\t} = props;\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t
    \n\t);\n\n};\n\nexport default Edit;\n","import galleryAttributes from \"../../components/advanced-gallery/attributes\";\nimport blockAttributes from \"./attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\nconst { images, ...attributesWithoutImages } = attributes;\n\nconst oldGalleryAttributes = {\n\t...attributesWithoutImages,\n\tgallery: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t},\n\t\tdefault: [],\n\t}\n};\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes: oldGalleryAttributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.images && typeof \"undefined\" !== attributes.gallery;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\tconst { gallery, ...newAttributes } = attributes;\n\n\t\treturn {\n\t\t\t...newAttributes,\n\t\t\timages: gallery\n\t\t};\n\t},\n\tsave() {\n\t\treturn false;\n\t},\n});\n\ndeprecated.push({\n\tattributes: oldGalleryAttributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave() {\n\t\treturn false;\n\t},\n});\n\nexport default deprecated;\n","const { createBlock } = wp.blocks;\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/advanced-gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t}\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['novablocks/media'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/media', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t],\n}\n","const {\n\tdispatch,\n\tselect,\n\tsubscribe,\n} = wp.data;\n\nexport default ( blockType, getNewDefaults ) => {\n\tconst { getBlocksByClientId, getClientIdsWithDescendants } = select( 'core/block-editor' );\n\tconst { isEditedPostEmpty } = select( 'core/editor' );\n\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\n\tlet blocks = getClientIdsWithDescendants();\n\tlet loadedSavedBlocks = false;\n\n\treturn subscribe( () => {\n\t\tconst newBlocks = getClientIdsWithDescendants();\n\n\t\tlet addedBlocks = newBlocks.filter( newBlock => ! blocks.includes( newBlock ) );\n\n\t\tif ( newBlocks === blocks || ! addedBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// if this is the first set of added blocks\n\t\tif ( ! loadedSavedBlocks ) {\n\t\t\tloadedSavedBlocks = true;\n\t\t\treturn;\n\t\t}\n\n\t\tblocks = newBlocks;\n\n\t\tgetBlocksByClientId( addedBlocks ).map( block => {\n\t\t\tif ( block.name === blockType && ! block.attributes.defaultsGenerated && typeof getNewDefaults === \"function\" ) {\n\t\t\t\tgetNewDefaults().then( defaults => {\n\t\t\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\t\t\t...defaults,\n\t\t\t\t\t\tdefaultsGenerated: true\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n}\n","import * as icons from '../../icons';\nimport edit from './edit';\nimport deprecated from './deprecated';\nimport transforms from './transforms';\nimport { getPlaceholderImages, getRandomArrayFromArray, getRandomBetween } from \"../../utils\";\nimport { getRandomAttributes } from \"../../components/advanced-gallery/util\";\nimport generateDefaults from \"../../components/generate-defaults\";\n\nimport blockAttributes from './attributes';\nimport galleryAttributes from \"../../components/advanced-gallery/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst numberOfImages = getRandomBetween( 2, 4 );\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst randomImages = getRandomArrayFromArray( placeholderImages, numberOfImages );\n\tconst randomAttributes = getRandomAttributes();\n\n\trandomImages.forEach( image => {\n\t\tif ( typeof image?.download === \"function\" ) {\n\t\t\timage.download();\n\t\t}\n\t} );\n\n\treturn {\n\t\t...randomAttributes,\n\t\timages: randomImages\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/advanced-gallery', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/advanced-gallery', {\n\t\ttitle: __( 'Gallery of the Stars', '__plugin_txtd' ),\n\t\tdescription: __( 'Display galleries of images in unique and creative compositions.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.gallery,\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t},\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'image with text', '__plugin_txtd' ), __( 'columns', '__plugin_txtd' ), __( 'side text', '__plugin_txtd' ) ],\n\t\tedit,\n\t\tsave() {\n\t\t\treturn false;\n\t\t},\n\t\tattributes,\n\t\tdeprecated,\n\t\ttransforms,\n\t} )\n}\n\nexport default init;\n","const { omit } = lodash;\nconst { createBlock } = wp.blocks;\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'full'\n\t},\n\turl: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\topensInNewTab: {\n\t\ttype: 'boolean',\n\t\tdefault: false\n\t},\n};\n\nconst deprecated = [\n\t{\n\t\tisEligible: ( attributes, innerBlocks ) => {\n\t\t\treturn typeof attributes.content !== 'undefined' && ! innerBlocks.length;\n\t\t},\n\t\tattributes: {\n\t\t\tcontent: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'Find me on Instagram! New photos and interesting facts every day.',\n\t\t\t},\n\t\t\t...blockAttributes\n\t\t},\n\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\treturn [\n\t\t\t\tomit( attributes, 'content' ),\n\t\t\t\t[\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent: attributes.content\n\t\t\t\t\t} ),\n\t\t\t\t\t...innerBlocks\n\t\t\t\t]\n\t\t\t]\n\t\t},\n\n\t\tsave: function() {},\n\t}\n];\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport classnames from \"classnames\";\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType, } = wp.blocks;\nconst { Fragment } = wp.element;\n\nconst {\n\tBaseControl,\n\tToggleControl\n} = wp.components;\n\nconst {\n\tURLInput,\n\tInnerBlocks\n} = wp.blockEditor;\n\nconst ALLOWED_BLOCKS = [ 'novablocks/openhours', 'core/paragraph' ];\nconst ANNOUNCEMENT_BAR_TEMPLATE = [ [ 'novablocks/openhours', { openHoursStyle: 'status', } ] ];\n\nfunction init() {\n\n\tregisterBlockType( 'novablocks/announcement-bar', {\n\t\ttitle: __( 'Announcement Bar', '__plugin_txtd' ),\n\t\tdescription: __( 'Display a featured message through a banner across the top of your site.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.announcement,\n\t\tkeywords: [ __( 'Promo Bar', '__plugin_txtd' ), __( 'Welcome Header Bar', '__plugin_txtd' ), __( 'Top Bar', '__plugin_txtd' ) ],\n\t\tstyles: [ {\n\t\t\tname: 'accent',\n\t\t\tlabel: __( 'Accent', '__plugin_txtd' ),\n\t\t\tisDefault: true\n\t\t}, {\n\t\t\tname: 'alternative',\n\t\t\tlabel: __( 'Alternative', '__plugin_txtd' )\n\t\t}, {\n\t\t\tname: 'alert',\n\t\t\tlabel: __( 'Alert', '__plugin_txtd' )\n\t\t} ],\n\t\tattributes: {\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'full'\n\t\t\t},\n\t\t\turl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: ''\n\t\t\t},\n\t\t\topensInNewTab: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'Find me on Instagram! New photos and interesting facts every day.',\n\t\t\t}\n\t\t},\n\t\tsave() {\n\t\t\treturn ;\n\t\t},\n\t\tedit: function( props ) {\n\n\t\t\tconst {\n\t\t\t\tclassName,\n\t\t\t\tattributes: {\n\t\t\t\t\turl,\n\t\t\t\t\topensInNewTab,\n\t\t\t\t\tcontent\n\t\t\t\t},\n\t\t\t\tsetAttributes,\n\t\t\t\tisSelected,\n\t\t\t} = props;\n\n\n\t\t\tconst classNames = classnames(\n\t\t\t\tclassName,\n\t\t\t\t'novablocks-announcement-bar',\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t
    \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t setAttributes( { url: value } ) }\n\t\t\t\t\t\t\t\t disableSuggestions={ ! isSelected }\n\t\t\t\t\t\t\t\t isFullWidth\n\t\t\t\t\t\t\t\t hasBorder\n\t\t\t\t\t\t\t />\n\t\t\t\t\t\t \n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t setAttributes( { opensInNewTab } );\n\t\t\t\t\t\t\t } }\n\t\t\t\t\t\t\t label={ __( 'Open in new tab', '__plugin_txtd' ) }\n\t\t\t\t\t\t />\n\t\t\t\t\t
    }\n\n\t\t\t\t
    \n\t\t\t)\n\t\t},\n\t\tgetEditWrapperProps( attributes ) {\n\t\t\treturn { 'data-align': 'full' };\n\t\t},\n\t\tdeprecated\n\t} );\n}\n\nexport default init;\n","import * as icons from \"../../icons\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tButton,\n\tPlaceholder,\n\tTextControl,\n} = wp.components;\n\nconst { ENTER } = wp.keycodes;\n\nclass MapPlaceholder extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tapiKey: this.props.apiKey\n\t\t}\n\t}\n\n\thandleKeyDown( keyCode ) {\n\t\tif ( keyCode === ENTER ) {\n\t\t\tthis.props.saveApiKey( this.state.apiKey );\n\t\t}\n\t}\n\n\trender() {\n\n\t\tconst { apiKeyInstructions } = this.props;\n\t\tconst icon =
    { icons.map }
    \n\n\t\treturn (\n\t\t\t\n\t\t\t\t{ apiKeyInstructions &&
    \n\t\t\t\t\t{ apiKeyInstructions }\n\t\t\t\t
    }\n\t\t\t\t { this.setState( { apiKey } ) } }\n\t\t\t\t\tonKeyDown={ ( { keyCode } ) => { this.handleKeyDown( keyCode ) } }\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default MapPlaceholder;\n","export default `\n\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\n`;\n","const defaultMapCenter = {\n\tlat: 47.1665264,\n\tlng: 27.58285479999995\n};\n\nexport default defaultMapCenter;\n","export default [\n\t{\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#f5f5f5\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"elementType\": \"labels.icon\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"saturation\": -100\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 60\n\t\t\t},\n\t\t]\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#f5f5f5\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#eeeeee\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#757575\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.arterial\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"%ACCENT_COLOR%\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 90\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.arterial\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#757575\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#dadada\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#616161\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.local\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"%ACCENT_COLOR%\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"saturation\": -25\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 70\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.local\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"lightness\": 30\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"transit.line\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#e5e5e5\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#c9c9c9\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"%ACCENT_COLOR%\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 60\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"saturation\": -100\n\t\t\t}\n\t\t]\n\t}\n]\n","import customized from './customized';\n\nconst styles = [\n\t{ slug: 'customized', label: 'Customized', styles: customized },\n\t{ slug: 'original', label: 'Original', styles: [] },\n];\n\nexport default styles;\n","import defaultMapCenter from \"./default-map-center\";\nimport styles from \"./styles\";\n\nexport const addVisibilityToStyles = function( styles, showLabels, showIcons ) {\n\n\tif ( ! showLabels ) {\n\t\tstyles.unshift( {\n\t\t\t\"elementType\": \"labels.text\",\n\t\t\t\"stylers\": [ { \"visibility\": \"off\" } ]\n\t\t} )\n\t}\n\n\tif ( ! showIcons ) {\n\t\tstyles.unshift( {\n\t\t\t\"elementType\": \"labels.icon\",\n\t\t\t\"stylers\": [ { \"visibility\": \"off\" } ]\n\t\t} )\n\t}\n\n\treturn styles;\n}\n\nexport const compileStyles = function( styleData ) {\n\tconst {\n\t\tattributes: {\n\t\t\tshowLabels,\n\t\t\tshowIcons,\n\t\t\tstyleSlug,\n\t\t}\n\t} = this.props;\n\n\tconst accentColor = getMapAccentColor.call( this );\n\tconst styleDataString = JSON.stringify( styleData ).replace( /%ACCENT_COLOR%/g, accentColor );\n\treturn JSON.parse( styleDataString );\n}\n\nexport const getMapStyles = function() {\n\tconst { attributes } = this.props;\n\tconst { styleData, styleSlug } = attributes;\n\tconst shouldHaveCustomStyles = styleSlug !== 'original' && styleData.length === 0;\n\tconst selectedStyles = styles.find( style => style.slug === styleSlug );\n\tconst styleDataBySlug = selectedStyles ? selectedStyles.styles : {};\n\tconst mapStyles = shouldHaveCustomStyles && styleDataBySlug || styleData;\n\treturn compileStyles.call( this, mapStyles );\n}\n\nexport const getMapAccentColor = function() {\n\tconst { settings } = this.props;\n\tconst { colors } = settings;\n\tconst fallbackColor = '#222222';\n\n\tif ( colors && colors.length ) {\n\n\t\tconst primary = colors.find( color => color.slug === 'sm-color-primary' );\n\t\tconst secondary = colors.find( color => color.slug === 'sm-color-secondary' );\n\t\tconst tertiary = colors.find( color => color.slug === 'sm-color-tertiary' );\n\n\t\tif ( primary ) {\n\t\t\treturn primary.color;\n\t\t}\n\n\t\tif ( secondary ) {\n\t\t\treturn secondary.color;\n\t\t}\n\n\t\tif ( tertiary ) {\n\t\t\treturn tertiary.color;\n\t\t}\n\n\t\treturn colors[0].color;\n\t}\n\n\treturn fallbackColor;\n}\n\nexport const getCenterFromMarkers = function( markers ) {\n\n\tif ( typeof google === \"undefined\" || typeof google.maps === \"undefined\" ) {\n\t\treturn defaultMapCenter;\n\t}\n\n\tconst bounds = new google.maps.LatLngBounds();\n\n\t// when there is only one marker bounds aren't accurate at great zoom levels\n\tif ( markers.length === 1 ) {\n\t\tconst center = JSON.parse( markers[0] );\n\t\treturn new google.maps.LatLng( center.geometry.location );\n\t}\n\n\tmarkers.forEach( markerString => {\n\t\tconst marker = JSON.parse( markerString );\n\n\t\tif ( ! marker.geometry ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( marker.geometry.viewport ) {\n\t\t\tbounds.union( marker.geometry.viewport );\n\t\t} else {\n\t\t\tbounds.extend( marker.geometry.location );\n\t\t}\n\t} );\n\n\treturn bounds.getCenter();\n}\n\nexport const getMarkersCenter = function() {\n\treturn getCenterFromMarkers( this.props.attributes.markers );\n}\n","import pin from './pin';\nimport { getMapStyles, getMarkersCenter, getMapAccentColor, addVisibilityToStyles } from './utils';\nimport defaultMapCenter from './default-map-center';\nimport { withParallax } from \"../../components\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tPlaceholder\n} = wp.components\n\nclass Map extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.map = null;\n\t\tthis.searchBox = null;\n\t\tthis.markers = [];\n\n\t\tthis.getMapStyles = getMapStyles.bind( this );\n\t}\n\n\tclearMarkers() {\n\t\tthis.markers.forEach( marker => { marker.setMap( null ) } );\n\t\tthis.markers = [];\n\t}\n\n\tonPlacesChanged() {\n\n\t\tif ( ! this.searchBox ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.props.onChange( this.searchBox.getPlaces().map( place => {\n\t\t\tconst keepProps = [ 'name', 'geometry' ];\n\t\t\tconst filtered = Object.keys( place )\n\t\t\t .filter( key => keepProps.includes( key ) )\n\t\t\t .reduce( ( obj, key ) => {\n\t\t\t\t obj[ key ] = place[ key ];\n\t\t\t\t return obj;\n\t\t\t }, {} );\n\n\t\t\treturn JSON.stringify( filtered );\n\t\t} ) );\n\t}\n\n\tcreateMarkers() {\n\t\tconst { attributes } = this.props;\n\t\tconst { markers, styleSlug } = attributes;\n\n\t\tconst accentColor = styleSlug === 'customized' ? getMapAccentColor.call( this ) : '#222222';\n\t\tconst pinMarkup = pin.replace( '%ACCENT_COLOR%', accentColor );\n\n\t\tmarkers.forEach( markerString => {\n\t\t\tconst marker = JSON.parse( markerString );\n\n\t\t\tif ( ! marker.geometry ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.markers.push( new google.maps.Marker( {\n\t\t\t\tmap: this.map,\n\t\t\t\ticon: { url: 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent( pinMarkup ) },\n\t\t\t\ttitle: marker.name,\n\t\t\t\tposition: marker.geometry.location\n\t\t\t} ) );\n\t\t} );\n\n\t\tif ( this.markers.length ) {\n\t\t\tthis.map.setCenter( getMarkersCenter.call( this ) );\n\t\t}\n\t}\n\n\n\n\tinitializeMap() {\n\t\tconst { attributes } = this.props;\n\t\tconst { showControls, showLabels, showIcons, zoom } = attributes;\n\n\t\tthis.map = new google.maps.Map( document.getElementById( `novablocks-google-map-${ this.props.clientId }` ), {\n\t\t\tmapTypeId: 'roadmap',\n\t\t\tcenter: defaultMapCenter,\n\t\t\tzoom: zoom,\n\t\t\tstyles: addVisibilityToStyles( this.getMapStyles(), showLabels, showIcons ),\n\n\t\t\tclickableIcons: false,\n\t\t\tdisableDefaultUI: ! showControls,\n\t\t\tdisableDoubleClickZoom: true,\n\t\t\tdraggable: false,\n\t\t\tgestureHandling: 'none',\n\t\t\tkeyboardShortcuts: false,\n\t\t\tscrollwheel: false,\n\t\t} );\n\t}\n\n\tinitializeSearchBox() {\n\t\t// Create the search box and link it to the UI element.\n\t\tconst input = document.getElementById( `novablocks-google-map-search-input-${ this.props.clientId }` );\n\t\tthis.searchBox = new google.maps.places.SearchBox( input );\n\n\t\t// Bias the SearchBox results towards current map's viewport.\n\t\tthis.map.addListener( 'bounds_changed', () => {\n\t\t\tthis.searchBox.setBounds( this.map.getBounds() );\n\t\t} );\n\n\t\t// Listen for the event fired when the user selects a prediction and retrieve\n\t\t// more details for that place.\n\t\tthis.searchBox.addListener( 'places_changed', this.onPlacesChanged.bind( this ) );\n\t}\n\n\tupdateMapOptions() {\n\n\t\tif ( this.map === null ) {\n\t\t\treturn\n\t\t}\n\n\t\tconst options = {};\n\t\tconst { attributes } = this.props;\n\t\tconst { showControls, showLabels, showIcons, zoom } = attributes;\n\n\t\toptions.zoom = zoom;\n\t\toptions.disableDefaultUI = ! showControls;\n\t\toptions.styles = addVisibilityToStyles( this.getMapStyles(), showLabels, showIcons );\n\n\t\tthis.map.setOptions( options );\n\t}\n\n\tupdateMapMarkers() {\n\t\tthis.clearMarkers();\n\t\tthis.createMarkers();\n\t}\n\n\tcomponentDidMount() {\n\n\t\tif ( this.map === null ) {\n\t\t\tthis.initializeMap();\n\t\t\tthis.initializeSearchBox();\n\t\t\tthis.createMarkers();\n\t\t\treturn;\n\t\t}\n\n\t\tgoogle.maps.event.trigger( this.map, 'resize' );\n\t}\n\n\tshouldComponentUpdate( nextProps ) {\n\t\tlet shouldUpdate = false;\n\t\tObject.entries( this.props ).forEach( ( [ key, val ] ) => {\n\t\t\tif ( nextProps[ key ] !== val ) {\n\t\t\t\tshouldUpdate = true;\n\t\t\t}\n\t\t} );\n\n\t\treturn shouldUpdate;\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tthis.updateMapOptions();\n\n\t\tif ( prevProps.attributes.markers !== this.props.attributes.markers ||\n\t\t prevProps.attributes.styleSlug !== this.props.attributes.styleSlug ) {\n\t\t\tthis.updateMapMarkers();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn
    ;\n\t}\n}\n\nconst MapWrapper = ( Map ) => {\n\n\treturn ( props ) => {\n\n\t\tconst { parallax, ...otherProps } = props;\n\t\tconst searchBoxStyles = {};\n\n\t\tif ( ! props.isSelected ) {\n\t\t\tsearchBoxStyles.display = 'none';\n\t\t}\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default MapWrapper( Map );\n","const { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tTextControl,\n\tPanelBody,\n} = wp.components;\n\nconst {\n\tComponent,\n\tFragment\n} = wp.element;\n\nclass ApiKeyPanelBody extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tapiKey,\n\t\t\tapiKeyInstructions,\n\t\t\tsavedApiKey,\n\t\t\tonChangeApiKey,\n\t\t\tonSaveApiKey,\n\t\t} = this.props;\n\n\t\tif ( savedApiKey === '' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default ApiKeyPanelBody;\n","import classnames from 'classnames';\nimport { compileStyles, getMarkersCenter } from \"./utils\";\nimport defaultMapCenter from './default-map-center';\n\nconst {\n\tComponent\n} = wp.element;\n\nclass MapStyleSelect extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tactive: this.props.value\n\t\t};\n\n\t\tthis.compileStyles = compileStyles.bind( this );\n\t}\n\n\tgetStaticStyle( styles ) {\n\t\tvar result = [];\n\t\tstyles.forEach( function( v, i, a ) {\n\t\t\tvar style = '';\n\t\t\tif ( v.stylers ) {\n\t\t\t\tif ( v.stylers.length > 0 ) {\n\t\t\t\t\tstyle += ( v.hasOwnProperty( 'featureType' ) ? 'feature:' + v.featureType : 'feature:all' ) + '|';\n\t\t\t\t\tstyle += ( v.hasOwnProperty( 'elementType' ) ? 'element:' + v.elementType : 'element:all' ) + '|';\n\t\t\t\t\tv.stylers.forEach( function( val, i, a ) {\n\t\t\t\t\t\tvar prop = Object.keys( val )[0];\n\t\t\t\t\t\tvar propertyval = val[ prop ].toString().replace( '#', '0x' );\n\t\t\t\t\t\tstyle += prop + ':' + propertyval + '|';\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t\tresult.push( 'style=' + encodeURIComponent( style ) );\n\t\t} );\n\t\treturn result.join( '&' );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\toptions,\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\tapiKey,\n\t\t} = this.props;\n\n\t\tconst { markers, zoom } = attributes;\n\n\t\tconst center = markers.length ? getMarkersCenter.call( this ) : new google.maps.LatLng( defaultMapCenter );\n\t\tconst latitude = center.lat();\n\t\tconst longitude = center.lng();\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{ options.map( option => {\n\t\t\t\t\t\tconst style = this.getStaticStyle( this.compileStyles( option.styles ) );\n\t\t\t\t\t\tconst size = '200x200';\n\t\t\t\t\t\tconst mapType = 'roadmap';\n\t\t\t\t\t\tconst url = 'https://maps.googleapis.com/maps/api/staticmap';\n\t\t\t\t\t\tconst src = `${url}?center=${latitude},${longitude}&zoom=${zoom}&size=${size}&maptype=${mapType}&${style}&key=${apiKey}`;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tthis.setState( { active: option.slug } )\n\t\t\t\t\t\t\t\t\tonChange( option.slug );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\taria-label={ option.label }>\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)\n\t\t\t\t\t} ) }\n\t\t\t\t
    \n\t\t\t
    \n\t\t)\n\t}\n}\n\nexport default MapStyleSelect;\n","import ApiKeyPanelBody from './api-key-panel-body';\nimport MapStyleSelectControl from './map-style-select';\nimport { compileStyles, getMapAccentColor } from './utils';\n\nimport styles from './styles';\nimport {ControlsSection, ControlsTab} from \"../../components/control-sections\";\nimport {Fragment} from \"react\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n} = wp.components;\n\nconst {\n\tComponent,\n} = wp.element;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nclass ButtonInspectorControls extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.compileStyles = compileStyles.bind( this );\n\t}\n\n\trender() {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tstyleSlug,\n\t\t\t\tzoom,\n\t\t\t\tshowLabels,\n\t\t\t\tshowControls,\n\t\t\t\tshowIcons,\n\t\t\t},\n\t\t\tsavedApiKey,\n\t\t\tsetAttributes,\n\t\t} = this.props;\n\n\t\tif ( ! savedApiKey ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tconst mapStyles = styles.find( style => style.slug === newStyleSlug ).styles;\n\t\t\t\t\t\t\t\tconst newStyles = this.compileStyles( mapStyles );\n\t\t\t\t\t\t\t\tconst newPinColor = newStyleSlug === 'customized' ? getMapAccentColor.call( this ) : '#222222';\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tstyleSlug: newStyleSlug,\n\t\t\t\t\t\t\t\t\tstyleData: newStyles,\n\t\t\t\t\t\t\t\t\tpinColor: newPinColor,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { showIcons: ! showIcons } ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { showLabels: ! showLabels } ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { showControls: ! showControls } ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { zoom: newZoom } ) }\n\t\t\t\t\t\t\tmin={ 5 }\n\t\t\t\t\t\t\tmax={ 20 }\n\t\t\t\t\t\t\tlabel={ __( 'Zoom Level', '__plugin_txtd' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default ButtonInspectorControls;\n","import MapPlaceholder from './placeholder';\nimport Map from './map';\nimport InspectorControls from './inspector-controls';\n\nimport { withSettings, withParallax } from '../../components';\n\nconst { __ } = wp.i18n;\n\nconst API_KEY_SETTING_ID = 'novablocks_google_maps_api_key';\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tSpinner,\n\tTextControl,\n} = wp.components;\n\nconst {\n\tBlockAlignmentToolbar,\n\tBlockControls,\n} = wp.blockEditor;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nconst {\n\tSettings\n} = wp.api.models;\n\n// This is a GLOBAL function that, when present, gets called by the Google Maps script on authentication errors.\nwindow.gm_authFailure = function() {\n\twindow.googlemaps_authfailure = true;\n\twindow.dispatchEvent( new Event('novablock.googlemaps_authfailure') );\n}\n\nclass Edit extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tfetchedScript: false,\n\t\t\tfetchedApiKey: false,\n\t\t\tsavedApiKey: '',\n\t\t\tapiKey: '',\n\t\t\tgmAuthFailure: ( typeof window.googlemaps_authfailure === 'undefined' ) ? false : !!window.googlemaps_authfailure,\n\t\t}\n\n\t\tthis.onChangeMarkers = this.onChangeMarkers.bind( this );\n\t\tthis.onGoogleMapsAuthFailure = this.onGoogleMapsAuthFailure.bind( this );\n\t\tthis.settings = null;\n\t}\n\n\tonGoogleMapsAuthFailure(event) {\n\t\tthis.setState( {\n\t\t\tgmAuthFailure: true,\n\t\t} );\n\t}\n\n\tonChangeMarkers( markers ) {\n\t\tthis.props.setAttributes( { markers } );\n\t}\n\n\tcomponentDidMount() {\n\n\t\twindow.addEventListener('novablock.googlemaps_authfailure', this.onGoogleMapsAuthFailure);\n\n\t\twp.api.loadPromise.done( () => {\n\t\t\tthis.settings = new wp.api.models.Settings();\n\n\t\t\tthis.settings.on( `change:${ API_KEY_SETTING_ID }`, model => {\n\t\t\t\tconst apiKey = model.get( API_KEY_SETTING_ID );\n\n\t\t\t\tthis.setState( {\n\t\t\t\t\tfetchedApiKey: true,\n\t\t\t\t\tsavedApiKey: apiKey,\n\t\t\t\t\tapiKey,\n\t\t\t\t} );\n\n\t\t\t\tif ( !!apiKey ) {\n\t\t\t\t\tthis.loadGoogleMapsScript();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthis.settings.fetch();\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('novablock.googlemaps_authfailure', this.onGoogleMapsAuthFailure);\n\t}\n\n\tloadGoogleMapsScript() {\n\t\tconst { savedApiKey } = this.state;\n\t\tconst keyParam = savedApiKey !== '' ? `key=${savedApiKey}&` : '';\n\t\tconst scriptSrc = `//maps.googleapis.com/maps/api/js?${keyParam}libraries=places`;\n\t\tconst scripts = document.querySelectorAll('script[src*=\"maps.googleapis.com\"]' );\n\n\t\tif ( scripts.length ) {\n\t\t\tthis.setState( { fetchedScript: true } );\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tconst promise = new Promise( ( resolve, reject ) => {\n\t\t\tconst script = document.createElement( 'script' );\n\t\t\tscript.onload = resolve;\n\t\t\tscript.onerror = reject;\n\t\t\tscript.async = true;\n\t\t\tscript.src = scriptSrc;\n\t\t\tdocument.body.appendChild( script );\n\t\t} );\n\n\t\treturn promise.then( () => {\n\t\t\tthis.setState( { fetchedScript: true } );\n\t\t} );\n\t}\n\n\tsaveApiKey( apiKey ) {\n\t\tconst key = new wp.api.models.Settings( { [ API_KEY_SETTING_ID ]: apiKey } );\n\n\t\tkey.save().then(() => {\n\t\t\tthis.setState( { gmAuthFailure: false } );\n\t\t\tthis.settings.fetch();\n\t\t} );\n\t}\n\n\trenderPreview() {\n\n\t\tconst { fetchedApiKey, fetchedScript, savedApiKey, gmAuthFailure } = this.state;\n\n\t\tif ( ! fetchedApiKey ) {\n\t\t\treturn \n\t\t}\n\n\t\tif ( ! fetchedScript || ! savedApiKey || gmAuthFailure ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n\n\tgetInstructions() {\n\t\tconst { gmAuthFailure } = this.state;\n\t\tconst url = '//developers.google.com/maps/documentation/javascript/get-api-key';\n\t\tconst hyperlink = { __( 'register a Google Maps API Key', '__plugin_txtd' ) };\n\n\t\tif ( gmAuthFailure ) {\n\t\t\treturn (\n\t\t\t\t{ __( 'It seems that your Google Maps API key is INVALID. Please REFRESH the page, double check that you pasted it correctly, and that it is a valid API key. More information about how to', '__plugin_txtd' ) } { hyperlink }\n\t\t\t)\n\t\t}\n\n\t\treturn (\n\t\t\t{ __( 'To display the map, you need to', '__plugin_txtd' ) } { hyperlink } { __( 'and include it bellow.', '__plugin_txtd' ) }\n\t\t)\n\t}\n\n\trender() {\n\t\tconst { fetchedApiKey, fetchedScript, savedApiKey, gmAuthFailure } = this.state;\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { align, styleData } = attributes;\n\t\tconst newProps = Object.assign( this.props );\n\n\t\tif ( typeof styleData === \"string\" ) {\n\t\t\tnewProps.attributes.styleData = JSON.parse( styleData );\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { align } ) }\n\t\t\t\t\t\tcontrols={ [ 'center', 'full' ] }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t{ !!fetchedApiKey && !!fetchedScript && !!savedApiKey && !gmAuthFailure && {\n\t\t\t\t\t\tthis.setState( { apiKey } );\n\t\t\t\t\t} }\n\t\t\t\t\tonSaveApiKey={ this.saveApiKey.bind( this ) }\n\t\t\t\t\tapiKeyInstructions={ this.getInstructions() }\n\t\t\t\t/> }\n\t\t\t\t{ this.renderPreview() }\n\t\t\t\n )\n\t}\n}\n\nexport default createHigherOrderComponent(compose([\n\twithSettings,\n\twithParallax,\n]))( Edit );\n","/**\n * Internal dependencies\n */\nimport * as icons from \"../../icons\";\nimport edit from \"./edit\";\n\nimport { parallaxAttributes } from '../../components/with-parallax';\nimport styles from \"./styles\";\n\nimport blockAttributes from \"./attributes\"\nimport dopplerAttributes from \"../../components/scrolling-effect-controls/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, dopplerAttributes );\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\n\tregisterBlockType( 'novablocks/google-map', {\n\t\ttitle: __( 'Map of the World', '__plugin_txtd' ),\n\t\tdescription: __( 'Display an interactive map to show the location of your venue.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.map,\n\t\tkeywords: [\n\t\t\t__( 'google', '__plugin_txtd' ),\n\t\t\t__( 'maps', '__plugin_txtd' ),\n\t\t\t__( 'google maps', '__plugin_txtd' ),\n\t\t\t__( 'location', '__plugin_txtd' )\n\t\t],\n\t\tgetEditWrapperProps( attributes ) {\n\t\t\tconst { align } = attributes;\n\t\t\tif ( 'center' === align || 'full' === align ) {\n\t\t\t\treturn { 'data-align': align };\n\t\t\t}\n\t\t},\n\t\tattributes,\n\t\tedit,\n\t\tsave: function() {}\n\t} )\n}\n\nexport default init;\n","const { SVG, Path } = wp.components;\n\nexport const logoLeft = \n\t\n\t\t\n\t\t\n\t\t\n\t\n;\n\nexport const logoRight = \n\t\n\t\t\n\t\t\n\t\t\n\t\n;\n\nexport const logoCenter = \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n;","import * as icons from './icons';\n\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport map from \"lodash/map\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment\n} = wp.element;\n\nconst { InnerBlocks, __experimentalBlockVariationPicker } = wp.blockEditor;\n\nconst { createBlock, registerBlockVariation } = wp.blocks;\n\nconst {\n\tcompose\n} = wp.compose;\n\nconst {\n\twithSelect,\n\twithDispatch\n} = wp.data;\n\nconst TEMPLATE_OPTIONS = [\n\t{\n\t\ttitle: __( 'Logo on the left side and one navigation menu', '__plugin_txtd' ),\n\t\tname: 'logo-left',\n\t\ticon: icons.logoLeft,\n\t\ttemplate: [\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t},\n\t{\n\t\ttitle: __( 'Logo centered and one navigation menu on each side', '__plugin_txtd' ),\n\t\tname: 'logo-center',\n\t\ticon: icons.logoCenter,\n\t\ttemplate: [\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--secondary\",\n\t\t\t\tslug: \"secondary\"\n\t\t\t} ],\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t}\n];\n\nclass Edit extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t}\n\n\tsetTemplate( layout ) {\n\t\tthis.setState( { template: layout } );\n\t}\n\n\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate ) {\n\t\treturn map( innerBlocksTemplate, ( [ name, attributes, innerBlocks = [] ] ) => createBlock( name, attributes, this.createBlocksFromInnerBlocksTemplate( innerBlocks ) ) );\n\t}\n\n\tsupportsInnerBlocksPicker() {\n\t\treturn typeof InnerBlocks.prototype!=='undefined';\n\t}\n\n\tsupportsBlockVariationPicker() {\n\t\treturn !!registerBlockVariation;\n\t}\n\n\tblockVariationPicker() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { hasInnerBlocks, innerBlocks, defaultVariation } = this.props;\n\t\tif ( hasInnerBlocks ) {\n\t\t\tthis.setState( { template: innerBlocks } );\n\t\t}\n\n\t\tif ( !this.supportsInnerBlocksPicker() && !this.supportsBlockVariationPicker() && hasInnerBlocks === false ) {\n\t\t\tthis.setTemplate( defaultVariation );\n\t\t}\n\t}\n\n\tinnerBlocksPicker() {\n\t\tconst { hasInnerBlocks } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tif ( chosenTemplate === undefined ) {\n\t\t\t\t\t\t\tchosenTemplate = TEMPLATE_OPTIONS[ 0 ].template;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setTemplate( chosenTemplate );\n\t\t\t\t\t} }\n\t\t\t\t\t__experimentalAllowTemplateOptionSkip\n\t\t\t\t\ttemplate={ this.supportsInnerBlocksPicker() ? this.state.template : TEMPLATE_OPTIONS[ 0 ].template }\n\t\t\t\t\ttemplateInsertUpdatesSelection={ false }\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tlayout\n\t\t\t},\n\t\t\tblockType,\n\t\t\tdefaultVariation,\n\t\t\treplaceInnerBlocks,\n\t\t\thasInnerBlocks,\n\t\t\tvariations,\n\t\t\tclassName,\n\t\t\tsetAttributes\n\t\t} = this.props;\n\n\t\tconst classNames = classnames(\n\t\t\tclassName,\n\t\t\t`site-header`,\n\t\t\t`site-header-${layout}`\n\t\t);\n\n\n\t\tif ( hasInnerBlocks || !this.supportsBlockVariationPicker() ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{ this.supportsBlockVariationPicker() ? this.blockVariationPicker() : this.innerBlocksPicker() }\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\tconst blockVariationPickerOnSelect = ( nextVariation = defaultVariation ) => {\n\n\t\t\tconst nextVariationName = nextVariation.name;\n\t\t\tsetAttributes( { layout: nextVariationName } );\n\n\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\tthis.props.setAttributes( nextVariation.attributes );\n\t\t\t}\n\n\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\tthis.props.clientId,\n\t\t\t\t\tthis.createBlocksFromInnerBlocksTemplate( nextVariation.innerBlocks )\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\t\tinstructions={ __( 'Select a variation to start with.', '__plugin_txtd' ) }\n\t\t\t\t\tvariations={ variations }\n\t\t\t\t\tallowSkip\n\t\t\t\t\tonSelect={ ( nextVariation ) => blockVariationPickerOnSelect( nextVariation ) }\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t}\n}\n\n\nconst applyWithSelect = withSelect( ( select, props ) => {\n\tconst { getBlocks } = select( 'core/block-editor' );\n\tconst { getBlocksByClientId } = select( 'core/editor' );\n\tconst { getBlockType, getBlockVariations, getDefaultBlockVariation } = select( 'core/blocks' );\n\tconst innerBlocks = getBlocks( props.clientId );\n\n\treturn {\n\t\tblockType: getBlockType( props.name ),\n\t\tdefaultVariation: typeof getDefaultBlockVariation === 'undefined' ? null : getDefaultBlockVariation( props.name ),\n\t\tgetBlocksByClientId,\n\t\thasInnerBlocks: select( 'core/block-editor' ).getBlocks( props.clientId ).length > 0,\n\t\tinnerBlocks,\n\t\tvariations: typeof getBlockVariations === 'undefined' ? null : getBlockVariations( props.name ),\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst {\n\t\tinsertBlock,\n\t\treplaceInnerBlocks,\n\t} = dispatch( 'core/block-editor' );\n\n\tconst {\n\t\tupdateBlockAttributes,\n\t} = dispatch( 'core/editor' );\n\n\treturn {\n\t\tinsertBlock,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t};\n} );\n\nexport default compose( [ applyWithSelect, applyWithDispatch ] )( Edit );\n\n\n\n","import * as icons from './icons';\nconst {__} = wp.i18n;\n\nconst variations = [\n\t{\n\t\tname: 'logo-left',\n\t\ttitle: __( 'Logo on the left side and one navigation menu', '__plugin_txtd' ),\n\t\ticon: icons.logoLeft,\n\t\tisDefault: true,\n\t\tinnerBlocks: [\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'logo-center',\n\t\ttitle: __( 'Logo centered and one navigation menu on each side', '__plugin_txtd' ),\n\t\ticon: icons.logoCenter,\n\t\tinnerBlocks: [\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--secondary\",\n\t\t\t\tslug: \"secondary\"\n\t\t\t} ],\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t}\n];\n\nexport default variations;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport variations from './variations';\n\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { InnerBlocks } = wp.blockEditor;\n\nfunction init() {\n\n\tregisterBlockType( 'novablocks/header', {\n\t\ttitle: __( 'Header', '__plugin_txtd' ),\n\t\tdescription: __( 'Outputs custom header markup.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.header,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'logo', '__plugin_txtd' ), __( 'menu', '__plugin_txtd' ) ],\n\t\tsupports: { align: [\"wide\", \"full\"], default: \"full\" },\n\t\tvariations,\n\t\tedit,\n\t\tsave: function() {\n\t\t\treturn \n\t\t}\n\t} )\n}\n\nexport default init;\n","import classnames from 'classnames';\nimport HeadingToolbar from '../../components/heading-toolbar';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\tPanelBody,\n} = wp.components;\n\nconst {\n\tRichText,\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n} = wp.blockEditor;\n\nexport default function HeadlineEdit( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tprimary,\n\t\tsecondary,\n\t\tlevel\n\t} = attributes;\n\n\tconst TagName = `h${level}`;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setAttributes( { level: newLevel } ) } />\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { align: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

    { __( 'Level', '__plugin_txtd' ) }

    \n\t\t\t\t\t setAttributes( { level: newLevel } ) } />\n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t\n\n\t\t\t\t setAttributes( { secondary: value } ) }\n\t\t\t\t\tplaceholder={ __( 'Subtitle…', '__plugin_txtd' ) }\n\t\t\t\t\tkeepPlaceholderOnFocus = {true}\n\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t/>\n\t\t\t\t setAttributes( { primary: value } ) }\n\t\t\t\t\tplaceholder={ __( 'Write title…', '__plugin_txtd' ) }\n\t\t\t\t\tkeepPlaceholderOnFocus = {true}\n\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t/>\n\n\t\t\t\n\t\t
    \n\t)\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tRichText\n} = wp.blockEditor;\n\nexport default function save( props ) {\n\n\tconst {\n\t\tattributes,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tprimary,\n\t\tsecondary,\n\t\tlevel,\n\t} = attributes;\n\n\tconst TagName = `h${level}`;\n\n\tconst className = classnames( 'c-headline', {\n\t\t[ `has-text-align-${ align }` ]: align,\n\t} );\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{ ` ` }\n\t\t\t\n\t\t\n\t);\n}\n","const { createBlock } = wp.blocks;\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/heading'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/headline', {\n\t\t\t\t\tprimary: attributes.content,\n\t\t\t\t\tsecondary: '',\n\t\t\t\t\tlevel: attributes.level,\n\t\t\t\t\tfontSize: attributes.fontSize,\n\t\t\t\t\tclassName: attributes.className,\n\t\t\t\t\talign: attributes.align,\n\t\t\t\t} )\n\t\t\t},\n\t\t}\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/heading'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tcontent: attributes.secondary + ' ' + attributes.primary,\n\t\t\t\t\tlevel: attributes.level,\n\t\t\t\t\tfontSize: attributes.fontSize,\n\t\t\t\t\tclassName: attributes.className,\n\t\t\t\t\talign: attributes.align,\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t],\n}\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nimport { STORE_NAME } from '../../store';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/headline', {\n\t\ttitle: __( 'Headline', '__plugin_txtd' ),\n\t\tdescription: __( 'Advanced heading block with a fancier display.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.headline,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'heading', '__plugin_txtd' ), __( 'title', '__plugin_txtd' ), __( 'cta', '__plugin_txtd' ), __( 'call to action', '__plugin_txtd' ) ],\n\t\tattributes: {\n\t\t\talign: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: \"center\"\n\t\t\t},\n\t\t\tprimary: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: __( \"Our Story\", '__plugin_txtd' )\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: __( \"Discover\", '__plugin_txtd' )\n\t\t\t},\n\t\t\tlevel: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: 2\n\t\t\t},\n\t\t},\n\t\tsave,\n\t\tedit,\n\t\ttransforms,\n\t} )\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nimport { withParallaxContext } from '../../components/with-parallax';\n\nconst HeroBackground = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\toverlayFilterStyle,\n\t\t\toverlayFilterStrength,\n\t\t\tmedia,\n\t\t\tcontentColor\n\t\t}\n\t} = props;\n\n\tconst styles = {\n\t\t...props.parallax.style,\n\t\topacity: 1,\n\t};\n\n\tif ( overlayFilterStyle !== 'none' ) {\n\t\tstyles.opacity = 1 - ( overlayFilterStrength / 100 );\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t{ !! media && media.type === 'image' && typeof media.sizes !== 'undefined' &&\n\t\t\t\t\t{ }\n\t\t\t\t{ !! media && media.type === 'video' &&\n\t\t\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HeroBackground;\n","/**\n * Internal dependencies\n */\nimport HeroBackground from './background';\n\n/**\n * WordPress dependencies\n */\nconst { InnerBlocks } = wp.blockEditor;\n\nconst {\n\tselect,\n} = wp.data;\n\nconst HeroPreview = function( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tsettings,\n\t} = props;\n\n\tconst {\n\t\t// layout\n\t\tcontentPadding,\n\t\tcontentPaddingCustom,\n\t\tcontentWidth,\n\t\tcontentWidthCustom,\n\t\t// alignment\n\t\tverticalAlignment,\n\t\thorizontalAlignment,\n\t\t// height\n\t\tminHeightFallback,\n\t\t// indicators\n\t\tscrollIndicatorBlock,\n\t\t// colors\n\t\tcontentColor,\n\t\toverlayFilterStyle,\n\n\t\tscrollingEffect,\n\t} = attributes;\n\n\tconst classes = [\n\t\tclassName,\n\t\t'novablocks-hero',\n\t\t`novablocks-u-valign-${ verticalAlignment }`,\n\t\t`novablocks-u-halign-${ horizontalAlignment }`,\n\t\t`novablocks-u-spacing-${ contentPadding }`,\n\t\t`novablocks-u-content-width-${ contentWidth }`,\n\t\t`novablocks-u-background`,\n\t\t`novablocks-u-background-${ overlayFilterStyle }`,\n\t];\n\n\tconst styles = {\n\t\thero: {\n\t\t\t'--novablocks-hero-text-color': contentColor,\n\t\t},\n\t\tforeground: {},\n\t\tcontent: {},\n\t};\n\n\tif ( contentColor !== '#FFF' ) {\n\t\tstyles.hero['--theme-dark-primary'] = '#FFF'\n\t}\n\n\tconst heroBlocks = select( 'core/block-editor' ).getBlocks().filter( ( block ) => {\n\t\treturn block.name === 'novablocks/hero';\n\t} );\n\n\tlet heroHeight = minHeightFallback;\n\tlet contentHeight = heroHeight;\n\n\tif ( scrollingEffect === 'doppler' ) {\n\t\theroHeight = minHeightFallback * 2;\n\t\tcontentHeight = 100;\n\t\tstyles.hero.alignItems = 'flex-start';\n\t}\n\n\tstyles.hero.minHeight = heroHeight + 'vh';\n\tstyles.foreground.minHeight = contentHeight + 'vh';\n\n\tif ( contentPadding === 'custom' ) {\n\t\tstyles.foreground.paddingTop = `${ contentPaddingCustom }%`;\n\t\tstyles.foreground.paddingBottom = `${ contentPaddingCustom }%`;\n\t}\n\n\tif ( contentWidth === 'custom' ) {\n\t\tstyles.content.maxWidth = `${ contentWidthCustom }%`;\n\t}\n\n\tconst index = heroBlocks.findIndex( ( block ) => block.clientId === clientId );\n\tconst scrollIndicatorFallback = index === 0 && heroHeight >= 100;\n\tconst scrollIndicator = settings.usePostMetaAttributes ? scrollIndicatorBlock : scrollIndicatorFallback;\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t{ scrollIndicator &&
    }\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HeroPreview;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport { AlignmentToolbar, ColorToolbar } from '../../components';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tBlockControls,\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst {\n\tButton,\n\tToolbar,\n} = wp.components;\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nconst HeroBlockControls = function( props ) {\n\tconst {\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t setAttributes( { media } ) }\n\t\t\t\t\trender={ ( { open } ) => {\n\t\t\t\t\t\treturn ;\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport default HeroBlockControls;\n","/**\n * Internal dependencies\n */\nimport {\n\tLayoutPanel,\n\tScrollIndicatorPanel,\n\tPositionIndicatorsPanel,\n\tAdvancedScrollAnimationControls,\n\twithParallax,\n\twithSettings,\n} from '../../components';\n\nimport heroAttributes from './attributes';\n\nimport { ControlsTab, ControlsSection } from \"../../components/control-sections\";\n\nimport { withFirstBlockConditions } from '../../utils';\n\nimport HeroPreview from './preview';\nimport BlockControls from './block-controls';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tPanelBody,\n\tRadioControl,\n} = wp.components;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nconst {\n\tselect\n} = wp.data;\n\nconst FirstBlockControls = withFirstBlockConditions( function( props ) {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n} );\n\nconst BlockHeightControls = function( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tsettings,\n\t} = props;\n\n\tconst { minHeightFallback } = attributes;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeightFallback: parseFloat( minHeightFallback )\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ settings.minimumHeightOptions }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nclass HeroEdit extends Component {\n\n\tgetDefaults( attributes ) {\n\t\tconst { settings } = this.props;\n\t\tconst { scrollIndicator } = attributes;\n\t\tconst defaults = {};\n\n\t\tif ( settings.usePostMetaAttributes ) {\n\t\t\tif ( ! scrollIndicator ) {\n\t\t\t\tdefaults.scrollIndicator = heroAttributes.scrollIndicator.default;\n\t\t\t}\n\t\t}\n\n\t\treturn defaults;\n\t}\n\n\tgetNewAttributes( attributes ) {\n\t\tconst { scrollIndicator } = attributes;\n\n\t\tconst index = select( 'core/block-editor' ).getBlocks().filter( ( block ) => {\n\t\t\treturn block.name === 'novablocks/hero';\n\t\t} ).findIndex( block => {\n\t\t\treturn block.clientId === this.props.clientId\n\t\t} );\n\n\t\tconst newScrollIndicatorBlock = index === 0 && scrollIndicator;\n\n\t\treturn {\n\t\t\tscrollIndicator: scrollIndicator,\n\t\t\tscrollIndicatorBlock: newScrollIndicatorBlock,\n\t\t};\n\t}\n\n\tupdateAttributes( newAttributes = {} ) {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst defaults = this.getDefaults( attributes );\n\t\tconst computedAttributes = this.getNewAttributes( { ...attributes, ...defaults, ...newAttributes } );\n\t\tsetAttributes( computedAttributes );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateAttributes();\n\t}\n\n\trender() {\n\t\tconst { settings } = this.props;\n\t\tconst { usePostMetaAttributes } = settings;\n\t\tconst updateAttributes = this.updateAttributes.bind( this );\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ usePostMetaAttributes && }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n};\n\nexport default createHigherOrderComponent(compose([\n\twithSettings,\n\twithParallax,\n]))( HeroEdit );\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","import save from \"./save\";\n\nimport blockAttributes from \"./attributes\";\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\nimport { getPlaceholderImages, getRandomBetween } from \"../../utils\";\n\nimport blockAttributes from \"./attributes\"\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\nimport generateDefaults from \"../../components/generate-defaults\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { select } = wp.data;\n\nasync function getNewDefaults() {\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst index = getRandomBetween( 0, placeholderImages.length - 1 );\n\tconst image = placeholderImages[index];\n\n\tif ( typeof image?.download === \"function\" ) {\n\t\timage.download();\n\t}\n\n\treturn {\n\t\tmedia: {\n\t\t\t...image,\n\t\t\ttype: 'image',\n\t\t}\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/hero', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/hero', {\n\t\ttitle: __( 'Hero of the Galaxy', '__plugin_txtd' ),\n\t\tdescription: __( 'A great way to get your visitors acquainted with your content.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.hero,\n\t\t// Additional search terms\n\t\tkeywords: [\n\t\t\t__( 'cover', '__plugin_txtd' ),\n\t\t\t__( 'full width', '__plugin_txtd' ),\n\t\t\t__( 'hero image', '__plugin_txtd' ),\n\t\t\t__( 'cover section', '__plugin_txtd' )\n\t\t],\n\t\texample: {},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t},\n\t\tdeprecated,\n\t\tattributes,\n\t\tedit,\n\t\tsave,\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} );\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType, } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/logo', {\n\t\ttitle: __( 'Logo', '__plugin_txtd' ),\n\t\tdescription: __( 'Outputs custom logo markup.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.logo,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'branding', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/header'],\n\t\tsave: function() {},\n\t\tedit: function( props ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t)\n\t\t},\n\t} )\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport { AlignmentToolbar } from '../../components/alignment-controls';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tMediaUpload,\n\tBlockControls,\n} = wp.blockEditor;\n\nconst {\n\tToolbar,\n} = wp.components;\n\nconst MEDIA_ALIGNMENTS_CONTROLS = {\n\tleft: {\n\t\ticon: 'align-pull-left',\n\t\ttitle: __( 'Show Media on Left Side', '__plugin_txtd' ),\n\t},\n\tright: {\n\t\ticon: 'align-pull-right',\n\t\ttitle: __( 'Show Media on Right Side', '__plugin_txtd' ),\n\t},\n};\n\nconst MediaBlockControls = function( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\tmediaPosition,\n\t} = attributes;\n\n\treturn (\n\t\t\n\n\t\t\t {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...MEDIA_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tsetAttributes( { mediaPosition: control } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisActive: mediaPosition === control,\n\t\t\t\t\t};\n\t\t\t\t} ) }\n\t\t\t/>\n\n\t\t\t\n\n\t\t\n\t);\n};\n\nexport default MediaBlockControls;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nimport AdvancedGallery from '../../components/advanced-gallery';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tInnerBlocks,\n} = wp.blockEditor;\n\nconst MediaPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentStyle,\n\t\t\tblockStyle,\n\t\t\tmediaPosition,\n\t\t\timages,\n\t\t\t// alignment\n\t\t\tverticalAlignment,\n\t\t\temphasisArea,\n\n\t\t\tcontentAreaWidth,\n\t\t\tlayoutGutter,\n\t\t},\n\t\tclassName,\n\t\tsettings,\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`novablocks-media`,\n\t\t`has-image-on-the-${ mediaPosition }`,\n\t\t`novablocks-u-valign-${ verticalAlignment }`,\n\t);\n\n\tconst passedProps = props;\n\n\tif ( \"undefined\" !== typeof images && images.length && typeof images[0] === 'string' ) {\n\t\tpassedProps.attributes.images = images.map( image => JSON.parse( image ) );\n\t}\n\n\tconst cssVars = {\n\t\t'--emphasis-area': emphasisArea,\n\t\t'--novablocks-media-content-width': `${contentAreaWidth}%`,\n\t\t'--novablocks-media-gutter': `calc( ${layoutGutter} * var(--novablocks-spacing) * 5 / 100 )`,\n\t};\n\n\tconst blockClassNames = classnames(\n\t\t`novablocks-block`,\n\t\t`block-is-${ blockStyle }`,\n\t\t`content-is-${ contentStyle }`,\n\t);\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default MediaPreview;\n","import classnames from 'classnames';\n\nimport ControlsGroup from \"../../components/controls-group\";\n\nimport {\n\tControlsTab,\n\tControlsSection,\n} from \"../../components/control-sections\";\n\nimport {\n\tEmphasisBlockAreaControls\n} from \"../../components/emphasis-level-controls\"\n\nimport {\n\tgetControlsClasses,\n} from \"../../utils\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst CONTENT_AREA_MAX_WIDTH = 70;\nconst CONTENT_AREA_MIN_WIDTH = 30;\nconst CONTENT_AREA_MID_VALUE = ( CONTENT_AREA_MIN_WIDTH + CONTENT_AREA_MAX_WIDTH ) * 0.5;\n\nconst MediaInspectorControls = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\temphasisArea,\n\n\t\tcontentAreaWidth,\n\t\tlayoutGutter,\n\t\tblockStyle,\n\n\t\t// customize tab attributes\n\t\tbalanceEmphasis,\n\t\tbalanceFocalPoint,\n\t} = attributes;\n\n\tconst getBalanceAttributes = ( { balanceEmphasis, balanceFocalPoint } ) => {\n\t\tconst width = balanceEmphasis * ( CONTENT_AREA_MAX_WIDTH - CONTENT_AREA_MID_VALUE ) / 100 + CONTENT_AREA_MID_VALUE;\n\t\tconst contentAreaWidth = 'content' === balanceFocalPoint ? width : 100 - width;\n\n\t\treturn {\n\t\t\tbalanceEmphasis,\n\t\t\tbalanceFocalPoint,\n\t\t\tcontentAreaWidth,\n\t\t}\n\t};\n\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t{\n\t\t\t\t\tblockStyle !== 'basic' &&\n\t\t\t\t\t setAttributes( { emphasisArea } ) }\n\t\t\t\t\t\tlabel={ __( 'Emphasis Area' ) }\n\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( getBalanceAttributes( { ...attributes, balanceEmphasis } ) );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Emphasis by Balance' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 25 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( getBalanceAttributes( { ...attributes, balanceFocalPoint } ) );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Content Area' ), value: 'content' },\n\t\t\t\t\t\t\t\t{ label: __( 'Media / Gallery' ), value: 'media' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t
    \n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { contentAreaWidth } ) }\n\t\t\t\t\t\t\tlabel={ __( 'Content Area Width' ) }\n\t\t\t\t\t\t\tmin={ CONTENT_AREA_MIN_WIDTH }\n\t\t\t\t\t\t\tmax={ CONTENT_AREA_MAX_WIDTH }\n\t\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { layoutGutter } ) }\n\t\t\t\t\t\t\tlabel={ __( 'Layout Gutter' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t
    \n\n\t\t
    \n\t);\n};\n\nexport default MediaInspectorControls;\n","/**\n * Internal dependencies\n */\nimport withSettings from '../../components/with-settings';\nimport BlockControls from './block-controls';\nimport MediaPreview from './preview';\nimport InspectorControls from './inspector-controls';\n\n/**\n * WordPress dependencies\n */\nconst { Fragment } = wp.element;\n\nconst MediaEdit = function( props ) {\n\tfunction updateImages( media ) {\n\t\tprops.setAttributes( {\n\t\t\timages: media.map( ( image ) => JSON.stringify( { id: image.id, url: image.url, alt: image.alt } ) ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default withSettings( MediaEdit );\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","const { createBlock } = wp.blocks;\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/media', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t}\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['novablocks/advanced-gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/advanced-gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t],\n}\n","import save from \"./save\";\n\nimport blockAttributes from \"./attributes\"\nimport galleryAttributes from \"../../components/advanced-gallery/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\nconst { images, ...attributesWithoutImages } = attributes;\n\nconst oldAttributes = {\n\t...attributesWithoutImages,\n\tgallery: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t},\n\t\tdefault: [],\n\t}\n};\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes: oldAttributes,\n\tisEligible( attributes ) {\n\t\treturn \"undefined\" === typeof attributes.images && typeof \"undefined\" !== attributes.gallery;\n\t},\n\tmigrate( attributes ) {\n\t\tconst { gallery, ...newAttributes } = attributes;\n\n\t\treturn {\n\t\t\t...newAttributes,\n\t\t\timages: gallery\n\t\t};\n\t},\n\tsave,\n});\n\ndeprecated.push({\n\tattributes: oldAttributes,\n\tisEligible( attributes ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes ) {\n\t\tconst { contentStyle } = attributes;\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontentStyle: contentStyle === 'basic' ? 'moderate' : contentStyle,\n\t\t\tupgradedToModerate: true,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport deprecated from './deprecated';\n\nimport { getPlaceholderImages, getRandomArrayFromArray, getRandomBetween } from \"../../utils\";\nimport { getRandomAttributes } from \"../../components/advanced-gallery/util\";\nimport generateDefaults from \"../../components/generate-defaults\";\n\nimport blockAttributes from './attributes';\nimport galleryAttributes from \"../../components/advanced-gallery/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst numberOfImages = getRandomBetween( 2, 4 );\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst randomImages = getRandomArrayFromArray( placeholderImages, numberOfImages );\n\tconst randomAttributes = getRandomAttributes();\n\n\trandomImages.forEach( image => {\n\t\tif ( typeof image?.download === \"function\" ) {\n\t\t\timage.download();\n\t\t}\n\t} );\n\n\treturn {\n\t\t...randomAttributes,\n\t\tverticalAlignment: \"center\",\n\t\timages: randomImages\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/media', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/media', {\n\t\ttitle: __( 'Media Card Constellation', '__plugin_txtd' ),\n\t\tdescription: __( 'Display media objects alongside short pieces of content.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.media,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'image with text', '__plugin_txtd' ), __( 'columns', '__plugin_txtd' ), __( 'side text', '__plugin_txtd' ) ],\n\t\tattributes,\n\t\tedit,\n\t\tsave,\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t\tdeprecated,\n\t\ttransforms\n\t} )\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nconst SlideshowBackground = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\toverlayFilterStyle,\n\t\t\toverlayFilterStrength,\n\t\t},\n\t\tpreviewImage\n\t} = props;\n\n\tconst focalPoint = previewImage.focalPoint || { x: 0.5, y: 0.5 };\n\n\tconst styles = {\n\t\t...props.parallax.style,\n\t\topacity: 1,\n\t\tobjectPosition: focalPoint.x * 100 + '% ' + focalPoint.y * 100 + '%',\n\t};\n\n\tif ( overlayFilterStyle !== 'none' ) {\n\t\tstyles.opacity = 1 - ( overlayFilterStrength / 100 );\n\t}\n\n\tconst imageURL = previewImage?.sizes?.novablocks_large?.url || previewImage?.sizes?.novablocks_huge?.url;\n\tconst videoURL = previewImage?.url;\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t{ previewImage.type !== 'video' && \"\" }\n\t\t\t\t{ previewImage.type === 'video' &&
    \n\t\t
    \n\t);\n};\n\nexport default SlideshowBackground;\n","/**\n * Internal dependencies\n */\nimport SlideshowBackground from './background';\nimport { GalleryPlaceholder } from '../../components';\nimport { getMediaTitle, getMediaCaption } from \"../../utils\";\n\n/**\n * WordPress dependencies\n */\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst SlideshowPreview = class extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\twindowWidth: window.innerWidth,\n\t\t\twindowHeight: window.innerHeight,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.updateDimensions.bind( this ) );\n\t\tthis.updateDimensions();\n\t}\n\n\tupdateDimensions() {\n\t\tif ( !this.container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tdimensions: {\n\t\t\t\twidth: this.container.offsetWidth,\n\t\t\t\theight: this.container.offsetHeight,\n\t\t\t},\n\t\t} );\n\t}\n\n\trenderContent() {\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\t// layout\n\t\t\t\tcontentPadding,\n\t\t\t\tcontentPaddingCustom,\n\t\t\t\tcontentWidth,\n\t\t\t\tcontentWidthCustom,\n\t\t\t\tminHeight,\n\t\t\t\t// alignment\n\t\t\t\tverticalAlignment,\n\t\t\t\thorizontalAlignment,\n\t\t\t\t// colors\n\t\t\t\tcontentColor,\n\t\t\t\toverlayFilterStyle,\n\t\t\t\t// media\n\t\t\t\tgalleryImages,\n\t\t\t},\n\t\t\tpreviewImage,\n\t\t\tclassName,\n\t\t} = this.props;\n\n\t\tconst classes = [\n\t\t\tclassName,\n\t\t\t'novablocks-slideshow is-ready',\n\t\t\t`novablocks-u-valign-${ verticalAlignment }`,\n\t\t\t`novablocks-u-halign-${ horizontalAlignment }`,\n\t\t\t`novablocks-u-spacing-${ contentPadding }`,\n\t\t\t`novablocks-u-content-width-${ contentWidth }`,\n\t\t\t`novablocks-u-background`,\n\t\t\t`novablocks-u-background-${ overlayFilterStyle }`,\n\t\t];\n\n\t\tconst styles = {\n\t\t\tslideshow: {\n\t\t\t\t'--novablocks-slideshow-text-color': contentColor,\n\t\t\t},\n\t\t\tcontent: {},\n\t\t\tforeground: {},\n\t\t};\n\n\t\tif ( contentPadding === 'custom' ) {\n\t\t\tstyles.foreground.paddingTop = `${ contentPaddingCustom }%`;\n\t\t\tstyles.foreground.paddingBottom = `${ contentPaddingCustom }%`;\n\t\t}\n\n\t\tif ( contentWidth === 'custom' ) {\n\t\t\tstyles.content.maxWidth = `${ contentWidthCustom }%`;\n\t\t}\n\n\t\tlet maxAspectRatio = 0;\n\t\tlet mediaMinHeight = 0;\n\n\t\tgalleryImages.map( ( image ) => {\n\t\t\tif ( !! image.sizes && !! image.sizes.full && !! image.width && !! image.height ) {\n\t\t\t\tconst aspectRatio = image.width / image.height;\n\t\t\t\tmaxAspectRatio = aspectRatio > maxAspectRatio ? aspectRatio : maxAspectRatio;\n\t\t\t\tmediaMinHeight = this.state.dimensions.width / maxAspectRatio;\n\t\t\t}\n\t\t\treturn true;\n\t\t} );\n\n\t\tlet attributesHeight = this.props.parallax.state.scrollContainerHeight * minHeight / 100;\n\n\t\tstyles.slideshow.minHeight = Math.max( attributesHeight, mediaMinHeight, maxAspectRatio ) + 'px';\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{ !! galleryImages.length &&
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{ previewImage && \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t${ previewImage.title }` || '' ) +\n\t\t\t\t\t\t\t\t\t\t\t\t( typeof previewImage.caption === 'string' && previewImage.caption || '' )\n\t\t\t\t\t\t\t\t\t\t} }>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t{ galleryImages.length > 1 &&
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    }\n\t\t\t\t
}\n\t\t\t\t{ ! galleryImages.length && }\n\t\t\t\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { dimensions } = this.state;\n\t\treturn (\n\t\t\t
( this.container = el ) }>\n\t\t\t\t{ dimensions && this.renderContent() }\n\t\t\t
\n\t\t);\n\t}\n};\n\nexport default SlideshowPreview;\n","/**\n * Internal dependencies\n */\nimport {\n\tLayoutPanel,\n\tGalleryPreview,\n} from '../../components';\n\nimport {getSnapClassname, maybeSnapFocalPoint} from \"../../utils\";\nimport {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFocalPointPicker,\n\tPanelBody,\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst SlideshowInspectorControls = function( props ) {\n\n\tconst {\n\t\tattributes: {\n\t\t\tgalleryImages,\n\t\t\tminHeight,\n\t\t\tslideshowType,\n\t\t},\n\t\tselectedIndex,\n\t\tsetIndex,\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tslideshow: {\n\t\t\t\tminHeightOptions,\n\t\t\t},\n\t\t},\n\t} = props;\n\n\tconst selectedImage = galleryImages[ selectedIndex ];\n\n\tlet focalPointPickerClassNames = [ 'novablocks-focal-point-picker' ];\n\n\tif ( selectedImage ) {\n\t\tlet selectedImageFocalPoint = selectedImage.focalPoint || { x: 0.5, y: 0.5 };\n\t\tfocalPointPickerClassNames.push( getSnapClassname( selectedImageFocalPoint ) )\n\t}\n\n\tfocalPointPickerClassNames = focalPointPickerClassNames.join( ' ' );\n\n\tlet thumbnail,\n\t\twidth,\n\t\theight;\n\n\tif ( 'video' === selectedImage?.type ) {\n\t\tthumbnail = '//cloud.pixelgrade.com/wp-content/uploads/2020/01/Screenshot-2020-01-09-at-15.59.37.png';\n\t\twidth = 218;\n\t\theight = 170;\n\t} else {\n\t\tthumbnail = selectedImage?.sizes?.novablocks_tiny?.url || selectedImage?.sizes?.novablocks_large?.url || selectedImage?.sizes?.novablocks_huge?.url\n\t\twidth = selectedImage?.width;\n\t\theight = selectedImage?.height;\n\t}\n\n\treturn (\n\t\t\n\n\t\t\t{\n\t\t\t\t!! galleryImages.length &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tselectedImage &&\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst newGalleryImages = galleryImages;\n\t\t\t\t\t\t\t\t\tnewGalleryImages[ selectedIndex ].focalPoint = maybeSnapFocalPoint( focalPoint );\n\t\t\t\t\t\t\t\t\tsetAttributes( { galleryImages: newGalleryImages } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\n\t\t\t{\n\t\t\t\t'gallery' === slideshowType &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetAttributes( { minHeight: parseInt( nextMinHeight, 10 ) } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\toptions={ minHeightOptions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default SlideshowInspectorControls;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport { AlignmentToolbar } from '../../components/alignment-controls';\nimport { ColorToolbar } from '../../components/color-controls';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tToolbar,\n} = wp.components;\n\nconst {\n\tBlockControls\n} = wp.blockEditor;\n\nconst {\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nconst SlideshowBlockControls = function( props ) {\n\n\tconst {\n\t\tattributes: {\n\t\t\tgalleryImages,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tconst onChangeGallery = function( items ) {\n\t\tconst promises = items.map( ( item, index ) => {\n\t\t\treturn wp.apiRequest( { path: '/wp/v2/media/' + item.id } ).then( data => {\n\t\t\t\titems[ index ] = { ...data, ...item };\n\t\t\t} );\n\t\t} );\n\n\t\tPromise.all( promises ).then( () => {\n\t\t\tsetAttributes( { galleryImages: items } );\n\t\t} );\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t image.id ) }\n\t\t\t\t\tonSelect={ onChangeGallery }\n\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SlideshowBlockControls;\n","/**\n * Internal dependencies\n */\nimport { shuffleArray } from '../../utils';\n\nimport SlideshowPreview from './preview';\nimport InspectorControls from './inspector-controls';\nimport BlockControls from './block-controls';\n\nimport { withSettings, withParallax } from '../../components';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nclass Edit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tselectedIndex: 0,\n\t\t};\n\t}\n\n\tonPrevArrowClick() {\n\t\tconst { attributes: { galleryImages } } = this.props;\n\t\tconst { selectedIndex } = this.state;\n\t\tconst newIndex = ( selectedIndex + galleryImages.length - 1 ) % galleryImages.length;\n\t\tthis.setState( { selectedIndex: newIndex } );\n\t}\n\n\tonNextArrowClick() {\n\t\tconst { attributes: { galleryImages } } = this.props;\n\t\tconst { selectedIndex } = this.state;\n\t\tconst newIndex = ( selectedIndex + 1 ) % galleryImages.length;\n\t\tthis.setState( { selectedIndex: newIndex } );\n\t}\n\n\tsetIndex( selectedIndex ) {\n\t\tthis.setState( { selectedIndex } );\n\t}\n\n\trender() {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tgalleryImages,\n\t\t\t},\n\t\t} = this.props;\n\n\t\tconst setIndex = this.setIndex.bind( this );\n\n\t\tlet { selectedIndex } = this.state;\n\n\t\tif ( selectedIndex >= galleryImages.length ) {\n\t\t\tselectedIndex = galleryImages.length - 1;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default createHigherOrderComponent(compose([\n\twithSettings,\n\twithParallax,\n]))( Edit );\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","import save from \"./save\";\n\nimport blockAttributes from \"./attributes\"\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nimport { STORE_NAME } from \"../../store\";\nimport { getPlaceholderImages, getRandomArrayFromArray, getRandomBetween } from \"../../utils\";\nimport generateDefaults from \"../../components/generate-defaults\";\n\nimport blockAttributes from \"./attributes\"\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst count = getRandomBetween( 2, 4 );\n\tconst images = getRandomArrayFromArray( placeholderImages, count );\n\n\timages.forEach( image => {\n\t\tif ( typeof image?.download === \"function\" ) {\n\t\t\timage.download();\n\t\t}\n\t} );\n\n\treturn {\n\t\tgalleryImages: images,\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/slideshow', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/slideshow', {\n\t\ttitle: __( 'Slideshow Me the Way', '__plugin_txtd' ),\n\t\tdescription: __( 'Display more than one piece of content in a single, coveted space.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.slideshow,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'slider', '__plugin_txtd' ), __( 'carousel', '__plugin_txtd' ), __( 'images', '__plugin_txtd' ), __( 'cover', '__plugin_txtd' ) ],\n\t\tattributes,\n\t\tedit,\n\t\tsave,\n\t\tdeprecated,\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} );\n}\n\nexport default init;\n","const { __ } = wp.i18n;\n\nconst {\n\tComponent,\n} = wp.element;\n\nexport default class Edit extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tslug\n\t\t\t}\n\t\t} = this.props;\n\n\t\treturn [\n\t\t\t\n\t\t]\n\t}\n}\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType, } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/navigation', {\n\t\ttitle: __( 'Space Navigation', '__plugin_txtd' ),\n\t\tdescription: __( 'Outputs chosen navigaiton menu markup.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.navigation,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'menu', '__plugin_txtd' ), __( 'site menu', '__plugin_txtd' ), __( 'primary', '__plugin_txtd' ), __( 'secondary', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/header'],\n\t\tsave: function() {},\n\t\tedit,\n\t} )\n}\n\nexport default init;\n","import { ControlsTab, ControlsSection } from \"../../components/control-sections\";\n\nconst { __ } = wp.i18n;\nconst { ToggleControl } = wp.components;\n\nconst FoodMenuInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableTwoColumns,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setAttributes( {enableTwoColumns: !enableTwoColumns} )}\n\t\t\t\t/>\n\n\t\t\t\t setAttributes( {showPrices: !showPrices} )}\n\t\t\t\t/>\n\n\t\t\t\t setAttributes( {showDescription: !showDescription} )}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuInspectorControls;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst {__} = wp.i18n;\nconst {InnerBlocks} = wp.blockEditor;\nconst {createBlock} = wp.blocks;\n\nconst {Button} = wp.components;\n\nconst ALLOWED_BLOCKS = ['novablocks/menu-food-section'];\nconst TEMPLATE = [\n\t['novablocks/menu-food-section', {sectionTitle: 'Starters'},\n\t\t[\n\t\t\t['novablocks/menu-food-item', {title: 'Pea & Mint Soup', description: 'Server with focaccia bread', price: '$8.00', showPrices: true, showDescription: true, enableSalePrice: true, salePrice: '$5.00'}],\n\t\t\t['novablocks/menu-food-item', {title: 'Beef Meatballs', description: 'In a spicy tomato sauce', price: '$10.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Hummus & Baba Ganoush Dip', description: 'Olive & grilled flatbread', price: '$12.00', showPrices: true, showDescription: true}],\n\t\t]\n\t],\n\n\t['novablocks/menu-food-section', {sectionTitle: 'Desserts'},\n\t\t[\n\t\t\t['novablocks/menu-food-item', {title: 'Dark Chocolate & Brownie Delice', description: 'Fudge bits & salted caramel ice cream', price: '$6.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Berry Cheesecake Trifle', description: 'Fresh raspberries & strawberries, sable cookie', price: '$6.50', showPrices: true, showDescription: true, enableHighlightFoodItem: true, highlightLabel: 'New'}],\n\t\t\t['novablocks/menu-food-item', {title: 'Caramelised Lemon Tart', description: 'Meringue crisps, gin & tonic ice cream', price: '$6.50', showPrices: true, showDescription: true}],\n\t\t]\n\t],\n\n\t['novablocks/menu-food-section', {sectionTitle: 'Main Course'},\n\t\t[\n\t\t\t['novablocks/menu-food-item', {title: 'The Classic Burger', description: 'Chargrilled, with or without bacon, on a brioche bun & fries', price: '$15.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Roast Salmon', description: 'Hollandaise sauce, green beans & potato galette', price: '$19.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Tagliatelle Pesto Chicken', description: 'Roasted Mediterranean vegetables, tomato and herb sauce', price: '$15.00', showPrices: true, showDescription: true, enableHighlightFoodItem: true, highlightLabel: 'Chef Selection'}],\n\t\t\t['novablocks/menu-food-item', {title: 'Confit de Canard ', description: 'Duck confit, white bean & ham cassoulet, wilted spinach', price: '$12.15', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Roasted Steak Roulade', description: 'Mint parsley with apple cider vinegar, salt, sugar & spices', price: '$14.95', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Cornish-mackerel', description: 'Marinated tomatoes, fragrant curry, tamarillo', price: '$10.45', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Lobster & Cucumber Soup', description: 'Lobster salad, smoked onion, rock samphire & sorrel', price: '$24.95', showPrices: true, showDescription: true}],\n\t\t]\n\t],\n];\n\nconst FoodMenuPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableTwoColumns,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tclientId,\n\t\tclassName,\n\t} = props;\n\n\tconst addFoodMenuSection = () => {\n\t\tconst block = createBlock( 'novablocks/menu-food-section' );\n\t\tconst index = wp.data.select( 'core/block-editor' ).getBlocksByClientId( clientId )[0].innerBlocks.length;\n\t\twp.data.dispatch( 'core/block-editor' ).insertBlock( block, index, clientId );\n\t};\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu`,\n\t\t{\n\t\t\t'nova-food-menu--layout' : enableTwoColumns === true,\n\t\t\t'price--is-hidden' : showPrices === false\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\t{ __( 'Add Menu Section', '__plugin_txtd' ) }\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default FoodMenuPreview;\n","/**\n * WordPress dependencies\n */\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\tselect,\n\tdispatch,\n} = wp.data;\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from \"./inspector-controls\";\nimport FoodMenuPreview from \"./preview\";\n\nconst FoodMenuEdit = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst withMenuVisibilityAttributes = createHigherOrderComponent( ( BlockListBlock ) => {\n\treturn ( props ) => {\n\t\tif ( 'novablocks/menu-food' === props.name ) {\n\t\t\tconst { clientId, attributes } = props;\n\t\t\tconst { getBlock } = select( 'core/block-editor' );\n\t\t\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\t\t\tconst menu = getBlock( clientId );\n\t\t\tconst sections = menu?.innerBlocks;\n\t\t\tconst newAttributes = (\n\t\t\t\t( { showPrices, showDescription } ) => (\n\t\t\t\t\t{ showPrices, showDescription }\n\t\t\t\t)\n\t\t\t)( attributes );\n\n\t\t\tif ( Array.isArray( sections ) ) {\n\t\t\t\tsections.forEach( block => {\n\t\t\t\t\tif ( Array.isArray( block.innerBlocks ) ) {\n\t\t\t\t\t\tblock.innerBlocks.forEach( innerBlock => {\n\t\t\t\t\t\t\tupdateBlockAttributes( innerBlock.clientId, newAttributes );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t\treturn \n\t};\n}, 'withCollectionVisibilityAttributes' );\n\nwp.hooks.addFilter( 'editor.BlockListBlock', 'novablocks/with-menu-visibility-attributes', withMenuVisibilityAttributes );\n\nexport default FoodMenuEdit;\n","import classnames from \"classnames\";\n\n/**\n * External dependencies\n */\n\nconst {__} = wp.i18n;\nconst {InnerBlocks} = wp.blockEditor;\n\nconst FoodMenuSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableTwoColumns,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tclassName,\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu`,\n\t\t{\n\t\t\t'nova-food-menu--layout' : enableTwoColumns === true,\n\t\t\t'price--is-hidden' : showPrices === false\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n};\n\nexport default FoodMenuSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nconst { select } = wp.data;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/menu-food', {\n\t\ttitle: __( 'Food Menu', '__plugin_txtd' ),\n\t\tdescription: __( 'Display a list of food or drink items available at your venue.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.foodmenu,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'food menu', '__plugin_txtd' ), __( 'restaurant menu', '__plugin_txtd' ), __( 'dishes', '__plugin_txtd' ), __( 'eats', '__plugin_txtd' ), __( 'menu list', '__plugin_txtd' ) ],\n\t\tattributes: {\n\t\t\tenableTwoColumns : {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'wide'\n\t\t\t},\n\t\t\tshowPrices: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\tshowDescription: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tattributes: {\n\t\t\t\tenableTwoColumns: false\n\t\t\t},\n\t\t\tinnerBlocks: [\n\t\t\t\t{\n\t\t\t\t\tname: 'novablocks/menu-food-section',\n\t\t\t\t\tinnerBlocks: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'novablocks/menu-food-item',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'novablocks/menu-food-item',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tstyles: [\n\t\t\t{\n\t\t\t\tname: 'classic',\n\t\t\t\tlabel: __( 'Classic', '__plugin_txtd' ),\n\t\t\t\tisDefault: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'basic',\n\t\t\t\tlabel: __( 'Basic', '__plugin_txtd' )\n\t\t\t},\n\t\t],\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'wide' } : {};\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","/**\n * WordPress dependencies\n */\nimport classnames from 'classnames';\n\nconst {__} = wp.i18n;\nconst {InnerBlocks, RichText} = wp.blockEditor;\nconst {createBlock} = wp.blocks;\nconst {Button} = wp.components;\n\n/**\n * Internal dependencies.\n */\nconst ALLOWED_BLOCKS = ['novablocks/menu-food-item'];\nconst TEMPLATE = [\n\t['novablocks/menu-food-item'],\n];\n\nconst FoodMenuSectionPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tsectionTitle,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tsetAttributes,\n\t\tclientId,\n\t\tclassName,\n\t} = props;\n\n\tconst addFoodMenuItem = () => {\n\t\tconst block = createBlock( 'novablocks/menu-food-item' );\n\t\tconst index = wp.data.select( 'core/block-editor' ).getBlocksByClientId( clientId )[0].innerBlocks.length;\n\t\twp.data.dispatch( 'core/block-editor' ).insertBlock( block, index, clientId );\n\t};\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu__section`\n\t);\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t setAttributes( {sectionTitle} )}\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t\t{ __( 'Add Menu Item', '__plugin_txtd' ) }\n\t\t\t\n\n\t\t
\n\n\t);\n};\n\nexport default FoodMenuSectionPreview;\n","/**\n * WordPress dependencies\n */\n\nconst {Fragment} = wp.element;\n\n/**\n * Internal dependencies\n */\nimport FoodMenuSectionPreview from \"./preview\";\n\nconst FoodMenuSectionEdit = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuSectionEdit;\n","import classnames from \"classnames\";\n\n/**\n * WordPress dependencies\n */\n\nconst {__} = wp.i18n;\nconst {InnerBlocks, RichText} = wp.blockEditor;\n\n\nconst FoodMenuSectionSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tsectionTitle\n\t\t},\n\t\tsetAttributes,\n\t\tclassName,\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu__section`\n\t);\n\n\treturn (\n\t\t
\n\n\t\t\t
\n\t\t\t\t setAttributes( {sectionTitle} )}\n\t\t\t\t\titemprop=\"name\"\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t
\n\t)\n};\n\nexport default FoodMenuSectionSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/menu-food-section', {\n\t\ttitle: __( 'Food Menu Section', '__plugin_txtd' ),\n\t\tdescription: __( 'A subgrouping of the Menu.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.foodmenu,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'menu section', '__plugin_txtd' ), __( 'food section', '__plugin_txtd' ), __( 'list section', '__plugin_txtd' ), __( 'dishes section', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/menu-food'],\n\t\tattributes: {\n\t\t\tsectionTitle: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Drinks', '__plugin_txtd' )\n\t\t\t}\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nconst {RichText} = wp.blockEditor;\n\nconst {__} = wp.i18n;\n\n\nconst FoodMenuItemPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableHighlightFoodItem,\n\t\t\thighlightLabel,\n\t\t\tenableSalePrice,\n\t\t\tshowDescription,\n\t\t\tshowPrices,\n\t\t\tsalePrice,\n\t\t\tprice,\n\t\t\tdescription,\n\t\t\ttitle\n\t\t},\n\t\tsetAttributes,\n\t\tclassName\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu-item`,\n\t\t{\n\t\t\t'nova-food-menu-item--highlighted': enableHighlightFoodItem === true,\n\t\t\t'has-sale-price': enableSalePrice === true\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\n\t\t\t{enableHighlightFoodItem &&\n\t\t\t
\n\t\t\t\t setAttributes( {highlightLabel} )}\n\t\t\t\t\t allowedFormats={ [] }\n\t\t\t\t />\n\t\t\t
\n\t\t\t}\n\n\t\t\t
\n\t\t\t\t setAttributes( {title} )}\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t{showPrices &&
\n\t\t\t\t setAttributes( {price} )}\n\t\t\t\t/>\n\n\t\t\t\t{enableSalePrice &&\n\t\t\t\t
\n\t\t\t\t\t setAttributes( {salePrice} )}\n\t\t\t\t\t\t allowedFormats={ [] }\n\t\t\t\t\t />\n\t\t\t\t
\n\t\t\t\t }\n\t\t\t
}\n\n\t\t\t{ showDescription &&
\n\t\t\t\t setAttributes( {description} )}\n\t\t\t\t/>\n\t\t\t
}\n\n\t\t
\n\t);\n};\n\nexport default FoodMenuItemPreview;\n","import { ControlsTab, ControlsSection } from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { ToggleControl } = wp.components;\n\nconst FoodMenuItemInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableHighlightFoodItem,\n\t\t\tenableSalePrice,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setAttributes( {enableHighlightFoodItem: ! enableHighlightFoodItem} )}\n\t\t\t\t/>\n\n\t\t\t\t{ showPrices && setAttributes( {enableSalePrice: ! enableSalePrice} )}\n\t\t\t\t/> }\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuItemInspectorControls;\n","/**\n * Internal dependencies\n */\nimport FoodMenuItemPreview from './preview';\nimport InspectorControls from \"./inspector-controls\";\n\n/**\n * WordPress dependencies\n */\nconst {\n\tFragment\n} = wp.element;\n\nconst FoodMenuItem = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuItem;\n","import classnames from \"classnames\";\n\n/**\n * WordPress dependencies.\n */\nconst {__} = wp.i18n;\nconst {RichText} = wp.blockEditor;\n\nconst FoodMenuItemSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableHighlightFoodItem,\n\t\t\thighlightLabel,\n\t\t\tenableSalePrice,\n\t\t\tshowDescription,\n\t\t\tshowPrices,\n\t\t\tsalePrice,\n\t\t\tprice,\n\t\t\tdescription,\n\t\t\ttitle\n\t\t},\n\t\tsetAttributes,\n\t\tclassName\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu-item`,\n\t\t{\n\t\t\t'nova-food-menu-item--highlighted': enableHighlightFoodItem === true,\n\t\t\t'has-sale-price': enableSalePrice === true\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\n\t\t\t{enableHighlightFoodItem &&\n\t\t\t
\n\t\t\t
{highlightLabel}
\n\t\t\t
\n\t\t\t}\n\n\t\t\t
\n\t\t\t\t setAttributes( {title} )}\n\t\t\t\t\titemprop=\"name\"\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t{ showPrices &&
\n\t\t\t\t setAttributes( {price} )}\n\t\t\t\t\titemprop=\"price\"\n\t\t\t\t/>\n\n\t\t\t\t{enableSalePrice &&\n\t\t\t\t
\n\t\t\t\t {salePrice} \n\t\t\t\t
\n\t\t\t\t }\n\t\t\t
}\n\n\t\t\t{ showDescription &&
\n\t\t\t\t setAttributes( {description} )}\n\t\t\t\t\titemprop=\"description\"\n\t\t\t\t/>\n\t\t\t
}\n\n\t\t
\n\t);\n};\n\nexport default FoodMenuItemSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/menu-food-item', {\n\t\ttitle: __( 'Menu Item', '__plugin_txtd' ),\n\t\tdescription: __( 'A food or drink item contained in a menu or menu section.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.foodmenu,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'menu item', '__plugin_txtd' ), __( 'food item', '__plugin_txtd' ), __( 'dish', '__plugin_txtd' ), __( 'list item', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/menu-food-section'],\n\t\tattributes: {\n\t\t\ttitle: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Sweet Shrimp Salad', '__plugin_txtd' )\n\t\t\t},\n\t\t\tdescription: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Tomatillo, Baja Crema, Cabbage, Fried Okra', '__plugin_txtd' )\n\t\t\t},\n\t\t\tprice: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '$7.95'\n\t\t\t},\n\t\t\tsalePrice: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '$9.50'\n\t\t\t},\n\t\t\thighlightLabel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Our top pick', '__plugin_txtd' )\n\t\t\t},\n\t\t\tenableHighlightFoodItem: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tenableSalePrice: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tshowPrices: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\tshowDescription: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","import classnames from \"classnames\";\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n\n/**\n * WordPress dependencies\n */\n\nconst {__} = wp.i18n;\nconst {Component} = wp.element;\nconst {SandBox} = wp.components;\n\n\nclass OpenTablePreview extends Component {\n\n\tshouldComponentUpdate( prevProps ) {\n\t\treturn ! isShallowEqual( prevProps.attributes, this.props.attributes );\n\t}\n\n\trender() {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\trestaurantId,\n\t\t\t\tlanguage,\n\t\t\t\tlayoutForm,\n\t\t\t\tshowOpenTableLogo\n\t\t\t},\n\t\t\tclassName,\n\t\t} = this.props;\n\n\t\tconst classNames = classnames(\n\t\t\tclassName,\n\t\t\t`novablocks-opentable`,\n\t\t\t`novablocks-opentable__${layoutForm}`,\n\n\t\t\t{\n\t\t\t\t'has-opentable-logo': showOpenTableLogo === true\n\t\t\t}\n\t\t);\n\n\t\tconst OpenTable = ( props ) => {\n\t\t\treturn \n\t\t};\n\n\t\tconst html = `
` +\n\t\t `` +\n\t\t `` +\n\t\t `` +\n\t\t '
';\n\n\t\treturn (\n\t\t\t\n\t\t);\n\n\t}\n}\n\n\nexport default OpenTablePreview;\n","import {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst {__} = wp.i18n;\nconst {Fragment} = wp.element;\nconst {InspectorControls} = wp.blockEditor;\nconst {PanelBody, TextControl, ToggleControl, RadioControl, SelectControl} = wp.components;\n\nconst OpenTableInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\trestaurantId,\n\t\t\tlanguage,\n\t\t\tlayoutForm,\n\t\t\tshowOpenTableLogo\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { restaurantId: restaurantId } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t setAttributes( { language: nextLanguage } ) }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { layoutForm: nextLayout } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t setAttributes( { showOpenTableLogo: ! showOpenTableLogo } ) }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t)\n};\n\nexport default OpenTableInspectorControls;\n","import OpenTablePreview from \"./preview\";\nimport InspectorControls from \"./inspector-controls\";\n\n/**\n * WordPress dependencies\n */\nconst {Fragment} = wp.element;\n\nconst OpenTable = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OpenTable;\n","import classnames from \"classnames\";\n\n/**\n * WordPress dependencies.\n */\nconst {__} = wp.i18n;\n\nconst OpenTableSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\trestaurantId,\n\t\t\tlanguage,\n\t\t\tshowOpenTableLogo,\n\t\t\tlayoutForm\n\t\t},\n\t\tclassName\n\t} = props;\n\n\tconst formSrc = `//www.opentable.com/widget/reservation/loader?rid=${restaurantId}&domain=com&type=standard&theme=${layoutForm}&iframe=false&overlay=false&domain=com&lang=${language}`\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`novablocks-opentable`,\n\t\t`novablocks-opentable__${ layoutForm }`,\n\n\t\t{\n\t\t\t'has-opentable-logo': showOpenTableLogo === true\n\t\t}\n\n\t);\n\n\treturn (\n\n\t\t
\n\t\t\t\n\t\t
\n\n\t);\n};\n\nexport default OpenTableSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\n\nfunction init() {\n\tregisterBlockType( 'novablocks/opentable', {\n\t\ttitle: __( 'OpenTable Reservation', '__plugin_txtd' ),\n\t\tdescription: __( 'Add OpenTable online reservation booking to your site.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.opentable,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'reservations', '__plugin_txtd' ), __( 'bookings', '__plugin_txtd' ) ],\n\t\tattributes: {\n\t\t\trestaurantId: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 1\n\t\t\t},\n\t\t\tlanguage: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'en-US'\n\t\t\t},\n\t\t\tshowOpenTableLogo: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\tlayoutForm: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'wide'\n\t\t\t}\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","const OpenHoursPreview = function(props) {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\ttext,\n\t\t\t\tparsedText,\n\t\t\t\topenHoursStyle,\n\t\t\t\ttimeFormat,\n\t\t\t\topenNote,\n\t\t\t\tclosedNote,\n\t\t\t\tclosedLabel,\n\t\t\t\tcompressOpeningHours,\n\t\t\t\thideClosedDays,\n\t\t\t\tuseShortName\n\t\t\t},\n\t\t} = props;\n\n\n\t\treturn (\n\t\t\t\n\t\t)\n};\n\nexport default OpenHoursPreview;\n","import {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst {Fragment, useState} = wp.element;\nconst {__} = wp.i18n;\n\nimport { parseContent } from \"./hoursparser\";\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tPanelBody,\n\tRadioControl,\n\tTextControl,\n\tTextareaControl,\n\tToggleControl,\n\tModal,\n\tButton,\n\tExternalLink\n} = wp.components;\n\nconst OpenHoursInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\topenHoursStyle,\n\t\t\ttext,\n\t\t\tparsedText,\n\t\t\ttimeFormat,\n\t\t\topenNote,\n\t\t\tclosedNote,\n\t\t\tclosedLabel,\n\t\t\tcompressOpeningHours,\n\t\t\thideClosedDays,\n\t\t\tuseShortName\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tconst timeFormattingUrl = 'https://wordpress.org/support/article/formatting-date-and-time/';\n\n\tconst AvailableTagsModal = () => {\n\t\tconst [ isOpen, setOpen ] = useState( false );\n\t\tconst openModal = () => setOpen( true );\n\t\tconst closeModal = () => setOpen( false );\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t{ isOpen && (\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\n\t\t)\n\t};\n\n\tconst timeFormattingInstructions = (\n\t\t\n\t\t\t\n\t\t\t\t{ __( 'Learn more about time formatting', '__plugin_txtd' ) }\n\t\t\t\n\t\t\n\t);\n\n\treturn (\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( {\n\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\tparsedText: parseContent( text )\n\t\t\t\t\t\t} )}\n\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\t\t{ __( 'Monday 10am - 3pm\\n' +\n\t\t\t\t\t\t 'Tuesday to Friday 9 - 17\\n' +\n\t\t\t\t\t\t 'Sat noon - 2am', '__plugin_txtd' ) }\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { openHoursStyle: nextOpenHoursStyle } ) }\n\t\t\t\t\t/>\n\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\tWrite the \"Open\" and \"Closed\" messages using the tags displayed below.\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' && }\n\n\t\t\t\t\t{ openHoursStyle === 'status' && setAttributes( {openNote} )}\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( 'It\\'s {time} and we\\'re Open until {today-closing-time}.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( '{time} - It\\'s today, we\\'re Open.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' && setAttributes( {closedNote} )}\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( 'We\\'re closed until {next-opening-day} at {next-opening-time}.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( '{time} - it\\'s closed now.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( {closedLabel} )}\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( { compressOpeningHours: ! compressOpeningHours } ) }\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( { hideClosedDays: ! hideClosedDays } ) }\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( { useShortName: ! useShortName } ) }\n\t\t\t\t\t/> }\n\n\t\t\t\t\t setAttributes( {timeFormat} )}\n\t\t\t\t\t/>\n\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n};\n\nexport default OpenHoursInspectorControls;\n","import OpenHoursPreview from \"./preview\";\nimport InspectorControls from \"./inspector-controls\";\n\n/**\n * WordPress dependencies\n */\nconst {Fragment} = wp.element;\n\nconst OpenHours = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OpenHours;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType('novablocks/openhours', {\n\t\ttitle: __('OpenHours', '__plugin_txtd'),\n\t\tdescription: __('Display Opening Hours for any kind of venue.', '__plugin_txtd'),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.openhours,\n\t\tsave: function() {},\n\t\tedit,\n\t})\n}\n\nexport default init;\n","/**\n * WordPress dependencies\n */\n\nimport EditableText from '../../components/editable-text';\nimport * as icons from \"../../icons\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tInnerBlocks,\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst CardEdit = ( props ) => {\n\n\tconst blockClassName = 'novablocks-card';\n\n\tconst {\n\t\tattributes: {\n\t\t\tlevel,\n\t\t\ttitle,\n\t\t\tsubtitle,\n\t\t\tdescription,\n\t\t\tmedia,\n\t\t\tmeta,\n\n\t\t\tcontentAlign,\n\t\t\tshowMedia,\n\t\t\tshowTitle,\n\t\t\tshowSubtitle,\n\t\t\tshowDescription,\n\t\t\tshowButtons,\n\t\t\tshowMeta,\n\t\t},\n\t\tclassName,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst CardMedia = ( props ) => {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tmedia\n\t\t\t},\n\t\t\topen,\n\t\t} = props;\n\n\t\tconst mediaURL = media?.sizes?.novablocks_medium?.url || media?.sizes?.novablocks_large?.url || media?.url;\n\n\t\tif ( !! mediaURL ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{ icons.placeholder }\n\t\t\t
\n\t\t);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tshowMedia &&\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{ __( 'Change Media', '__plugin_txtd' ) }\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t setAttributes( { media } ) }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowMeta &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {meta} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowTitle &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {title} )\n\t\t\t\t\t\t}} />\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowSubtitle &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {subtitle} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowDescription &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {description} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowButtons &&\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default CardEdit;\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","import save from \"./save\";\n\nimport attributes from \"./attributes\";\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\nimport { getPlaceholderImages, getRandomArrayFromArray } from \"../../utils\";\nimport generateDefaults from \"../../components/generate-defaults\";\nimport attributes from \"./attributes\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst randomImage = getRandomArrayFromArray( placeholderImages, 1 )[0];\n\n\tif ( typeof randomImage?.download === \"function\" ) {\n\t\trandomImage.download();\n\t}\n\n\treturn {\n\t\tmedia: randomImage\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/card', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/card', {\n\t\ttitle: __( 'Card', '__plugin_txtd' ),\n\t\tdescription: __( 'Display related pieces of information in a flexible container visually resembling a playing card.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\tparent: [ 'novablocks/cards-collection' ],\n\t\ticon: icons.card,\n\t\tkeywords: [ __( 'image with text', '__plugin_txtd' ) ],\n\t\tattributes,\n\t\tdeprecated,\n\t\tedit,\n\t\tsave,\n\t} )\n}\n\nexport default init;\n","import { Collection } from \"../../components\";\n\n/**\n * WordPress dependencies\n */\nconst {\n\tComponent,\n\tFragment\n} = wp.element;\n\nconst {\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst { __ } = wp.i18n;\n\nconst {\n\tInnerBlocks,\n} = wp.blockEditor;\n\nconst {\n\tselect,\n\tdispatch,\n\twithSelect,\n} = wp.data;\n\nconst ALLOWED_BLOCKS = [ 'novablocks/card' ];\nconst CARDS_COLLECTION_TEMPLATE = [\n\t[ 'novablocks/card' ],\n\t[ 'novablocks/card' ],\n\t[ 'novablocks/card' ],\n];\n\nconst CardsCollectionEdit = ( props ) => {\n\n\tconst {\n\t\tinnerBlocks\n\t} = props;\n\n\tconst hasAppender = !! innerBlocks && innerBlocks.length < 4;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst withCollectionVisibilityAttributes = createHigherOrderComponent( ( BlockListBlock ) => {\n\treturn ( props ) => {\n\t\tif ( 'novablocks/cards-collection' === props.name ) {\n\t\t\tconst { clientId, attributes } = props;\n\t\t\tconst { getBlock } = select( 'core/block-editor' );\n\t\t\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\t\t\tconst collection = getBlock( clientId );\n\t\t\tconst cards = collection.innerBlocks;\n\n\t\t\tconst newAttributes = (\n\t\t\t\t( { level, contentAlign, showMedia, showTitle, showSubtitle, showDescription, showButtons, showMeta } ) => (\n\t\t\t\t\t{ level, contentAlign, showMedia, showTitle, showSubtitle, showDescription, showButtons, showMeta }\n\t\t\t\t)\n\t\t\t)( attributes );\n\n\t\t\tcards.forEach( block => {\n\t\t\t\tupdateBlockAttributes( block.clientId, newAttributes );\n\n\t\t\t\tif ( Array.isArray( block.innerBlocks ) ) {\n\t\t\t\t\tblock.innerBlocks.forEach( innerBlock => {\n\t\t\t\t\t\tupdateBlockAttributes( innerBlock.clientId, {\n\t\t\t\t\t\t\talign: newAttributes.contentAlign\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\treturn \n\t};\n}, 'withCollectionVisibilityAttributes' );\n\nwp.hooks.addFilter( 'editor.BlockListBlock', 'novablocks/with-collection-visibility-attributes', withCollectionVisibilityAttributes );\n\nexport default CardsCollectionEdit;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { InnerBlocks } = wp.blockEditor;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/cards-collection', {\n\t\ttitle: __( 'Cards Collection', '__plugin_txtd' ),\n\t\tdescription: __( 'Display a list of related items placed within a coherent layout.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.card,\n\t\tkeywords: [ __( 'grid', '__plugin_txtd' ), __( 'columns', '__plugin_txtd' ), __( 'collection', '__plugin_txtd' ), __( 'group', '__plugin_txtd' ) ],\n\t\tedit,\n\t\tsave() {\n\t\t\treturn ;\n\t\t},\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} )\n}\n\nexport default init;\n","import * as icons from \"../../icons\";\n\nconst {\n\twithSelect,\n} = wp.data;\n\nconst CardMedia = ( { post } ) => {\n\tconst { featured_media_url } = post;\n\n\tif ( !! featured_media_url ) {\n\t\treturn \n\t}\n\n\treturn
{ icons.placeholder }
\n}\n\nexport default withSelect( ( select, ownProps ) => {\n\tconst { getMedia } = select( 'core' );\n\tconst { post } = ownProps;\n\n\tif ( ! post.featured_media ) {\n\t\treturn {};\n\t}\n\n\tconst featured_media_obj = getMedia( post.featured_media );\n\tconst featured_media_url = featured_media_obj ? featured_media_obj.source_url : null;\n\n\treturn {\n\t\tpost: {\n\t\t\t...post,\n\t\t\tfeatured_media_url\n\t\t}\n\t}\n} )( CardMedia );\n","import classnames from 'classnames';\nimport { some, pickBy, isUndefined } from \"lodash\";\nimport { Collection } from '../../components';\nimport CardMedia from './media';\nimport { ControlsSection, ControlsTab } from \"../../components/control-sections\";\n\nconst { apiFetch } = wp;\n\nconst {\n\tcompose\n} = wp.compose;\n\nconst {\n\tBlockIcon,\n\tRichText,\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst { __ } = wp.i18n;\n\nconst {\n\t__experimentalGetSettings,\n\tdateI18n,\n\tformat\n} = wp.date;\n\nconst {\n\tPanelBody,\n\tPlaceholder,\n\tRangeControl,\n\tSpinner\n} = wp.components;\n\nconst {\n\tComponent,\n\tFragment,\n\tRawHTML\n} = wp.element;\n\nclass Category extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tname: null\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { id } = this.props;\n\n\t\tthis.isStillMounted = true;\n\t\tthis.fetchRequest = apiFetch( {\n\t\t\tpath: `/wp/v2/categories/${id}`,\n\t\t} )\n\t\t.then( ( category ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { name: category.name } )\n\t\t\t\t}\n\t\t\t}\n\t\t).catch( () => {} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\trender() {\n\t\treturn this.state.name;\n\t}\n}\n\nconst PostsEdit = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tposts,\n\t\tclientId,\n\t\tmarkPostsAsDisplayed,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\tlevel,\n\t\tshowButtons,\n\t\tshowDescription,\n\t\tshowMedia,\n\t\tshowMeta,\n\t\tshowTitle,\n\t\tshowSubtitle,\n\t} = attributes;\n\n\tconst hasPosts = Array.isArray( posts ) && posts.length;\n\tconst TitleTagName = `h${ level + 1 }`;\n\tconst SubtitleTagName = `h${ level + 2 }`;\n\tconst dateFormat = __experimentalGetSettings().formats.date;\n\n\tmarkPostsAsDisplayed( clientId, posts );\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { columns } ) }\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={ 4 }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t!! posts && posts.map( ( post, idx ) => {\n\n\t\t\t\t\t\t\t\tconst style = {\n\t\t\t\t\t\t\t\t\t'--columns': columns,\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowMedia &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowMeta &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowTitle &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{ post.title.raw }\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowSubtitle &&\n\t\t\t\t\t\t\t\t\t\t\tpost.categories.length &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowDescription &&\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{ post.excerpt.rendered }\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowButtons &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Read More
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default PostsEdit;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { InnerBlocks } = wp.blockEditor;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/posts-collection', {\n\t\ttitle: __( 'Posts Collection', '__plugin_txtd' ),\n\t\tdescription: __( 'Show Latest Posts', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.card,\n\t\tedit,\n\t\tsave() {\n\t\t\treturn ;\n\t\t},\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} );\n}\n\nexport default init;\n","import \"./filters/with-block-id\";\nimport \"./filters/with-block-index\";\nimport \"./filters/with-font-size-picker\";\nimport \"./filters/with-emphasis-level\";\nimport \"./filters/with-cards-manager\";\nimport \"./filters/with-latest-posts\";\n\nimport \"./filters/with-advanced-gallery-attributes\";\nimport \"./filters/with-doppler-attributes\";\nimport \"./filters/with-overlay-color-attributes\";\n\nimport \"./filters/with-controls-sections\";\nimport \"./filters/with-space-and-sizing-controls\";\nimport \"./filters/with-inner-blocks\";\n\nimport \"./blocks/openhours/hoursparser\";\nimport \"./blocks/core/separator\";\n\nimport advancedGalleryInit from \"./blocks/advanced-gallery\";\nimport announcementBarBlockInit from \"./blocks/announcement-bar\";\nimport googleMapBlockInit from \"./blocks/google-map\";\nimport headerBlockInit from \"./blocks/header\";\nimport headlineInit from \"./blocks/headline\";\nimport heroInit from \"./blocks/hero\";\nimport logoInit from \"./blocks/logo\";\nimport mediaInit from \"./blocks/media\";\nimport slideshowInit from \"./blocks/slideshow\";\nimport navigationInit from \"./blocks/navigation\";\nimport menuFoodInit from \"./blocks/menu-food\";\nimport menuFoodSectionInit from \"./blocks/menu-food-section\";\nimport menuFoodItemInit from \"./blocks/menu-food-item\";\nimport opentableInit from \"./blocks/opentable\";\nimport openHoursInit from \"./blocks/openhours\";\nimport cardInit from \"./blocks/card\";\nimport cardsCollectionInit from \"./blocks/cards-collection\";\nimport postsCollectionInit from \"./blocks/posts-collection\"\n\nimport { STORE_NAME } from './store';\n\nimport { nova } from './icons';\n\nimport { addSeparatorFilters } from \"./blocks/core/separator\";\n\nconst {\n\tdispatch,\n} = wp.data;\n\nconst {\n\tupdateCategory\n} = wp.blocks;\n\nclass novaBlocks {\n\n\tinitialize( settings ) {\n\t\taddSeparatorFilters( settings );\n\t\tdispatch( STORE_NAME ).updateSettings( settings );\n\t\tupdateCategory( 'nova-blocks', {\n\t\t\ticon: nova\n\t\t} );\n\n\t\tconst supports = ( typeof settings[ 'theme_support' ] === 'object' ) ? Object.values( settings[ 'theme_support' ] ) : settings[ 'theme_support' ];\n\n\t\tif ( supports.indexOf('announcement-bar') > -1 ) {\n\t\t\tannouncementBarBlockInit();\n\t\t}\n\n\t\tif ( supports.indexOf('google-map') > -1 ) {\n\t\t\tgoogleMapBlockInit();\n\t\t}\n\n\t\tif ( supports.indexOf('header') > -1 ) {\n\t\t\theaderBlockInit();\n\t\t\tlogoInit();\n\t\t}\n\n\t\tif ( supports.indexOf('headline') > -1 ) {\n\t\t\theadlineInit();\n\t\t}\n\n\t\tif ( supports.indexOf('navigation') > -1 ) {\n\t\t\tnavigationInit();\n\t\t}\n\n\t\tif ( supports.indexOf('menu-food') > -1 ) {\n\t\t\tmenuFoodInit();\n\t\t\tmenuFoodSectionInit();\n\t\t\tmenuFoodItemInit();\n\t\t}\n\n\t\tif ( supports.indexOf('opentable') > -1 ) {\n\t\t\topentableInit();\n\t\t}\n\n\t\tif ( supports.indexOf('cards-collection') > -1 ) {\n\t\t\tcardInit();\n\t\t\tcardsCollectionInit();\n\t\t}\n\n\t\tif ( supports.indexOf( 'openhours' ) > -1 ) {\n\t\t\topenHoursInit();\n\t\t}\n\n\t\tif ( supports.indexOf( 'advanced-gallery' ) > -1 ) {\n\t\t\tadvancedGalleryInit();\n\t\t}\n\n\t\theroInit();\n\t\tmediaInit();\n\t\tslideshowInit();\n\t\tpostsCollectionInit();\n\t}\n}\n\nwp.novaBlocks = new novaBlocks();\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { without } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport createHigherOrderComponent from '../../utils/create-higher-order-component';\n/**\n * A higher-order component used to provide and manage delayed function calls\n * that ought to be bound to a component's lifecycle.\n *\n * @param {WPComponent} OriginalComponent Component requiring setTimeout\n *\n * @return {WPComponent} Wrapped component.\n */\n\nvar withSafeTimeout = createHigherOrderComponent(function (OriginalComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(WrappedComponent, _Component);\n\n var _super = _createSuper(WrappedComponent);\n\n function WrappedComponent() {\n var _this;\n\n _classCallCheck(this, WrappedComponent);\n\n _this = _super.apply(this, arguments);\n _this.timeouts = [];\n _this.setTimeout = _this.setTimeout.bind(_assertThisInitialized(_this));\n _this.clearTimeout = _this.clearTimeout.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(WrappedComponent, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.timeouts.forEach(clearTimeout);\n }\n }, {\n key: \"setTimeout\",\n value: function (_setTimeout) {\n function setTimeout(_x, _x2) {\n return _setTimeout.apply(this, arguments);\n }\n\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n\n return setTimeout;\n }(function (fn, delay) {\n var _this2 = this;\n\n var id = setTimeout(function () {\n fn();\n\n _this2.clearTimeout(id);\n }, delay);\n this.timeouts.push(id);\n return id;\n })\n }, {\n key: \"clearTimeout\",\n value: function (_clearTimeout) {\n function clearTimeout(_x3) {\n return _clearTimeout.apply(this, arguments);\n }\n\n clearTimeout.toString = function () {\n return _clearTimeout.toString();\n };\n\n return clearTimeout;\n }(function (id) {\n clearTimeout(id);\n this.timeouts = without(this.timeouts, id);\n })\n }, {\n key: \"render\",\n value: function render() {\n return createElement(OriginalComponent, _extends({}, this.props, {\n setTimeout: this.setTimeout,\n clearTimeout: this.clearTimeout\n }));\n }\n }]);\n\n return WrappedComponent;\n }(Component);\n}, 'withSafeTimeout');\nexport default withSafeTimeout;\n//# sourceMappingURL=index.js.map"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"React\"","webpack:///external \"lodash\"","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/sprintf.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/postfix/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/evaluate/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/compile/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@tannin/plural-forms/index.js","webpack:///./node_modules/@wordpress/components/node_modules/tannin/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/create-i18n.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/default-i18n.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/i18n/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/keycodes/build-module/platform.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/keycodes/build-module/index.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///external \"jQuery\"","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/is-shallow-equal/lib/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/utils/create-higher-order-component/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/validateNamespace.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/validateHookName.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createAddHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createRemoveHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createHasHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createRunHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createCurrentHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createDoingHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createDidHook.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/createHooks.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/hooks/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/deprecated/build-module/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/lodash/groupBy.js","webpack:///./node_modules/unsplash-js/lib/unsplash.js","webpack:///./node_modules/@babel/runtime/helpers/readOnlyError.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/@wordpress/components/node_modules/sprintf-js/src/sprintf.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_baseEach.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/lodash/_baseMap.js","webpack:///./node_modules/unsplash-js/lib/constants/index.js","webpack:///./node_modules/unsplash-js/lib/utils/index.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/orderBy.js","webpack:///./node_modules/lodash/range.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/@wordpress/components/node_modules/memize/index.js","webpack:///./node_modules/dom-scroll-into-view/lib/index.js","webpack:///./node_modules/lodash/pickBy.js","webpack:///./node_modules/lodash/isUndefined.js","webpack:///./node_modules/lodash/uniq.js","webpack:///./node_modules/lodash/map.js","webpack:///./node_modules/@wordpress/is-shallow-equal/index.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/react-dom/node_modules/scheduler/index.js","webpack:///./node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_createAggregator.js","webpack:///./node_modules/lodash/_arrayAggregator.js","webpack:///./node_modules/lodash/_baseAggregator.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/lodash/_baseOrderBy.js","webpack:///./node_modules/lodash/_baseSortBy.js","webpack:///./node_modules/lodash/_compareMultiple.js","webpack:///./node_modules/lodash/_compareAscending.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/form-urlencoded/form-urlencoded.js","webpack:///./node_modules/url-parse/index.js","webpack:///./node_modules/requires-port/index.js","webpack:///./node_modules/querystringify/index.js","webpack:///./node_modules/unsplash-js/lib/methods/auth.js","webpack:///./node_modules/unsplash-js/lib/methods/currentUser.js","webpack:///./node_modules/unsplash-js/lib/methods/users.js","webpack:///./node_modules/unsplash-js/lib/methods/photos.js","webpack:///./node_modules/lodash.get/index.js","webpack:///./node_modules/unsplash-js/lib/methods/collections.js","webpack:///./node_modules/unsplash-js/lib/methods/search.js","webpack:///./node_modules/unsplash-js/lib/methods/stats.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/lodash/_createRange.js","webpack:///./node_modules/lodash/_baseRange.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/is-shallow-equal/lib/objects.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/is-shallow-equal/lib/arrays.js","webpack:///./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack:///./node_modules/dom-scroll-into-view/lib/util.js","webpack:///./node_modules/lodash/_basePickBy.js","webpack:///./node_modules/lodash/_baseSet.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_getAllKeysIn.js","webpack:///./node_modules/lodash/_getSymbolsIn.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_baseUniq.js","webpack:///./node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/lodash/_arrayIncludesWith.js","webpack:///./node_modules/lodash/_createSet.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@wordpress/is-shallow-equal/objects.js","webpack:///./node_modules/@wordpress/is-shallow-equal/arrays.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@wordpress/element/build-module/react.js","webpack:///./node_modules/@wordpress/element/build-module/react-platform.js","webpack:///./node_modules/@wordpress/element/build-module/utils.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@wordpress/escape-html/build-module/escape-greater.js","webpack:///./node_modules/@wordpress/escape-html/build-module/index.js","webpack:///./node_modules/@wordpress/element/build-module/raw-html.js","webpack:///./node_modules/@wordpress/element/build-module/serialize.js","webpack:///./node_modules/@wordpress/element/build-module/index.js","webpack:///./src/filters/with-block-id/index.js","webpack:///./src/filters/with-block-index/index.js","webpack:///./src/filters/with-font-size-picker/index.js","webpack:///./src/store/reducer.js","webpack:///./src/store/selectors.js","webpack:///./src/store/actions.js","webpack:///./src/store/index.js","webpack:///./src/components/with-settings/index.js","webpack:///./src/components/control-sections/utils.js","webpack:///./src/components/control-sections/controls-sections-slot-fill.js","webpack:///./src/components/control-sections/drawer-content-slot-fill.js","webpack:///./src/components/control-sections/cube.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/react-spring/web.js","webpack:///./src/components/control-sections/tabs.js","webpack:///./src/hooks/resize-observer.js","webpack:///./src/components/drawer/index.js","webpack:///./src/components/control-sections/index.js","webpack:///./src/components/controls-group/index.js","webpack:///./src/components/emphasis-level-controls/index.js","webpack:///./src/filters/with-emphasis-level/index.js","webpack:///./src/components/layout-panel/padding.js","webpack:///./src/components/layout-panel/width.js","webpack:///./src/components/layout-panel/index.js","webpack:///./src/components/parallax-panel/index.js","webpack:///./src/components/position-indicators-panel/index.js","webpack:///./src/utils/unsplash.js","webpack:///./src/utils/index.js","webpack:///./src/components/scrolling-effect-controls/index.js","webpack:///./src/components/toggle-group/index.js","webpack:///./src/components/heading-level-icon/index.js","webpack:///./src/components/heading-toolbar/index.js","webpack:///./src/components/editable-text/index.js","webpack:///./src/components/collection/inspector-controls.js","webpack:///./src/components/collection/index.js","webpack:///./src/components/preset-control/index.js","webpack:///./src/easing.js","webpack:///./src/components/with-parallax/util.js","webpack:///./src/components/with-parallax/index.js","webpack:///./src/components/cards-manager/toggles.js","webpack:///./src/components/cards-manager/index.js","webpack:///./src/icons.js","webpack:///./src/components/block-vertical-alignment-toolbar/index.js","webpack:///./src/components/gallery-options/index.js","webpack:///./src/components/tabs/index.js","webpack:///./src/components/notice/index.js","webpack:///./src/components/color-controls/index.js","webpack:///./src/components/block-horizontal-alignment-toolbar/index.js","webpack:///./src/components/alignment-controls/index.js","webpack:///./src/components/scroll-indicator-panel/index.js","webpack:///./src/components/index.js","webpack:///./src/filters/with-cards-manager/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/hooks/use-instance-id/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/higher-order/with-instance-id/index.js","webpack:///./node_modules/@wordpress/primitives/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@wordpress/primitives/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@wordpress/primitives/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@wordpress/primitives/build-module/svg/index.js","webpack:///./node_modules/@wordpress/icons/build-module/library/close-circle-filled.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@wordpress/components/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/element/build-module/react.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/dom.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/focusable.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/tabbable.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/hooks/use-media-query/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/hooks/use-viewport-match/index.js","webpack:///./node_modules/@wordpress/icons/build-module/library/close.js","webpack:///./node_modules/@wordpress/components/build-module/popover/utils.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/context.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/index.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-constrained-tabbing/index.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-focus-outside/index.js","webpack:///./node_modules/@wordpress/components/build-module/popover/detect-outside.js","webpack:///./node_modules/@wordpress/components/build-module/scroll-lock/index.js","webpack:///./node_modules/@wordpress/components/build-module/isolated-event-container/index.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-context.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/use-slot.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/element/build-module/utils.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/context.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/slot.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/fill.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/fill.js","webpack:///./node_modules/@wordpress/components/build-module/slot-fill/index.js","webpack:///./node_modules/@wordpress/components/build-module/animate/index.js","webpack:///./node_modules/@wordpress/components/build-module/popover/index.js","webpack:///./node_modules/@wordpress/components/build-module/shortcut/index.js","webpack:///./node_modules/@wordpress/components/build-module/tooltip/index.js","webpack:///./node_modules/@wordpress/components/build-module/dashicon/index.js","webpack:///./node_modules/@wordpress/components/build-module/icon/index.js","webpack:///./node_modules/@wordpress/components/build-module/button/index.js","webpack:///./node_modules/@wordpress/components/build-module/visually-hidden/utils.js","webpack:///./node_modules/@wordpress/components/build-module/visually-hidden/index.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/token.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/token-input.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/suggestions-list.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/dom-ready/build-module/index.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/add-container.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/clear.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/filter-message.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/a11y/build-module/index.js","webpack:///./node_modules/@wordpress/components/build-module/higher-order/with-spoken-messages/index.js","webpack:///./node_modules/@wordpress/components/build-module/form-token-field/index.js","webpack:///./node_modules/@wordpress/components/build-module/spinner/index.js","webpack:///./src/components/autocomplete-tokenfield/index.js","webpack:///./src/components/query-controls/manual-controls.js","webpack:///./src/components/query-controls/automated-controls.js","webpack:///./src/components/query-controls/index.js","webpack:///./src/filters/with-latest-posts/utils.js","webpack:///./src/filters/with-latest-posts/store.js","webpack:///./src/filters/with-latest-posts/index.js","webpack:///./src/filters/with-advanced-gallery-attributes/index.js","webpack:///./src/filters/with-doppler-attributes/index.js","webpack:///./src/filters/with-overlay-color-attributes/index.js","webpack:///./src/filters/with-controls-sections/index.js","webpack:///./src/filters/with-space-and-sizing-controls/index.js","webpack:///./src/filters/with-inner-blocks/index.js","webpack:///./src/blocks/openhours/hoursparser.js","webpack:///./src/blocks/core/separator/index.js","webpack:///./src/components/advanced-gallery/grid-item.js","webpack:///./src/components/advanced-gallery/util.js","webpack:///./src/components/advanced-gallery/preview.js","webpack:///./src/components/advanced-gallery/placeholder.js","webpack:///./src/components/advanced-gallery/inspector-controls.js","webpack:///./src/components/advanced-gallery/block-controls.js","webpack:///./src/components/advanced-gallery/index.js","webpack:///./src/blocks/advanced-gallery/edit.js","webpack:///./src/blocks/advanced-gallery/deprecated.js","webpack:///./src/blocks/advanced-gallery/transforms.js","webpack:///./src/components/generate-defaults/index.js","webpack:///./src/blocks/advanced-gallery/index.js","webpack:///./src/blocks/announcement-bar/deprecated.js","webpack:///./src/blocks/announcement-bar/index.js","webpack:///./src/blocks/google-map/placeholder.js","webpack:///./src/blocks/google-map/pin.js","webpack:///./src/blocks/google-map/default-map-center.js","webpack:///./src/blocks/google-map/styles/customized.js","webpack:///./src/blocks/google-map/styles/index.js","webpack:///./src/blocks/google-map/utils.js","webpack:///./src/blocks/google-map/map.js","webpack:///./src/blocks/google-map/api-key-panel-body.js","webpack:///./src/blocks/google-map/map-style-select.js","webpack:///./src/blocks/google-map/inspector-controls.js","webpack:///./src/blocks/google-map/edit.js","webpack:///./src/blocks/google-map/index.js","webpack:///./src/blocks/header/icons.js","webpack:///./src/blocks/header/edit.js","webpack:///./src/blocks/header/variations.js","webpack:///./src/blocks/header/index.js","webpack:///./src/blocks/headline/edit.js","webpack:///./src/blocks/headline/save.js","webpack:///./src/blocks/headline/transforms.js","webpack:///./src/blocks/headline/index.js","webpack:///./src/blocks/hero/background.js","webpack:///./src/blocks/hero/preview.js","webpack:///./src/blocks/hero/block-controls.js","webpack:///./src/blocks/hero/edit.js","webpack:///./src/blocks/hero/save.js","webpack:///./src/blocks/hero/deprecated.js","webpack:///./src/blocks/hero/index.js","webpack:///./src/blocks/logo/index.js","webpack:///./src/blocks/media/block-controls.js","webpack:///./src/blocks/media/preview.js","webpack:///./src/blocks/media/inspector-controls.js","webpack:///./src/blocks/media/edit.js","webpack:///./src/blocks/media/save.js","webpack:///./src/blocks/media/transforms.js","webpack:///./src/blocks/media/deprecated.js","webpack:///./src/blocks/media/index.js","webpack:///./src/blocks/slideshow/background.js","webpack:///./src/blocks/slideshow/preview.js","webpack:///./src/blocks/slideshow/inspector-controls.js","webpack:///./src/blocks/slideshow/block-controls.js","webpack:///./src/blocks/slideshow/edit.js","webpack:///./src/blocks/slideshow/save.js","webpack:///./src/blocks/slideshow/deprecated.js","webpack:///./src/blocks/slideshow/index.js","webpack:///./src/blocks/navigation/edit.js","webpack:///./src/blocks/navigation/index.js","webpack:///./src/blocks/menu-food/inspector-controls.js","webpack:///./src/blocks/menu-food/preview.js","webpack:///./src/blocks/menu-food/edit.js","webpack:///./src/blocks/menu-food/save.js","webpack:///./src/blocks/menu-food/index.js","webpack:///./src/blocks/menu-food-section/preview.js","webpack:///./src/blocks/menu-food-section/edit.js","webpack:///./src/blocks/menu-food-section/save.js","webpack:///./src/blocks/menu-food-section/index.js","webpack:///./src/blocks/menu-food-item/preview.js","webpack:///./src/blocks/menu-food-item/inspector-controls.js","webpack:///./src/blocks/menu-food-item/edit.js","webpack:///./src/blocks/menu-food-item/save.js","webpack:///./src/blocks/menu-food-item/index.js","webpack:///./src/blocks/opentable/preview.js","webpack:///./src/blocks/opentable/inspector-controls.js","webpack:///./src/blocks/opentable/edit.js","webpack:///./src/blocks/opentable/save.js","webpack:///./src/blocks/opentable/index.js","webpack:///./src/blocks/openhours/preview.js","webpack:///./src/blocks/openhours/inspector-controls.js","webpack:///./src/blocks/openhours/edit.js","webpack:///./src/blocks/openhours/index.js","webpack:///./src/blocks/card/edit.js","webpack:///./src/blocks/card/save.js","webpack:///./src/blocks/card/deprecated.js","webpack:///./src/blocks/card/index.js","webpack:///./src/blocks/cards-collection/edit.js","webpack:///./src/blocks/cards-collection/index.js","webpack:///./src/blocks/posts-collection/media.js","webpack:///./src/blocks/posts-collection/edit.js","webpack:///./src/blocks/posts-collection/index.js","webpack:///./src/editor.js","webpack:///./node_modules/@wordpress/components/node_modules/@wordpress/compose/build-module/higher-order/with-safe-timeout/index.js"],"names":["createHigherOrderComponent","wp","compose","addFilter","hooks","Component","element","enableBlockIdAttributeOnBlocks","addBlockIdAttribute","block","includes","name","attributes","Object","assign","blockId","type","default","withBlockIdAttribute","BlockEdit","arguments","props","setAttributes","clientId","select","data","enableBlockIndexAttributeOnBlocks","addBlockIndexAttribute","blockIndex","withBlockIndexAttribute","updateIndex","oldIndex","newIndex","getBlocks","findIndex","__","i18n","Fragment","components","PanelBody","SelectControl","InspectorControls","blockEditor","withSelect","enableFontSizeControlOnBlocks","fontSizeOptions","value","label","defaultFontSize","replaceActiveFontSize","className","fontSize","nextFontSize","regex","RegExp","replace","trim","nextClassName","withFontSizePicker","WrappedComponent","level","selectValue","find","x","withFontSizeControl","OriginalComponent","BetterComponent","addFontSizeAttribute","DEFAULT_STATE","settings","state","action","getSettings","updateSettings","registerStore","STORE_NAME","reducer","selectors","actions","ownProps","mergeChildrenProps","children1","children2","children1Array","Array","isArray","children2Array","concat","getSectionsFromFills","fills","sections","forEach","fill","index","section","push","splice","children","createSlotFill","ControlsSectionsSlotFill","ControlsSectionsSlot","Slot","ControlsSectionsFill","Fill","DrawerContentSlotFill","DrawerContentSlot","DrawerContentFill","Cube","ACCENT_COLORS","useEffect","useState","createRef","getTabAccentColor","getTabClassName","activeTabLabel","classnames","ActiveSectionTabs","title","tabs","goBack","updateHeight","length","setActiveTabLabel","activeTabIndex","tab","activeTab","useSpring","accentColor","map","onClick","TabContent","resizeObserver","resizeElement","ResizeObserver","entries","observe","current","disconnect","useRef","useLayoutEffect","useCallback","useResizeObserver","entry","setEntry","node","setNode","observer","Children","cloneElement","Drawers","toArray","drawerLists","filter","child","DrawerList","drawerPanels","DrawerPanel","beforeChildren","DrawerListBefore","afterChildren","DrawerListAfter","active","setActive","open","setOpen","wrapperHeight","setWrapperHeight","ref","WeakMap","refMap","noop","onOpen","onClose","getDrawerListHeight","clientHeight","getActiveDrawerHeight","activeRef","get","drawerListHeight","drawerPanelHeight","transform","height","immediate","totalDrawers","drawerList","drawerListIndex","drawers","getDrawersFromList","drawersWithTarget","drawer","defaultTarget","target","Number","isInteger","orderedDrawers","priority","drawerIndex","afterChild","childRef","contentRect","drawerPanel","set","DrawerWithProps","isActive","addPropsToChildren","Drawer","useBlockEditContext","ControlsSectionsComponent","advancedButton","document","querySelector","advancedWrapper","parentNode","style","setProperty","offsetHeight","requestAnimationFrame","addEventListener","removeProperty","once","groups","group","keys","key","ControlsTab","groupedTabs","compiledTabs","reduce","accumulator","ControlsSections","ControlsSection","isSelected","ControlsDrawerContent","ControlsGroup","RangeControl","RadioControl","EmphasisContentAreaSlotFill","EmphasisContentAreaSlot","EmphasisContentAreaFill","EmphasisBlockAreaSlotFill","EmphasisBlockAreaSlot","EmphasisBlockAreaFill","EmphasisLevelControls","contentStyle","blockStyle","emphasisByContrast","media","contentAreaOptions","blockAreaOptions","getEmphasisByContrastValue","option","contentIndex","contrast","Math","floor","nextBlockStyle","nextContentStyle","EmphasisContentAreaControls","EmphasisBlockAreaControls","withSettings","withEmphasisLevelControls","addEmphasisLevelAttribute","number","Button","ButtonGroup","PaddingControls","contentPadding","contentPaddingCustom","contentPaddingOptions","newContentPadding","WidthControls","contentWidth","contentWidthCustom","contentWidthOptions","newContentWidth","LayoutPanel","ToggleControl","ParallaxPanel","enableParallax","parallaxAmount","parallaxCustomAmount","focalPoint","parallaxOptions","nextParallaxAmount","parseInt","PositionIndicatorsPanel","positionIndicators","COLLECTION_ID","PlaceholderImagesCollection","fetchedImages","images","apiKey","window","pixcare","themeConfig","unsplashApiKey","api","Unsplash","accessKey","normalize","bind","collections","getCollectionPhotos","then","toJson","photos","finally","fetch","photo","id","url","urls","full","width","sizes","large","regular","medium","small","thumbnail","thumb","novablocks_huge","novablocks_large","novablocks_medium","novablocks_tiny","description","caption","user","links","html","download","downloadPhoto","instance","getPlaceholderImages","getRandomBetween","min","max","random","MIN_VALUE","getRandomArrayFromArray","arr","n","result","len","taken","debounce","func","wait","timeout","context","args","later","apply","clearTimeout","setTimeout","range","array","i","withFirstBlockConditions","getSelectedBlockClientId","blocks","selectedBlockClientId","show","isSafari","test","navigator","userAgent","hasTouchScreen","maxTouchPoints","msMaxTouchPoints","mQ","matchMedia","matches","UA","findParents","query","parents","traverse","item","parent","HTMLElement","shuffleArray","currentIndex","temporaryValue","randomIndex","defaultSnapValues","y","maybeSnapFocalPoint","snapValues","parseFloat","thereshold","snapValue","getSnapClassname","classNames","join","getControlsClasses","compileAttributes","classes","compiledAttributes","some","FocalPointPicker","ScrollingEffectControls","ScrollingEffectPanel","scrollingEffect","motionPreset","motionPresetOptions","doppler","theme_support","scrollingEffectOptions","newAttributes","newOption","preset","minHeightFallback","DopplerPresetsPanel","isScrolling","previewScrolling","getParallaxFocalPointImage","mediaType","parallaxFocalPointImage","StartFramePanel","finalFocalPoint","initialBackgroundScale","followThroughStart","isDoppler","staticPanelTitle","parallaxPanelTitle","dopplerPanelTitle","panelTitle","EndFramePanel","finalBackgroundScale","followThroughEnd","ToggleGroup","toggles","onChange","enabledToggles","toggle","disabledToggles","config","initial","enter","next","opacity","left","leave","enabledTransitions","useTransition","attribute","disabledTransitions","Path","SVG","Index","isPressed","levelToPath","hasOwnProperty","sprintf","ToolbarGroup","HeadingToolbar","targetLevel","selectedLevel","icon","minLevel","maxLevel","createLevelControl","forwardRef","RichText","EditableText","Content","tagName","Tag","PanelRow","AlignmentToolbar","CollectionInspectorControls","contentAlign","containerHeight","imageResizing","imagePadding","CollectionTitle","showCollectionTitle","CollectionSubtitle","showCollectionSubtitle","subtitle","Collection","hasAppender","blockClassName","getCardMediaPaddingTop","compiledHeight","numerator","denominator","abs","withDispatch","PresetControl","randomize","options","slice","randomizeAttributes","selectedPreset","getSelectedPreset","getNewAttributesFromPreset","presets","presetOptions","activePresets","presetOption","every","applyWithSelect","getBlock","applyWithDispatch","dispatch","updateBlockAttributes","pow","sin","cos","PI","EaseIn","power","EaseOut","EaseInOut","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInBack","s","easeOutBack","easeInOutBack","userPrefersReducedMotion","mediaQuery","getIntermediateFocalPoint","focalPoint1","focalPoint2","progress","getStyles","getProps","styles","getStylesFromProps","moveX","moveY","offsetX","offsetY","scale","minHeight","maxWidth","objectPosition","transformOrigin","getIntermediateValue","initialValue","finalValue","getScales","maxScale","newScale","getFocalPoint","getNewImageHeight","scrollContainerHeight","fixed","distance","smoothStart","smoothEnd","container","containerBox","containerWidth","scrollContainer","scrollContainerBox","newFocalPoint","newImageHeight","top","getState","offsetWidth","getBoundingClientRect","getScrollContainerHeight","useOrientation","screen","availHeight","innerHeight","parallaxInit","$blocks","frameRendered","each","$container","$","$parallax","parallaxUpdateState","newConfig","on","parallaxUpdateLoop","obj","$background","$foreground","css","createContext","ParallaxContext","withParallaxProvider","scrollContainerWidth","updateHandler","updateState","getScrollContainer","createBlockObservers","unsubscribeUpdate","subscribe","observers","MutationObserver","mutationObserver","movements","movement","attributeName","oldValue","attributeOldValue","childList","subtree","removeEventListener","setState","el","getElementStyle","withParallaxControls","start","end","easing","callback","speed","parallax","duration","startTime","Date","now","updateScrollTopLoop","currentTime","timePassed","newScrollTop","scrollTop","pointerEvents","interval","setInterval","clearInterval","maxScroll","scrollHeight","distanceToBottom","scrollFromTo","withParallaxContext","withParallax","CardsManager","nova","hero","slideshow","foodmenu","opentable","alignBottom","alignCenter","alignTop","alignment","invert","swap","announcement","headline","header","logo","navigation","openhours","placeholder","card","gallery","_x","Toolbar","withViewportMatch","viewport","focusedElement","setFocusedElement","Consumer","BLOCK_ALIGNMENTS_CONTROLS","icons","center","bottom","DEFAULT_CONTROLS","DEFAULT_CONTROL","BlockVerticalAlignmentToolbar","isCollapsed","controls","applyOrUnset","align","undefined","activeAlignment","defaultAlignmentControl","control","withBlockEditContext","mapContextToProps","isLargeViewport","getBlockRootClientId","hasFixedToolbar","MediaPlaceholder","ALLOWED_MEDIA_TYPES","GalleryPlaceholder","galleryImages","hasImages","onChangeGallery","newGalleryImages","promises","image","apiRequest","path","newImage","Promise","all","instructions","GalleryPreview","selected","onSelectImage","img","src","Tabs","onClickTabItem","Tab","Notice","content","dismissLabel","Cookies","hidden","setHidden","expires","ColorPalette","Dropdown","BaseControl","PanelColorSettings","colors","color","OverlayControls","overlayFilterStyle","overlayFilterStrength","nextOverlayFilterStyle","nextOverlayFilterStrength","ColorControls","contentColor","nextContentColor","ColorPanel","ColorToolbar","isOpen","onToggle","right","BlockHorizontalAlignmentToolbar","AlignmentControls","horizontalAlignment","verticalAlignment","nextHorizontalAlignment","getSelectedBlock","innerBlocks","nextVerticalAlignment","ScrollIndicatorPanel","scrollIndicator","updateAttributes","heroBlocks","ALLOWED_BLOCKS","withCardsManager","AutocompleteTokenField","suggestions","validValues","loading","isFetchingInfoOnLoad","debouncedUpdateSuggestions","updateSuggestions","tokens","fetchSavedInfo","Boolean","results","suggestion","suggestionsRequest","cancel","values","labels","input","fetchSuggestions","request","currentSuggestions","catch","tokenStrings","getValuesForLabels","getLabelsForValues","help","getTokens","handleOnChange","apiFetch","addQueryArgs","decodeEntities","htmlEntities","fetchPostSuggestions","search","per_page","_fields","posts","post","fetchSavedPosts","postIDs","include","rendered","ManualControls","loadingMode","specificPosts","onSpecificPostsChange","QueryControls","fetchAuthorSuggestions","users","fetchSavedAuthors","userIDs","fetchCategorySuggestions","orderby","order","categories","category","fetchSavedCategories","categoryIDs","fetchTagSuggestions","tags","tag","fetchSavedTags","tagIDs","AutomatedControls","authors","onAuthorsChange","onCategoriesChange","onTagsChange","onLoadingModeChange","enableSpecific","isSpecificPostModeActive","queryCriteriaFromAttributes","postsToShow","tagExclusions","criteria","author","tags_exclude","initialState","queryBlocks","postsByBlock","specificPostsByBlock","UPDATE_BLOCKS","MARK_POSTS_DISPLAYED","MARK_SPECIFIC_POSTS_DISPLAYED","updateBlocks","markPostsAsDisplayed","markSpecificPostsAsDisplayed","blocksBefore","orderedBlocks","ourBlockIdx","b","previousPostIds","_clientId","postIdsFromSpecificMode","flatMap","p","sort","registerQueryStore","blockName","getQueryBlocksInOrder","getClientIdsWithDescendants","currentBlocksIds","newBlocksIds","blocksChanged","enablePostsQueryControlsOnBlocks","withPostsQueryControls","_postsToShow","_loadingMode","_specificPosts","_authors","_categories","_tags","withPostsQueryAttributes","items","withLatestPosts","latestPostsQuery","postIdsToExclude","exclude","getEntityRecords","enableAdvancedMediaAttributeOnBlocks","addAdvancedGalleryAttributes","advancedGalleryAttributes","enableDopplerAttributeOnBlocks","addDopplerAttributes","dopplerAttributes","enableOverlayColorAttributesOnBlocks","addOverlayColorAttributes","overlayColorAttributes","withControlsSections","ALLOWED_BLOCKS_ADVANCED","getEmphasisAttributes","emphasisBySpace","enableOverlapping","actualEmphasis","blockTopSpacing","blockBottomSpacing","emphasisTopSpacing","emphasisBottomSpacing","getRandomAttributes","getRandomSign","emphasis","blockTopSign","blockBottomSign","emphasisTopSign","emphasisBottomSign","withSpaceAndSizingControlsAdvanced","spaceAndSizing","componentWithSettings","withSpaceAndSizingControls","SPACING_MIN_VALUE","SPACING_MAX_VALUE","cssVars","addSpaceAndSizingAttributes","enableInnerBlocks","withInnerBlocks","parentBlock","withInnerBlocksComponent","fourSq","util","Hours","padTimes","text","toTimeframe","days","startMinutes","endMinutes","startFormatted","formatMinutes","endFormatted","minutes","hh","mm","intoNextDay","minutesAfterMidnight","hoursText","minutesText","meridiem","hours","HoursParser","parse","toLowerCase","dayCanonicals","_","dayI","allNames","dayAliases","canonical","head","aliases","tail","reverse","alias","dayPattern","timePattern","globTimePattern","globTimeRangePattern","forwardTimeframePattern","backwardTimeframePattern","forwardPosition","backwardPosition","isForward","ungroupedPattern","ungroupedRegex","dayRangePattern","timeRangePattern","timeframePattern","dayTimeMatcher","dayTimeMatch","exec","timeRangeMatcher","timeRangeMatch","timeframes","match","day1","day2","startDay","indexOf","endDay","day","startHour","startMinute","startMeridiem","endHour","endMinute","endMeridiem","endTime","sortBy","removeClosedDays","schedule","hoursString","lines","split","parseContent","currentValue","JSON","stringify","addSeparatorFilters","Separator","__html","separator","markup","replaceSeparatorEdit","replaceSeparatorSave","blockType","ITEM_SIZE","GridItemCollection","placementVariation","gridItems","groupStart","groupEnd","isGroupOfThree","GridItem","removeExtra","flipX","flipY","extraLeft","getExtraLeft","extraTop","getExtraTop","extraBetween","getExtraBetween","gridItem","groupIndex","maxX","maxY","firstGroup","maxBottom","sizeContrast","positionShift","imageRotation","idx","getIndex","col","row","getOffsets","size","rotation","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","positionY","positionX","objPos","objectFit","elementsDistance","stylePreset","getGalleryStyle","paddingTop","getGridStyle","safariHeightFix","grid","$grid","$parent","resetHeight","newHeight","outerHeight","debouncedResetHeight","AdvancedGalleryPreview","setHeight","gridItemsCollection","gridStyle","AdvancedGalleryItem","getStyle","getImageStyle","BlockIcon","AdvancedGalleryPlaceholder","AdvancedGalleryInspectorControls","advancedGalleryPresetOptions","cropStyle","BlockControls","MediaUpload","AdvancedGalleryChangeMediaToolbar","AdvancedGalleryBlockControls","AdvancedGallery","Edit","blockAttributes","galleryAttributes","attributesWithoutImages","oldGalleryAttributes","deprecated","isEligible","migrate","save","defaultsGenerated","createBlock","from","to","getNewDefaults","getBlocksByClientId","isEditedPostEmpty","loadedSavedBlocks","newBlocks","addedBlocks","newBlock","defaults","registerBlockType","numberOfImages","placeholderImages","randomImages","randomAttributes","init","generateDefaults","supports","keywords","edit","transforms","lodash","omit","opensInNewTab","URLInput","InnerBlocks","ANNOUNCEMENT_BAR_TEMPLATE","openHoursStyle","isDefault","getEditWrapperProps","Placeholder","TextControl","ENTER","keycodes","MapPlaceholder","keyCode","saveApiKey","apiKeyInstructions","handleKeyDown","defaultMapCenter","lat","lng","slug","customized","addVisibilityToStyles","showLabels","showIcons","unshift","compileStyles","styleData","styleSlug","getMapAccentColor","call","styleDataString","getMapStyles","shouldHaveCustomStyles","selectedStyles","styleDataBySlug","mapStyles","fallbackColor","primary","secondary","tertiary","getCenterFromMarkers","markers","google","maps","bounds","LatLngBounds","LatLng","geometry","location","markerString","marker","union","extend","getCenter","getMarkersCenter","Map","searchBox","setMap","getPlaces","place","keepProps","filtered","pinMarkup","pin","Marker","encodeURIComponent","position","setCenter","showControls","zoom","getElementById","mapTypeId","clickableIcons","disableDefaultUI","disableDoubleClickZoom","draggable","gestureHandling","keyboardShortcuts","scrollwheel","places","SearchBox","addListener","setBounds","getBounds","onPlacesChanged","setOptions","clearMarkers","createMarkers","initializeMap","initializeSearchBox","event","trigger","nextProps","shouldUpdate","val","prevProps","prevState","updateMapOptions","updateMapMarkers","MapWrapper","otherProps","searchBoxStyles","display","ApiKeyPanelBody","savedApiKey","onChangeApiKey","onSaveApiKey","MapStyleSelect","v","a","stylers","featureType","elementType","prop","propertyval","toString","latitude","longitude","getStaticStyle","mapType","ButtonInspectorControls","newStyleSlug","newStyles","newPinColor","pinColor","newZoom","API_KEY_SETTING_ID","Spinner","BlockAlignmentToolbar","Settings","models","gm_authFailure","googlemaps_authfailure","dispatchEvent","Event","fetchedScript","fetchedApiKey","gmAuthFailure","onChangeMarkers","onGoogleMapsAuthFailure","loadPromise","done","model","loadGoogleMapsScript","keyParam","scriptSrc","scripts","querySelectorAll","resolve","promise","reject","script","createElement","onload","onerror","async","body","appendChild","getInstructions","hyperlink","newProps","renderPreview","logoLeft","logoRight","logoCenter","__experimentalBlockVariationPicker","registerBlockVariation","TEMPLATE_OPTIONS","template","layout","innerBlocksTemplate","createBlocksFromInnerBlocksTemplate","prototype","hasInnerBlocks","defaultVariation","supportsInnerBlocksPicker","supportsBlockVariationPicker","setTemplate","chosenTemplate","replaceInnerBlocks","variations","blockVariationPicker","innerBlocksPicker","blockVariationPickerOnSelect","nextVariation","nextVariationName","getBlockType","getBlockVariations","getDefaultBlockVariation","insertBlock","scope","HeadlineEdit","TagName","newLevel","nextAlign","HeroBackground","alt","HeroPreview","scrollIndicatorBlock","foreground","heroHeight","contentHeight","alignItems","paddingBottom","scrollIndicatorFallback","usePostMetaAttributes","HeroBlockControls","FirstBlockControls","BlockHeightControls","minimumHeightOptions","HeroEdit","heroAttributes","newScrollIndicatorBlock","getDefaults","computedAttributes","getNewAttributes","alignmentAttributes","colorAttributes","layoutAttributes","scrollingAttributes","example","anchor","alignWide","MEDIA_ALIGNMENTS_CONTROLS","MediaBlockControls","mediaPosition","MediaPreview","emphasisArea","contentAreaWidth","layoutGutter","passedProps","blockClassNames","allowedBlocks","CONTENT_AREA_MAX_WIDTH","CONTENT_AREA_MIN_WIDTH","CONTENT_AREA_MID_VALUE","MediaInspectorControls","balanceEmphasis","balanceFocalPoint","getBalanceAttributes","MediaEdit","updateImages","oldAttributes","upgradedToModerate","SlideshowBackground","previewImage","imageURL","videoURL","SlideshowPreview","windowWidth","innerWidth","windowHeight","updateDimensions","dimensions","maxAspectRatio","mediaMinHeight","aspectRatio","attributesHeight","onPrevArrowClick","onNextArrowClick","renderContent","SlideshowInspectorControls","slideshowType","selectedIndex","setIndex","minHeightOptions","selectedImage","focalPointPickerClassNames","selectedImageFocalPoint","nextMinHeight","SlideshowBlockControls","count","FoodMenuInspectorControls","enableTwoColumns","showPrices","showDescription","TEMPLATE","sectionTitle","price","enableSalePrice","salePrice","enableHighlightFoodItem","highlightLabel","FoodMenuPreview","addFoodMenuSection","FoodMenuEdit","withMenuVisibilityAttributes","BlockListBlock","menu","innerBlock","FoodMenuSave","FoodMenuSectionPreview","addFoodMenuItem","FoodMenuSectionEdit","FoodMenuSectionSave","FoodMenuItemPreview","FoodMenuItemInspectorControls","FoodMenuItem","FoodMenuItemSave","SandBox","OpenTablePreview","isShallowEqual","restaurantId","language","layoutForm","showOpenTableLogo","OpenTable","novablocks_urls","frontend_blocks_stylesheet","editor_blocks_stylesheet","OpenTableInspectorControls","nextLanguage","nextLayout","OpenTableSave","formSrc","OpenHoursPreview","parsedText","timeFormat","openNote","closedNote","closedLabel","compressOpeningHours","hideClosedDays","useShortName","TextareaControl","Modal","ExternalLink","OpenHoursInspectorControls","timeFormattingUrl","AvailableTagsModal","openModal","closeModal","timeFormattingInstructions","nextOpenHoursStyle","OpenHours","CardEdit","meta","showMedia","showTitle","showSubtitle","showButtons","showMeta","CardMedia","mediaURL","randomImage","CARDS_COLLECTION_TEMPLATE","CardsCollectionEdit","withCollectionVisibilityAttributes","collection","cards","featured_media_url","getMedia","featured_media","featured_media_obj","source_url","date","__experimentalGetSettings","dateI18n","format","RawHTML","Category","isStillMounted","fetchRequest","PostsEdit","columns","hasPosts","TitleTagName","SubtitleTagName","dateFormat","formats","date_gmt","raw","excerpt","updateCategory","novaBlocks","announcementBarBlockInit","googleMapBlockInit","headerBlockInit","logoInit","headlineInit","navigationInit","menuFoodInit","menuFoodSectionInit","menuFoodItemInit","opentableInit","cardInit","cardsCollectionInit","openHoursInit","advancedGalleryInit","heroInit","mediaInit","slideshowInit","postsCollectionInit"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;AClFA,uB;;;;;;ACAA,wB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,iC;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;ACnDD;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACNA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8B;;;;;;;AChBA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;ACNA,qBAAqB,mBAAO,CAAC,GAAkB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA,2B;;;;;;;ACjBA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;ACLA,cAAc,mBAAO,CAAC,EAAmB;;AAEzC,4BAA4B,mBAAO,CAAC,EAAyB;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4C;;;;;;ACZA;AACA;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0B;;;;;;;AClBA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;ACbA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;ACJA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;ACdA;AAAA;AAAA;AAA+C;AACa;AAC7C;AACf,eAAe,2EAAO;AACtB;AACA;;AAEA,SAAS,8EAAqB;AAC9B,C;;;;;;;;;;;;ACRe;AACf;AACA;AACA;AACA;;AAEA;AACA,C;;ACP8C;AAC/B;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,eAAc;AAChC,C;;;;;;;ACdA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;AChBA,qBAAqB,mBAAO,CAAC,GAAkB;;AAE/C,2BAA2B,mBAAO,CAAC,GAAwB;;AAE3D,sBAAsB,mBAAO,CAAC,GAAmB;;AAEjD;AACA;AACA;;AAEA,gC;;;;;;ACVA,iBAAiB,mBAAO,CAAC,GAAqB;;;;;;;;;;;;;;;;;;;;;;;;;ACA9C;AACA;AACA;AAC6B;AACM;AACnC;AACA,oCAAoC;AACpC;AACA;AACA;AACA,WAAW,KAAK;AAChB;;AAEA,mBAAmB,gBAAO,gBAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,KAAK;AAChB;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEO,SAAS,eAAO;AACvB;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA,WAAW,iBAAS,eAAe,iBAAS;AAC5C,GAAG;AACH;AACA;AACA;AACA;AACA,mC;;;;;ACvCA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,SAAS;AACrB;AACe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AC3HA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,YAAY,EAAE;AACd;AACe,SAAS,iBAAQ;AAChC;AACA;;AAEA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;;AC7GsC;AACE;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,aAAa,oBAAoB,KAAK;AAClD;AACe;AACf,aAAa,OAAO;;AAEpB;AACA,SAAS,iBAAQ;AACjB;AACA;;;AC5BsC;;AAEtC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,SAAS;AACrB;AACe;AACf,gBAAgB,OAAO;;AAEvB;AACA,qBAAqB,OAAO;AAC5B;AACA;;;ACjB+C;;AAE/C;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,kBAAkB;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,+FAA+F;AAC7G;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,oCAAoC;AAClD;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,qBAAqB;;AAErB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B,WAAW,cAAc;AACzB;AACe;AACf;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;ACpNwE;;AAExE,0CAA0C,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,gCAAgC,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,uDAAuD,CAAC,yCAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,iDAAiD,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEphB;AACA;AACA;AAC4B;AAC5B;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,KAAK;AACjB;;AAEO,IAAI,sBAAU;AACrB;AACA;AACA;AACA,YAAY;AACZ;AACA,mBAAmB,MAAM,GAAG;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;;AAEA;AACA;AACA,0CAA0C,yBAAyB,yBAAyB,QAAQ;AACpG;;AAEA,8CAA8C,6BAA6B;AAC3E;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B,aAAa,iBAAiB;AAC9B,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;AC7MA;AACA;AACA;AAC2C;AAC3C,WAAW,sBAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB;;AAEO,IAAI,0BAAa;AACxB;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,aAAE;AACb;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,cAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,cAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO,IAAI,eAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEO,IAAI,kBAAK;AAChB,wC;;AC/FoC;AACN;AACyC;AACvE,iC;;;;;;;;;;;;;;;ACHkD;AACnC;AACf,iCAAiC,2CAAgB;AACjD,C;;ACHe;AACf;AACA,C;;;;;ACFe;AACf;AACA,C;;ACFoD;AACJ;AACsB;AAClB;AACrC;AACf,SAAS,kBAAiB,SAAS,gBAAe,SAAS,qDAA0B,SAAS,kBAAiB;AAC/G,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACkC;AAClC;AACA;AACA;AACA,WAAW,OAAO,oCAAoC;AACtD;AACA,YAAY,QAAQ,uBAAuB;AAC3C;;AAEO;AACP;;AAEA;AACA,2CAA2C,oCAAQ;AACnD;AACA,oC;;AClBwE;AACM;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACmE;AACnE;AACA;AACA;;AAEqC;AACrC;AACA;AACA;;AAEuC;AACvC;AACA,aAAa,uGAAuG;AACpH;;AAEA;AACA;AACA;AACA;AACA,aAAa,6CAA6C;AAC1D;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,2BAA2B;AACrC;;AAEO,kBAAkB,qCAAS;AAClC;AACA,uFAAuF,SAAS;;AAEhG,qBAAqB,4CAAkB;AACvC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,UAAU,2BAA2B;AACrC;AACA;;AAEO,0BAA0B,qCAAS;AAC1C;AACA;;AAEA,uFAAuF,SAAS;;AAEhG;;AAEA,oDAAoD,EAAE,yCAAe,kDAAkD,yCAAe,oDAAoD,yCAAe,oCAAoC,yCAAe;AAC5P;AACA,2BAA2B,+BAAG,8BAA8B;;AAE5D;AACA,yBAAyB,4CAAkB;AAC3C;;AAEA,uBAAuB,4CAAkB;AACzC,KAAK;AACL,+BAA+B,sCAAU;AA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;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC,EAAE,EAS1C;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,GAAmC;AAC9D,CAAC,MAAM,EAEN;;;;;;;ACrCD,aAAa,mBAAO,CAAC,EAAW;AAChC,gBAAgB,mBAAO,CAAC,GAAc;AACtC,qBAAqB,mBAAO,CAAC,GAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,EAAc;AACvC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA;AAAe;AACf;;AAEA,wCAAwC,SAAS;AACjD;AACA;;AAEA;AACA,C;;;;;;ACRA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,0BAA0B,mBAAO,CAAC,GAAwB;AAC1D,eAAe,mBAAO,CAAC,GAAY;AACnC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,SAAS,mBAAO,CAAC,EAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,EAAc;;AAEtC;AACA;;AAEA;;;;;;;ACLA,gBAAgB,mBAAO,CAAC,GAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,cAAc,mBAAO,CAAC,EAAW;AACjC,YAAY,mBAAO,CAAC,EAAU;AAC9B,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCa;;AAEb;AACA;AACA;AACA,4BAA4B,mBAAO,EAAE,GAAW;AAChD,2BAA2B,mBAAO,EAAE,GAAU;;AAE9C;;AAEA;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,uBAAuB;AAClC;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACrCA;AAAA;AAAkD;AACnC;AACf;AACA,oCAAoC,yEAAgB;AACpD;AACA;AACA;AACA,sFAAsF,yEAAgB;AACtG,C;;;;;;;ACRA;AAAA;AAAA;AACA;AACA;AAC+C;AAC/C;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA;AACA,YAAY,YAAY;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C,yDAAU,CAAC,wDAAS;AAClE;AACA;AACA;;AAEe,mFAA0B,EAAC;AAC1C,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,oFAAiB,EAAC;AACjC,6C;;ACzBA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,kFAAgB,EAAC;AAChC,4C;;AChCA;AACA;AACA;AACuD;AACF;AACvB;AAC9B;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA,SAAS,6BAAgB;AACzB;AACA;;AAEA,SAAS,8BAAiB;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,iBAAiB;AACjB;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,QAAQ;AACd;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;AChGA;AACA;AACA;AACuD;AACF;AACvB;AAC9B;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA,SAAS,6BAAgB;AACzB;AACA;;AAEA,uBAAuB,8BAAiB;AACxC;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA,uCAAuC,QAAQ;AAC/C;AACA;AACA;;AAEA;AACA,MAAM,QAAQ;AACd;;AAEA;AACA;AACA;;AAEe,kFAAgB,EAAC;AAChC,4C;;ACnFA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;;;;AChC8E;;AAE9E;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB;AACA;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,KAAK;AACnB;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;;AAE5C,QAAQ,KAAqC,EAAE,EAK1C;;AAEL,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;AC3EA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe,oFAAiB,EAAC;AACjC,6C;;AC3BA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEe,gFAAe,EAAC;AAC/B,2C;;AC9BA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;AACA,SAAS,6BAAgB;AACzB;AACA;;AAEA;AACA;AACA;;AAEe,4EAAa,EAAC;AAC7B,yC;;AC/BA;AACA;AACA;AAC4C;AACM;AACN;AACA;AACQ;AACJ;AACJ;AAC5C;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAAa;AAC5B,eAAe,0BAAa;AAC5B,kBAAkB,6BAAgB;AAClC,kBAAkB,6BAAgB;AAClC,eAAe,0BAAa;AAC5B,eAAe,0BAAa;AAC5B,sBAAsB,6BAAgB;AACtC,sBAAsB,6BAAgB;AACtC,cAAc,0BAAa;AAC3B,kBAAkB,0BAAa;AAC/B,mBAAmB,8BAAiB;AACpC,mBAAmB,8BAAiB;AACpC,iBAAiB,4BAAe;AAChC,iBAAiB,4BAAe;AAChC,eAAe,0BAAa;AAC5B,eAAe,0BAAa;AAC5B;AACA;AACA;AACA;;AAEe,wEAAW,EAAC;AAC3B,uC;;AC5CA;AACA;AACA;AACwC;;AAExC,mBAAmB,wBAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAO;AACX,IAAI,oBAAO;;AAEgP;AAC3P,iC;;AC1BA;AACA;AACA;AAC4C;AAC5C;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEO;AACP;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mJAAmJ;;AAEnJ;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;;;AAGA,EAAE,QAAQ,0CAA0C;;AAEpD;AACA;AACA;AACA,iC;;;;;;;AC1EA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA,oBAAoB,mBAAO,CAAC,EAAkB;AAC9C,eAAe,mBAAO,CAAC,GAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A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AEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,wCAAwC;AACxC;AACA,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA,SAAS,oBAAoB;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;AClKD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,IAA8B;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY,IAA6C;AACzD,YAAY,mCAAO;AACnB;AACA;AACA;AACA;AACA,aAAa;AAAA,oGAAC;AACd;AACA;AACA;AACA,CAAC,GAAG;;;;;;;ACtOJ,qBAAqB,mBAAO,CAAC,GAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;ACxBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA;AACA;;AAEA;;;;;;;;ACHA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACzBA,iBAAiB,mBAAO,CAAC,GAAe;AACxC,qBAAqB,mBAAO,CAAC,GAAmB;;AAEhD;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;;AAEA;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,kBAAkB,mBAAO,CAAC,EAAe;AACzC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,EAAY;AACnC,cAAc,mBAAO,CAAC,EAAY;AAClC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChDA,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;ACnCA,yDAAW,mBAAO,CAAC,EAAS;AAC5B,gBAAgB,mBAAO,CAAC,GAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACrBA,uBAAuB,mBAAO,CAAC,GAAqB;AACpD,gBAAgB,mBAAO,CAAC,EAAc;AACtC,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,eAAe,mBAAO,CAAC,GAAa;AACpC,eAAe,mBAAO,CAAC,GAAa;AACpC,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,eAAe,mBAAO,CAAC,EAAa;AACpC,gBAAgB,mBAAO,CAAC,GAAc;AACtC,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,kBAAkB,mBAAO,CAAC,GAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,gBAAgB,mBAAO,CAAC,GAAa;;AAErC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;ACrBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,mF;;;;;;;ACRa;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,GAAa;;AAExC,sBAAsB,mBAAO,CAAC,GAAiB;;AAE/C;;AAEA,gBAAgB,mBAAO,CAAC,GAAW;;AAEnC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;AC9Da;;AAEb,iCAAiC,mBAAO,CAAC,GAAU;AACnD,qCAAqC,mBAAO,CAAC,GAAU;;;;;;;ACHvD,eAAe,mBAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjEA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,qCAAqC;AAChD;AACA,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;AACpC,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9CA,kBAAkB,mBAAO,CAAC,GAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7CA,eAAe,mBAAO,CAAC,EAAY;AACnC,UAAU,mBAAO,CAAC,GAAO;AACzB,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAA2B;AACzC,cAAc,2BAA2B;AACzC,cAAc,SAAS;AACvB;AACA,cAAc,EAAE;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;;AAEA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,WAAW,EAAE;AACb,WAAW,cAAc;AACzB;AACA,YAAY,2BAA2B;AACvC;AACA;AACA;;AAEA,YAAY,2BAA2B;AACvC;;AAEA,YAAY,2BAA2B;AACvC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,2BAA2B,cAAc;AACzC,qBAAqB,gBAAgB;AACrC,cAAc,gBAAgB;AAC9B,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACtKa;;AAEb,iBAAiB,mBAAO,CAAC,GAAwB,E;;;;;;ACFjD,eAAe,mBAAO,CAAC,EAAa;AACpC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,eAAe,mBAAO,CAAC,GAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;ACxBA,eAAe,mBAAO,CAAC,EAAa;AACpC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,cAAc,mBAAO,CAAC,GAAY;AAClC,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA,MAAM,mBAAmB;AACzB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,4BAA4B,mBAAO,EAAE,GAAW;AAChD,2BAA2B,mBAAO,EAAE,GAAU;;AAE9C;;AAEA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACa,OAAO,mBAAO,CAAC,CAAO,IAAI,mBAAO,CAAC,GAAe,IAAI,mBAAO,CAAC,GAAW,EAAE,cAAc,yEAAyE,mBAAmB,mDAAmD,mCAAmC,4HAA4H;AACnZ,+BAA+B,8CAA8C,IAAI,aAAa,SAAS,iBAAiB,oCAAoC,oBAAoB,MAAM,OAAO,+BAA+B,MAAM,QAAQ,uBAAuB,+BAA+B,yBAAyB,OAAO,OAAO,SAAS,MAAM,QAAQ,yBAAyB,kBAAkB;AACzY,mBAAmB,8BAA8B,sBAAsB,iBAAiB,qBAAqB;AAC7G,cAAc,uBAAuB,4BAA4B,gCAAgC,WAAW,yCAAyC,QAAQ,eAAe,gBAAgB,aAAa,mBAAmB,6CAA6C,QAAQ,gCAAgC,MAAM,6CAA6C,KAAK,+DAA+D;AACxa,mBAAmB,+BAA+B,QAAQ,mCAAmC,eAAe,MAAM,OAAO,eAAe,WAAW,mCAAmC,WAAW,qCAAqC,+BAA+B,QAAQ,MAAM,QAAQ;AAC3R,eAAe,YAAY,8CAA8C,kBAAkB,uCAAuC,eAAe,6BAA6B,cAAc,OAAO,cAAc,WAAW,MAAM,aAAa,WAAW,cAAc,iBAAiB,YAAY,uBAAuB,kBAAkB,eAAe,sBAAsB,cAAc;AACjY,mBAAmB,oBAAoB,MAAM,IAAI,iBAAiB,QAAQ,YAAY,6YAA6Y;AACne,eAAe,0BAA0B,0BAA0B,8BAA8B,SAAS,SAAS,qBAAqB,iCAAiC,iBAAiB,uCAAuC,6BAA6B,qCAAqC,6BAA6B,+BAA+B;AAC/V,qBAAqB,0DAA0D,cAAc,2BAA2B,gBAAgB,oBAAoB,uBAAuB,4BAA4B,SAAS,wBAAwB,yCAAyC,qBAAqB,0BAA0B,uBAAuB,oBAAoB,YAAY,mBAAmB;AAClZ,sKAAsK,6BAA6B,EAAE,4HAA4H,WAAW,gCAAgC,EAAE,yEAAyE,2CAA2C;AACle,4FAA4F,6BAA6B,EAAE,uPAAuP,2CAA2C;AAC7Z,8DAA8D,6BAA6B,EAAE,2CAA2C,6BAA6B,EAAE,kDAAkD,6BAA6B,EAAE,wCAAwC,2CAA2C,EAAE,uBAAuB,eAAe;AACnX,ylCAAylC;AACzlC,IAAI,6BAA6B,EAAE,0GAA0G,uBAAuB,uDAAuD,EAAE,wDAAwD,uBAAuB,+DAA+D,EAAE,+CAA+C,2CAA2C;AACvc,mFAAmF,yDAAyD,2CAA2C,EAAE,6DAA6D,yEAAyE,aAAa,EAAE,2EAA2E,cAAc;AACva,qBAAqB,oCAAoC,mGAAmG;AAC5J;AACA,kKAAkK,eAAe,6CAA6C,6BAA6B,mCAAmC,eAAe,mBAAmB,YAAY,cAAc,MAAM,YAAY,mBAAmB,qDAAqD,aAAa,yCAAyC;AAC1e,eAAe,uBAAuB,4DAA4D,gCAAgC,UAAU,yBAAyB,uBAAuB,yBAAyB,2BAA2B,yBAAyB,6BAA6B,0CAA0C,iCAAiC,iCAAiC,uBAAuB,4BAA4B;AACrc,cAAc,0BAA0B,4BAA4B,uDAAuD,YAAY,eAAe,SAAS,GAAG,gBAAgB,oDAAoD,QAAQ,0DAA0D,OAAO,kBAAkB,IAAI,KAAK,wFAAwF,+BAA+B,KAAK,WAAW,SAAS;AAC1d,eAAe,iBAAiB,mFAAmF,kBAAkB,eAAe,aAAa;AACjK,eAAe,qGAAqG,uGAAuG,oBAAoB,2BAA2B,+BAA+B,oBAAoB,iBAAiB,OAAO,gBAAgB,EAAE,2BAA2B,wBAAwB,EAAE,OAAO,oBAAoB,SAAS,sBAAsB,OAAO,yBAAyB;AACtf,KAAK,eAAe,eAAe,yCAAyC,eAAe,eAAe,sBAAsB,eAAe,mBAAmB,SAAS,8CAA8C,IAAI,mCAAmC,iBAAiB,gBAAgB,WAAW,IAAI,wGAAwG;AACxZ,iBAAiB,0FAA0F,8BAA8B,iBAAiB,gHAAgH,iBAAiB,YAAY;AACvS,iBAAiB,QAAQ,2BAA2B,4BAA4B,gDAAgD,oCAAoC,mCAAmC,2BAA2B,OAAO,2GAA2G;AACpV,mBAAmB,gEAAgE,aAAa,yEAAyE,kCAAkC,4BAA4B,iBAAiB,SAAS,oBAAoB,kDAAkD;AACvU,mBAAmB,uJAAuJ,eAAe,SAAS,kCAAkC,gBAAgB,EAAE,SAAS,iBAAiB,KAAK,gBAAgB,IAAI,iCAAiC;AAC1U,qBAAqB,YAAY,MAAM,KAAK,YAAY,WAAW,mBAAmB,QAAQ,WAAW,4GAA4G,KAAK,WAAW,OAAO,QAAQ,WAAW,KAAK,mBAAmB,iBAAiB,6BAA6B,OAAO,kCAAkC;AAC9W,iBAAiB,sDAAsD,WAAW,IAAI,0EAA0E,EAAE,iBAAiB,cAAc,YAAY,aAAa,iBAAiB,YAAY,8BAA8B,qBAAqB,qCAAqC,OAAO,IAAI,gBAAgB,IAAI,iBAAiB;AAC/X,iBAAiB,uCAAuC,wGAAwG,+BAA+B,eAAe,oBAAoB,gEAAgE,QAAQ;AAC1S,eAAe,UAAU,8CAA8C,uDAAuD,8CAA8C,iBAAiB;AAC7L,sBAAsB,kFAAkF,yCAAyC,kBAAkB,EAAE,GAAG,eAAe,0DAA0D,KAAK,qCAAqC,qDAAqD,oBAAoB,aAAa,6BAA6B,KAAK,aAAa,8BAA8B;AAC9b,iBAAiB,MAAM,mBAAmB,uCAAuC,cAAc,QAAQ,gBAAgB,iBAAiB,SAAS,mCAAmC,yBAAyB,mBAAmB,SAAS,QAAQ,mMAAmM,MAAM;AAC1b,oPAAoP,eAAe,sBAAsB,mBAAmB,cAAc,6DAA6D;AACvX,0XAA0X,eAAe,gBAAgB,oCAAoC;AAC7b,eAAe,YAAY,oBAAoB,SAAS,YAAY,KAAK,IAAI,uDAAuD,SAAS,wBAAwB,eAAe,eAAe,sBAAsB,wDAAwD,gCAAgC,YAAY,eAAe;AAC5U,eAAe,kBAAkB,OAAO,QAAQ,gCAAgC,oBAAoB,iBAAiB,EAAE,eAAe,kBAAkB,kBAAkB,aAAa,WAAW,aAAa,IAAI,SAAS,MAAM,sBAAsB,cAAc,EAAE,EAAE,wBAAwB,wBAAwB,YAAY,qBAAqB,+BAA+B,KAAK,uBAAuB,EAAE,EAAE,UAAU,KAAK,IAAI,IAAI,MAAM,UAAU,KAAK,IAAI,IAAI,MAAM,YAAY,OAAO,cAAc,EAAE,EAAE;AACzf,GAAG,KAAK,IAAI,IAAI,MAAM,UAAU,KAAK,IAAI,IAAI,MAAM,YAAY,4BAA4B,wCAAwC,iCAAiC,mCAAmC,eAAe,QAAQ,kBAAkB,aAAa,EAAE,iCAAiC,sCAAsC,KAAK,eAAe,KAAK,WAAW,EAAE,uCAAuC,WAAW,0BAA0B,aAAa;AACrc,iBAAiB,8BAA8B,oBAAoB,qBAAqB,+CAA+C,UAAU,SAAS,4CAA4C,mBAAmB,+CAA+C;AACxQ,eAAe,MAAM,kDAAkD,gCAAgC,sCAAsC,oBAAoB,kBAAkB,0BAA0B,0BAA0B,4CAA4C,eAAe,wBAAwB,KAAK,QAAQ,MAAM,SAAS,yBAAyB;AAC/W,eAAe,iCAAiC,yDAAyD,qCAAqC,eAAe,gBAAgB,SAAS,oBAAoB,6DAA6D,+BAA+B,SAAS,UAAU,eAAe,oBAAoB,mBAAmB,kBAAkB,qBAAqB;AACtZ,qBAAqB,cAAc,eAAe,iBAAiB,qBAAqB,gBAAgB,eAAe,SAAS,OAAO;AACvI,eAAe,uBAAuB,GAAG,OAAO,oBAAoB,MAAM,QAAQ,yCAAyC,KAAK,KAAK,SAAS,YAAY,2CAA2C,YAAY,QAAQ,kCAAkC,QAAQ,SAAS,QAAQ,qBAAqB,KAAK,iBAAiB,wBAAwB,iBAAiB,yCAAyC,eAAe,mBAAmB,YAAY,KAAK,YAAY;AAChd,SAAS,OAAO,mBAAmB,cAAc,UAAU,gCAAgC,MAAM,0CAA0C,gBAAgB,mBAAmB,oBAAoB,MAAM,6CAA6C,MAAM,gDAAgD,mCAAmC;AAC9U;AACA,iBAAiB,YAAY,uBAAuB,UAAU,EAAE,uBAAuB,UAAU,EAAE,uBAAuB,OAAO;AACjI,iBAAiB,UAAU,iCAAiC,MAAM,0CAA0C,MAAM,yCAAyC,MAAM,4DAA4D,MAAM,2EAA2E,yBAAyB,4FAA4F,sBAAsB;AACzb,uBAAuB,UAAU,2CAA2C,+CAA+C,+CAA+C,qCAAqC,wCAAwC,SAAS,yFAAyF;AACzV,eAAe,mBAAmB,aAAa,YAAY,+BAA+B,qBAAqB,cAAc,iDAAiD,MAAM,EAAE,QAAQ,oCAAoC,qDAAqD,QAAQ,iBAAiB,eAAe,+BAA+B,sEAAsE,aAAa,YAAY,gBAAgB,cAAc,SAAS;AACpe,mBAAmB,mBAAmB,cAAc,UAAU,YAAY,EAAE,YAAY,uBAAuB,kBAAkB,gBAAgB,MAAM,sEAAsE,kCAAkC,6BAA6B,6BAA6B,6BAA6B,eAAe,eAAe,iBAAiB;AACrY,eAAe,cAAc,eAAe,gBAAgB,YAAY,YAAY,YAAY,KAAK,YAAY,qCAAqC,oBAAoB,oBAAoB,oBAAoB,cAAc,cAAc,QAAQ,YAAY,gDAAgD,KAAK,0CAA0C;AACjW,SAAS;AACT,oHAAoH,iBAAiB,YAAY,WAAW,MAAM,2DAA2D,GAAG,yBAAyB,+BAA+B,mCAAmC,YAAY,YAAY;AACnV;AACA,qSAAqS,SAAS,gHAAgH,aAAa;AAC3a,2EAA2E,gBAAgB,WAAW,mBAAmB,gBAAgB,uBAAuB,6BAA6B,MAAM,6BAA6B,MAAM,8BAA8B,wDAAwD,qBAAqB,SAAS,cAAc,MAAM,IAAI,cAAc,QAAQ,cAAc,qBAAqB;AAC3a,qBAAqB,qEAAqE,KAAK,kBAAkB,oBAAoB,oDAAoD,wBAAwB,QAAQ,iBAAiB,IAAI,SAAS,QAAQ;AAC/P,qBAAqB,QAAQ,QAAQ,aAAa,YAAY,mBAAmB,KAAK,YAAY,WAAW,QAAQ,qBAAqB,OAAO,eAAe,uEAAuE,OAAO,sBAAsB,cAAc,IAAI,SAAS,QAAQ,MAAM;AAC7S,QAAQ;AACR,0HAA0H,8BAA8B,oCAAoC,uBAAuB,6CAA6C,YAAY,EAAE,EAAE,mBAAmB;AACnS,iBAAiB,UAAU,uCAAuC,yCAAyC,4BAA4B,6BAA6B,UAAU,YAAY,EAAE,yHAAyH;AACrT,iBAAiB,MAAM,uFAAuF,oCAAoC,uCAAuC,4GAA4G;AACrS,iBAAiB,oDAAoD,UAAU,kLAAkL,kBAAkB,eAAe,iBAAiB,oDAAoD,YAAY,QAAQ,YAAY,WAAW,iBAAiB;AACna,eAAe,qDAAqD,sCAAsC,IAAI,+BAA+B,SAAS,eAAe,eAAe,KAAK,gBAAgB,gBAAgB,SAAS,iBAAiB,YAAY,IAAI,UAAU,EAAE,EAAE,mBAAmB,yBAAyB,qBAAqB,mBAAmB,IAAI,GAAG,KAAK,EAAE,EAAE,kBAAkB,gBAAgB,QAAQ,eAAe,SAAS;AACvb,iBAAiB,gLAAgL,cAAc,wBAAwB,iCAAiC,EAAE,IAAI,sDAAsD,SAAS,KAAK,uBAAuB,WAAW,iBAAiB;AACrY,eAAe,8CAA8C,+JAA+J,mDAAmD,iBAAiB,UAAU,6EAA6E;AACvX,iBAAiB,sOAAsO,gHAAgH,eAAe,KAAK,QAAQ,iBAAiB,iBAAiB,sBAAsB;AAC3b,eAAe,oBAAoB,YAAY,EAAE,EAAE,mBAAmB,aAAa,2BAA2B,kBAAkB,IAAI,iBAAiB,oBAAoB,YAAY;AACrL,eAAe,YAAY,cAAc,uBAAuB,EAAE,EAAE,mBAAmB,cAAc,wDAAwD,SAAS,EAAE,oBAAoB,QAAQ,SAAS,IAAI,eAAe,YAAY,eAAe,eAAe,6DAA6D,eAAe,2CAA2C,oBAAoB,eAAe;AACpa,eAAe,cAAc,oBAAoB;AACjD,iBAAiB,kBAAkB,kBAAkB,YAAY,kBAAkB,OAAO,YAAY,sUAAsU,KAAK,QAAQ,aAAa,iBAAiB;AACvd,aAAa,SAAS,mBAAmB,uJAAuJ,eAAe,gDAAgD,6BAA6B,EAAE,mBAAmB,eAAe,MAAM,uBAAuB,QAAQ,WAAW;AAChX,mBAAmB,wLAAwL,eAAe,+DAA+D,eAAe,SAAS;AACjT,cAAc,gBAAgB,0EAA0E,QAAQ,iBAAiB,KAAK,UAAU,QAAQ,sBAAsB,KAAK,oCAAoC,cAAc,SAAS,cAAc;AAC5P,oBAAoB,sBAAsB,mBAAmB,mBAAmB,6BAA6B,oGAAoG,+FAA+F,6BAA6B;AAC7U,eAAe,0BAA0B,yBAAyB,uBAAuB,yHAAyH,4BAA4B,uBAAuB,+HAA+H,oBAAoB,qBAAqB,uCAAuC;AACpd,EAAE,wBAAwB,2DAA2D,qDAAqD,sDAAsD,EAAE,aAAa,+CAA+C,YAAY,oEAAoE,+BAA+B;AAC7W,qBAAqB,cAAc,aAAa,+BAA+B,WAAW,wBAAwB,YAAY,iBAAiB,cAAc,0BAA0B,gBAAgB,gBAAgB,kBAAkB,MAAM,UAAU,MAAM,qBAAqB,0BAA0B,2BAA2B,qBAAqB,SAAS;AACvW,eAAe,4CAA4C,eAAe,iDAAiD,eAAe,eAAe,eAAe,aAAa,iBAAiB,UAAU,eAAe,UAAU,6DAA6D;AACtS,mGAAmG,aAAa,yBAAyB,wDAAwD,gEAAgE,iBAAiB,yBAAyB,8DAA8D,gFAAgF,mBAAmB,yBAAyB;AACre,qCAAqC,kFAAkF,oBAAoB,yBAAyB,oEAAoE,oFAAoF;AAC5T,iBAAiB,UAAU,8CAA8C,sCAAsC,sDAAsD,kBAAkB,eAAe,WAAW,kDAAkD,UAAU,iBAAiB,UAAU,mCAAmC,4CAA4C,MAAM,UAAU,mDAAmD;AAC1b,iBAAiB,mFAAmF,UAAU,yBAAyB,2EAA2E,yCAAyC,+CAA+C,YAAY,6DAA6D;AACnX,QAAQ,8CAA8C,MAAM,SAAS,UAAU,kDAAkD,QAAQ,0CAA0C,QAAQ,gDAAgD,QAAQ,SAAS,+FAA+F;AAC3V,mEAAmE,oFAAoF,oCAAoC,KAAK,mJAAmJ,eAAe,8CAA8C;AAChZ,QAAQ,QAAQ,yBAAyB,8CAA8C,yFAAyF,mBAAmB,+BAA+B,gBAAgB,MAAM,MAAM,SAAS,oBAAoB,eAAe,MAAM,eAAe,YAAY,kBAAkB,iBAAiB,yBAAyB,UAAU;AACjZ,cAAc,uDAAuD,eAAe,iEAAiE,KAAK,MAAM,IAAI,SAAS,QAAQ,aAAa,mBAAmB,oFAAoF,eAAe,mEAAmE,iBAAiB,4BAA4B,iBAAiB;AACzb,QAAQ,wEAAwE,4DAA4D,uDAAuD,yBAAyB,KAAK,KAAK,SAAS,+FAA+F,kCAAkC,YAAY,0FAA0F,cAAc,sBAAsB;AAC1f,IAAI,gEAAgE,eAAe,uBAAuB,oEAAoE,cAAc;AAC5L,wCAAwC,qMAAqM,iFAAiF,uBAAuB,sCAAsC,SAAS,aAAa,uDAAuD,uBAAuB;AAC/d,SAAS,aAAa,wDAAwD,gBAAgB,6IAA6I,MAAM,YAAY,sEAAsE,aAAa,sEAAsE,eAAe,4EAA4E,eAAe;AAChgB,2CAA2C,KAAK,gDAAgD,4EAA4E,uEAAuE,0EAA0E,MAAM,+DAA+D,YAAY,uCAAuC,YAAY,qBAAqB;AACtd,GAAG,SAAS,oBAAoB,oBAAoB,cAAc,iGAAiG,kBAAkB,kBAAkB,uBAAuB,iBAAiB,WAAW,kBAAkB,uBAAuB,iBAAiB,WAAW,kBAAkB,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,YAAY,KAAK,MAAM,aAAa,KAAK,MAAM,aAAa,KAAK,IAAI,EAAE;AAC3d,QAAQ,QAAQ,OAAO,YAAY,IAAI,SAAS,SAAS,EAAE,cAAc,yBAAyB,UAAU,QAAQ,SAAS,SAAS,EAAE,cAAc,yBAAyB,UAAU,QAAQ,QAAQ,WAAW,yBAAyB,eAAe,MAAM,uBAAuB,8BAA8B,iBAAiB,+CAA+C;AACvX,iBAAiB,oBAAoB,yEAAyE,sCAAsC,gCAAgC,QAAQ,WAAW,uDAAuD;AAC9P,oEAAoE,QAAQ,yBAAyB,8CAA8C,2GAA2G;AAC9P,iBAAiB,+DAA+D,wCAAwC,KAAK,+BAA+B,0CAA0C,6EAA6E,oGAAoG,EAAE;AACzX,QAAQ,kDAAkD,gEAAgE,YAAY,GAAG,QAAQ,cAAc,YAAY,WAAW,qBAAqB,KAAK,QAAQ,KAAK,KAAK,iBAAiB,iBAAiB,UAAU,oEAAoE,MAAM,0BAA0B,MAAM,uBAAuB,MAAM,sEAAsE;AAC3d,2CAA2C,aAAa,cAAc,uDAAuD,eAAe,0BAA0B,gEAAgE,gBAAgB,mBAAmB,EAAE,eAAe,gBAAgB,wDAAwD,eAAe;AACjX,QAAQ,2MAA2M,KAAK;AACxN,qHAAqH,eAAe,gBAAgB,UAAU,uBAAuB,+BAA+B,gJAAgJ,oIAAoI;AACxe,eAAe,qBAAqB,uDAAuD,mBAAmB,kFAAkF,gBAAgB,kBAAkB,gBAAgB,4HAA4H,eAAe,sDAAsD,gBAAgB,mBAAmB;AACtd,mBAAmB,oBAAoB,8FAA8F,4BAA4B,MAAM,8CAA8C,gBAAgB,kBAAkB,UAAU,yCAAyC,iCAAiC,MAAM,8BAA8B,MAAM,yCAAyC;AAC9Z,GAAG,MAAM,+HAA+H,MAAM,2EAA2E,MAAM,6BAA6B,MAAM,aAAa,MAAM,mBAAmB,MAAM,kBAAkB,MAAM,yCAAyC,MAAM;AACrX,GAAG,MAAM,YAAY,uBAAuB,MAAM,WAAW,0BAA0B,oKAAoK,KAAK,UAAU,MAAM,MAAM,MAAM,IAAI,kHAAkH,EAAE,gBAAgB,cAAc;AAClb,gBAAgB,KAAK,iBAAiB,YAAY,SAAS,IAAI,WAAW,IAAI,WAAW,OAAO,iBAAiB,0BAA0B,gBAAgB,kBAAkB,2GAA2G,QAAQ,GAAG,qBAAqB,iHAAiH,SAAS,cAAc,sBAAsB;AACtd,cAAc,KAAK,KAAK,mBAAmB,sCAAsC,OAAO,OAAO,mBAAmB,kBAAkB,sBAAsB,kDAAkD,sBAAsB,mEAAmE,WAAW,KAAK,IAAI,eAAe,mEAAmE,aAAa,OAAO,eAAe;AAC9a,mBAAmB,kBAAkB,0BAA0B,qFAAqF;AACpJ,2UAA2U,yDAAyD,uDAAuD;AAC3b,cAAc,aAAa,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,8BAA8B,eAAe,UAAU,kBAAkB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,8BAA8B,iBAAiB,QAAQ,eAAe,mBAAmB,QAAQ,iBAAiB,eAAe,2CAA2C,UAAU,cAAc,cAAc,SAAS,QAAQ,MAAM;AAC/e,cAAc,mBAAmB,MAAM,QAAQ,IAAI,SAAS,iBAAiB,KAAK,WAAW,KAAK,WAAW,WAAW,iBAAiB,EAAE,QAAQ,SAAS,iDAAiD,QAAQ,QAAQ,mBAAmB,MAAM,kDAAkD,iBAAiB,sBAAsB,MAAM,IAAI,iBAAiB,0CAA0C,SAAS,QAAQ,aAAa,yBAAyB,cAAc;AACzd,eAAe,iBAAiB,MAAM,gCAAgC,iBAAiB,KAAK,SAAS,EAAE,kBAAkB,gHAAgH,kEAAkE,WAAW,YAAY,iBAAiB,KAAK,WAAW,iBAAiB;AACpX,iBAAiB,0BAA0B,yDAAyD,GAAG,oCAAoC,cAAc,iCAAiC,KAAK,iBAAiB,iDAAiD,kBAAkB,uBAAuB,UAAU,eAAe,eAAe,iDAAiD,aAAa;AAChZ,iBAAiB,gBAAgB,mCAAmC,8EAA8E,EAAE,iBAAiB,GAAG,8EAA8E,gBAAgB,iBAAiB,gBAAgB,aAAa,WAAW,gBAAgB,2CAA2C;AAC1X,iBAAiB,kBAAkB,kBAAkB,gBAAgB,cAAc;AACnF,qBAAqB,oBAAoB,MAAM,qCAAqC,aAAa,aAAa,aAAa,cAAc,SAAS,IAAI,sBAAsB,cAAc,sDAAsD,aAAa,SAAS,2CAA2C,aAAa,QAAQ,GAAG,mBAAmB,QAAQ,QAAQ,2HAA2H;AACve,oBAAoB,WAAW,KAAK,qBAAqB,oHAAoH,EAAE,uBAAuB,GAAG,YAAY,IAAI,KAAK,cAAc,mBAAmB,0BAA0B,iBAAiB,QAAQ,IAAI,QAAQ,wCAAwC,mBAAmB,yCAAyC,gCAAgC,MAAM,MAAM,QAAQ,cAAc;AACpe,+DAA+D,SAAS,wDAAwD,oEAAoE,SAAS,sBAAsB,cAAc,cAAc,MAAM,mBAAmB;AACxR,mBAAmB,YAAY,eAAe,oBAAoB,WAAW,KAAK,wBAAwB,aAAa,gBAAgB,IAAI,IAAI,+CAA+C,YAAY,6DAA6D,qBAAqB,kBAAkB,SAAS,6BAA6B,MAAM,kBAAkB;AAC5W,QAAQ,sBAAsB,6CAA6C,iCAAiC,wBAAwB,yBAAyB,YAAY,UAAU,YAAY,qCAAqC,QAAQ,QAAQ,qCAAqC,wBAAwB,yBAAyB,YAAY,UAAU,QAAQ,YAAY,qCAAqC,QAAQ,QAAQ,kCAAkC,wBAAwB;AACne,YAAY,UAAU,QAAQ,qCAAqC,QAAQ,UAAU,2BAA2B,cAAc;AAC9H,mBAAmB,cAAc,oBAAoB,mHAAmH,aAAa,8DAA8D,aAAa,cAAc,wBAAwB,iHAAiH;AACvZ,qBAAqB,UAAU,kFAAkF,gGAAgG;AACjN,qBAAqB,kBAAkB,UAAU,wBAAwB,UAAU,MAAM,oBAAoB,sFAAsF,YAAY,wBAAwB,6BAA6B,6DAA6D;AACjU,oPAAoP,0DAA0D;AAC9S,mBAAmB,QAAQ,yDAAyD,aAAa,WAAW,MAAM,iCAAiC,kBAAkB,4BAA4B,WAAW,wFAAwF,cAAc,aAAa,oBAAoB,EAAE,6BAA6B,eAAe,SAAS,2CAA2C,oCAAoC;AACzd,iBAAiB,iHAAiH,8BAA8B;AAChK,eAAe,gBAAgB,MAAM,mBAAmB,sEAAsE,kBAAkB,eAAe,gBAAgB,kBAAkB,KAAK,SAAS,oBAAoB,YAAY,gBAAgB,cAAc,SAAS,0DAA0D,SAAS,gBAAgB,UAAU,UAAU,eAAe,SAAS,kBAAkB,UAAU,eAAe,cAAc;AAC9c,OAAO,cAAc,SAAS,cAAc,uCAAuC,SAAS,oBAAoB,4DAA4D,SAAS,WAAW,SAAS,oBAAoB,uFAAuF,yCAAyC,gBAAgB,WAAW,SAAS,oBAAoB;AACrZ,sDAAsD,sBAAsB,WAAW,SAAS,sBAAsB,8DAA8D,SAAS,WAAW,SAAS,kBAAkB,oFAAoF,kCAAkC,mBAAmB,wFAAwF,6CAA6C;AACjf,gDAAgD,QAAQ,YAAY,oBAAoB,0BAA0B,+EAA+E,kCAAkC,mBAAmB,iFAAiF,yCAAyC,qDAAqD,QAAQ,YAAY,sBAAsB;AAC/c,6BAA6B,kCAAkC,mBAAmB,0GAA0G,8DAA8D,wDAAwD,QAAQ,YAAY,qBAAqB,uCAAuC,qBAAqB,KAAK,mCAAmC,oBAAoB,aAAa,gBAAgB,MAAM;AACtf,8BAA8B,WAAW,yBAAyB,IAAI,IAAI,gCAAgC,aAAa,KAAK,WAAW,sEAAsE,SAAS,aAAa,WAAW,gIAAgI,yBAAyB,cAAc,EAAE,SAAS,oBAAoB,YAAY,6CAA6C;AAC7e,+BAA+B,6CAA6C,kBAAkB,gBAAgB,mCAAmC,uBAAuB,aAAa,gBAAgB,MAAM,iCAAiC,WAAW,yBAAyB,IAAI,IAAI,0BAA0B,aAAa,KAAK,QAAQ,oFAAoF,SAAS,aAAa,QAAQ;AAC9b,qFAAqF,yBAAyB,cAAc,EAAE,SAAS,yBAAyB,+DAA+D,wBAAwB,oCAAoC,wBAAwB,WAAW,QAAQ,QAAQ,SAAS,EAAE,cAAc,cAAc,uBAAuB,eAAe,wBAAwB,WAAW,IAAI,QAAQ,MAAM,mCAAmC;AACnf,WAAW,eAAe,gBAAgB,WAAW,IAAI,SAAS,OAAO,MAAM,YAAY,YAAY,6IAA6I,YAAY,WAAW,YAAY,SAAS,EAAE,uHAAuH,eAAe,sBAAsB,WAAW,IAAI,QAAQ,KAAK,OAAO,MAAM,YAAY;AACnf,UAAU,iBAAiB,WAAW,IAAI,YAAY,qKAAqK,4BAA4B,2BAA2B,WAAW,4CAA4C,+EAA+E,eAAe,6BAA6B,KAAK,WAAW,KAAK,WAAW,KAAK;AACze,eAAe,8BAA8B,SAAS,iBAAiB,QAAQ,QAAQ,SAAS,aAAa,UAAU,kEAAkE,MAAM,4EAA4E,MAAM,QAAQ,cAAc,MAAM,MAAM,MAAM,eAAe,eAAe,qBAAqB,mBAAmB,yBAAyB,eAAe,8BAA8B,OAAO;AAC5c,eAAe,YAAY,SAAS,EAAE,eAAe,sBAAsB,0EAA0E,0DAA0D,iCAAiC,wBAAwB,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,6CAA6C,WAAW,0BAA0B,YAAY,YAAY,iBAAiB,OAAO;AACrd,+FAA+F,aAAa,qBAAqB,iBAAiB,qBAAqB,YAAY,uBAAuB,+BAA+B;AACzO,yBAAyB,KAAK,IAAI,qBAAqB,mBAAmB,mBAAmB,kDAAkD,SAAS,0BAA0B,IAAI,GAAG,mBAAmB,+BAA+B,KAAK,SAAS,mBAAmB,cAAc,SAAS,6BAA6B,cAAc,0BAA0B,KAAK,WAAW,MAAM,yBAAyB;AACvZ,cAAc,OAAO,uEAAuE,wCAAwC,SAAS,cAAc,aAAa,kBAAkB,gCAAgC,cAAc,sCAAsC,oBAAoB,KAAK,gCAAgC,IAAI,GAAG,mGAAmG,wCAAwC;AACzd,iBAAiB;AACjB,eAAe,qBAAqB,gCAAgC,wBAAwB,kCAAkC,aAAa,aAAa,aAAa,cAAc,SAAS,gBAAgB,eAAe,aAAa,SAAS,cAAc,mBAAmB,GAAG,uBAAuB,SAAS,OAAO,+IAA+I,gCAAgC;AAC3e,2BAA2B,0BAA0B,wIAAwI,yEAAyE,SAAS,uBAAuB,sBAAsB,+BAA+B,kBAAkB,cAAc,cAAc,sBAAsB;AAC/Z,eAAe,qBAAqB,gCAAgC,wBAAwB,+CAA+C,aAAa,eAAe,eAAe,4BAA4B,aAAa,+BAA+B,kBAAkB,oCAAoC,sBAAsB;AAC1U,eAAe,WAAW,+BAA+B,8BAA8B,WAAW,uEAAuE,+BAA+B,0BAA0B,qBAAqB,GAAG,2CAA2C,gBAAgB,aAAa,gBAAgB,oIAAoI;AACtd,cAAc,0BAA0B,qBAAqB,WAAW,eAAe,mDAAmD,qBAAqB,WAAW,oBAAoB,aAAa,aAAa,sBAAsB,YAAY,2BAA2B,YAAY,QAAQ,eAAe,8BAA8B,iBAAiB,qBAAqB,iBAAiB,qBAAqB,iBAAiB;AACnb,iBAAiB,sDAAsD,SAAS,4DAA4D,gBAAgB,mBAAmB,0CAA0C,mCAAmC,eAAe,iBAAiB,yCAAyC,SAAS,iBAAiB,WAAW,oBAAoB,sBAAsB,8CAA8C,sBAAsB;AACxd,iBAAiB,WAAW,oBAAoB,sBAAsB,8CAA8C,MAAM,sBAAsB,SAAS,mBAAmB,WAAW,wBAAwB,MAAM,EAAE,wBAAwB,kBAAkB,8BAA8B,IAAI,UAAU,QAAQ,eAAe;AACpU,mBAAmB,yBAAyB,YAAY,GAAG,wFAAwF,gBAAgB,2CAA2C,YAAY,cAAc,wEAAwE,KAAK,kGAAkG,mCAAmC,iBAAiB,eAAe,kBAAkB,UAAU,SAAS;AAC/f;AACA,QAAQ,2MAA2M,KAAK,6FAA6F,0CAA0C,mCAAmC,+BAA+B,mBAAmB,uBAAuB,WAAW,oBAAoB,MAAM;AAChf,GAAG,SAAS,4BAA4B,WAAW,oBAAoB,8BAA8B,WAAW,sEAAsE,+BAA+B,0BAA0B,oBAAoB,WAAW,GAAG,WAAW,yBAAyB,6EAA6E,0BAA0B,cAAc,kBAAkB,8BAA8B,IAAI,KAAK,QAAQ;AAC3e,GAAG,QAAQ,SAAS,2BAA2B,oBAAoB,OAAO,uCAAuC,KAAK,0JAA0J,cAAc,iEAAiE,2BAA2B,cAAc,kBAAkB,8BAA8B,IAAI,KAAK,QAAQ,eAAe,QAAQ,SAAS,2BAA2B;AACpgB,cAAc,OAAO,uCAAuC,KAAK,0JAA0J,cAAc,iEAAiE,2BAA2B,cAAc,kBAAkB,8BAA8B,IAAI,KAAK,QAAQ,eAAe,QAAQ,SAAS,2BAA2B,oBAAoB,OAAO;AAC1e,gBAAgB,uBAAuB,iBAAiB,wBAAwB,wBAAwB,iBAAiB,cAAc,WAAW,cAAc;AAChK,iBAAiB,cAAc,oBAAoB,oEAAoE,sCAAsC,0FAA0F,iBAAiB;AACxQ,eAAe,OAAO,SAAS,MAAM,QAAQ,aAAa,oBAAoB,iBAAiB,gCAAgC,MAAM,KAAK,OAAO,SAAS,KAAK,oBAAoB,iDAAiD,eAAe,eAAe,2CAA2C,YAAY;AACzT,eAAe,mBAAmB,6BAA6B,aAAa,sEAAsE,EAAE,6BAA6B,MAAM,eAAe,kBAAkB,6BAA6B,0BAA0B,GAAG,gBAAgB,QAAQ,EAAE,EAAE,mBAAmB,aAAa,WAAW,UAAU,qBAAqB,QAAQ,IAAI,iCAAiC,gBAAgB,SAAS,4CAA4C;AAC1e,cAAc,WAAW,MAAM,kCAAkC,oBAAoB,kDAAkD,uBAAuB,WAAW,YAAY,QAAQ,kBAAkB,0HAA0H,eAAe,WAAW;AACnW,yBAAyB,aAAa,aAAa,8IAA8I,kCAAkC,YAAY,WAAW,iBAAiB,UAAU,+FAA+F,eAAe,UAAU,YAAY,WAAW;AACpa,yBAAyB,+HAA+H,iBAAiB,YAAY,4DAA4D,uBAAuB,wBAAwB,UAAU,QAAQ,kBAAkB,0HAA0H,eAAe,WAAW;AACxd,uBAAuB,SAAS,SAAS,MAAM,UAAU,QAAQ,8GAA8G,kBAAkB,oCAAoC,UAAU,gCAAgC,sEAAsE,wGAAwG;AAC7b,6EAA6E,MAAM,sBAAsB,UAAU,YAAY,kBAAkB;AACjJ,oPAAoP;AACpP;AACA;AACA,wNAAwN;AACxN,yBAAyB,QAAQ,2BAA2B,yCAAyC,cAAc,aAAa,wEAAwE,eAAe,6EAA6E,wBAAwB,cAAc,eAAe,eAAe,kBAAkB,mGAAmG;AAC7d,QAAQ;AACR,mBAAmB,iDAAiD,4EAA4E,2HAA2H,SAAS,aAAa,2BAA2B,MAAM,aAAa,oBAAoB,WAAW,+EAA+E,SAAS,wBAAwB,iBAAiB;AAC/e,EAAE,YAAY,mBAAmB,UAAU,SAAS,aAAa,qBAAqB,8BAA8B,2BAA2B,UAAU,YAAY,MAAM,aAAa,uBAAuB,WAAW,8FAA8F,SAAS,wBAAwB,UAAU,WAAW,YAAY,wBAAwB,mBAAmB,UAAU,SAAS,6BAA6B,qBAAqB;AAC1e,EAAE,UAAU,MAAM,aAAa,oBAAoB,WAAW,UAAU,uBAAuB,+EAA+E,SAAS,wBAAwB,iBAAiB,WAAW,YAAY,eAAe,wBAAwB,mBAAmB,UAAU,SAAS,qBAAqB;AACzV,iBAAiB,yCAAyC,kBAAkB,mDAAmD,eAAe,yBAAyB,sBAAsB,0BAA0B,yGAAyG;AAChU,mBAAmB,8CAA8C,oBAAoB,YAAY,qCAAqC,KAAK,kDAAkD,SAAS,EAAE,8CAA8C,2BAA2B,wBAAwB,iBAAiB,UAAU,SAAS,iBAAiB,KAAK,iBAAiB,EAAE,yCAAyC,WAAW,0BAA0B,YAAY,KAAK,OAAO;AAC5d,KAAK,eAAe,0BAA0B,WAAW,SAAS,yDAAyD,IAAI,+DAA+D,4BAA4B,MAAM,wBAAwB,UAAU,iBAAiB,SAAS,EAAE,cAAc,2BAA2B,UAAU,MAAM,YAAY,YAAY,IAAI,IAAI,+BAA+B,MAAM,uDAAuD,MAAM,6BAA6B;AACtf,mBAAmB,0CAA0C,uBAAuB,aAAa,uCAAuC,mDAAmD,mBAAmB,UAAU,uBAAuB,UAAU,eAAe,iBAAiB,yDAAyD,eAAe,eAAe;AAChX,iBAAiB,kBAAkB,SAAS,EAAE,mDAAmD,mCAAmC,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,wCAAwC,WAAW,0BAA0B,cAAc;AAC1S,uBAAuB,sBAAsB,UAAU,kBAAkB,eAAe,OAAO,UAAU,uBAAuB,UAAU,KAAK,MAAM,wBAAwB,UAAU,KAAK,MAAM,oBAAoB,IAAI,aAAa,EAAE,MAAM,IAAI,aAAa,EAAE,KAAK,MAAM,0BAA0B,UAAU,KAAK,MAAM,qFAAqF,QAAQ,QAAQ,OAAO;AACxa,kDAAkD,WAAW,kMAAkM,YAAY,WAAW,sBAAsB,uEAAuE,kEAAkE,WAAW,sDAAsD;AACtf,WAAW,oCAAoC,4VAA4V,6BAA6B,IAAI;AAC5a,qBAAqB,yBAAyB,iBAAiB,mBAAmB,uBAAuB,eAAe,SAAS,uCAAuC,oCAAoC,MAAM,0BAA0B,eAAe,SAAS,uCAAuC;AAC3S,mBAAmB,qBAAqB,cAAc,uFAAuF,mCAAmC,8KAA8K,aAAa,iBAAiB,aAAa,+EAA+E,KAAK,OAAO;AACpe,YAAY,iBAAiB,UAAU,cAAc,SAAS,sBAAsB,QAAQ,QAAQ,UAAU,qDAAqD,MAAM,kCAAkC,YAAY,eAAe,MAAM,2BAA2B,MAAM,iDAAiD,YAAY,MAAM,yBAAyB,cAAc,MAAM,6BAA6B,MAAM,qBAAqB,eAAe,iBAAiB,MAAM;AAC3d,CAAC,0BAA0B,eAAe,iBAAiB,MAAM,wDAAwD,QAAQ,OAAO,uCAAuC,WAAW,iLAAiL,UAAU,mBAAmB,WAAW,MAAM,sBAAsB,MAAM,MAAM,kCAAkC;AAC7d,eAAe,IAAI,gBAAgB,2BAA2B,KAAK,mCAAmC,kBAAkB,4JAA4J,QAAQ,uHAAuH,QAAQ,QAAQ,cAAc,cAAc,UAAU,UAAU;AACnd,GAAG,IAAI,MAAM,kCAAkC,YAAY,eAAe,IAAI,MAAM,2BAA2B,IAAI,MAAM,iDAAiD,YAAY,IAAI,MAAM,yBAAyB,cAAc,IAAI,MAAM,6BAA6B,IAAI,MAAM,qBAAqB,UAAU,eAAe,iBAAiB,MAAM,wBAAwB,MAAM,+BAA+B,0BAA0B,MAAM,IAAI,aAAa,EAAE,eAAe,iBAAiB,MAAM;AACnf,GAAG,UAAU,eAAe,iBAAiB,MAAM,YAAY,QAAQ,QAAQ,mCAAmC,WAAW,kVAAkV,UAAU,mBAAmB;AAC5e,MAAM,sBAAsB,MAAM,MAAM,oEAAoE,MAAM,sCAAsC,UAAU,2FAA2F,MAAM,sDAAsD,0BAA0B,iCAAiC,YAAY,yDAAyD,KAAK;AAC9b,iBAAiB,eAAe,iKAAiK,YAAY,aAAa,kBAAkB,oDAAoD,WAAW,KAAK;AAChT,sCAAsC,wHAAwH,KAAK,uBAAuB,qCAAqC,uBAAuB,YAAY,8BAA8B,0BAA0B,oCAAoC,aAAa,kBAAkB,wBAAwB,uBAAuB,cAAc,0BAA0B,KAAK;AACzd,kBAAkB,SAAS,EAAE,QAAQ,aAAa,gBAAgB,SAAS,gBAAgB,2CAA2C,0CAA0C,0BAA0B,cAAc,SAAS;AACjO,6LAA6L,oFAAoF,cAAc,mBAAmB,eAAe,aAAa,KAAK,2BAA2B;AAC9W,6DAA6D,mIAAmI,+FAA+F,wNAAwN;AACvf,SAAS,eAAe,cAAc,uBAAuB,kBAAkB,8CAA8C,YAAY,KAAK,KAAK,cAAc,kCAAkC,uBAAuB,SAAS,yBAAyB,yEAAyE,yBAAyB,wBAAwB,0BAA0B,qBAAqB,iBAAiB,OAAO;AAC7b,+CAA+C,iBAAiB,yBAAyB,8BAA8B,qBAAqB,UAAU,gCAAgC,IAAI,iBAAiB,SAAS,sBAAsB,SAAS,GAAG,iBAAiB,IAAI,yEAAyE,SAAS,SAAS,eAAe,YAAY,yCAAyC,QAAQ,SAAS,QAAQ;AACnc,iBAAiB,cAAc,sCAAsC,qCAAqC,wCAAwC,cAAc,qEAAqE,wCAAwC,OAAO,2CAA2C;AAC/T,iBAAiB,gBAAgB,6BAA6B,aAAa,eAAe,GAAG,kBAAkB,gBAAgB,iBAAiB,gBAAgB,SAAS,cAAc,iBAAiB,gBAAgB,6BAA6B,aAAa,eAAe,GAAG,kBAAkB,eAAe,cAAc,SAAS;AAC5U,mBAAmB,cAAc,uCAAuC,OAAO,qBAAqB,mDAAmD,KAAK,wEAAwE,8EAA8E,gBAAgB,oBAAoB,OAAO,uBAAuB,aAAa,OAAO,sCAAsC,2BAA2B,MAAM,2BAA2B,UAAU;AACpf,qBAAqB,+DAA+D,OAAO,cAAc,cAAc,eAAe,yHAAyH,OAAO,uCAAuC;AAC7S,mBAAmB,8BAA8B,cAAc,uDAAuD,wCAAwC,aAAa,wBAAwB,QAAQ,GAAG,gBAAgB,eAAe,QAAQ,IAAI,IAAI,SAAS,SAAS,SAAS,aAAa,EAAE,MAAM,aAAa,cAAc,oDAAoD,MAAM,aAAa,MAAM;AACrZ,eAAe,kBAAkB,cAAc,aAAa,qBAAqB,mBAAmB,oBAAoB,iBAAiB,mBAAmB,kBAAkB,oBAAoB,qBAAqB,iBAAiB,gBAAgB,eAAe;AACvQ,eAAe,GAAG,mBAAmB,SAAS,EAAE,UAAU,QAAQ,QAAQ,WAAW,qBAAqB,cAAc,cAAc,gBAAgB,MAAM,yBAAyB,KAAK,MAAM,yBAAyB,KAAK,MAAM,6BAA6B,4CAA4C,aAAa,EAAE,KAAK,iBAAiB,EAAE,kCAAkC,OAAO,QAAQ,WAAW,0BAA0B,gBAAgB,iCAAiC,EAAE;AAC7d,wCAAwC,gCAAgC,qBAAqB,cAAc,SAAS;AACpH,mBAAmB,2BAA2B,0QAA0Q,8DAA8D,SAAS;AAC/X,mBAAmB,2BAA2B,iFAAiF,8DAA8D,SAAS;AACtM,mBAAmB,sBAAsB,EAAE,OAAO,WAAW,QAAQ,EAAE,gCAAgC,cAAc,cAAc,YAAY,QAAQ,yBAAyB,KAAK,QAAQ,yBAAyB,KAAK,QAAQ,WAAW,KAAK,yBAAyB,2BAA2B,mEAAmE,KAAK,iBAAiB,KAAK,iBAAiB,EAAE,yCAAyC,WAAW,0BAA0B,YAAY;AAClf,wGAAwG,mBAAmB,mBAAmB,4BAA4B,KAAK,iBAAiB,UAAU,UAAU,kCAAkC,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,wCAAwC,WAAW,kBAAkB,0BAA0B;AACha,iBAAiB,cAAc,+CAA+C,OAAO,cAAc,yBAAyB,YAAY,mDAAmD,SAAS,oBAAoB,mBAAmB,aAAa,QAAQ,qDAAqD,QAAQ,UAAU,QAAQ,WAAW,MAAM,oBAAoB,6FAA6F,UAAU,qBAAqB;AAChf,wBAAwB,MAAM,sPAAsP,OAAO,iDAAiD,sCAAsC,OAAO,qBAAqB,8CAA8C,OAAO,eAAe,YAAY;AAC9d,8BAA8B,uBAAuB,EAAE,mRAAmR,6DAA6D,+EAA+E,kBAAkB,WAAW;AACnf,EAAE,SAAS,wBAAwB,iBAAiB,UAAU,SAAS,eAAe,KAAK,iBAAiB,EAAE,yCAAyC,WAAW,0BAA0B,YAAY,MAAM,OAAO,cAAc,OAAO,eAAe,qBAAqB,eAAe,oBAAoB,aAAa,mBAAmB,kBAAkB,iCAAiC,sBAAsB,wBAAwB,iCAAiC;AACnd,+CAA+C,mBAAmB,aAAa,QAAQ,WAAW,cAAc,cAAc,sBAAsB,iBAAiB,SAAS;AAC9K,mBAAmB,aAAa,QAAQ,sCAAsC,0BAA0B,cAAc,qBAAqB,QAAQ,aAAa,kBAAkB,0EAA0E,2EAA2E,cAAc,gCAAgC,6BAA6B,EAAE,EAAE;AACtZ,kSAAkS,cAAc;AAChT,mBAAmB,SAAS,+BAA+B,WAAW,iDAAiD,uBAAuB,2CAA2C,eAAe,qBAAqB,MAAM,wBAAwB,MAAM,gCAAgC,MAAM,YAAY,MAAM,6BAA6B,qBAAqB;AAC3W,iBAAiB,0CAA0C,UAAU,aAAa,WAAW,yEAAyE;AACtK,iBAAiB,yCAAyC,kBAAkB,mDAAmD,sBAAsB,qCAAqC,UAAU,SAAS,EAAE,cAAc,mDAAmD,6DAA6D,+BAA+B,cAAc,MAAM,WAAW,mDAAmD;AAC9b,eAAe,wBAAwB,kBAAkB,qBAAqB,qBAAqB,uBAAuB,0BAA0B,UAAU;AAC9J,cAAc,sHAAsH,KAAK,6BAA6B,0FAA0F,KAAK,WAAW,gHAAgH,aAAa,yBAAyB,6CAA6C,cAAc;AACje,EAAE,qBAAqB,2DAA2D,+BAA+B,EAAE;AACnH,iBAAiB,KAAK,qCAAqC,YAAY,UAAU,iBAAiB,uCAAuC,KAAK,sBAAsB,aAAa,QAAQ,MAAM,WAAW,OAAO,KAAK,MAAM,SAAS,QAAQ,SAAS,KAAK,IAAI,aAAa,4CAA4C,iGAAiG,oCAAoC,sBAAsB,MAAM,gBAAgB;AACze,uCAAuC,yCAAyC,OAAO,uBAAuB,gBAAgB,mBAAmB,QAAQ,OAAO,QAAQ,sBAAsB,iBAAiB,mBAAmB,MAAM,sCAAsC,MAAM,MAAM,MAAM,gBAAgB,sBAAsB,uCAAuC,yCAAyC,mBAAmB,QAAQ,MAAM,QAAQ,sBAAsB,iBAAiB;AACte,EAAE,MAAM,0OAA0O,SAAS,sCAAsC,MAAM,MAAM,MAAM,uCAAuC,KAAK,SAAS,wBAAwB,4FAA4F,SAAS,QAAQ;AAC7e,sBAAsB,OAAO,MAAM,MAAM,6BAA6B,KAAK,8CAA8C;AACzH,eAAe,wBAAwB,qBAAqB,uCAAuC,KAAK,sBAAsB,aAAa,QAAQ,MAAM,WAAW,OAAO,KAAK,MAAM,SAAS,QAAQ,SAAS,KAAK,IAAI,aAAa,4CAA4C,gCAAgC,mCAAmC,2BAA2B,OAAO,MAAM,KAAK,YAAY,cAAc,cAAc,SAAS,QAAQ,wBAAwB,QAAQ,KAAK,EAAE;AACle,iBAAiB,QAAQ,KAAK,IAAI,YAAY,QAAQ,iBAAiB,iBAAiB,QAAQ,MAAM,MAAM,IAAI,YAAY,QAAQ;AACpI,iBAAiB,oBAAoB,2BAA2B,sBAAsB,mCAAmC,2BAA2B,SAAS,EAAE,QAAQ,cAAc,kCAAkC,2BAA2B,MAAM,YAAY,KAAK,KAAK,MAAM,aAAa,MAAM,YAAY,MAAM,aAAa,MAAM,aAAa,MAAM,cAAc,WAAW,IAAI,qBAAqB,IAAI,KAAK,QAAQ,iBAAiB,QAAQ,KAAK;AAChc,iBAAiB,GAAG,IAAI,KAAK,cAAc,gCAAgC,SAAS,EAAE,cAAc,2BAA2B,SAAS,KAAK,WAAW,MAAM,qDAAqD,GAAG,2BAA2B,IAAI,kBAAkB,gCAAgC,8DAA8D,QAAQ,mBAAmB,kBAAkB;AAClZ,2BAA2B,4BAA4B,GAAG,MAAM,iBAAiB,sBAAsB,wCAAwC,KAAK,uBAAuB,yEAAyE,MAAM,oBAAoB,aAAa,cAAc,SAAS,gBAAgB,cAAc,mBAAmB,gBAAgB,mBAAmB,4CAA4C,KAAK,0BAA0B,QAAQ,QAAQ;AACje,QAAQ,SAAS,IAAI,kBAAkB,qGAAqG,cAAc,SAAS,0BAA0B,YAAY,kBAAkB,mBAAmB,QAAQ,WAAW,gBAAgB,yOAAyO;AAC1f,WAAW,UAAU,IAAI,GAAG,cAAc,WAAW,kBAAkB,mBAAmB,gBAAgB,QAAQ,QAAQ,WAAW,4BAA4B,0JAA0J,kBAAkB,mBAAmB,iBAAiB,SAAS,SAAS,WAAW,gBAAgB,QAAQ,UAAU,KAAK,SAAS,MAAM;AACpc,cAAc,iBAAiB,cAAc,qBAAqB,iBAAiB,kBAAkB,iCAAiC,eAAe,aAAa,cAAc,KAAK,SAAS,SAAS,cAAc,KAAK,gBAAgB,SAAS,eAAe,0BAA0B,+BAA+B,oBAAoB,gBAAgB;AAC/V,eAAe,IAAI,GAAG,kBAAkB,WAAW,2BAA2B,YAAY,qCAAqC,sBAAsB,SAAS,EAAE,+CAA+C,WAAW,WAAW,YAAY,wBAAwB,qBAAqB;AAC9R,wEAAwE,KAAK,QAAQ,uCAAuC,8DAA8D,YAAY,qBAAqB,IAAI,gBAAgB,eAAe,YAAY,eAAe,uBAAuB,wBAAwB,eAAe,eAAe,WAAW,yBAAyB;AAC1Y,iBAAiB,QAAQ,iBAAiB,uCAAuC,gDAAgD,wBAAwB,oBAAoB,2BAA2B,qCAAqC,oBAAoB,2BAA2B,sBAAsB,0BAA0B,YAAY,qBAAqB;AAC7W,KAAK,0CAA0C,4CAA4C,sBAAsB,kGAAkG,aAAa,QAAQ,MAAM,gBAAgB,MAAM,WAAW,UAAU,+BAA+B,2CAA2C,QAAQ,6CAA6C,uCAAuC,wBAAwB,eAAe;AACte,cAAc,gBAAgB,IAAI,sBAAsB,UAAU,OAAO,QAAQ,sCAAsC,QAAQ,EAAE,WAAW,EAAE,sCAAsC,sCAAsC,wCAAwC,iCAAiC,IAAI,IAAI,MAAM,EAAE,iBAAiB,uBAAuB,sBAAsB,kCAAkC,IAAI,eAAe,IAAI,uBAAuB,eAAe,YAAY,MAAM,eAAe;AACjf,KAAK,IAAI,2DAA2D,MAAM,IAAI,OAAO,KAAK,UAAU,gCAAgC,SAAS,eAAe,gBAAgB,IAAI,OAAO,YAAY,SAAS,EAAE,kBAAkB,yBAAyB,UAAU,kBAAkB,aAAa,YAAY,0DAA0D,eAAe,aAAa,gBAAgB,MAAM,aAAa,gBAAgB,kBAAkB,MAAM,6BAA6B,MAAM;AAClf,MAAM,kBAAkB,MAAM,yBAAyB,MAAM,2BAA2B,gBAAgB,UAAU,gCAAgC,SAAS,eAAe,gBAAgB,KAAK,OAAO,gBAAgB,mBAAmB,qEAAqE;AAC9S,mbAAmb,KAAK,QAAQ,eAAe,yBAAyB;AACxe,gBAAgB,EAAE,uCAAuC,QAAQ,WAAW,iEAAiE,QAAQ,WAAW,YAAY,IAAI,OAAO,QAAQ,SAAS,EAAE,mBAAmB,2BAA2B,WAAW,SAAS,aAAa,cAAc,mBAAmB,cAAc,YAAY,MAAM,aAAa,2CAA2C,gBAAgB,UAAU,gCAAgC,SAAS,eAAe,gBAAgB;AACpf,KAAK,KAAK,IAAI,iBAAiB,sBAAsB,aAAa,SAAS,sCAAsC,qBAAqB,iBAAiB,4CAA4C,0CAA0C,KAAK,iCAAiC,0BAA0B,KAAK,YAAY,cAAc,KAAK,SAAS,EAAE,kBAAkB,+BAA+B,yCAAyC,KAAK,YAAY,GAAG;AAC1c,cAAc,YAAY,kBAAkB,MAAM,iBAAiB,cAAc,sBAAsB,SAAS,QAAQ,uCAAuC,QAAQ,MAAM,4BAA4B,SAAS,EAAE,IAAI,QAAQ,uCAAuC,gDAAgD,SAAS,gCAAgC,QAAQ,eAAe,kBAAkB,IAAI,IAAI,KAAK;AACtZ,mBAAmB,UAAU,qBAAqB,QAAQ,mBAAmB,eAAe,iBAAiB,uBAAuB,wBAAwB,SAAS,EAAE,cAAc,UAAU,MAAM,mBAAmB,kBAAkB,0HAA0H,UAAU,qBAAqB,QAAQ,mBAAmB,eAAe,OAAO;AACpb,mBAAmB,kBAAkB,sBAAsB,2IAA2I,iBAAiB,kBAAkB,sBAAsB,IAAI,+BAA+B,UAAU,eAAe;AAC3T,mBAAmB,uBAAuB,aAAa,qBAAqB,wCAAwC,KAAK,QAAQ,MAAM,cAAc,aAAa,KAAK,MAAM,aAAa,kFAAkF,MAAM,wBAAwB,MAAM,uCAAuC,MAAM,gCAAgC,kBAAkB,sBAAsB,kBAAkB,MAAM,mCAAmC;AAChe,gCAAgC,iBAAiB,YAAY,+BAA+B,iBAAiB,MAAM,mCAAmC,yBAAyB,sBAAsB,gBAAgB,kBAAkB,yCAAyC,eAAe,kBAAkB,iBAAiB,OAAO,WAAW,mBAAmB,cAAc,gBAAgB,6DAA6D,iBAAiB,kBAAkB,QAAQ;AAC7e,WAAW,eAAe,qFAAqF,QAAQ,qBAAqB,mBAAmB,SAAS,SAAS,MAAM,UAAU,8DAA8D,MAAM,iCAAiC,mCAAmC,aAAa,cAAc,wBAAwB,YAAY,sBAAsB,qCAAqC,SAAS,WAAW,gBAAgB;AACve,sCAAsC,iBAAiB,MAAM,iCAAiC,YAAY,SAAS,cAAc,UAAU,UAAU,0BAA0B,QAAQ,0BAA0B,QAAQ,2BAA2B,QAAQ,wCAAwC,QAAQ,0BAA0B,SAAS,oFAAoF;AACna,aAAa,gBAAgB,0CAA0C,iBAAiB,kBAAkB,0BAA0B,QAAQ,eAAe,0BAA0B,0BAA0B,KAAK,kFAAkF,oCAAoC,EAAE,6CAA6C,qBAAqB,UAAU,SAAS;AACja,mLAAmL,mCAAmC,yBAAyB,kHAAkH,qFAAqF,8CAA8C;AACpe,qCAAqC,wDAAwD,WAAW,kBAAkB,iBAAiB,kBAAkB,UAAU,sBAAsB,sBAAsB,kBAAkB,oIAAoI,wCAAwC,YAAY,SAAS,0CAA0C,SAAS,EAAE,qBAAqB;AAChf,GAAG,UAAU,yBAAyB,SAAS,EAAE,0CAA0C,0CAA0C,yCAAyC,cAAc,mDAAmD,eAAe,yCAAyC,MAAM,UAAU,uDAAuD,uBAAuB,aAAa,SAAS,EAAE,UAAU,OAAO,MAAM,YAAY,aAAa,kBAAkB,IAAI,MAAM,WAAW;AACpf,EAAE,oBAAoB,UAAU,SAAS,sIAAsI,8EAA8E,iDAAiD;AAC9S,YAAY,yBAAyB,4BAA4B,oBAAoB,eAAe,gEAAgE,qCAAqC,2CAA2C,IAAI,kBAAkB,eAAe,IAAI,8DAA8D,YAAY,eAAe,IAAI,4BAA4B,YAAY,UAAU;AAC5a,qBAAqB,WAAW,WAAW,mFAAmF,aAAa,cAAc,oBAAoB,8EAA8E,YAAY,iBAAiB,sDAAsD,+CAA+C,oBAAoB,qBAAqB;AACta,eAAe,cAAc,iCAAiC,eAAe,0CAA0C,yBAAyB,aAAa,oBAAoB,oBAAoB;AACrM,iBAAiB,kBAAkB,4NAA4N,4CAA4C,kCAAkC,gBAAgB,gCAAgC,gCAAgC,4BAA4B,iBAAiB,8BAA8B;AACxe,qDAAqD,oBAAoB,gBAAgB,YAAY;AACrG,yBAAyB,QAAQ,IAAI,sCAAsC,gCAAgC,iBAAiB,oCAAoC,YAAY,KAAK,MAAM,YAAY,KAAK,MAAM,gFAAgF,8EAA8E,oEAAoE,4DAA4D;AAC5e,GAAG,QAAQ,YAAY,QAAQ,aAAa,QAAQ,aAAa,QAAQ,aAAa,OAAO,QAAQ,aAAa,QAAQ,2CAA2C,cAAc,gBAAgB,SAAS,mBAAmB,SAAS,qBAAqB,cAAc,mBAAmB,SAAS,mBAAmB,iBAAiB,mBAAmB;AAC9V,mBAAmB,gDAAgD,mBAAmB,aAAa,oFAAoF;AACvL,mBAAmB,WAAW,kBAAkB,qBAAqB,yCAAyC,8BAA8B,uBAAuB,sBAAsB,sCAAsC,eAAe,uBAAuB,yBAAyB;AAC9R,iBAAiB,2BAA2B,sBAAsB,yBAAyB,iBAAiB,iDAAiD,8BAA8B,oCAAoC,0CAA0C;AACzQ,iBAAiB,6CAA6C,2BAA2B,0LAA0L,iBAAiB,wBAAwB;AAC5T,qBAAqB,qCAAqC,YAAY,QAAQ,wBAAwB,GAAG,4CAA4C,QAAQ,GAAG,cAAc,6BAA6B,QAAQ,qBAAqB,wDAAwD,SAAS,WAAW,gBAAgB,qBAAqB,cAAc,aAAa,SAAS,YAAY,SAAS,IAAI,UAAU,gDAAgD,UAAU,WAAW,WAAW;AAChf,SAAS,yBAAyB,QAAQ,QAAQ,SAAS,eAAe,YAAY,wBAAwB,oBAAoB,gCAAgC,kCAAkC,iBAAiB,kBAAkB,8DAA8D,iBAAiB,QAAQ;AAC9T,mBAAmB,0BAA0B,wDAAwD,YAAY,cAAc,MAAM,gBAAgB,iDAAiD,qBAAqB,gCAAgC,oCAAoC,gCAAgC,2CAA2C,0BAA0B,WAAW;AAC/Y,eAAe,6HAA6H,iBAAiB,uHAAuH,gBAAgB,cAAc,kBAAkB,qBAAqB,WAAW;AACpW,uBAAuB,4BAA4B,MAAM,sBAAsB,0BAA0B,QAAQ,aAAa,YAAY,WAAW,YAAY,KAAK,gCAAgC,kBAAkB,0BAA0B,QAAQ,aAAa,YAAY,WAAW,cAAc,YAAY,EAAE,aAAa,mBAAmB,kEAAkE,OAAO;AACna,eAAe,eAAe,uBAAuB,QAAQ,UAAU,eAAe,+BAA+B,eAAe,eAAe,WAAW,eAAe,QAAQ;AACrL,mBAAmB,UAAU,qBAAqB,SAAS,8BAA8B,QAAQ,aAAa,gBAAgB,2EAA2E,QAAQ,WAAW,KAAK,WAAW,2BAA2B,YAAY,yBAAyB,MAAM,UAAU,MAAM,wBAAwB,MAAM,2DAA2D;AAC3Z,uBAAuB,QAAQ,KAAK,IAAI,mCAAmC,QAAQ,kBAAkB,cAAc,gCAAgC,iBAAiB,QAAQ,KAAK,IAAI,YAAY,QAAQ,kBAAkB,iBAAiB,kEAAkE,8BAA8B,sBAAsB,QAAQ,sCAAsC,SAAS,iBAAiB,WAAW;AACrb,aAAa,gCAAgC,cAAc,IAAI,yKAAyK,QAAQ,iCAAiC,qCAAqC,mBAAmB,qHAAqH,GAAG,GAAG;AACpc,gCAAgC,EAAE,8DAA8D,wBAAwB,gCAAgC,uBAAuB,2BAA2B,4BAA4B,eAAe,oDAAoD,oCAAoC,QAAQ,4BAA4B;AACjX,gCAAgC,uCAAuC,QAAQ,KAAK,IAAI,6BAA6B,QAAQ,WAAW,gCAAgC,8BAA8B,0BAA0B,+BAA+B,8BAA8B;AAC7R,2CAA2C,6BAA6B,4CAA4C,6BAA6B,2BAA2B,WAAW,EAAE,UAAU,mCAAmC,4CAA4C;AAClR,8DAA8D,8BAA8B,8DAA8D,uBAAuB;;;;;;;;ACnSjL;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACzFa;;AAEb,IAAI,IAAqC;AACzC,mBAAmB,mBAAO,CAAC,GAAmC;AAC9D,CAAC,MAAM,EAEN;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;AACb,oEAAoE,+BAA+B,gBAAgB,6BAA6B,QAAQ,OAAO,SAAS,0BAA0B,cAAc,gCAAgC,qBAAqB,cAAc,kDAAkD,gBAAgB,mBAAmB,aAAa,iBAAiB,aAAa,UAAU,+CAA+C,KAAK;AACjd,0CAA0C,iCAAiC,kCAAkC,2MAA2M,+KAA+K;AACve,oEAAoE,gBAAgB,KAAK,cAAc,gCAAgC,kBAAkB,6BAA6B,aAAa,kCAAkC,eAAe,4CAA4C,wKAAwK,mCAAmC;AAC3e,WAAW,aAAa,6BAA6B,MAAM,IAAI,0CAA0C,SAAS,8BAA8B,WAAW,cAAc,IAAI,+BAA+B,gBAAgB,eAAe,0BAA0B,KAAK,aAAa,KAAK,MAAM,gBAAgB,eAAe,UAAU,QAAQ,EAAE,qBAAqB,0CAA0C,cAAc,cAAc,OAAO;AACvb,cAAc,WAAW,eAAe,cAAc,UAAU,OAAO,yBAAyB,IAAI,EAAE,oCAAoC,qFAAqF,+CAA+C,cAAc,SAAS,YAAY,gBAAgB,8BAA8B,yBAAyB;AACxX,cAAc,eAAe,SAAS,EAAE,0BAA0B,gEAAgE,WAAW,QAAQ,cAAc,KAAK,KAAK,+BAA+B,KAAK,WAAW;AAC5N,gBAAgB,KAAK,cAAc,KAAK,QAAQ,IAAI,KAAK,WAAW,2CAA2C,EAAE,iBAAiB,aAAa,gBAAgB,kBAAkB,6BAA6B,yBAAyB,kDAAkD,KAAK,UAAU,OAAO,qBAAqB,KAAK,WAAW,6BAA6B,KAAK,SAAS,QAAQ;AACvY,cAAc,UAAU,gBAAgB,kBAAkB,yBAAyB,kBAAkB,oBAAoB,QAAQ,gCAAgC,qCAAqC,+BAA+B,kCAAkC,gCAAgC,wCAAwC,4CAA4C,iBAAiB,8CAA8C;AAC1b,oDAAoD,UAAU,iDAAiD,aAAa,kCAAkC,UAAU,6BAA6B,MAAM,YAAY,QAAQ,IAAI,IAAI,WAAW,QAAQ,MAAM,6CAA6C,gCAAgC,+CAA+C,UAAU,yCAAyC,YAAY,QAAQ,IAAI,IAAI,WAAW,QAAQ;AAC9d,kDAAkD,6BAA6B,kCAAkC,cAAc,iCAAiC,6CAA6C,gBAAgB,MAAM,GAAG,6EAA6E,iHAAiH;AACpa,wCAAwC,6BAA6B,KAAK,WAAW,6GAA6G,0CAA0C,QAAQ,kBAAkB,QAAQ,IAAI,IAAI,+BAA+B,QAAQ;;;;;;;ACpB7T,gBAAgB,mBAAO,CAAC,EAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;ACVA,iBAAiB,mBAAO,CAAC,EAAc;AACvC,eAAe,mBAAO,CAAC,GAAa;AACpC,eAAe,mBAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9CA,aAAa,mBAAO,CAAC,EAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,GAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACLA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACZA,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;ACpBA,cAAc,mBAAO,CAAC,GAAY;AAClC,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,oBAAoB,mBAAO,CAAC,GAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,eAAe,mBAAO,CAAC,EAAY;AACnC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3DA,+DAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;AC7BA,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,iBAAiB,mBAAO,CAAC,GAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,8BAA8B,mBAAO,CAAC,GAA4B;;AAElE;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,YAAY,mBAAO,CAAC,EAAU;AAC9B,kBAAkB,mBAAO,CAAC,EAAgB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACZA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA,gBAAgB,mBAAO,CAAC,EAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,UAAU,mBAAO,CAAC,EAAQ;AAC1B,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA,WAAW,mBAAO,CAAC,GAAS;AAC5B,gBAAgB,mBAAO,CAAC,EAAc;AACtC,UAAU,mBAAO,CAAC,EAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,cAAc,mBAAO,CAAC,GAAY;AAClC,cAAc,mBAAO,CAAC,GAAY;AAClC,cAAc,mBAAO,CAAC,GAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,mBAAmB,mBAAO,CAAC,EAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,YAAY,mBAAO,CAAC,EAAU;AAC9B,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,aAAa,mBAAO,CAAC,GAAW;AAChC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,EAAY;AACnC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,aAAa,mBAAO,CAAC,EAAW;AAChC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,SAAS,mBAAO,CAAC,EAAM;AACvB,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/GA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACLA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,GAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxFA,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,iBAAiB,mBAAO,CAAC,GAAe;AACxC,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,eAAe,mBAAO,CAAC,GAAa;AACpC,UAAU,mBAAO,CAAC,EAAQ;AAC1B,cAAc,mBAAO,CAAC,GAAY;AAClC,UAAU,mBAAO,CAAC,GAAQ;AAC1B,cAAc,mBAAO,CAAC,GAAY;AAClC,iBAAiB,mBAAO,CAAC,EAAe;AACxC,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzDA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACNA,yBAAyB,mBAAO,CAAC,GAAuB;AACxD,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,UAAU,mBAAO,CAAC,EAAO;AACzB,YAAY,mBAAO,CAAC,GAAS;AAC7B,YAAY,mBAAO,CAAC,EAAU;AAC9B,yBAAyB,mBAAO,CAAC,GAAuB;AACxD,8BAA8B,mBAAO,CAAC,GAA4B;AAClE,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA,oBAAoB,mBAAO,CAAC,GAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;AC1BA,cAAc,mBAAO,CAAC,GAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;ACzBA,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACxEA,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,aAAa,mBAAO,CAAC,EAAW;AAChC,eAAe,mBAAO,CAAC,EAAa;AACpC,cAAc,mBAAO,CAAC,EAAW;AACjC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,cAAc,mBAAO,CAAC,GAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAe;AACzC,cAAc,mBAAO,CAAC,EAAW;AACjC,cAAc,mBAAO,CAAC,EAAY;AAClC,eAAe,mBAAO,CAAC,EAAY;AACnC,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,uBAAuB,mBAAO,CAAC,GAAqB;AACpD,YAAY,mBAAO,CAAC,EAAU;AAC9B,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA,iC;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,uC;;;;;;AC9BA;AACA;AACA;;AAEA,kC;;;;;;ACJA,eAAe,mBAAO,CAAC,EAAa;AACpC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,cAAc,mBAAO,CAAC,GAAY;AAClC,iBAAiB,mBAAO,CAAC,GAAe;AACxC,gBAAgB,mBAAO,CAAC,EAAc;AACtC,sBAAsB,mBAAO,CAAC,GAAoB;AAClD,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,6BAA6B;AACxC,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,YAAY;AACZ,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,uBAAuB,mBAAO,CAAC,GAAqB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3CA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA;;AAEA,oC;;;;;;ACVA;AACA;AACA;;AAEA,kC;;;;;;ACJA;AACA;AACA;;AAEA,oC;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,UAAU,EAAE;AAChD;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;AC7DA,8CAAa;;AAEb,eAAe,mBAAO,CAAC,GAAe;AACtC,SAAS,mBAAO,CAAC,GAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD,GAAG;AACH,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,yBAAyB;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC/aa;;AAEb;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACrCa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrHa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mBAAmB,mBAAO,CAAC,GAAa;;AAExC;;AAEA,iBAAiB,mBAAO,CAAC,GAAc;;AAEvC,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACvDa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;ACtDa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/Fa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,GAAU;;AAE/B,cAAc,mBAAO,CAAC,GAAY;;AAElC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACl6Ba;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACnHa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC1Ea;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,C;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrtBA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,SAAS,mBAAO,CAAC,EAAM;AACvB,kBAAkB,mBAAO,CAAC,EAAe;AACzC,cAAc,mBAAO,CAAC,EAAY;AAClC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,eAAe,mBAAO,CAAC,GAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzCA;AACA;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+C;;;;;;ACfA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBa;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,6BAA6B;AACxC;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,eAAe,GAAG,OAAO;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AClDa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AC9Ba;;AAEb,WAAW,mBAAO,CAAC,GAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;AChIa;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;ACtbD,cAAc,mBAAO,CAAC,EAAY;AAClC,cAAc,mBAAO,CAAC,GAAY;AAClC,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA,kBAAkB,mBAAO,CAAC,GAAgB;AAC1C,eAAe,mBAAO,CAAC,EAAa;AACpC,cAAc,mBAAO,CAAC,EAAY;AAClC,eAAe,mBAAO,CAAC,EAAY;AACnC,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9CA,sBAAsB,mBAAO,CAAC,EAAoB;AAClD,SAAS,mBAAO,CAAC,EAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,qBAAqB,mBAAO,CAAC,GAAmB;AAChD,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,aAAa,mBAAO,CAAC,GAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,GAAc;AACtC,mBAAmB,mBAAO,CAAC,GAAiB;AAC5C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,gBAAgB,mBAAO,CAAC,GAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA,oBAAoB,mBAAO,CAAC,EAAkB;AAC9C,iBAAiB,mBAAO,CAAC,GAAe;AACxC,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA,eAAe,mBAAO,CAAC,EAAY;AACnC,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,mBAAmB,mBAAO,CAAC,GAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,eAAe,mBAAO,CAAC,EAAa;AACpC,oBAAoB,mBAAO,CAAC,GAAkB;AAC9C,wBAAwB,mBAAO,CAAC,GAAsB;AACtD,eAAe,mBAAO,CAAC,GAAa;AACpC,gBAAgB,mBAAO,CAAC,GAAc;AACtC,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvEA,kBAAkB,mBAAO,CAAC,GAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,oBAAoB,mBAAO,CAAC,GAAkB;AAC9C,gBAAgB,mBAAO,CAAC,GAAc;AACtC,oBAAoB,mBAAO,CAAC,GAAkB;;AAE9C;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA,UAAU,mBAAO,CAAC,GAAQ;AAC1B,WAAW,mBAAO,CAAC,GAAQ;AAC3B,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBa;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,eAAe,GAAG,OAAO;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AClDa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9Be;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;ACb8C;AAC/B;AACf,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,MAAM,eAAc;AACpB,KAAK;AACL;;AAEA;AACA,C;;AClBe;AACf;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;ACb0E;AAC3D;AACf;AACA,eAAe,6BAA4B;AAC3C;;AAEA;AACA;;AAEA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;AClBoE;AACsB;;AAE1F;AACA;AACA;AAC2S;AACzQ;AAClC;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;;AAEwB;AACxB;AACA;AACA;;AAEqB;AACrB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEyB;AACzB;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB;AACA;AACA,WAAW,aAAa;AACxB;AACA,YAAY,UAAU;AACtB;;AAEyB;AACzB;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,YAAY,YAAY;AACxB;;AAEsB;AACtB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAE0B;AAC1B;AACA;AACA;;AAEgB;AAChB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEuB;AACvB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEyB;AACzB;AACA;AACA;;AAEqB;AACrB;AACA;AACA;;AAE+B;AAC/B;AACA;AACA;;AAE2B;AAC3B;AACA;AACA;;AAEmB;AACnB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEkB;AAClB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;;AAEgB;AAChB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,YAAY,MAAM;AAClB;;AAEO;AACP,kFAAkF,aAAa;AAC/F;AACA;;AAEA;AACA,IAAI,2BAAQ;AACZ;AACA,gBAAgB,uCAAY;AAC5B;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP,qBAAqB,2BAAQ;AAC7B,QAAQ,oCAAQ;AAChB,aAAa,wCAAa;AAC1B;AACA,OAAO;AACP;;AAEA;AACA;AACA,gBAAgB,wBAAwB;;AAExC,WAAW,wCAAa,WAAW,aAAa;AAChD;AACA,KAAK;AACL,GAAG;AACH;AACA,iC;;;;;ACjNA;AACA;AACA;AACsF;AACtF;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;;AAEwB;AACxB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;;AAEuB;AACvB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;;AAEkB;AAClB;AACA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEkC;AAClC,0C;;ACrCA;AACA;AACA;AACqD;AACrD;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;;AAEO,IAAI,oBAAc;AACzB,MAAM,oCAAQ;AACd;AACA;;AAEA,MAAM,oCAAQ,aAAa,mCAAO;AAClC;AACA;;AAEA;AACA;AACA,iC;;ACtBA,wBAAwB,2EAA2E,oCAAoC,mBAAmB,GAAG,EAAE,OAAO,oCAAoC,8HAA8H,GAAG,EAAE,sBAAsB;;AAEpV;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,C;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACe;AACf,kCAAkC;AAClC;AACA,0C;;ACfA;AACA;AACA;AAC2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,4DAA4D,YAAY;AACxE;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,oCAAoC;AACpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP,SAAS,2BAA2B;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA,iC;;AC5GoE;AACsB;;AAE1F;AACA;AACA;AACwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,UAAU;AACtB;;AAEe;AACf;AACA,cAAc,wBAAwB;;AAEtC;AACA;AACA,SAAS,wCAAa,QAAQ,aAAa;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA,oC;;AChCoE;AACsB;AAClC;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACwF;AACxF;AACA;AACA;;AAE2F;AAC3F;AACA;AACA;;AAE0E;AACzC;;AAEjC,qBAAqB,wCAAa;AAClC;AACA;;AAEA,iBAAiB,qCAAU;AAC3B;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,QAAQ,MAAM;AACd;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA,MAAM,sCAAU;AAChB;AACA;;AAEA;AACA,iBAAiB,qCAAS;AAC1B;;AAEA,SAAS,qCAAS;AAClB;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;;;AAGO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,UAAU,OAAO;AACjB;AACA,aAAa,UAAU;;AAEvB;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS,6BAAU;AACnB,SAAS,2BAAQ;AACjB;;AAEA,SAAS,OAAO;AAChB;AACA,yBAAyB,wBAAwB;;AAEjD,mCAAmC,mCAAO,+BAA+B,aAAa,GAAG;AACzF;AACA;AACA;AACA,OAAO;AACP;;AAEA,UAAU,OAAO;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,6BAA6B;;AAE/C;AACA;;AAEA,SAAS,iBAAa;AACtB;AACA,8BAA8B,QAAQ;AACtC;AACA,GAAG;AACH,6EAA6E,QAAQ,GAAG;AACxF;AACA,GAAG,KAAK;AACR,SAAS,QAAQ;AACjB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,4BAA4B,EAAE;AAC5D;AACA,qBAAqB,mBAAmB,EAAE;AAC1C;AACA,uBAAuB,qBAAqB,EAAE;AAC9C,sBAAsB,oBAAoB,EAAE;AAC5C;AACA,wBAAwB,sBAAsB,EAAE;AAChD;AACA,cAAc,YAAY,EAAE;AAC5B;AACA,yBAAyB,uBAAuB,EAAE;AAClD;AACA,sBAAsB,oBAAoB,EAAE;AAC5C;AACA,8BAA8B,4BAA4B,EAAE;AAC5D;AACA,0BAA0B,wBAAwB,EAAE;AACpD;AACA,CAAC;;AAED;AACA;AACA;;AAEA,MAAM,iBAAa;AACnB;AACA;AACA;AACA,0CAA0C,QAAQ,GAAG;AACrD;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA,6EAA6E,wBAAK;;AAElF;AACA,4BAA4B,qCAAU;AACtC;AACA,oBAAoB,iCAAM;AAC1B,0BAA0B,iCAAM;AAChC,iBAAiB,iCAAM;AACvB,wBAAwB,sCAAW;AACnC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,iBAAa;AAC/C;AACA,KAAK;AACL,IAAI,oCAAS;AACb;AACA;AACA,KAAK;AACL,IAAI,8CAAmB;AACvB;;AAEA;AACA;AACA;AACA,0BAA0B,6BAA6B,yCAAyC;AAChG;;;AAGA;AACA,WAAW,wBAAK,0BAA0B,QAAQ,GAAG;AACrD;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,IAAI,UAAM;AACV,MAAM,eAAW;;AAEjB,MAAM,UAAM;AACZ,OAAO,UAAM;AACb;;AAEA,yBAAyB,eAAW;AACpC;;AAEA,2BAA2B,uCAAuC;AAClE;AACA;;AAEA,0BAA0B,uCAAuC;AACjE,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yGAAyG;;AAEzG,oDAAoD;;AAEpD;;AAEA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,OAAO;;;AAGP;AACA,KAAK;;;AAGL,8EAA8E;;AAE9E;AACA,MAAM,eAAW;AACjB;AACA;AACA,GAAG;;;AAGH,MAAM,eAAW;AACjB,2CAA2C,kBAAkB,UAAM;AACnE,GAAG;AACH,IAAI,UAAM;AACV;;AAEA,SAAS,UAAM;AACf;;AAEA,MAAM,SAAK;AACX,OAAO,eAAW,kBAAkB,eAAW;;AAE/C,OAAO,UAAM;AACb,IAAI,UAAM;AACV,uDAAuD,kBAAkB,UAAM;AAC/E;AACA;;AAEA;AACA,MAAM,eAAW,kBAAkB,eAAW;AAC9C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;AACA,sDAAsD;AACtD;;AAEA;AACA,uDAAuD;AACvD;;AAEA;AACA,8EAA8E;;AAE9E,+CAA+C,2DAA2D,0DAA0D;;AAEpK,0BAA0B;;AAE1B,gDAAgD,6DAA6D;AAC7G;AACA;;AAEA;AACA,iBAAiB,2BAA2B;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,MAAM,UAAM;AACZ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,iCAAM;AACzB,EAAE,oCAAS;AACX;AACA;AACA;AACA,KAAK,EAAE;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,QAAQ,GAAG;AAC1D;AACA,eAAe;AACf;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,IAAI,KAAC;;AAEL,MAAM,cAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,cAAc,KAAC;AACf;AACA;AACA;AACA;;;AAGA;AACA;AACA,2BAA2B;;AAE3B,iBAAiB,iBAAa;AAC9B;AACA;AACA;AACA,kBAAkB,6BAA6B;;AAE/C;AACA;AACA,sBAAsB,QAAQ,GAAG;AACjC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA,WAAW;AACX;AACA,SAAS;;AAET;AACA,2BAA2B,QAAQ,GAAG;AACtC,cAAc,QAAQ,GAAG;AACzB,SAAS;AACT,OAAO;AACP;AACA,KAAK;;;AAGL,8DAA8D;;AAE9D;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,2CAA2C;AAC3C,0CAA0C,QAAQ,GAAG;AACrD,wCAAwC,QAAQ,GAAG;AACnD,SAAS;AACT,OAAO;AACP;;;AAGA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,oBAAoB,6BAA6B;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;;;AAGV;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD;AACA,WAAW;AACX,SAAS,0CAA0C;AACnD,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,QAAQ,SAAK;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,6BAA6B;;AAE7C,6BAA6B;AAC7B;;AAEA;;AAEA;AACA,qBAAqB,qBAAqB;AAC1C;;AAEA,sBAAsB,QAAQ,GAAG,SAAS,iBAAa;;AAEvD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,GAAG,SAAS,iBAAa;;AAEvD;AACA,gBAAgB;;AAEhB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,iBAAiB,QAAQ,GAAG;AAC5B;AACA;AACA,+CAA+C;AAC/C;AACA,2CAA2C;AAC3C;AACA,mDAAmD;AACnD;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA,KAAK;;;AAGL,kBAAkB,QAAQ,GAAG;AAC7B,4BAA4B;;AAE5B,wCAAwC,mBAAmB,cAAc;;AAEzE;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,yEAAyE;;AAEzE;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA,2GAA2G,gGAAgG;AAC3M;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE;;AAEX;AACA;AACA;;AAEA,eAAe,QAAQ,GAAG;AAC1B,kBAAkB,QAAQ,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,iBAAiB,QAAQ,GAAG;AAC5B,oBAAoB,QAAQ,GAAG;AAC/B;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC,MAAM,GAAG,MAAM;AACrD,gEAAgE,MAAM;AACtE;;AAEA;AACA,kBAAkB,iCAAM;AACxB,eAAe,iCAAM;AACrB,6BAA6B;;AAE7B,mBAAmB,kCAAO;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,cAAU;AACjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA,6BAA6B;;AAE7B,cAAc,8CAAmB;AACjC;AACA;;AAEA;AACA;AACA;;AAEA,GAAG,GAAG;;AAEN,qBAAqB,kCAAO;AAC5B;AACA;AACA,GAAG,aAAa;;AAEhB,EAAE,oCAAS;AACX;AACA;AACA,KAAK;AACL,GAAG,EAAE;;AAEL,EAAE,oCAAS,mFAAmF;;AAE9F;AACA;AACA;;AAEA;AACA,4BAA4B,MAAM;AAClC,0CAA0C,MAAM;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,MAAM;AAC1C,kDAAkD,MAAM;AACxD;;AAEA;AACA,kBAAkB,iCAAM;AACxB;AACA;AACA,oBAAoB,iCAAM;;AAE1B;AACA;AACA;AACA,WAAW,QAAQ,GAAG;AACtB;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,+BAA+B;;;AAG/B,qBAAqB,kCAAO;AAC5B;AACA;AACA;AACA,WAAW,QAAQ,GAAG;AACtB;AACA;AACA,KAAK;AACL,GAAG,kCAAkC;;AAErC,EAAE,oCAAS,6DAA6D;;AAExE,EAAE,oCAAS;AACX;AACA;;AAEA;AACA,uDAAuD,MAAM;AAC7D,wEAAwE,MAAM;AAC9E;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,6BAA6B;;AAE1C;AACA,SAAS,QAAQ;AACjB;AACA;AACA,GAAG;AACH;;AAEA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,6BAA6B;;AAE7C;AACA,kBAAkB,iCAAM;AACxB,gBAAgB,iCAAM;AACtB;AACA;AACA;AACA,eAAe;AACf;AACA,iBAAiB;AACjB;AACA;AACA;AACA,GAAG;AACH,EAAE,8CAAmB;AACrB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,GAAG,GAAG;;AAEN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,cAAU,IAAI;;AAEhG;;AAEA,uBAAuB,QAAQ,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;;AAGb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;;AAEA,EAAE,oCAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,6BAA6B;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,QAAQ,GAAG;;AAE3B,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,QAAQ,GAAG;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;;AAEA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,eAAe,6BAA6B;;AAE5C,YAAY;;AAEZ,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH,SAAS,QAAQ,GAAG;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/D,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/E,6BAA6B,EAAE;AAC/B,6BAA6B,EAAE;;AAE/B;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACrC,CAAC;AACD;;;AAGA,6EAA6E;AAC7E;;AAEA,kCAAkC,EAAE,EAAE,IAAI,YAAY,EAAE,+BAA+B,IAAI,mBAAmB;;AAE9G,uCAAuC,8BAA8B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sGAAsG,QAAQ,GAAG;AACjH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,yBAAyB,IAAI,yBAAyB;AACrE;AACA;AACA,4GAA4G,eAAe,IAAI,eAAe,IAAI,eAAe,IAAI,GAAG;AACxK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,+JAA+J;;AAE/J;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;;AAEpD;AACA;AACA,gEAAgE;;AAEhE,6DAA6D;;AAE7D;AACA;AACA;AACA;AACA;AACA,8EAA8E;AAC9E,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEuL;;;;;;;;;;;;;;;;ACr7DvL;AAGA;AAEA;AAEA;AAEA,IAAMC,aAAa,GAAG,CAAE,kBAAF,EAAsB,gBAAtB,EAAwC,gBAAxC,CAAtB;IAEQzE,K,GAAOlC,EAAE,CAACmC,I,CAAVD,E;sBAQJlC,EAAE,CAACK,O;IALNuG,S,mBAAAA,S;IACAC,Q,mBAAAA,Q;IACAzE,a,mBAAAA,Q;IACAhC,c,mBAAAA,S;IACA0G,S,mBAAAA,S;;AAGD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAEjE,KAAF,EAAa;AAEtC,MAAKZ,KAAE,CAAE,SAAF,CAAF,KAAoBY,KAAzB,EAAiC;AAChC,WAAO6D,aAAa,CAAC,CAAD,CAApB;AACA;;AAED,MAAKzE,KAAE,CAAE,WAAF,CAAF,KAAsBY,KAA3B,EAAmC;AAClC,WAAO6D,aAAa,CAAC,CAAD,CAApB;AACA;;AAED,SAAOA,aAAa,CAAC,CAAD,CAApB;AACA,CAXD;;AAaA,IAAMK,oBAAe,GAAG,SAAlBA,eAAkB,CAAElE,KAAF,EAASmE,cAAT,EAA6B;AACpD,SAAOC,oBAAU,CAChB,0BADgB,EAEhB;AACC,wCAAoCD,cAAc,KAAKnE;AADxD,GAFgB,CAAjB;AAMA,CAPD;;AASA,IAAMqE,sBAAiB,GAAG,SAApBA,iBAAoB,CAAE/F,KAAF,EAAa;AAAA,MAGrCgG,KAHqC,GAOlChG,KAPkC,CAGrCgG,KAHqC;AAAA,MAIrCC,IAJqC,GAOlCjG,KAPkC,CAIrCiG,IAJqC;AAAA,MAKrCC,MALqC,GAOlClG,KAPkC,CAKrCkG,MALqC;AAAA,MAMrCC,YANqC,GAOlCnG,KAPkC,CAMrCmG,YANqC;;AAStC,MAAK,CAAEF,IAAI,CAACG,MAAZ,EAAqB;AACpB,WAAO,IAAP;AACA;;AAXqC,kBAaQX,QAAQ,CAAEQ,IAAI,CAAC,CAAD,CAAJ,CAAQjG,KAAR,CAAc0B,KAAhB,CAbhB;AAAA;AAAA,MAa9BmE,cAb8B;AAAA,MAadQ,iBAbc;;AActC,MAAMC,cAAc,GAAGL,IAAI,CAACpF,SAAL,CAAgB,UAAA0F,GAAG;AAAA,WAAIA,GAAG,CAACvG,KAAJ,CAAU0B,KAAV,KAAoBmE,cAAxB;AAAA,GAAnB,CAAvB;AACA,MAAMW,SAAS,GAAGP,IAAI,CAACK,cAAD,CAAtB;;AAfsC,mBAiBdG,SAAS,CAAC;AACjCC,eAAW,EAAEf,iBAAiB,CAAEE,cAAF;AADG,GAAD,CAjBK;AAAA,MAiB9Ba,WAjB8B,cAiB9BA,WAjB8B;;AAqBtClB,WAAS,CAAEW,YAAF,EAAgB,CAACN,cAAD,CAAhB,CAAT;AAEA,SACC,yCAAC,gBAAD,CAAU,GAAV;AAAc,aAAS,gCAAvB;AAA2D,SAAK,EAAG;AAAE,8CAAwCa;AAA1C;AAAnE,KACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC,oCAAf;AAAoD,WAAO,EAAGR,MAA9D;AAAuE,OAAG,EAAG;AAA7E,IADD,EAEC;AAAK,aAAS,EAAC,qCAAf;AAAqD,OAAG,EAAG;AAA3D,KAA4EF,KAA5E,CAFD,EAGC,yCAAC,IAAD,OAHD,CADD,EAOEC,IAAI,CAACG,MAAL,GAAc,CAAd,IACA;AAAK,aAAS,EAAE;AAAhB,KAEEH,IAAI,CAACU,GAAL,CAAU,UAAEJ,GAAF,EAAO/B,KAAP,EAAkB;AAC3B,QAAM9C,KAAK,GAAG6E,GAAG,CAACvG,KAAJ,CAAU0B,KAAxB;AACA,QAAMG,SAAS,GAAG+D,oBAAe,CAAElE,KAAF,EAASmE,cAAT,CAAjC;;AACA,QAAMe,OAAO,GAAG,SAAVA,OAAU,GAAM;AACrBP,uBAAiB,CAAE3E,KAAF,CAAjB;AACA,KAFD;;AAIA,WACC;AAAK,eAAS,EAAGG,SAAjB;AAA6B,aAAO,EAAG+E,OAAvC;AAAiD,SAAG,EAAGpC;AAAvD,OAAiE9C,KAAjE,CADD;AAGA,GAVD,CAFF,CARF,EAwBC,yCAAC,eAAD;AAAY,aAAS,EAAG8E;AAAxB,KAAyCxG,KAAzC,EAxBD,CADD;AA4BA,CAnDD;;IAqDM6G,e;;;;;AAEL,wBAAc;AAAA;;AAAA;;AACb,+BAAU9G,SAAV;AAEA,UAAK+G,cAAL,GAAsB,IAAtB;AACA,UAAKC,aAAL,GAAqBrB,SAAS,EAA9B;AAJa;AAKb;;;;wCAEmB;AAAA;;AACnB,WAAKoB,cAAL,GAAsB,IAAIE,cAAJ,CAAoB,UAAAC,OAAO,EAAI;AACpD,cAAI,CAACjH,KAAL,CAAWmG,YAAX;AACA,OAFqB,CAAtB;AAIA,WAAKW,cAAL,CAAoBI,OAApB,CAA6B,KAAKH,aAAL,CAAmBI,OAAhD;AACA;;;2CAEsB;AACtB,UAAK,KAAKL,cAAV,EAA2B;AAC1B,aAAKA,cAAL,CAAoBM,UAApB;AACA;AACD;;;6BAEQ;AAAA,UAEAZ,SAFA,GAEc,KAAKxG,KAFnB,CAEAwG,SAFA;AAIR,aACC;AAAK,iBAAS,EAAG,kCAAjB;AAAsD,WAAG,EAAG,KAAKO;AAAjE,SACG,CAAC,CAAEP,SAAH,IAAgBA,SAAS,CAACxG,KAAV,CAAgB4E,QADnC,CADD;AAKA;;;;EAhCuB5F,c;;;;;;;;;iCC3FrBJ,EAAE,CAACK,O;IAJNoI,M,8BAAAA,M;IACAC,e,8BAAAA,e;IACA7B,wB,8BAAAA,Q;IACA8B,W,8BAAAA,W;;AAGD,IAAMC,iCAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAAA,kBACL/B,wBAAQ,CAAE,EAAF,CADH;AAAA;AAAA,MACxBgC,KADwB;AAAA,MACjBC,QADiB;;AAAA,mBAEPjC,wBAAQ,CAAE,IAAF,CAFD;AAAA;AAAA,MAExBkC,IAFwB;AAAA,MAElBC,OAFkB;;AAG/B,MAAMC,QAAQ,GAAGR,MAAM,CAAE,IAAF,CAAvB;AAEA,MAAMD,UAAU,GAAGG,WAAW,CAAE,YAAM;AAAA,QAC9BJ,OAD8B,GACnBU,QADmB,CAC9BV,OAD8B;AAErCA,WAAO,IAAIA,OAAO,CAACC,UAAR,EAAX;AACA,GAH6B,EAG3B,EAH2B,CAA9B;AAKA,MAAMF,OAAO,GAAGK,WAAW,CAAE,YAAM;AAClCM,YAAQ,CAACV,OAAT,GAAmB,IAAIH,cAAJ,CAAoB;AAAA;AAAA,UAAGS,KAAH;;AAAA,aAAeC,QAAQ,CAAED,KAAF,CAAvB;AAAA,KAApB,CAAnB;AACAE,QAAI,IAAIE,QAAQ,CAACV,OAAT,CAAiBD,OAAjB,CAA0BS,IAA1B,CAAR;AACA,GAH0B,EAGxB,CAACA,IAAD,CAHwB,CAA3B;AAKAL,iBAAe,CAAE,YAAM;AACtBJ,WAAO;AACP,WAAO;AAAA,aAAME,UAAU,EAAhB;AAAA,KAAP;AACA,GAHc,EAGZ,CAACA,UAAD,EAAaF,OAAb,CAHY,CAAf;AAKA,SAAO,CAACU,OAAD,EAAUH,KAAV,CAAP;AACA,CArBD;;AAuBeD,qFAAf,E;;;;;;;;;;;;AC9BA;AAEA;AACA;wBASI5I,EAAE,CAACK,O;IANN6I,Q,qBAAAA,Q;IACAC,Y,qBAAAA,Y;IACAR,kB,qBAAAA,W;IACA/B,gB,qBAAAA,S;IACA6B,a,qBAAAA,M;IACA5B,e,qBAAAA,Q;;AAGD,IAAMuC,cAAO,GAAG,SAAVA,OAAU,CAAEtE,QAAF,EAAgB;AAE/B,MAAMkB,QAAQ,GAAGkD,QAAQ,CAACG,OAAT,CAAkBvE,QAAQ,CAACkB,QAA3B,CAAjB;AAEA,MAAMsD,WAAW,GAAGtD,QAAQ,CAACuD,MAAT,CAAiB,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACzI,IAAN,KAAe0I,iBAAnB;AAAA,GAAtB,CAApB;AACA,MAAMC,YAAY,GAAG1D,QAAQ,CAACuD,MAAT,CAAiB,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACzI,IAAN,KAAe4I,WAAnB;AAAA,GAAtB,CAArB;AACA,MAAMC,cAAc,GAAG5D,QAAQ,CAACuD,MAAT,CAAiB,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACzI,IAAN,KAAe8I,gBAAnB;AAAA,GAAtB,CAAvB;AACA,MAAMC,aAAa,GAAG9D,QAAQ,CAACuD,MAAT,CAAiB,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACzI,IAAN,KAAegJ,eAAnB;AAAA,GAAtB,CAAtB;;AAP+B,kBASDlD,eAAQ,CAAE,KAAF,CATP;AAAA;AAAA,MASvBmD,MATuB;AAAA,MASfC,SATe;;AAAA,mBAULpD,eAAQ,CAAE,KAAF,CAVH;AAAA;AAAA,MAUvBqD,IAVuB;AAAA,MAUjBC,OAViB;;AAAA,mBAYatD,eAAQ,CAAC,CAAD,CAZrB;AAAA;AAAA,MAYvBuD,aAZuB;AAAA,MAYRC,gBAZQ;;AAc/B,MAAMC,GAAG,GAAG7B,aAAM,CAAE,IAAF,CAAlB;;AAd+B,mBAeZ5B,eAAQ,CAAE;AAAA,WAAM,IAAI0D,OAAJ,EAAN;AAAA,GAAF,CAfI;AAAA;AAAA,MAevBC,MAfuB;;AAiB/B,MAAMC,IAAI,GAAG,SAAPA,IAAO,GAAM,CAAE,CAArB;;AACA,MAAMC,MAAM,GAAG,OAAO5F,QAAQ,CAAC4F,MAAhB,KAA2B,UAA3B,GAAwC5F,QAAQ,CAAC4F,MAAjD,GAA0DD,IAAzE;AACA,MAAME,OAAO,GAAG,OAAO7F,QAAQ,CAAC6F,OAAhB,KAA4B,UAA5B,GAAyC7F,QAAQ,CAAC6F,OAAlD,GAA4DF,IAA5E;;AAEA,MAAMG,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AACjC,WAAO,CAAC,CAAEN,GAAG,CAAC/B,OAAP,GAAiB+B,GAAG,CAAC/B,OAAJ,CAAYsC,YAA7B,GAA4C,CAAnD;AACA,GAFD;;AAIA,MAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AACnC,QAAMC,SAAS,GAAGP,MAAM,CAACQ,GAAP,CAAYtB,YAAY,CAACM,MAAD,CAAxB,CAAlB;AACA,WAAO,CAAC,CAAEe,SAAH,GAAeA,SAAS,CAACF,YAAzB,GAAwC,CAA/C;AACA,GAHD;;AAKA,MAAMtD,YAAY,GAAG,SAAfA,YAAe,GAAM;AAC1B,QAAM0D,gBAAgB,GAAGL,mBAAmB,EAA5C;AACA,QAAMM,iBAAiB,GAAGJ,qBAAqB,EAA/C;AAEAT,oBAAgB,CAAE,CAAC,CAAEH,IAAH,GAAUgB,iBAAV,GAA8BD,gBAAhC,CAAhB;AACA,GALD;;AA9B+B,mBAqCDpD,SAAS,CAAC;AACvCsD,aAAS,EAAEjB,IAAI,GAAG,wBAAH,GAA8B,qBADN;AAEvCkB,UAAM,EAAEhB,aAF+B;AAGvC;AACAiB,aAAS,EAAE,CAAEnB,IAAF,IAAU,UAAUF;AAJQ,GAAD,CArCR;AAAA,MAqCvBoB,MArCuB,cAqCvBA,MArCuB;AAAA,MAqCfD,SArCe,cAqCfA,SArCe;;AA4C/BvE,kBAAS,CAAE,YAAM;AAChBW,gBAAY;AACZ,GAFQ,EAEN,CAAE2C,IAAF,EAAQF,MAAR,CAFM,CAAT,CA5C+B,CAgD/B;;AACA,MAAIsB,YAAY,GAAG,CAAnB;AAEA,SACC,yCAAC,gBAAD,CAAU,GAAV;AACC,aAAS,sBADV;AAEC,SAAK,EAAG;AAAEF,YAAM,EAANA;AAAF;AAFT,KAGC,yCAAC,gBAAD,CAAU,GAAV;AACC,aAAS,4BADV;AAEC,SAAK,EAAG;AAAED,eAAS,EAATA;AAAF;AAFT,KAGC;AAAK,aAAS,6BAAd;AAA+C,OAAG,EAAGb;AAArD,KACGV,cADH,EAEGN,WAAW,CAACvB,GAAZ,CAAiB,UAAEwD,UAAF,EAAcC,eAAd,EAAmC;AAAA;;AACrD,QAAMC,OAAO,GAAGC,kBAAkB,CAAEH,UAAF,CAAlC;AACA,QAAMnE,KAAK,GAAGmE,UAAH,aAAGA,UAAH,4CAAGA,UAAU,CAAEnK,KAAf,sDAAG,kBAAmBgG,KAAjC;AACAkE,gBAAY,GAAGA,YAAY,GAAGG,OAAO,CAACjE,MAAtC;AAEA,QAAMmE,iBAAiB,GAAGF,OAAO,CAAC1D,GAAR,CAAa,UAAE6D,MAAF,EAAUhG,KAAV,EAAqB;AAAA;;AAC3D,UAAMiG,aAAa,GAAGP,YAAY,GAAGG,OAAO,CAACjE,MAAvB,GAAgC5B,KAAtD;AACA,UAAMkG,MAAM,GAAGC,MAAM,CAACC,SAAP,kBAAkBJ,MAAM,CAACxK,KAAzB,kDAAkB,cAAc0K,MAAhC,IAA2CF,MAAM,CAACxK,KAAP,CAAa0K,MAAxD,GAAiED,aAAhF;AAEA,yDACID,MADJ;AAECE,cAAM,EAANA;AAFD;AAIA,KARyB,CAA1B;;AAUA,QAAMG,cAAc,GAAG,kBAASN,iBAAT,EAA4B,UAAAC,MAAM;AAAA,aAAIA,MAAM,CAACxK,KAAP,CAAa8K,QAAb,IAAyB,CAA7B;AAAA,KAAlC,EAAkE,CAAC,MAAD,CAAlE,CAAvB;;AAEA,WACC;AAAK,eAAS,4BAAd;AAA8C,SAAG,wBAAmBV,eAAnB;AAAjD,OACGpE,KAAK,IAAI;AAAK,eAAS;AAAd,OAAsDA,KAAtD,CADZ,EAGE6E,cAAc,CAAClE,GAAf,CAAoB,gBAAqBoE,WAArB,EAAsC;AAAA,UAAlC/K,KAAkC,QAAlCA,KAAkC;AAAA,UAA3B0K,MAA2B,QAA3BA,MAA2B;AAEzD,aACC,yCAAC,aAAD,wBAAa1K,KAAb;AACC,WAAG,mBAAcoK,eAAd,cAAmCW,WAAnC,CADJ;AAEC,eAAO,EAAG,mBAAM;AACflC,mBAAS,CAAE6B,MAAF,CAAT;AACA3B,iBAAO,CAAE,IAAF,CAAP;AACAO,gBAAM;AACN;AANF,SADD;AASA,KAXD,CAHF,CADD;AAmBA,GApCC,CAFH,EAuCGZ,aAAa,CAAC/B,GAAd,CAAmB,UAAEqE,UAAF,EAAcxG,KAAd,EAAyB;AAAA,6BACPgD,eAAiB,EADV;AAAA;AAAA,QACrCyD,QADqC;AAAA,QACzBC,WADyB,0BACzBA,WADyB;;AAG7C1F,oBAAS,CAAEW,YAAF,EAAgB,CAAE+E,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAElB,MAAf,CAAhB,CAAT;AAEA,WACC;AAAK,SAAG,EAAGiB,QAAX;AAAsB,SAAG,oCAA+BzG,KAA/B;AAAzB,OACGwG,UADH,CADD;AAKA,GAVC,CAvCH,CAHD,EAuDE1C,YAAY,CAAC3B,GAAb,CAAkB,UAAEwE,WAAF,EAAe3G,KAAf,EAA0B;AAE3C,QAAM3C,SAAS,GAAGiE,oBAAU,CAC3B,2BAD2B,EAE3B;AACC,2CAAqCtB,KAAK,KAAKoE;AADhD,KAF2B,CAA5B;AAOA,WACC;AAAK,SAAG,yBAAoBpE,KAApB,CAAR;AAAuC,eAAS,EAAG3C,SAAnD;AAA+D,SAAG,EAAG,aAAAqH,KAAG;AAAA,eAAIA,KAAG,IAAIE,MAAM,CAACgC,GAAP,CAAYD,WAAZ,EAAyBjC,KAAzB,CAAX;AAAA;AAAxE,OACC,yCAAC,eAAD,wBAAsBiC,WAAW,CAACnL,KAAlC;AAA0C,cAAQ,EAAGwE,KAAK,KAAKoE,MAA/D;AAAwE,YAAM,EAAG,kBAAM;AACtFG,eAAO,CAAE,KAAF,CAAP;AACAQ,eAAO;AACP,OAHD;AAGI,kBAAY,EAAGpD;AAHnB,OADD,CADD;AASA,GAlBD,CAvDF,CAHD,CADD;AAkFA,CArID;;AAuIA,IAAMkF,eAAe,GAAG,SAAlBA,eAAkB,CAAErL,KAAF,EAAa;AAAA,MAC5BkG,MAD4B,GACOlG,KADP,CAC5BkG,MAD4B;AAAA,MACpBoF,QADoB,GACOtL,KADP,CACpBsL,QADoB;AAAA,MACVnF,YADU,GACOnG,KADP,CACVmG,YADU;AAGpC,SAAOoF,kBAAkB,CAAEvL,KAAK,CAAC4E,QAAR,EAAkB;AAC1CsB,UAAM,EAANA,MAD0C;AAE1CoF,YAAQ,EAARA,QAF0C;AAG1CnF,gBAAY,EAAZA;AAH0C,GAAlB,CAAzB;AAKA,CARD;;AAUA,IAAMoF,kBAAkB,GAAG,SAArBA,kBAAqB,CAAE3G,QAAF,EAAY5E,KAAZ,EAAuB;AAEjD,MAAK,OAAO4E,QAAP,KAAoB,WAAzB,EAAuC;AACtC,WAAOA,QAAP;AACA;;AAED,MAAKb,KAAK,CAACC,OAAN,CAAeY,QAAf,CAAL,EAAiC;AAChC,WAAOA,QAAQ,CAAC+B,GAAT,CAAc,UAAAyB,KAAK;AAAA,aAAIL,YAAY,CAAEK,KAAF,EAASpI,KAAT,CAAhB;AAAA,KAAnB,CAAP;AACA;;AAED,SAAO+H,YAAY,CAAEnD,QAAF,EAAY5E,KAAZ,CAAnB;AACA,CAXD;;AAaA,IAAMsK,kBAAkB,GAAG,SAArBA,kBAAqB,CAAEH,UAAF,EAAkB;AAAA;;AAE5C,MAAMvF,QAAQ,GAAGuF,UAAH,aAAGA,UAAH,6CAAGA,UAAU,CAAEnK,KAAf,uDAAG,mBAAmB4E,QAApC;;AAEA,MAAK,CAAEb,KAAK,CAACC,OAAN,CAAeY,QAAf,CAAP,EAAmC;AAClC,WAAO,EAAP;AACA;;AAED,SAAOA,QAAQ,CAACuD,MAAT,CAAiB,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACzI,IAAN,KAAe6L,aAAnB;AAAA,GAAtB,CAAP;AACA,CATD;;AAWA,IAAMnD,iBAAU,GAAG,SAAbA,UAAa,CAAErI,KAAF,EAAa;AAC/B,SACC;AAAK,aAAS,EAAG;AAAjB,KAAgDA,KAAK,CAAC4E,QAAtD,CADD;AAGA,CAJD;;AAMA,IAAM2D,WAAW,GAAG,SAAdA,WAAc,CAAEvI,KAAF,EAAa;AAChC,SAAOA,KAAK,CAAC4E,QAAb;AACA,CAFD;;AAIA,IAAM6D,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAEzI,KAAF,EAAa;AACrC,SAAOA,KAAK,CAAC4E,QAAb;AACA,CAFD;;AAIA,IAAM+D,eAAe,GAAG,SAAlBA,eAAkB,CAAE3I,KAAF,EAAa;AACpC,SAAOA,KAAK,CAAC4E,QAAb;AACA,CAFD;;AAIA,IAAM4G,aAAM,GAAG,SAATA,MAAS,CAAExL,KAAF,EAAa;AAAA,MACnBgG,KADmB,GACAhG,KADA,CACnBgG,KADmB;AAAA,MACZY,OADY,GACA5G,KADA,CACZ4G,OADY;AAG3B,SACC;AAAK,aAAS,EAAG,mBAAjB;AAAuC,WAAO,EAAGA;AAAjD,KAA6DZ,KAA7D,CADD;AAGA,CAND;;;;;;ACzMA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;IAEQlF,iB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACA2K,mB,GAAwB7M,EAAE,CAACyC,W,CAA3BoK,mB;IAGP3D,yB,GACGlJ,EAAE,CAACK,O,CADN6I,Q;;AAGD,IAAM4D,0CAAyB,GAAG,SAA5BA,yBAA4B,CAAE1L,KAAF,EAAa;AAAA,MAEtCqE,QAFsC,GAEzBrE,KAFyB,CAEtCqE,QAFsC;AAI9C,MAAMsH,cAAc,GAAGC,QAAQ,CAACC,aAAT,CAAwB,yCAAxB,CAAvB;AACA,MAAMC,eAAe,GAAG,CAAC,CAAEH,cAAH,IAAqBA,cAAc,CAACI,UAA5D;;AAEA,MAAK,CAAC,CAAED,eAAR,EAA0B;AACzBA,mBAAe,CAACE,KAAhB,CAAsBC,WAAtB,CAAmC,YAAnC,EAAiD,qBAAjD;AACAH,mBAAe,CAACE,KAAhB,CAAsBC,WAAtB,CAAmC,UAAnC,EAA+C,QAA/C;AACA;;AAED,MAAM3C,MAAM,GAAG,SAATA,MAAS,GAAM;AACpB,QAAK,CAAC,EAAEwC,eAAF,aAAEA,eAAF,uBAAEA,eAAe,CAAEE,KAAnB,CAAN,EAAiC;AAChCF,qBAAe,CAACE,KAAhB,CAAsBC,WAAtB,CAAmC,QAAnC,aAAkDN,cAAc,CAACO,YAAjE;AACAC,2BAAqB,CAAE,YAAM;AAC5BL,uBAAe,CAACE,KAAhB,CAAsBC,WAAtB,CAAmC,QAAnC,EAA6C,CAA7C;AACA,OAFoB,CAArB;AAGA;AACD,GAPD;;AASA,MAAM1C,OAAO,GAAG,SAAVA,OAAU,GAAM;AACrB,QAAK,CAAC,EAAEuC,eAAF,aAAEA,eAAF,uBAAEA,eAAe,CAAEE,KAAnB,CAAN,EAAiC;AAChCF,qBAAe,CAACM,gBAAhB,CAAkC,eAAlC,EAAmD,YAAM;AACxDN,uBAAe,CAACE,KAAhB,CAAsBK,cAAtB,CAAsC,QAAtC;AACA,OAFD,EAEG;AAAEC,YAAI,EAAE;AAAR,OAFH;AAGAR,qBAAe,CAACE,KAAhB,CAAsBC,WAAtB,CAAmC,QAAnC,aAAkDN,cAAc,CAACO,YAAjE;AACA;AACD,GAPD;;AASA,MAAMK,MAAM,GAAG,kBAASlI,QAAT,EAAmB,UAAAI,OAAO,EAAI;AAC5C,WAAO,CAAC,CAAEA,OAAO,CAACzE,KAAR,CAAcwM,KAAjB,GAAyB/H,OAAO,CAACzE,KAAR,CAAcwM,KAAvC,GAA+C,EAAtD;AACA,GAFc,CAAf;;AAIA,SACC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,cAAD;AAAS,UAAM,EAAGlD,MAAlB;AAA2B,WAAO,EAAGC;AAArC,KACC,yCAAC,gBAAD,QACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC;AAAf,KAA8CzI,iBAAE,CAAE,sBAAF,CAAhD,CADD,EAEC,yCAAC,IAAD,OAFD,CADD,CADD,EAQEtB,MAAM,CAACiN,IAAP,CAAaF,MAAb,EAAsB5F,GAAtB,CAA2B,UAAA+F,GAAG,EAAI;AACjC,QAAMrI,QAAQ,GAAGkI,MAAM,CAAEG,GAAF,CAAvB;AAEA,WACC,yCAAC,iBAAD;AAAY,WAAK,EAAGA,GAApB;AAA0B,SAAG,EAAGA;AAAhC,OACGrI,QAAQ,CAACsC,GAAT,CAAc,UAAElC,OAAF,EAAWD,KAAX,EAAsB;AAAA,2BACTC,OAAO,CAACzE,KADC;AAAA,UAC7B0B,KAD6B,kBAC7BA,KAD6B;AAAA,UACtBoJ,QADsB,kBACtBA,QADsB;AAGrC,aACC,yCAAC,aAAD;AACC,WAAG,EAAGtG,KADP;AAEC,aAAK,EAAG9C,KAFT;AAGC,gBAAQ,EAAGoJ;AAHZ,QADD;AAOA,KAVC,CADH,CADD;AAeA,GAlBD,CARF,EA6BEtL,MAAM,CAACiN,IAAP,CAAaF,MAAb,EAAsB5F,GAAtB,CAA2B,UAAA+F,GAAG,EAAI;AACjC,QAAMrI,QAAQ,GAAGkI,MAAM,CAAEG,GAAF,CAAvB;AAEA,WAAOrI,QAAQ,CAACsC,GAAT,CAAc,UAAElC,OAAF,EAAWD,KAAX,EAAsB;AAAA,4BACdC,OAAO,CAACzE,KADM;AAAA,UAClC4E,QADkC,mBAClCA,QADkC;AAAA,UACxBlD,KADwB,mBACxBA,KADwB;AAE1C,UAAMuE,IAAI,GAAG6B,yBAAQ,CAACG,OAAT,CAAkBrD,QAAlB,EAA6BuD,MAA7B,CAAqC,UAAAC,KAAK;AAAA,eAAIA,KAAK,CAACzI,IAAN,KAAegN,4BAAnB;AAAA,OAA1C,CAAb;;AACA,UAAMC,WAAW,GAAG,kBAAS3G,IAAT,EAAe,UAAAM,GAAG,EAAI;AACzC,eAAOA,GAAG,CAACvG,KAAJ,CAAU0B,KAAjB;AACA,OAFmB,CAApB;;AAIA,UAAMmL,YAAY,GAAGrN,MAAM,CAACiN,IAAP,CAAaG,WAAb,EAA2BjG,GAA3B,CAAgC,UAAA+F,GAAG,EAAI;AAC3D,YAAMF,KAAK,GAAGI,WAAW,CAACF,GAAD,CAAzB;AAEA,eAAO;AACN1M,eAAK,EAAE;AACN0B,iBAAK,EAAEgL,GADD;AAEN9H,oBAAQ,EAAE4H,KAAK,CAACM,MAAN,CAAc,UAAEC,WAAF,EAAexG,GAAf,EAAwB;AAC/C,qBAAOwG,WAAW,CAAC7I,MAAZ,CAAoB4D,yBAAQ,CAACG,OAAT,CAAkB1B,GAAG,CAACvG,KAAJ,CAAU4E,QAA5B,CAApB,CAAP;AACA,aAFS,EAEP,EAFO;AAFJ;AADD,SAAP;AAQA,OAXoB,CAArB;AAaA,aACC,yCAAC,WAAD;AAAa,WAAG,EAAGJ;AAAnB,SACC,yCAAC,sBAAD;AACC,aAAK,EAAGC,OAAO,CAACzE,KAAR,CAAc0B,KADvB;AAEC,YAAI,EAAGmL;AAFR,QADD,CADD;AAQA,KA5BM,CAAP;AA6BA,GAhCD,CA7BF,EA+DC,yCAAC,eAAD,QACC,yCAAC,iBAAD,OADD,CA/DD,CADD,CADD;AAuEA,CAzGD;;AA2GA,IAAMG,iCAAgB,GAAG,SAAnBA,gBAAmB,CAAEhN,KAAF,EAAa;AAErC,SACC,yCAAC,oBAAD,QACG,UAAEoE,KAAF,EAAa;AACd,QAAMC,QAAQ,GAAGF,oBAAoB,CAAEC,KAAF,CAArC;;AAEA,QAAK,CAAEC,QAAQ,CAAC+B,MAAhB,EAAyB;AACxB,aAAO,IAAP;AACA;;AAED,WAAO,yCAAC,0CAAD;AAA2B,cAAQ,EAAG/B;AAAtC,MAAP;AACA,GATF,CADD;AAaA,CAfD;;AAiBA,IAAMsI,4BAAW,GAAG,SAAdA,WAAc,CAAE3M,KAAF,EAAa;AAChC,SACC;AAAK,SAAK,EAAGA,KAAK,CAAC0B;AAAnB,KAA6B1B,KAAK,CAAC4E,QAAnC,CADD;AAGA,CAJD;;AAMA,IAAMqI,gCAAe,GAAG,SAAlBA,eAAkB,CAAEjN,KAAF,EAAa;AAAA,6BAEbyL,mBAAmB,EAFN;AAAA,MAE5ByB,UAF4B,wBAE5BA,UAF4B;;AAIpC,SACC,yCAAC,oBAAD,QACGA,UAAU,IAAI,gDAAUlN,KAAV,CADjB,CADD;AAKA,CATD;;AAWA,IAAMmN,sCAAqB,GAAG,SAAxBA,qBAAwB,CAAEnN,KAAF,EAAa;AAAA,8BAEnByL,mBAAmB,EAFA;AAAA,MAElCyB,UAFkC,yBAElCA,UAFkC;;AAI1C,SACC,yCAAC,iBAAD,QACGA,UAAU,IAAI,gDAAUlN,KAAV,CADjB,CADD;AAKA,CATD;;;;;;AChKA,IAAMoN,4BAAa,GAAG,SAAhBA,aAAgB,CAAEpN,KAAF,EAAa;AAElC,SACC;AAAK,aAAS;AAAd,KAEE,CAAC,CAAEA,KAAK,CAACgG,KAAT,IACA;AAAK,aAAS;AAAd,KAAwDhG,KAAK,CAACgG,KAA9D,CAHF,EAKGhG,KAAK,CAAC4E,QALT,CADD;AASA,CAXD;;AAaewI,+EAAf,E;;;ACbA;AACA;AACA;IAEQtM,wB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAEA2K,2C,GAAwB7M,EAAE,CAACyC,W,CAA3BoK,mB;4CAMJ7M,EAAE,CAACqC,U;IAHNoM,Y,yCAAAA,Y;IACAC,Y,yCAAAA,Y;IACAzI,sC,yCAAAA,c;AAGD,IAAM0I,2BAA2B,GAAG1I,sCAAc,CAAE,qBAAF,CAAlD;AACA,IAAM2I,uBAAuB,GAAGD,2BAA2B,CAACvI,IAA5D;AACA,IAAMyI,uBAAuB,GAAGF,2BAA2B,CAACrI,IAA5D;AAEA,IAAMwI,yBAAyB,GAAG7I,sCAAc,CAAE,mBAAF,CAAhD;AACA,IAAM8I,qBAAqB,GAAGD,yBAAyB,CAAC1I,IAAxD;AACA,IAAM4I,qBAAqB,GAAGF,yBAAyB,CAACxI,IAAxD;;AAEA,IAAM2I,6CAAqB,GAAG,SAAxBA,qBAAwB,CAAE7N,KAAF,EAAa;AAAA,0BAetCA,KAfsC,CAGzCT,UAHyC;AAAA,MAIxCuO,YAJwC,qBAIxCA,YAJwC;AAAA,MAKxCC,UALwC,qBAKxCA,UALwC;AAAA,MAMxCC,kBANwC,qBAMxCA,kBANwC;AAAA,MAQzC/N,aARyC,GAetCD,KAfsC,CAQzCC,aARyC;AAAA,8BAetCD,KAfsC,CASzCgD,QATyC,CAUxCiL,KAVwC;AAAA,MAWvCC,kBAXuC,yBAWvCA,kBAXuC;AAAA,MAYvCC,gBAZuC,yBAYvCA,gBAZuC;;AAiB1C,MAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,GAAM;AACxC,QAAM7N,UAAU,GAAG4N,gBAAgB,CAACtN,SAAjB,CAA4B,UAAAwN,MAAM;AAAA,aAAIA,MAAM,CAAC5M,KAAP,KAAiBsM,UAArB;AAAA,KAAlC,CAAnB;AACA,QAAMO,YAAY,GAAGJ,kBAAkB,CAACrN,SAAnB,CAA8B,UAAAwN,MAAM;AAAA,aAAIA,MAAM,CAAC5M,KAAP,KAAiBqM,YAArB;AAAA,KAApC,CAArB;AACA,WAAOvN,UAAU,GAAG,CAAb,GAAiB+N,YAAxB;AACA,GAJD;;AAMA,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAGxN,wBAAE,CAAE,gBAAF;AAA3B,KAEC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,wBAAE,CAAE,WAAF;AAAvB,KACC,yCAAC,YAAD;AACC,OAAG,EAAG,+BADP;AAEC,SAAK,EAAGsN,0BAA0B,EAFnC;AAGC,YAAQ,EAAG,kBAAAG,QAAQ,EAAI;AACtB,UAAMhO,UAAU,GAAGiO,IAAI,CAACC,KAAL,CAAYF,QAAQ,GAAG,CAAvB,CAAnB;AACA,UAAMD,YAAY,GAAGC,QAAQ,GAAG,CAAhC;AAEAtO,mBAAa,CAAE;AACd8N,kBAAU,EAAEI,gBAAgB,CAAE5N,UAAF,CAAhB,CAA+BkB,KAD7B;AAEdqM,oBAAY,EAAEI,kBAAkB,CAAEI,YAAF,CAAlB,CAAmC7M;AAFnC,OAAF,CAAb;AAIA,KAXF;AAYC,SAAK,EAAGX,wBAAE,CAAE,sBAAF,CAZX;AAaC,OAAG,EAAG,CAbP;AAcC,OAAG,EAAG;AAdP,IADD,CAFD,EAqBC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,wBAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,cAAD;AAAe,SAAK,EAAGA,wBAAE,CAAE,UAAF;AAAzB,KACC,yCAAC,YAAD;AACC,OAAG,EAAG,yBADP;AAEC,SAAK,EAAGA,wBAAE,CAAE,gBAAF,EAAoB,eAApB,CAFX;AAGC,SAAK,EAAGiN,UAHT;AAIC,YAAQ,EAAGA,UAJZ;AAKC,WAAO,EAAGI,gBALX;AAMC,YAAQ,EAAG,kBAAEO,cAAF;AAAA,aAAsBzO,aAAa,CAAE;AAAE8N,kBAAU,EAAEW;AAAd,OAAF,CAAnC;AAAA;AANZ,IADD,EASC,yCAAC,qBAAD,OATD,EAWC,yCAAC,YAAD;AACC,OAAG,EAAG,2BADP;AAEC,SAAK,EAAG5N,wBAAE,CAAE,uBAAF,EAA2B,eAA3B,CAFX;AAGC,SAAK,EAAGgN,YAHT;AAIC,YAAQ,EAAGA,YAJZ;AAKC,WAAO,EAAGI,kBALX;AAMC,YAAQ,EAAG,kBAAES,gBAAF;AAAA,aAAwB1O,aAAa,CAAE;AAAE6N,oBAAY,EAAEa;AAAhB,OAAF,CAArC;AAAA;AANZ,IAXD,EAmBC,yCAAC,uBAAD,OAnBD,CADD,CArBD,CADD;AAgDA,CAvED;;AAyEA,IAAMC,mDAA2B,GAAG,SAA9BA,2BAA8B,CAAE5O,KAAF,EAAa;AAAA,6BACzByL,2CAAmB,EADM;AAAA,MACxCyB,UADwC,wBACxCA,UADwC;;AAGhD,SACC,yCAAC,uBAAD,QACGA,UAAU,IAAIlN,KAAK,CAAC4E,QADvB,CADD;AAKA,CARD;;AAUA,IAAMiK,iDAAyB,GAAG,SAA5BA,yBAA4B,CAAE7O,KAAF,EAAa;AAAA,8BACvByL,2CAAmB,EADI;AAAA,MACtCyB,UADsC,yBACtCA,UADsC;;AAG9C,SACC,yCAAC,qBAAD,QACGA,UAAU,IAAIlN,KAAK,CAAC4E,QADvB,CADD;AAKA,CARD;;AAUA;AAEekK,yEAAY,CAAEjB,6CAAF,CAA3B,E;;;ACrHA;IAEQ/M,oB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAnC,8C,GAA+BC,EAAE,CAACC,O,CAAlCF,0B;IACAG,6B,GAAcF,EAAE,CAACG,K,CAAjBD,S;IACAkC,4B,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;AAER,IAAMO,iDAA6B,GAAG,CACrC,kBADqC,EAErC,6BAFqC,EAGrC,6BAHqC,CAAtC;AAMA,IAAMwN,yBAAyB,GAAGpQ,8CAA0B,CAAC,UAAAiE,iBAAiB,EAAI;AAEjF,SAAO,UAAE5C,KAAF,EAAa;AAEnB,QAAK,CAAEuB,iDAA6B,CAAClC,QAA9B,CAAwCW,KAAK,CAACV,IAA9C,CAAP,EAA8D;AAC7D,aAAO,yCAAC,iBAAD,EAAwBU,KAAxB,CAAP;AACA;;AAED,WACC,yCAAC,4BAAD,QACC,yCAAC,iBAAD,EAAwBA,KAAxB,CADD,EAEC,yCAAC,uBAAD,EAA4BA,KAA5B,CAFD,CADD;AAMA,GAZD;AAcA,CAhB2D,CAA5D;AAiBAlB,6BAAS,CAAE,kBAAF,EAAsB,wCAAtB,EAAgEiQ,yBAAhE,CAAT;;AAEA,SAASC,yBAAT,CAAoC5P,KAApC,EAA4C;AAE3C,MAAK,CAAEmC,iDAA6B,CAAClC,QAA9B,CAAwCD,KAAK,CAACE,IAA9C,CAAP,EAA8D;AAC7D,WAAOF,KAAP;AACA;;AAED,MAAK,OAAOA,KAAK,CAACG,UAAb,KAA4B,WAAjC,EAA+C;AAC9CH,SAAK,CAACG,UAAN,GAAmB,EAAnB;AACA;;AAEDH,OAAK,CAACG,UAAN,GAAmBC,MAAM,CAACC,MAAP,CAAeL,KAAK,CAACG,UAArB,EAAiC;AACnDwO,cAAU,EAAE;AACXpO,UAAI,EAAE,QADK;AAEXC,aAAO,EAAE;AAFE,KADuC;AAKnDkO,gBAAY,EAAE;AACbnO,UAAI,EAAE,QADO;AAEbC,aAAO,EAAER,KAAK,CAACE,IAAN,KAAe,kBAAf,GAAoC,UAApC,GAAiD;AAF7C,KALqC;AASnD0O,sBAAkB,EAAE;AACnBiB,YAAM,EAAE,QADW;AAEnBrP,aAAO,EAAE;AAFU;AAT+B,GAAjC,CAAnB;AAeA,SAAOR,KAAP;AACA;;AACDN,6BAAS,CAAE,0BAAF,EAA8B,0CAA9B,EAA0EkQ,yBAA1E,CAAT,C;;;;AC3DA;;;AAGA;AAEA;;;;IAGQlO,Q,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGPE,gB,GACGpC,EAAE,CAACK,O,CADN+B,Q;4BAOGpC,EAAE,CAACqC,U;IAHNiO,M,yBAAAA,M;IACAC,W,yBAAAA,W;IACA9B,oB,yBAAAA,Y;;AAGD,IAAM+B,uBAAe,GAAG,SAAlBA,eAAkB,CAAUpP,KAAV,EAAkB;AAAA,0BAUrCA,KAVqC,CAExCT,UAFwC;AAAA,MAGvC8P,cAHuC,qBAGvCA,cAHuC;AAAA,MAIvCC,oBAJuC,qBAIvCA,oBAJuC;AAAA,MAMxCrP,aANwC,GAUrCD,KAVqC,CAMxCC,aANwC;AAAA,MAQvCsP,qBARuC,GAUrCvP,KAVqC,CAOxCgD,QAPwC,CAQvCuM,qBARuC;AAYzC,SACC,yCAAC,gBAAD,QACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAO,aAAS,EAAC;AAAjB,KAAoDzO,QAAE,CAAE,iBAAF,EAAqB,eAArB,CAAtD,CADD,EAEC,yCAAC,WAAD,QACGyO,qBAAqB,CAAC5I,GAAtB,CAA2B,UAAE0H,MAAF;AAAA,WAC5B,yCAAC,MAAD;AACC,SAAG,EAAGA,MAAM,CAAC5M,KADd;AAEC,iBAAW,EAAG4M,MAAM,CAAC5M,KAAP,KAAiB4N,cAFhC;AAGC,eAAS,EAAGhB,MAAM,CAAC5M,KAAP,KAAiB4N,cAH9B;AAIC,aAAO,EAAG,mBAAM;AACfpP,qBAAa,CAAE;AAAEoP,wBAAc,EAAEhB,MAAM,CAAC5M;AAAzB,SAAF,CAAb;AACA;AANF,OAOG4M,MAAM,CAAC3M,KAPV,CAD4B;AAAA,GAA3B,CADH,CAFD,CADD,EAkBE,aAAa2N,cAAb,IACA,yCAAC,oBAAD;AACC,SAAK,EAAGvO,QAAE,CAAC,yBAAD,EAA4B,eAA5B,CADX;AAEC,SAAK,EAAGwO,oBAFT;AAGC,YAAQ,EAAG,kBAAEE,iBAAF;AAAA,aAAyBvP,aAAa,CAAE;AAAEqP,4BAAoB,EAAEE;AAAxB,OAAF,CAAtC;AAAA,KAHZ;AAIC,OAAG,EAAG,CAJP;AAKC,OAAG,EAAG;AALP,IAnBF,CADD;AA8BA,CA1CD;;AA4CeV,sEAAY,CAAEM,uBAAF,CAA3B,E;;;;AChEA;;;AAGA;AAEA;;;;IAGQtO,M,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGPE,c,GACGpC,EAAE,CAACK,O,CADN+B,Q;0BAOGpC,EAAE,CAACqC,U;IAHNiO,Y,uBAAAA,M;IACAC,iB,uBAAAA,W;IACA9B,kB,uBAAAA,Y;;AAGD,IAAMoC,mBAAa,GAAG,SAAhBA,aAAgB,CAAUzP,KAAV,EAAkB;AAAA,0BAUnCA,KAVmC,CAEtCT,UAFsC;AAAA,MAGrCmQ,YAHqC,qBAGrCA,YAHqC;AAAA,MAIrCC,kBAJqC,qBAIrCA,kBAJqC;AAAA,MAMtC1P,aANsC,GAUnCD,KAVmC,CAMtCC,aANsC;AAAA,MAQrC2P,mBARqC,GAUnC5P,KAVmC,CAOtCgD,QAPsC,CAQrC4M,mBARqC;AAYvC,SACC,yCAAC,cAAD,QACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAO,aAAS,EAAC;AAAjB,KAAoD9O,MAAE,CAAE,eAAF,EAAmB,eAAnB,CAAtD,CADD,EAEC,yCAAC,iBAAD;AAAa,SAAK,EAAC;AAAnB,KACG8O,mBAAmB,CAACjJ,GAApB,CAAyB,UAAE0H,MAAF;AAAA,WAC1B,yCAAC,YAAD;AACC,SAAG,EAAGA,MAAM,CAAC5M,KADd;AAEC,iBAAW,EAAG4M,MAAM,CAAC5M,KAAP,KAAiBiO,YAFhC;AAGC,eAAS,EAAGrB,MAAM,CAAC5M,KAAP,KAAiBiO,YAH9B;AAIC,aAAO,EAAG,mBAAM;AACfzP,qBAAa,CAAE;AAAEyP,sBAAY,EAAErB,MAAM,CAAC5M;AAAvB,SAAF,CAAb;AACA;AANF,OAOG4M,MAAM,CAAC3M,KAPV,CAD0B;AAAA,GAAzB,CADH,CAFD,CADD,EAkBE,aAAagO,YAAb,IACA,yCAAC,kBAAD;AACC,SAAK,EAAG5O,MAAE,CAAC,uBAAD,EAA0B,eAA1B,CADX;AAEC,SAAK,EAAG6O,kBAFT;AAGC,YAAQ,EAAG,kBAAEE,eAAF;AAAA,aAAuB5P,aAAa,CAAE;AAAE0P,0BAAkB,EAAEE;AAAtB,OAAF,CAApC;AAAA,KAHZ;AAIC,OAAG,EAAG,EAJP;AAKC,OAAG,EAAG,EALP;AAMC,QAAI,EAAG;AANR,IAnBF,CADD;AA+BA,CA3CD;;AA6Cef,oEAAY,CAAEW,mBAAF,CAA3B,E;;;;;ACjEA;;;AAGA;AACA;AAEA;AAEA;;;;IAGQ3O,a,GAAOlC,EAAE,CAACmC,I,CAAVD,E;;AAER,IAAMgP,wBAAW,GAAG,SAAdA,WAAc,CAAU9P,KAAV,EAAkB;AACrC,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAGc,aAAE,CAAE,QAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,aAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,oBAAD;AAAiB,OAAG,EAAG;AAAvB,KAAiDd,KAAjD,EADD,EAEC,yCAAC,kBAAD;AAAe,OAAG,EAAG;AAArB,KAA6CA,KAA7C,EAFD,CADD,CADD;AAQA,CATD;;AAWe8P,yEAAf,E;;;;ACxBA;;;AAGA;AAEA;;;;IAGQhP,e,GAAOlC,EAAE,CAACmC,I,CAAVD,E;mCAOJlC,EAAE,CAACqC,U;IAJNC,wB,gCAAAA,S;IACAmM,2B,gCAAAA,Y;IACAC,2B,gCAAAA,Y;IACAyC,a,gCAAAA,a;;AAGD,IAAMC,4BAAa,GAAG,SAAhBA,aAAgB,CAAUhQ,KAAV,EAAkB;AAAA,0BAanCA,KAbmC,CAEtCT,UAFsC;AAAA,MAIrC0Q,cAJqC,qBAIrCA,cAJqC;AAAA,MAKrCC,cALqC,qBAKrCA,cALqC;AAAA,MAMrCC,oBANqC,qBAMrCA,oBANqC;AAAA,MAOrCC,UAPqC,qBAOrCA,UAPqC;AAAA,MAStCnQ,aATsC,GAanCD,KAbmC,CAStCC,aATsC;AAAA,MAWrCoQ,eAXqC,GAanCrQ,KAbmC,CAUtCgD,QAVsC,CAWrCqN,eAXqC;AAevC,SACC,yCAAC,wBAAD;AAAW,SAAK,EAAGvP,eAAE,CAAE,UAAF,EAAc,eAAd,CAArB;AAAuD,eAAW,EAAG;AAArE,KACC,yCAAC,aAAD;AACC,SAAK,EAAGA,eAAE,CAAE,2BAAF,EAA+B,eAA/B,CADX;AAEC,WAAO,EAAGmP,cAFX;AAGC,YAAQ,EAAG;AAAA,aAAMhQ,aAAa,CAAE;AAAEgQ,sBAAc,EAAE,CAAEA;AAApB,OAAF,CAAnB;AAAA;AAHZ,IADD,EAMG,CAAC,CAAEA,cAAH,IACD,yCAAC,2BAAD;AACC,SAAK,EAAGnP,eAAE,CAAE,wBAAF,EAA4B,eAA5B,CADX;AAEC,YAAQ,EAAGoP,cAFZ;AAGC,YAAQ,EAAG,kBAAEI,kBAAF,EAA0B;AACpC,UAAKA,kBAAkB,KAAK,QAA5B,EAAuC;AACtCrQ,qBAAa,CAAE;AACdiQ,wBAAc,EAAEI;AADF,SAAF,CAAb;AAGA,OAJD,MAIO;AACNrQ,qBAAa,CAAE;AACdiQ,wBAAc,EAAEI,kBADF;AAEdH,8BAAoB,EAAEI,QAAQ,CAAED,kBAAF,EAAsB,EAAtB;AAFhB,SAAF,CAAb;AAIA;AACD,KAdF;AAeC,WAAO,EAAGD,eAfX;AAgBC,QAAI,EAAGvP,eAAE,CAAE,8CAAF,EAAkD,eAAlD;AAhBV,IAPF,EA0BG,CAAC,CAAEmP,cAAH,IAAqB,aAAaC,cAAlC,IACD,yCAAC,2BAAD;AACC,SAAK,EAAGC,oBADT;AAEC,YAAQ,EAAG,kBAAEG,kBAAF;AAAA,aAA0BrQ,aAAa,CAAE;AAAEkQ,4BAAoB,EAAEG;AAAxB,OAAF,CAAvC;AAAA,KAFZ;AAGC,OAAG,EAAG,EAHP;AAIC,OAAG,EAAG,GAJP;AAKC,QAAI,EAAG,EALR;AAMC,QAAI,EAAGxP,eAAE,CAAE,2HAAF,EAA+H,eAA/H;AANV,IA3BF,CADD;AAsCA,CArDD;;AAuDegO,gEAAY,CAAEkB,4BAAF,CAA3B,E;;;ACxEA;IAEQlP,0B,GAAOlC,EAAE,CAACmC,I,CAAVD,E;8CAKJlC,EAAE,CAACqC,U;IAFNC,mC,2CAAAA,S;IACA6O,uC,2CAAAA,a;;AAGD,SAASS,uBAAT,CAAkCxQ,KAAlC,EAA0C;AAAA,MAEjCT,UAFiC,GAEHS,KAFG,CAEjCT,UAFiC;AAAA,MAErBU,aAFqB,GAEHD,KAFG,CAErBC,aAFqB;AAAA,MAGjCwQ,kBAHiC,GAGVlR,UAHU,CAGjCkR,kBAHiC;AAKzC,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAG3P,0BAAE,CAAE,YAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,0BAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,uCAAD;AACC,OAAG,EAAG,qBADP;AAEC,SAAK,EAAGA,0BAAE,CAAE,4BAAF,EAAgC,eAAhC,CAFX;AAGC,WAAO,EAAG2P,kBAHX;AAIC,YAAQ,EAAG,kBAAAA,kBAAkB,EAAI;AAAExQ,mBAAa,CAAE;AAAEwQ,0BAAkB,EAAlBA;AAAF,OAAF,CAAb;AAAyC;AAJ7E,IADD,CADD,CADD;AAYA;;AAEcD,qFAAf,E;;;;;;;;;;;;AC5BA;AAEA,IAAME,aAAa,GAAG,QAAtB;;IAEMC,oC;AAEL,yCAAc;AAAA;;AAAA;;AACb,SAAKC,aAAL,GAAqB,KAArB;AACA,SAAKC,MAAL,GAAc,EAAd;AAEA,QAAMC,MAAM,cAAGC,MAAH,+DAAG,QAAQC,OAAX,6EAAG,gBAAiBC,WAApB,0DAAG,sBAA8BC,cAA7C;;AAEA,QAAK,CAAC,CAAEJ,MAAR,EAAiB;AAChB,WAAKK,GAAL,GAAW,IAAIC,kBAAJ,CAAc;AAAEC,iBAAS,EAAEP;AAAb,OAAd,CAAX;AACA,KAFD,MAEO;AACN,WAAKF,aAAL,GAAqB,IAArB;AACA;AACD;;;;4BAEO;AAAA;;AACP,UAAMU,SAAS,GAAG,KAAKA,SAAL,CAAeC,IAAf,CAAqB,IAArB,CAAlB;AAEA,aAAO,KAAKJ,GAAL,CAASK,WAAT,CAAqBC,mBAArB,CAA0Cf,aAA1C,EACSgB,IADT,CACeC,kBADf,EAESD,IAFT,CAEe,UAAAE,MAAM,EAAI;AACf,aAAI,CAACf,MAAL,GAAce,MAAM,CAACjL,GAAP,CAAY2K,SAAZ,CAAd;AACA,eAAO,KAAI,CAACT,MAAZ;AACD,OALT,EAMSgB,OANT,CAMkB,YAAM;AACX,aAAI,CAACjB,aAAL,GAAqB,IAArB;AACJ,OART,CAAP;AASA;;;0BAEK;AACL,UAAK,KAAKA,aAAV,EAA0B;AACzB,eAAO,KAAKC,MAAZ;AACA;;AAED,aAAO,KAAKiB,KAAL,EAAP;AACA;;;8BAEUC,K,EAAQ;AAAA;;AAClB,aAAO;AACNC,UAAE,EAAED,KAAK,CAACC,EADJ;AAENC,WAAG,EAAEF,KAAK,CAACG,IAAN,CAAWC,IAFV;AAGNxS,YAAI,EAAE,OAHA;AAINyS,aAAK,EAAEL,KAAK,CAACK,KAJP;AAKNpI,cAAM,EAAE+H,KAAK,CAAC/H,MALR;AAMNqI,aAAK,EAAE;AACNF,cAAI,EAAE;AACLF,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWC;AADX,WADA;AAING,eAAK,EAAE;AACNL,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWK;AADV,WAJD;AAONC,gBAAM,EAAE;AACPP,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWO;AADT,WAPF;AAUNC,mBAAS,EAAE;AACVT,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWS;AADN,WAVL;AAaNC,yBAAe,EAAE;AAChBX,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWC;AADA,WAbX;AAgBNU,0BAAgB,EAAE;AACjBZ,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWK;AADC,WAhBZ;AAmBNO,2BAAiB,EAAE;AAClBb,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWO;AADE,WAnBb;AAsBNM,yBAAe,EAAE;AAChBd,eAAG,EAAEF,KAAK,CAACG,IAAN,CAAWS;AADA;AAtBX,SAND;AAgCN3M,aAAK,EAAE+L,KAAK,CAACiB,WAhCP;AAiCNC,eAAO,kCAA2BlB,KAAK,CAACmB,IAAN,CAAWC,KAAX,CAAiBC,IAA5C,gBAAuDrB,KAAK,CAACmB,IAAN,CAAW5T,IAAlE,8DAjCD;AAkCN+T,gBAAQ,EAAE,oBAAM;AACf,gBAAI,CAAClC,GAAL,CAASS,MAAT,CAAgB0B,aAAhB,CAA+BvB,KAA/B;AACA;AApCK,OAAP;AAsCA;;;;;;AAGF,IAAMwB,iBAAQ,GAAG,IAAI5C,oCAAJ,EAAjB;AACA,IAAM6C,oBAAoB,GAAGD,iBAAQ,CAAC3J,GAAT,CAAa2H,IAAb,CAAmBgC,iBAAnB,CAA7B;;;;ACpFA;AAEA;AAEO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAEC,GAAF,EAAOC,GAAP,EAAgB;AAC/C,MAAMC,MAAM,GAAGpF,IAAI,CAACmF,GAAL,CAAS,CAAT,EAAYnF,IAAI,CAACoF,MAAL,KAAgBjJ,MAAM,CAACkJ,SAAnC,CAAf;AACA,SAAOrF,IAAI,CAACC,KAAL,CAAYmF,MAAM,IAAID,GAAG,GAAGD,GAAN,GAAY,CAAhB,CAAN,GAA2BA,GAAvC,CAAP;AACA,CAHM;AAKA,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAEC,GAAF,EAAOC,CAAP,EAAc;AAEpD,MAAIC,MAAM,GAAG,IAAIlQ,KAAJ,CAAWiQ,CAAX,CAAb;AAAA,MACCE,GAAG,GAAGH,GAAG,CAAC3N,MADX;AAAA,MAEC+N,KAAK,GAAG,IAAIpQ,KAAJ,CAAWmQ,GAAX,CAFT;;AAIA,MAAK,CAAEA,GAAP,EAAa;AACZ,WAAO,EAAP;AACA;;AAED,SAAQF,CAAC,EAAT,EAAe;AACd,QAAMtR,CAAC,GAAG8L,IAAI,CAACC,KAAL,CAAYD,IAAI,CAACoF,MAAL,KAAgBM,GAA5B,CAAV;AACAD,UAAM,CAACD,CAAD,CAAN,GAAYD,GAAG,CAACrR,CAAC,IAAIyR,KAAL,GAAaA,KAAK,CAACzR,CAAD,CAAlB,GAAwBA,CAAzB,CAAf;AACAyR,SAAK,CAACzR,CAAD,CAAL,GAAW,EAAGwR,GAAH,IAAUC,KAAV,GAAkBA,KAAK,CAACD,GAAD,CAAvB,GAA+BA,GAA1C;AACA;;AAED,SAAOD,MAAP;AACA,CAjBM;AAmBA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,CAACC,IAAD,EAAOC,IAAP,EAAgB;AACvC,MAAIC,OAAO,GAAG,IAAd;AAEA,SAAO,YAAY;AAClB,QAAMC,OAAO,GAAG,IAAhB;AACA,QAAMC,IAAI,GAAG1U,SAAb;;AAEA,QAAM2U,KAAK,GAAG,SAARA,KAAQ,GAAM;AACnBL,UAAI,CAACM,KAAL,CAAWH,OAAX,EAAoBC,IAApB;AACA,KAFD;;AAIAG,gBAAY,CAACL,OAAD,CAAZ;AACAA,WAAO,GAAGM,UAAU,CAACH,KAAD,EAAQJ,IAAR,CAApB;AACA,GAVD;AAWA,CAdM;AAgBA,IAAMQ,WAAK,GAAG,SAARA,KAAQ,CAAUpB,GAAV,EAAeC,GAAf,EAAqB;AACzC,MAAMoB,KAAK,GAAG,EAAd;;AACA,OAAM,IAAIC,CAAC,GAAG,CAAd,EAAiBA,CAAC,IAAIrB,GAAG,GAAGD,GAA5B,EAAiCsB,CAAC,EAAlC,EAAuC;AACtCD,SAAK,CAACrQ,IAAN,CAAYsQ,CAAC,GAAGtB,GAAhB;AACA;;AACD,SAAOqB,KAAP;AACA,CANM;AAQA,IAAME,8BAAwB,GAAG,SAA3BA,wBAA2B,CAAUjW,SAAV,EAAsB;AAE7D,SAAO,UAAUgB,KAAV,EAAkB;AAAA,0BAEwBpB,EAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,CAFxB;AAAA,QAEhBS,SAFgB,mBAEhBA,SAFgB;AAAA,QAELsU,wBAFK,mBAELA,wBAFK;;AAGxB,QAAMC,MAAM,GAAGvU,SAAS,EAAxB;AACA,QAAMwU,qBAAqB,GAAGF,wBAAwB,EAAtD;AACA,QAAM1Q,KAAK,GAAG2Q,MAAM,CAACtU,SAAP,CAAkB,UAAAzB,KAAK;AAAA,aAAIA,KAAK,CAACc,QAAN,KAAmBkV,qBAAvB;AAAA,KAAvB,CAAd;AACA,QAAMC,IAAI,GAAG7Q,KAAK,KAAK,CAAV,IAAexE,KAAK,CAACE,QAAN,KAAmBkV,qBAA/C;AAEA,WAAOC,IAAI,IAAI,yCAAC,SAAD,EAAgBrV,KAAhB,CAAf;AAEA,GAVD;AAYA,CAdM;AAgBA,IAAMsV,QAAQ,GAAG,iCAAiCC,IAAjC,CAAsCC,SAAS,CAACC,SAAhD,CAAjB;AAEA,IAAMC,cAAc,GAAG,0BAAW;AACxC,MAAIA,cAAc,GAAG,KAArB;;AAEA,MAAK,oBAAoBF,SAAzB,EAAqC;AACpCE,kBAAc,GAAGF,SAAS,CAACG,cAAV,GAA2B,CAA5C;AACA,GAFD,MAEO,IAAK,sBAAsBH,SAA3B,EAAuC;AAC7CE,kBAAc,GAAGF,SAAS,CAACI,gBAAV,GAA6B,CAA9C;AACA,GAFM,MAEA;AACN,QAAIC,EAAE,GAAG9E,MAAM,CAAC+E,UAAP,IAAqBA,UAAU,CAAE,kBAAF,CAAxC;;AACA,QAAKD,EAAE,IAAIA,EAAE,CAAC5H,KAAH,KAAa,kBAAxB,EAA6C;AAC5CyH,oBAAc,GAAG,CAAC,CAACG,EAAE,CAACE,OAAtB;AACA,KAFD,MAEO,IAAK,iBAAiBhF,MAAtB,EAA+B;AACrC2E,oBAAc,GAAG,IAAjB;AACA,KAFM,MAEA;AACN,UAAIM,EAAE,GAAGR,SAAS,CAACC,SAAnB;AACAC,oBAAc,GACb,0CAA0CH,IAA1C,CAAgDS,EAAhD,KAAwD,yCAAyCT,IAAzC,CAA+CS,EAA/C,CADzD;AAGA;AACD;;AAED,SAAON,cAAP;AACA,CAtBM;AAwBA,IAAMO,WAAW,GAAG,SAAdA,WAAc,CAAEvL,MAAF,EAAUwL,KAAV,EAAqB;AAC/C,MAAIC,OAAO,GAAG,EAAd;;AAEA,WAASC,QAAT,CAAmBC,IAAnB,EAA0B;AACzB,QAAMC,MAAM,GAAGD,IAAI,CAACtK,UAApB;;AACA,QAAKuK,MAAM,YAAYC,WAAvB,EAAqC;AACpC,UAAKD,MAAM,CAACP,OAAP,CAAgBG,KAAhB,CAAL,EAA+B;AAC9BC,eAAO,CAACzR,IAAR,CAAc4R,MAAd;AACA;;AACDF,cAAQ,CAAEE,MAAF,CAAR;AACA;AACD;;AAEDF,UAAQ,CAAE1L,MAAF,CAAR;AAEA,SAAOyL,OAAP;AACA,CAhBM,C,CAkBP;;AACO,IAAMK,YAAY,GAAG,SAAfA,YAAe,CAAUzB,KAAV,EAAkB;AAC7C,MAAI0B,YAAY,GAAG1B,KAAK,CAAC3O,MAAzB;AAAA,MACCsQ,cADD;AAAA,MAECC,WAFD,CAD6C,CAK7C;;AACA,SAAQ,MAAMF,YAAd,EAA6B;AAC5B;AACAE,eAAW,GAAGnI,IAAI,CAACC,KAAL,CAAYD,IAAI,CAACoF,MAAL,KAAgB6C,YAA5B,CAAd;AACAA,gBAAY,IAAI,CAAhB,CAH4B,CAK5B;;AACAC,kBAAc,GAAG3B,KAAK,CAAE0B,YAAF,CAAtB;AACA1B,SAAK,CAAE0B,YAAF,CAAL,GAAwB1B,KAAK,CAAE4B,WAAF,CAA7B;AACA5B,SAAK,CAAE4B,WAAF,CAAL,GAAuBD,cAAvB;AACA;;AAED,SAAO3B,KAAP;AACA,CAlBM;AAoBA,IAAM6B,iBAAiB,GAAG;AAChClU,GAAC,EAAE,CAAC,CAAD,EAAI,GAAJ,EAAS,CAAT,CAD6B;AAEhCmU,GAAC,EAAE,CAAC,CAAD,EAAI,GAAJ,EAAS,CAAT;AAF6B,CAA1B;AAKA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAU1G,UAAV,EAAuD;AAAA,MAAjC2G,UAAiC,uEAApBH,iBAAoB;AACzF,MAAIlU,CAAC,GAAGsU,UAAU,CAAE5G,UAAU,CAAC1N,CAAb,CAAlB;AACA,MAAImU,CAAC,GAAGG,UAAU,CAAE5G,UAAU,CAACyG,CAAb,CAAlB;AACA,MAAII,UAAU,GAAG,IAAjB;AAEAF,YAAU,CAACrU,CAAX,CAAa4B,OAAb,CAAsB,UAAA4S,SAAS,EAAI;AAClC,QAAKA,SAAS,GAAGD,UAAZ,GAAyBvU,CAAzB,IAA8BA,CAAC,GAAGwU,SAAS,GAAGD,UAAnD,EAAgE;AAC/DvU,OAAC,GAAGwU,SAAJ;AACA;AACD,GAJD;AAMAH,YAAU,CAACF,CAAX,CAAavS,OAAb,CAAsB,UAAA4S,SAAS,EAAI;AAClC,QAAKA,SAAS,GAAGD,UAAZ,GAAyBJ,CAAzB,IAA8BA,CAAC,GAAGK,SAAS,GAAGD,UAAnD,EAAgE;AAC/DJ,OAAC,GAAGK,SAAJ;AACA;AACD,GAJD;AAMA,SAAO;AAAExU,KAAC,EAADA,CAAF;AAAKmU,KAAC,EAADA;AAAL,GAAP;AACA,CAlBM;AAoBA,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAA/G,UAAU,EAAI;AAC7C,MAAMgH,UAAU,GAAG,EAAnB;;AAEA,MAAKR,iBAAiB,CAAClU,CAAlB,CAAoBrD,QAApB,CAA8B2X,UAAU,CAAE5G,UAAU,CAAC1N,CAAb,CAAxC,CAAL,EAAkE;AACjE0U,cAAU,CAAC1S,IAAX,CAAiB,cAAjB;AACA;;AAED,MAAKkS,iBAAiB,CAACC,CAAlB,CAAoBxX,QAApB,CAA8B2X,UAAU,CAAE5G,UAAU,CAACyG,CAAb,CAAxC,CAAL,EAAkE;AACjEO,cAAU,CAAC1S,IAAX,CAAiB,cAAjB;AACA;;AAED,SAAO0S,UAAU,CAACC,IAAX,CAAiB,GAAjB,CAAP;AACA,CAZM;AAcA,IAAMC,wBAAkB,GAAG,SAArBA,kBAAqB,CAAE/X,UAAF,EAAcgY,iBAAd,EAAqC;AACtE,MAAMC,OAAO,GAAG,CAAE,0BAAF,CAAhB;AACA,MAAMC,kBAAkB,GAAGF,iBAAiB,CAAEhY,UAAF,CAA5C;;AAEA,MAAKC,MAAM,CAACiN,IAAP,CAAagL,kBAAb,EAAkCC,IAAlC,CAAwC,UAAAhL,GAAG;AAAA,WAAI+K,kBAAkB,CAAE/K,GAAF,CAAlB,KAA8BnN,UAAU,CAAEmN,GAAF,CAA5C;AAAA,GAA3C,CAAL,EAAwG;AACvG8K,WAAO,CAAC9S,IAAR,CAAc,iCAAd;AACA;;AAED,SAAOoB,oBAAU,CAAE0R,OAAF,CAAjB;AACA,CATM,C;;;;AC5KP;AAEA;;;;IAKQ1W,0B,GAAOlC,EAAE,CAACmC,I,CAAVD,E;8CASJlC,EAAE,CAACqC,U;IANNiO,gC,2CAAAA,M;IACAyI,gB,2CAAAA,gB;IACAzW,mC,2CAAAA,S;IACAoM,sC,2CAAAA,Y;IACAD,sC,2CAAAA,Y;IACA0C,uC,2CAAAA,a;IAIA/O,kC,GACGpC,EAAE,CAACK,O,CADN+B,Q;AAGD;;AAEA,IAAM4W,iDAAuB,GAAG,SAA1BA,uBAA0B,CAAU5X,KAAV,EAAkB;AAEjD,SACC,yCAAC,kCAAD,QACC,yCAAC,8CAAD,EAA2BA,KAA3B,EACC,yCAAC,6CAAD,EAA0BA,KAA1B,CADD,EAEC,yCAAC,yCAAD,EAAsBA,KAAtB,CAFD,EAGC,yCAAC,uCAAD,EAAoBA,KAApB,CAHD,CADD,CADD;AASA,CAXD;;AAaA,IAAM6X,8CAAoB,GAAG,SAAvBA,oBAAuB,CAAE7X,KAAF,EAAa;AAAA,MAGxCC,aAHwC,GAUrCD,KAVqC,CAGxCC,aAHwC;AAAA,0BAUrCD,KAVqC,CAIxCT,UAJwC;AAAA,MAKvCuY,eALuC,qBAKvCA,eALuC;AAAA,MAMvCC,YANuC,qBAMvCA,YANuC;AAAA,MAQxC/U,QARwC,GAUrChD,KAVqC,CAQxCgD,QARwC;AAAA,MASxC1D,IATwC,GAUrCU,KAVqC,CASxCV,IATwC;AAAA,MAaxC0Y,mBAbwC,GAiBrChV,QAjBqC,CAaxCgV,mBAbwC;AAAA,MAevCC,OAfuC,GAiBrCjV,QAjBqC,CAcxCkV,aAdwC,CAevCD,OAfuC;;AAmBzC,MAAME,sBAAsB,GAAG,4BAAKnV,QAAQ,CAACmV,sBAAjB,CAA5B;;AAEA,MAAK,CAAC,CAAEF,OAAH,IAAcA,OAAO,CAAC5Y,QAAR,CAAkBC,IAAlB,CAAnB,EAA8C;AAC7C6Y,0BAAsB,CAACzT,IAAvB,CAA6B;AAC5BhD,WAAK,EAAEZ,0BAAE,CAAE,yBAAF,CADmB;AAE5BW,WAAK,EAAE;AAFqB,KAA7B;AAIA;;AAED,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAGX,0BAAE,CAAE,kBAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,0BAAE,CAAE,WAAF;AAAvB,KACC,yCAAC,sCAAD;AACC,OAAG,EAAG,6BADP;AAEC,YAAQ,EAAGgX,eAFZ;AAGC,aAAS,EAAG,6BAHb;AAIC,YAAQ,EAAG,kBAAEA,eAAF,EAAuB;AACjC,UAAIM,aAAa,GAAG;AAAEN,uBAAe,EAAfA;AAAF,OAApB;;AAEA,UAAKA,eAAe,KAAK,SAApB,IAAiCC,YAAY,KAAK,QAAvD,EAAkE;AACjE,YAAIM,SAAS,GAAGL,mBAAmB,CAACvV,IAApB,CAA0B,UAAA4L,MAAM;AAAA,iBAAI0J,YAAY,KAAK1J,MAAM,CAAC5M,KAA5B;AAAA,SAAhC,CAAhB;AACA2W,qBAAa,GAAG5Y,MAAM,CAACC,MAAP,CAAe4Y,SAAS,CAACC,MAAzB,EAAiCF,aAAjC,CAAhB;AACAA,qBAAa,CAACG,iBAAd,GAAkC,EAAlC;AACA;;AAEDtY,mBAAa,CAAEmY,aAAF,CAAb;AACA,KAdF;AAeC,WAAO,EAAGD;AAfX,IADD,EAkBGnY,KAAK,CAAC4E,QAlBT,CADD,CADD;AAwBA,CApDD;;AAsDA,IAAM4T,6CAAmB,GAAG,SAAtBA,mBAAsB,CAAExY,KAAF,EAAa;AAAA,2BAapCA,KAboC,CAGvCT,UAHuC;AAAA,MAItCwY,YAJsC,sBAItCA,YAJsC;AAAA,MAKtCD,eALsC,sBAKtCA,eALsC;AAAA,MAOvC7X,aAPuC,GAapCD,KAboC,CAOvCC,aAPuC;AAAA,MAStC+X,mBATsC,GAapChY,KAboC,CAQvCgD,QARuC,CAStCgV,mBATsC;AAAA,MAWvCS,WAXuC,GAapCzY,KAboC,CAWvCyY,WAXuC;AAAA,MAYvCC,gBAZuC,GAapC1Y,KAboC,CAYvC0Y,gBAZuC;;AAexC,MAAKZ,eAAe,KAAK,SAAzB,EAAqC;AACpC,WAAO,KAAP;AACA;;AAED,SACC,yCAAC,mCAAD;AAAW,SAAK;AAAhB,KAEC,yCAAC,sCAAD;AACC,SAAK,EAAG,gBADT;AAEC,YAAQ,EAAGC,YAFZ;AAGC,YAAQ,EAAG,kBAAEA,YAAF,EAAoB;AAC9B,UAAIK,aAAa,GAAG;AAAEL,oBAAY,EAAZA;AAAF,OAApB;AACA,UAAIM,SAAS,GAAGL,mBAAmB,CAACvV,IAApB,CAA0B,UAAA4L,MAAM;AAAA,eAAI0J,YAAY,KAAK1J,MAAM,CAAC5M,KAA5B;AAAA,OAAhC,CAAhB;;AAEA,UAAK4W,SAAS,IAAIA,SAAS,CAACC,MAA5B,EAAqC;AACpCF,qBAAa,GAAG5Y,MAAM,CAACC,MAAP,CAAe4Y,SAAS,CAACC,MAAzB,EAAiCF,aAAjC,CAAhB;AACA;;AAEDnY,mBAAa,CAAEmY,aAAF,CAAb;;AAEA,UAAK,aAAaL,YAAb,IAA6B,CAAEU,WAApC,EAAkD,CACvD;AACM;AACD,KAhBF;AAiBC,WAAO,EAAGT;AAjBX,IAFD,EAsBC,sDACC,yCAAC,gCAAD;AACC,WAAO,MADR;AAEC,aAAS,MAFV;AAGC,YAAQ,EAAG,CAAC,CAAES,WAHf;AAIC,WAAO,EAAGC;AAJX,yBADD,CAtBD,CADD;AAiCA,CApDD;;AAsDA,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAE1K,KAAF,EAAa;AAC/C,MAAI2K,SAAS,GAAG3K,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEtO,IAAvB;AACA,MAAIkZ,uBAAuB,GAAG,KAA9B;;AAEA,MAAKD,SAAS,KAAK,OAAnB,EAA6B;AAAA;;AAC5BC,2BAAuB,GAAG;AACzB5G,SAAG,EAAE,CAAAhE,KAAK,SAAL,IAAAA,KAAK,WAAL,4BAAAA,KAAK,CAAEoE,KAAP,uFAAcQ,gBAAd,gFAAgCZ,GAAhC,MAAuChE,KAAvC,aAAuCA,KAAvC,wCAAuCA,KAAK,CAAEoE,KAA9C,2EAAuC,cAAcO,eAArD,0DAAuC,sBAA+BX,GAAtE,MAA6EhE,KAA7E,aAA6EA,KAA7E,uBAA6EA,KAAK,CAAEgE,GAApF,CADoB;AAEzBG,WAAK,EAAE,GAFkB;AAGzBpI,YAAM,EAAE;AAHiB,KAA1B;AAKA;;AAED,MAAK4O,SAAS,KAAK,OAAnB,EAA6B;AAC5BC,2BAAuB,GAAG;AACzB5G,SAAG,EAAE,yFADoB;AAEzBG,WAAK,EAAE,GAFkB;AAGzBpI,YAAM,EAAE;AAHiB,KAA1B;AAKA;;AAED,SAAO6O,uBAAP;AACA,CArBD;;AAuBA,IAAMC,yCAAe,GAAG,SAAlBA,eAAkB,CAAE9Y,KAAF,EAAa;AAAA,MAGnCT,UAHmC,GAKhCS,KALgC,CAGnCT,UAHmC;AAAA,MAInCU,aAJmC,GAKhCD,KALgC,CAInCC,aAJmC;AAAA,MAQnCgO,KARmC,GAehC1O,UAfgC,CAQnC0O,KARmC;AAAA,MASnC8J,YATmC,GAehCxY,UAfgC,CASnCwY,YATmC;AAAA,MAUnC3H,UAVmC,GAehC7Q,UAfgC,CAUnC6Q,UAVmC;AAAA,MAWnC2I,eAXmC,GAehCxZ,UAfgC,CAWnCwZ,eAXmC;AAAA,MAYnCC,sBAZmC,GAehCzZ,UAfgC,CAYnCyZ,sBAZmC;AAAA,MAanCC,kBAbmC,GAehC1Z,UAfgC,CAanC0Z,kBAbmC;AAAA,MAcnCnB,eAdmC,GAehCvY,UAfgC,CAcnCuY,eAdmC;AAiBpC,MAAMe,uBAAuB,GAAGF,0BAA0B,CAAE1K,KAAF,CAA1D;AACA,MAAMiL,SAAS,GAAGpB,eAAe,KAAK,SAAtC;;AAEA,MAAK,CAAEe,uBAAP,EAAiC;AAChC,WAAO,KAAP;AACA;;AAED,MAAMM,gBAAgB,GAAGrY,0BAAE,CAAE,2BAAF,EAA+B,eAA/B,CAA3B;;AACA,MAAMsY,kBAAkB,GAAGtY,0BAAE,CAAE,6BAAF,EAAiC,eAAjC,CAA7B;;AACA,MAAMuY,iBAAiB,GAAGvY,0BAAE,CAAE,aAAF,EAAiB,eAAjB,CAA5B;;AAEA,MAAIwY,UAAU,GAAGH,gBAAjB;;AAEA,MAAK,eAAerB,eAApB,EAAsC;AACrCwB,cAAU,GAAGF,kBAAb;AACA;;AAED,MAAKF,SAAL,EAAiB;AAChBI,cAAU,GAAGD,iBAAb;AACA;;AAED,MAAIjC,UAAU,GAAG,CAChB,+BADgB,2CAEmBU,eAFnB,2CAIhBX,gBAAgB,CAAE/G,UAAF,CAJA,CAAjB;AAOA,MAAIvO,SAAS,GAAGuV,UAAU,CAACC,IAAX,CAAiB,GAAjB,CAAhB;AAEA,SACC,yCAAC,mCAAD;AACC,SAAK,EAAGiC,UADT;AAEC,aAAS,EAAGzX;AAFb,KAIC,yCAAC,gBAAD;AACC,SAAK,EAAG,aADT;AAEC,OAAG,EAAGgX,uBAAuB,CAAC5G,GAF/B;AAGC,cAAU,EAAG;AACZG,WAAK,EAAEyG,uBAAuB,CAACzG,KADnB;AAEZpI,YAAM,EAAE6O,uBAAuB,CAAC7O;AAFpB,KAHd;AAOC,SAAK,EAAGoG,UAPT;AAQC,YAAQ,EAAG,kBAAAA,UAAU,EAAI;AACxBnQ,mBAAa,CAAE;AACd8X,oBAAY,EAAE,QADA;AAEd3H,kBAAU,EAAE0G,mBAAmB,CAAE1G,UAAF,CAFjB;AAGd2I,uBAAe,EAAEjC,mBAAmB,CAAE;AACrCpU,WAAC,EAAE0N,UAAU,CAAC1N,CADuB;AAErCmU,WAAC,EAAEkC,eAAe,CAAClC;AAFkB,SAAF;AAHtB,OAAF,CAAb;AAQA;AAjBF,IAJD,EAuBC,yCAAC,sCAAD;AACC,SAAK,EAAG,MADT;AAEC,SAAK,EAAGmC,sBAFT;AAGC,YAAQ,EAAG,kBAAEA,sBAAF,EAA8B;AACxC/Y,mBAAa,CAAE;AACd8X,oBAAY,EAAE,QADA;AAEdiB,8BAAsB,EAAtBA;AAFc,OAAF,CAAb;AAIA,KARF;AASC,OAAG,EAAG,CATP;AAUC,OAAG,EAAG,CAVP;AAWC,QAAI,EAAG;AAXR,IAvBD,EAqCElB,eAAe,KAAK,SAApB,IACC,yCAAC,uCAAD;AACC,SAAK,EAAGhX,0BAAE,CAAE,yBAAF,EAA6B,eAA7B,CADX;AAEC,WAAO,EAAGmY,kBAFX;AAGC,YAAQ,EAAG;AAAA,aAAMhZ,aAAa,CAAE;AAC/BgZ,0BAAkB,EAAE,CAAEA;AADS,OAAF,CAAnB;AAAA;AAHZ,IAtCH,CADD;AAiDA,CAhGD;;AAkGA,IAAMM,uCAAa,GAAG,SAAhBA,aAAgB,CAAEvZ,KAAF,EAAa;AAAA,MAGjCT,UAHiC,GAK9BS,KAL8B,CAGjCT,UAHiC;AAAA,MAIjCU,aAJiC,GAK9BD,KAL8B,CAIjCC,aAJiC;AAAA,MAQjCgO,KARiC,GAc9B1O,UAd8B,CAQjC0O,KARiC;AAAA,MASjCmC,UATiC,GAc9B7Q,UAd8B,CASjC6Q,UATiC;AAAA,MAUjC2I,eAViC,GAc9BxZ,UAd8B,CAUjCwZ,eAViC;AAAA,MAWjCS,oBAXiC,GAc9Bja,UAd8B,CAWjCia,oBAXiC;AAAA,MAYjCC,gBAZiC,GAc9Bla,UAd8B,CAYjCka,gBAZiC;AAAA,MAajC3B,eAbiC,GAc9BvY,UAd8B,CAajCuY,eAbiC;AAgBlC,MAAMe,uBAAuB,GAAGF,0BAA0B,CAAE1K,KAAF,CAA1D;;AAEA,MAAK,CAAE4K,uBAAF,IAA6Bf,eAAe,KAAK,SAAtD,EAAkE;AACjE,WAAO,KAAP;AACA;;AAED,MAAIV,UAAU,GAAG,CAChB,+BADgB,2CAEmBU,eAFnB,GAGhB,oCAHgB,EAIhBX,gBAAgB,CAAE/G,UAAF,CAJA,CAAjB;AAOA,MAAIvO,SAAS,GAAGuV,UAAU,CAACC,IAAX,CAAiB,GAAjB,CAAhB;AAEA,SAEC,yCAAC,mCAAD;AACC,SAAK,EAAGvW,0BAAE,CAAE,WAAF,EAAe,eAAf,CADX;AAEC,aAAS,EAAGe;AAFb,KAIC,yCAAC,gBAAD;AACC,SAAK,EAAG,aADT;AAEC,OAAG,EAAGgX,uBAAuB,CAAC5G,GAF/B;AAGC,cAAU,EAAG;AACZG,WAAK,EAAEyG,uBAAuB,CAACzG,KADnB;AAEZpI,YAAM,EAAE6O,uBAAuB,CAAC7O;AAFpB,KAHd;AAOC,SAAK,EAAG+O,eAPT;AAQC,YAAQ,EAAG,kBAAAA,eAAe,EAAI;AAC7B9Y,mBAAa,CAAE;AACd8X,oBAAY,EAAE,QADA;AAEd3H,kBAAU,EAAE0G,mBAAmB,CAAE;AAChCpU,WAAC,EAAEqW,eAAe,CAACrW,CADa;AAEhCmU,WAAC,EAAEzG,UAAU,CAACyG;AAFkB,SAAF,CAFjB;AAMdkC,uBAAe,EAAEjC,mBAAmB,CAAEiC,eAAF;AANtB,OAAF,CAAb;AAQA,KAjBF;AAkBC,YAAQ;AAlBT,IAJD,EAwBC,yCAAC,sCAAD;AACC,SAAK,EAAG,MADT;AAEC,SAAK,EAAGS,oBAFT;AAGC,YAAQ,EAAG,kBAAEA,oBAAF,EAA4B;AACtCvZ,mBAAa,CAAE;AACd8X,oBAAY,EAAE,QADA;AAEdyB,4BAAoB,EAApBA;AAFc,OAAF,CAAb;AAIA,KARF;AASC,OAAG,EAAG,CATP;AAUC,OAAG,EAAG,CAVP;AAWC,QAAI,EAAG;AAXR,IAxBD,EAqCC,yCAAC,uCAAD;AACC,SAAK,EAAG1Y,0BAAE,CAAE,uBAAF,EAA2B,eAA3B,CADX;AAEC,WAAO,EAAG2Y,gBAFX;AAGC,YAAQ,EAAG;AAAA,aAAMxZ,aAAa,CAAE;AAC/B8X,oBAAY,EAAE,QADiB;AAE/B0B,wBAAgB,EAAE,CAAEA;AAFW,OAAF,CAAnB;AAAA;AAHZ,IArCD,CAFD;AAiDA,CAhFD;;AAkFe7B,+GAAf,E;;;;;;;;;;;;;;;AC5VA;IAKQ9W,a,GAAOlC,EAAE,CAACmC,I,CAAVD,E;8BAKJlC,EAAE,CAACK,O;IAFN+B,qB,2BAAAA,Q;IACAyE,qB,2BAAAA,Q;iCAMG7G,EAAE,CAACqC,U;IAFNC,sB,8BAAAA,S;IACA6O,0B,8BAAAA,a;;AAGD,IAAM2J,wBAAW,GAAG,SAAdA,WAAc,CAAE1Z,KAAF,EAAa;AAAA,MACxB2Z,OADwB,GACF3Z,KADE,CACxB2Z,OADwB;AAAA,MACfC,UADe,GACF5Z,KADE,CACf4Z,QADe;;AAAA,kBAEbnU,qBAAQ,CAAE;AAAA,WAAM,IAAI0D,OAAJ,EAAN;AAAA,GAAF,CAFK;AAAA;AAAA,MAExBC,MAFwB;;AAIhC,MAAMyQ,cAAc,GAAGF,OAAO,CAACxR,MAAR,CAAgB,UAAA2R,MAAM;AAAA,WAAI,CAAC,CAAEA,MAAM,CAACrY,KAAd;AAAA,GAAtB,CAAvB;AACA,MAAMsY,eAAe,GAAGJ,OAAO,CAACxR,MAAR,CAAgB,UAAA2R,MAAM;AAAA,WAAI,CAAEA,MAAM,CAACrY,KAAb;AAAA,GAAtB,CAAxB;AAEA,MAAMuY,MAAM,GAAG;AACdC,WAAO,EAAE,KADK;AAEdC,SAAK,EAAE,eAAA7D,IAAI;AAAA;AAAA,uFAAI,iBAAM8D,IAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AACRjR,qBADQ,GACFE,MAAM,CAACQ,GAAP,CAAWyM,IAAX,CADE;;AAAA,wBAGT,OAAOnN,GAAP,KAAe,WAHN;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAOd2L,4BAAU,CAAC,YAAM;AAChBsF,wBAAI,CAAE;AAAEnQ,4BAAM,EAAEd,GAAG,CAACgD;AAAd,qBAAF,CAAJ;AACA,mBAFS,EAEP,GAFO,CAAV;AAIA2I,4BAAU,CAAC,YAAM;AAChBsF,wBAAI,CAAE;AAAEC,6BAAO,EAAE,CAAX;AAAcC,0BAAI,EAAE;AAApB,qBAAF,CAAJ;AACA,mBAFS,EAEP,GAFO,CAAV;;AAXc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAJ;;AAAA;AAAA;AAAA;AAAA;AAAA,KAFG;AAiBdC,SAAK,EAAE,eAAAjE,IAAI;AAAA;AAAA,wFAAI,kBAAM8D,IAAN;AAAA;AAAA;AAAA;AAAA;AACdA,sBAAI,CAAE;AAAEC,2BAAO,EAAE,CAAX;AAAcC,wBAAI,EAAE;AAApB,mBAAF,CAAJ;AAEAxF,4BAAU,CAAC,YAAM;AAChBsF,wBAAI,CAAE;AAAEnQ,4BAAM,EAAE;AAAV,qBAAF,CAAJ;AACA,mBAFS,EAEP,GAFO,CAAV;;AAHc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAJ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBG,GAAf;AA0BA,MAAMuQ,kBAAkB,GAAGC,aAAa,CAAEX,cAAF,EAAkB,UAAAxD,IAAI;AAAA,WAAIA,IAAI,CAACoE,SAAT;AAAA,GAAtB,EAA0CT,MAA1C,CAAxC;AACA,MAAMU,mBAAmB,GAAGF,aAAa,CAAET,eAAF,EAAmB,UAAA1D,IAAI;AAAA,WAAIA,IAAI,CAACoE,SAAT;AAAA,GAAvB,EAA2CT,MAA3C,CAAzC;AAEA,SACC;AAAK,aAAS,EAAG,gCAAjB;AAAoD,OAAG,EAAG;AAA1D,KACC;AAAK,aAAS,EAAG;AAAjB,KACG,CAAC,CAAEH,cAAc,CAACzT,MAAlB,IACA;AAAK,aAAS,EAAG;AAAjB,KACGmU,kBAAkB,CAAC5T,GAAnB,CAAwB,iBAA4B;AAAA,QAAxB0P,IAAwB,SAAxBA,IAAwB;AAAA,QAAlB3J,GAAkB,SAAlBA,GAAkB;AAAA,QAAb1M,KAAa,SAAbA,KAAa;AACrD,WACC,yCAAC,gBAAD,CAAU,GAAV;AAAc,SAAG,EAAG0M,GAApB;AAA0B,WAAK,EAAG1M,KAAlC;AAA0C,eAAS,EAAG;AAAtD,OACC;AAAK,SAAG,EAAE,aAAAkJ,KAAG;AAAA,eAAIA,KAAG,IAAIE,MAAM,CAACgC,GAAP,CAAWiL,IAAX,EAAiBnN,KAAjB,CAAX;AAAA;AAAb,OACC;AAAK,eAAS,EAAC;AAAf,OACC,yCAAC,0BAAD;AACC,WAAK,EAAGmN,IAAI,CAAC3U,KADd;AAEC,aAAO,EAAG,CAAC,CAAE2U,IAAI,CAAC5U,KAFnB;AAGC,cAAQ,EAAG,kBAAEA,KAAF,EAAa;AAAEmY,kBAAQ,CAAC,6BAAIvD,IAAI,CAACoE,SAAV,EAAsBhZ,KAAtB,EAAR;AAAyC;AAHpE,MADD,CADD,CADD,CADD;AAaA,GAdC,CADH,CAFH,EAoBG,CAAC,CAAEsY,eAAe,CAAC3T,MAAnB,IACA,yCAAC,qBAAD,QACC;AAAO,aAAS,EAAG;AAAnB,iCADD,EAEC;AAAK,aAAS,EAAG;AAAjB,KACGsU,mBAAmB,CAAC/T,GAApB,CAAyB,iBAA4B;AAAA,QAAxB0P,IAAwB,SAAxBA,IAAwB;AAAA,QAAlB3J,GAAkB,SAAlBA,GAAkB;AAAA,QAAb1M,KAAa,SAAbA,KAAa;AACtD,WACC,yCAAC,gBAAD,CAAU,GAAV;AAAc,SAAG,EAAG0M,GAApB;AAA0B,WAAK,EAAG1M,KAAlC;AAA0C,eAAS,EAAG;AAAtD,OACC;AAAK,SAAG,EAAE,aAAAkJ,KAAG;AAAA,eAAIA,KAAG,IAAIE,MAAM,CAACgC,GAAP,CAAWiL,IAAX,EAAiBnN,KAAjB,CAAX;AAAA;AAAb,OACC;AAAK,eAAS,EAAC;AAAf,OACC,yCAAC,0BAAD;AACC,WAAK,EAAGmN,IAAI,CAAC3U,KADd;AAEC,aAAO,EAAG,CAAC,CAAE2U,IAAI,CAAC5U,KAFnB;AAGC,cAAQ,EAAG,kBAAEA,KAAF,EAAa;AAAEmY,kBAAQ,CAAC,6BAAIvD,IAAI,CAACoE,SAAV,EAAsBhZ,KAAtB,EAAR;AAAyC;AAHpE,MADD,CADD,CADD,CADD;AAaA,GAdC,CADH,CAFD,CArBH,CADD,CADD;AA+CA,CAnFD;;AAqFeiY,yEAAf,E;;;;;;;;ACtGA;;;uCAGsB9a,EAAE,CAACqC,U;IAAjB0Z,uB,oCAAAA,I;IAAMC,sB,oCAAAA,G;AAEC,SAASC,KAAT,OAA+C;AAAA,MAA7BtY,KAA6B,QAA7BA,KAA6B;AAAA,4BAAtBuY,SAAsB;AAAA,MAAtBA,SAAsB,+BAAV,KAAU;AAC7D,MAAMC,WAAW,GAAG;AACnB,OAAG,2EADgB;AAEnB,OAAG,sYAFgB;AAGnB,OAAG,+iBAHgB;AAInB,OAAG,uFAJgB;AAKnB,OAAG,0ZALgB;AAMnB,OAAG;AANgB,GAApB;;AAQA,MAAK,CAAEA,WAAW,CAACC,cAAZ,CAA4BzY,KAA5B,CAAP,EAA6C;AAC5C,WAAO,IAAP;AACA;;AAED,SACC,yCAAC,sBAAD;AAAK,SAAK,EAAC,IAAX;AAAgB,UAAM,EAAC,IAAvB;AAA4B,WAAO,EAAC,WAApC;AAAgD,SAAK,EAAC,4BAAtD;AAAmF,aAAS,EAAGuY;AAA/F,KACC,yCAAC,uBAAD;AAAM,KAAC,EAAGC,WAAW,CAAExY,KAAF;AAArB,IADD,CADD;AAKA,C;;;;;;;;;;;;;;ACrBD;;;eAGwB3D,EAAE,CAACmC,I;IAAnBD,gB,YAAAA,E;IAAIma,O,YAAAA,O;IAEJjc,yB,GAAcJ,EAAE,CAACK,O,CAAjBD,S;IACAkc,Y,GAAiBtc,EAAE,CAACqC,U,CAApBia,Y;AAER;;;;AAIA;;IAEMC,8B;;;;;;;;;;;;;uCACeC,W,EAAaC,a,EAAezB,Q,EAAW;AAC1D,UAAMtO,QAAQ,GAAG8P,WAAW,KAAKC,aAAjC;AACA,aAAO;AACNC,YAAI,EAAE,yCAAC,KAAD;AAAkB,eAAK,EAAGF,WAA1B;AAAwC,mBAAS,EAAG9P;AAApD,UADA;AAEN;AACAtF,aAAK,EAAEiV,OAAO,CAAEna,gBAAE,CAAE,YAAF,CAAJ,EAAsBsa,WAAtB,CAHR;AAIN9P,gBAAQ,EAARA,QAJM;AAKN1E,eAAO,EAAE;AAAA,iBAAMgT,QAAQ,CAAEwB,WAAF,CAAd;AAAA;AALH,OAAP;AAOA;;;6BAEQ;AAAA;;AAAA,wBACgD,KAAKpb,KADrD;AAAA,UACAub,QADA,eACAA,QADA;AAAA,UACUC,QADV,eACUA,QADV;AAAA,UACoBH,aADpB,eACoBA,aADpB;AAAA,UACmCzB,QADnC,eACmCA,QADnC;AAGR,aACC,yCAAC,YAAD;AACC,YAAI,EAAG,yCAAC,KAAD;AAAkB,eAAK,EAAGyB;AAA1B,UADR;AAEC,gBAAQ,EAAG,gBAAOE,QAAP,EAAiBC,QAAjB,EAA4B7U,GAA5B,CACV,UAAEnC,KAAF;AAAA,iBAAa,KAAI,CAACiX,kBAAL,CAAyBjX,KAAzB,EAAgC6W,aAAhC,EAA+CzB,QAA/C,CAAb;AAAA,SADU;AAFZ,QADD;AAOA;;;;EAtB2B5a,yB;;AAyBdmc,kFAAf,E;;;;;;;;;ICzCQO,U,GAAe9c,EAAE,CAACK,O,CAAlByc,U;IACAC,Q,GAAa/c,EAAE,CAACyC,W,CAAhBsa,Q;AAER,IAAMC,YAAY,GAAGF,UAAU,CAAE,UAAE1b,KAAF,EAASkJ,GAAT,EAAkB;AAClD,SAAO,yCAAC,QAAD;AAAU,OAAG,EAAGA;AAAhB,KAA2BlJ,KAA3B;AAAmC,4BAAwB;AAA3D,KAAP;AACA,CAF8B,CAA/B;;AAIA4b,YAAY,CAACC,OAAb,GAAuB,gBAAsD;AAAA,wBAAlDpa,KAAkD;AAAA,MAAlDA,KAAkD,2BAA1C,EAA0C;AAAA,0BAAtCqa,OAAsC;AAAA,MAA7BC,GAA6B,6BAAvB,KAAuB;AAAA,MAAb/b,KAAa;;AAC5E,SAAO,yCAAC,GAAD,EAAUA,KAAV,EAAoByB,KAApB,CAAP;AACA,CAFD;AAIA;;;;;AAGema,8DAAf,E;;;ACdA;AACA;AACA;IAEQ9a,mB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;uCAOJlC,EAAE,CAACqC,U;IAJNC,4B,oCAAAA,S;IACA8a,Q,oCAAAA,Q;IACA1O,+B,oCAAAA,Y;IACAD,+B,oCAAAA,Y;sBAMGzO,EAAE,CAACyC,W;IAFND,oC,mBAAAA,iB;IACA6a,mC,mBAAAA,gB;;AAGD,IAAMC,8CAA2B,GAAG,SAA9BA,2BAA8B,CAAElc,KAAF,EAAa;AAAA,0BAW5CA,KAX4C,CAG/CT,UAH+C;AAAA,MAI9C4c,YAJ8C,qBAI9CA,YAJ8C;AAAA,MAK9CC,eAL8C,qBAK9CA,eAL8C;AAAA,MAM9CC,aAN8C,qBAM9CA,aAN8C;AAAA,MAO9C9Z,KAP8C,qBAO9CA,KAP8C;AAAA,MAQ9C+Z,YAR8C,qBAQ9CA,YAR8C;AAAA,MAU/Crc,aAV+C,GAW5CD,KAX4C,CAU/CC,aAV+C;;AAahD,MAAM2Z,SAAQ,GAAG,OAAO5Z,KAAK,CAAC4Z,QAAb,KAA0B,UAA1B,GAAuC3Z,aAAvC,GAAuDD,KAAK,CAAC4Z,QAA9E;;AAEA,SACC,yCAAC,gCAAD;AAAiB,SAAK,EAAG9Y,mBAAE,CAAE,SAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,mBAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,+BAAD;AACC,OAAG,EAAG,2BADP;AAEC,SAAK,EAAGA,mBAAE,CAAE,gBAAF,CAFX;AAGC,YAAQ,EAAGub,aAHZ;AAIC,YAAQ,EAAG,kBAAAA,aAAa,EAAI;AAC3Bpc,mBAAa,CAAE;AAAEoc,qBAAa,EAAbA;AAAF,OAAF,CAAb;AACA,KANF;AAOC,WAAO,EAAG,CACT;AAAE3a,WAAK,EAAE,+BAAT;AAA0CD,WAAK,EAAE;AAAjD,KADS,EAET;AAAEC,WAAK,EAAE,yBAAT;AAAoCD,WAAK,EAAE;AAA3C,KAFS;AAPX,IADD,EAaC,yCAAC,+BAAD;AACC,OAAG,EAAG,mCADP;AAEC,SAAK,EAAGX,mBAAE,CAAE,wBAAF,EAA4B,eAA5B,CAFX;AAGC,SAAK,EAAGsb,eAHT;AAIC,YAAQ,EAAG,kBAAAA,eAAe,EAAI;AAC7Bnc,mBAAa,CAAE;AAAEmc,uBAAe,EAAfA;AAAF,OAAF,CAAb;AACA,KANF;AAOC,OAAG,EAAG,CAPP;AAQC,OAAG,EAAG,GARP;AASC,QAAI,EAAG;AATR,IAbD,EAwBC,yCAAC,+BAAD;AACC,OAAG,EAAG,0BADP;AAEC,SAAK,EAAGtb,mBAAE,CAAE,eAAF,EAAmB,eAAnB,CAFX;AAGC,SAAK,EAAGwb,YAHT;AAIC,YAAQ,EAAG,kBAAAA,YAAY,EAAI;AAC1Brc,mBAAa,CAAE;AAAEqc,oBAAY,EAAZA;AAAF,OAAF,CAAb;AACA,KANF;AAOC,OAAG,EAAG,CAPP;AAQC,OAAG,EAAG,GARP;AASC,QAAI,EAAG;AATR,IAxBD,EAmCC,yCAAC,QAAD,QACC,uDAAOxb,mBAAE,CAAE,aAAF,EAAiB,eAAjB,CAAT,CADD,EAEC,yCAAC,eAAD;AACC,YAAQ,EAAE,CADX;AAEC,YAAQ,EAAE,CAFX;AAGC,iBAAa,EAAEyB,KAHhB;AAIC,YAAQ,EAAE,kBAAEA,KAAF,EAAa;AACtBqX,eAAQ,CAAE;AAACrX,aAAK,EAALA;AAAD,OAAF,CAAR;AACA;AANF,IAFD,CAnCD,EA8CC,yCAAC,QAAD,QACC,uDAAOzB,mBAAE,CAAE,mBAAF,EAAuB,eAAvB,CAAT,CADD,EAEC,yCAAC,mCAAD;AACC,SAAK,EAAEqb,YADR;AAEC,eAAW,EAAE,KAFd;AAGC,YAAQ,EAAE,kBAAEA,YAAF,EAAoB;AAC7BvC,eAAQ,CAAE;AAACuC,oBAAY,EAAZA;AAAD,OAAF,CAAR;AACA;AALF,IAFD,CA9CD,CADD,CADD;AA6DA,CA5ED;;AA8EeD,qGAAf,E;;;AChGA;AAEA;AACA;IAEQlb,mB,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;;AAER,IAAMub,0BAAe,GAAG,SAAlBA,eAAkB,CAAEvc,KAAF,EAAa;AAAA,0BAShCA,KATgC,CAGnCT,UAHmC;AAAA,MAIlCid,mBAJkC,qBAIlCA,mBAJkC;AAAA,MAKlCxW,KALkC,qBAKlCA,KALkC;AAAA,MAMlCzD,KANkC,qBAMlCA,KANkC;AAAA,MAQnCtC,aARmC,GAShCD,KATgC,CAQnCC,aARmC;;AAWpC,MAAK,CAAEuc,mBAAP,EAA6B;AAC5B,WAAO,IAAP;AACA;;AAED,SACC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,aAAD;AACC,WAAO,aAAQja,KAAR,CADR;AAEC,SAAK,EAAGyD,KAFT;AAGC,YAAQ,EAAG,kBAAAA,KAAK,EAAI;AACnB/F,mBAAa,CAAE;AAAE+F,aAAK,EAALA;AAAF,OAAF,CAAb;AACA;AALF,IADD,CADD;AAWA,CA1BD;;AA4BA,IAAMyW,6BAAkB,GAAG,SAArBA,kBAAqB,CAAEzc,KAAF,EAAa;AAAA,2BAQnCA,KARmC,CAGtCT,UAHsC;AAAA,MAIrCmd,sBAJqC,sBAIrCA,sBAJqC;AAAA,MAKrCC,QALqC,sBAKrCA,QALqC;AAAA,MAOtC1c,aAPsC,GAQnCD,KARmC,CAOtCC,aAPsC;;AAUvC,MAAK,CAAEyc,sBAAP,EAAgC;AAC/B,WAAO,IAAP;AACA;;AAED,SACC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,aAAD;AACC,WAAO,EAAG,GADX;AAEC,aAAS,EAAG,eAFb;AAGC,SAAK,EAAGC,QAHT;AAIC,YAAQ,EAAG,kBAAAA,QAAQ,EAAI;AACtB1c,mBAAa,CAAE;AAAE0c,gBAAQ,EAARA;AAAF,OAAF,CAAb;AACA;AANF,IADD,CADD;AAYA,CA1BD;;AA4BA,IAAMC,qBAAU,GAAG,SAAbA,UAAa,CAAE5c,KAAF,EAAa;AAAA,MAG9BT,UAH8B,GAK3BS,KAL2B,CAG9BT,UAH8B;AAAA,MAI9Bsd,WAJ8B,GAK3B7c,KAL2B,CAI9B6c,WAJ8B;AAAA,MAQ9B9O,UAR8B,GAe3BxO,UAf2B,CAQ9BwO,UAR8B;AAAA,MAS9BD,YAT8B,GAe3BvO,UAf2B,CAS9BuO,YAT8B;AAAA,MAW9BqO,YAX8B,GAe3B5c,UAf2B,CAW9B4c,YAX8B;AAAA,MAY9BE,aAZ8B,GAe3B9c,UAf2B,CAY9B8c,aAZ8B;AAAA,MAa9BD,eAb8B,GAe3B7c,UAf2B,CAa9B6c,eAb8B;AAAA,MAc9BE,YAd8B,GAe3B/c,UAf2B,CAc9B+c,YAd8B;AAiB/B,MAAMQ,cAAc,GAAG,uBAAvB;;AAEA,MAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAEX,eAAF,EAAuB;AACrD,QAAIY,cAAc,GAAGZ,eAAe,GAAG,EAAlB,GAAuB,CAA5C;;AAEA,QAAKY,cAAc,GAAG,CAAtB,EAA0B;AACzBA,oBAAc,IAAI,CAAlB;AACA;;AAED,QAAIC,SAAS,GAAG,CAAhB;AACA,QAAIC,WAAW,GAAG,CAAlB;AAEAF,kBAAc,GAAGxO,IAAI,CAACkF,GAAL,CAAUlF,IAAI,CAACmF,GAAL,CAAU,CAAC,CAAX,EAAcqJ,cAAd,CAAV,EAA0C,CAA1C,CAAjB;;AAEA,QAAKA,cAAc,GAAG,CAAtB,EAA0B;AACzBC,eAAS,GAAG,IAAID,cAAhB;AACA;;AAED,QAAKA,cAAc,GAAG,CAAtB,EAA0B;AACzBE,iBAAW,GAAG,IAAI1O,IAAI,CAAC2O,GAAL,CAAUH,cAAV,CAAlB;AACA;;AAED,qBAAWC,SAAS,GAAG,GAAZ,GAAkBC,WAA7B;AACA,GArBD;;AAuBA,MAAMlR,KAAK,GAAG;AACb,4BAAwBsQ,YADX;AAEb,gCAA4BS,sBAAsB,CAAEX,eAAF,CAFrC;AAGb,+BAA2BC,aAAa,KAAK,SAAlB,GAA8B,OAA9B,GAAwC;AAHtD,GAAd;AAMA,MAAMxa,SAAS,GAAGiE,oBAAU,CAC3B9F,KAAK,CAAC6B,SADqB,EAE3Bib,cAF2B,EAG3B,kBAH2B,YAIvBA,cAJuB,qBAIIX,YAJJ,sBAKdpO,UALc,wBAMZD,YANY,GAO3B;AACC,oBAAgB+O;AADjB,GAP2B,CAA5B;AAYA,SACC,yCAAC,mBAAD,QACC,yCAAC,kBAAD,EAAwB7c,KAAxB,CADD,EAEC;AAAK,aAAS,EAAG6B,SAAjB;AAA6B,SAAK,EAAGmK;AAArC,KACC;AAAK,aAAS,EAAC;AAAf,KACC,yCAAC,0BAAD,EAAsBhM,KAAtB,CADD,EAEC,yCAAC,6BAAD,EAAyBA,KAAzB,CAFD,EAGC;AAAK,aAAS,EAAC,sEAAf;AAAsF,kBAAW;AAAjG,KACC;AAAK,aAAS,YAAO8c,cAAP;AAAd,KACG9c,KAAK,CAAC4E,QADT,CADD,CAHD,CADD,CAFD,CADD;AAgBA,CA5ED;;AA8EegY,+EAAf,E;;;;;;;;;;IC7IQ9b,e,GAAOlC,EAAE,CAACmC,I,CAAVD,E;mCAKJlC,EAAE,CAACqC,U;IAFNiO,qB,gCAAAA,M;IACA5B,2B,gCAAAA,Y;IAIAtM,uB,GACGpC,EAAE,CAACK,O,CADN+B,Q;IAIAyK,kC,GACG7M,EAAE,CAACyC,W,CADNoK,mB;eAMG7M,EAAE,CAACwB,I;IAFNgd,Y,YAAAA,Y;IACA9b,yB,YAAAA,U;IAIAzC,sB,GACGD,EAAE,CAACC,O,CADNA,O;;AAGD,IAAMwe,4BAAa,GAAG,SAAhBA,aAAgB,CAAErd,KAAF,EAAa;AAElC,MAAMqJ,IAAI,GAAG,SAAPA,IAAO,GAAM;AAAE,WAAO,EAAP;AAAW,GAAhC;;AAFkC,MAG1BiU,SAH0B,GAGetd,KAHf,CAG1Bsd,SAH0B;AAAA,MAGf/d,UAHe,GAGeS,KAHf,CAGfT,UAHe;AAAA,MAGHU,aAHG,GAGeD,KAHf,CAGHC,aAHG;AAIlC,MAAMsd,OAAO,GAAGxZ,KAAK,CAACC,OAAN,CAAehE,KAAK,CAACud,OAArB,IAAiCvd,KAAK,CAACud,OAAN,CAAcC,KAAd,EAAjC,GAAyD,EAAzE;AACA,MAAMC,mBAAmB,GAAG,OAAOH,SAAP,KAAqB,UAArB,GAAkCA,SAAlC,GAA8CjU,IAA1E;AAEAkU,SAAO,CAAC7Y,IAAR,CAAa;AACZhD,SAAK,EAAE,gBADK;AAEZD,SAAK,EAAE,eAFK;AAGZ6W,UAAM,EAAE;AAHI,GAAb;AAMA,MAAMoF,cAAc,GAAGC,iBAAiB,CAAEJ,OAAF,EAAWhe,UAAX,CAAxC;AAEA,SACC,yCAAC,uBAAD,QACC,yCAAC,2BAAD,wBACMS,KADN;AAEC,WAAO,EAAGud,OAFX;AAGC,YAAQ,EAAGG,cAHZ;AAIC,YAAQ,EAAG,kBAAApF,MAAM,EAAI;AAEpB,UAAK,oBAAoBA,MAAzB,EAAkC;AACjCrY,qBAAa,CAAET,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBge,mBAAmB,EAAtC,CAAF,CAAb;AACA;AACA;;AAED,UAAMrF,aAAa,GAAGwF,0BAA0B,CAAEtF,MAAF,EAAUiF,OAAV,CAAhD;AACAtd,mBAAa,CAAEmY,aAAF,CAAb;AACA;AAbF,KADD,EAiBEsF,cAAc,KAAK,eAAnB,IACA;AAAK,OAAG,EAAG;AAAX,KACC,yCAAC,qBAAD;AACC,WAAO,MADR;AAEC,aAAS,MAFV;AAGC,WAAO,EAAG,mBAAM;AACfzd,mBAAa,CAAEwd,mBAAmB,EAArB,CAAb;AACA;AALF,KAMG3c,eAAE,CAAE,iBAAF,CANL,CADD,CAlBF,CADD;AAgCA,CA/CD;;AAiDO,IAAM8c,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAEtF,MAAF,EAAUuF,OAAV,EAAuB;AAChE,MAAIzF,aAAa,GAAG,EAApB;AACA,MAAIC,SAAS,GAAGwF,OAAO,CAACpb,IAAR,CAAc,UAAA4L,MAAM;AAAA,WAAIiK,MAAM,KAAKjK,MAAM,CAAC5M,KAAtB;AAAA,GAApB,CAAhB;;AAEA,MAAK4W,SAAS,IAAIA,SAAS,CAACC,MAA5B,EAAqC;AACpCF,iBAAa,GAAG5Y,MAAM,CAACC,MAAP,CAAe4Y,SAAS,CAACC,MAAzB,EAAiCF,aAAjC,CAAhB;AACA;;AAED,SAAOA,aAAP;AACA,CATM;AAWA,IAAMuF,iBAAiB,GAAG,SAApBA,iBAAoB,CAAEG,aAAF,EAAiBve,UAAjB,EAAiC;AACjE,MAAMwe,aAAa,GAAGD,aAAa,CAAC3V,MAAd,CAAsB,UAAA6V,YAAY,EAAI;AAAA,QACnD1F,MADmD,GACxC0F,YADwC,CACnD1F,MADmD;AAG3D,WAAO9Y,MAAM,CAACiN,IAAP,CAAa6L,MAAb,EAAsB2F,KAAtB,CAA6B,UAAAvR,GAAG,EAAI;AAC1C,aAAO4L,MAAM,CAAC5L,GAAD,CAAN,KAAgBnN,UAAU,CAACmN,GAAD,CAAjC;AACA,KAFM,CAAP;AAGA,GANqB,CAAtB;;AAQA,MAAKqR,aAAa,CAAC3X,MAAnB,EAA4B;AAC3B,WAAO2X,aAAa,CAAC,CAAD,CAAb,CAAiBtc,KAAxB;AACA;;AAED,SAAO,IAAP;AACA,CAdM;AAgBP,IAAMyc,eAAe,GAAG5c,yBAAU,CAAE,UAAEnB,MAAF,EAAUH,KAAV,EAAqB;AAAA,6BACnCyL,kCAAmB,EADgB;AAAA,MAChDvL,QADgD,wBAChDA,QADgD;;AAAA,gBAEnCC,MAAM,CAAE,mBAAF,CAF6B;AAAA,MAEhDge,QAFgD,WAEhDA,QAFgD;;AAAA,kBAGjCA,QAAQ,CAAEje,QAAF,CAHyB;AAAA,MAGhDX,UAHgD,aAGhDA,UAHgD;;AAKxD,qEACIS,KADJ;AAECE,YAAQ,EAARA,QAFD;AAGCX,cAAU,EAAVA;AAHD;AAKA,CAViC,CAAlC;AAYA,IAAM6e,iBAAiB,GAAGhB,YAAY,CAAE,UAAEiB,QAAF,QAA8B;AAAA,MAAhBne,QAAgB,QAAhBA,QAAgB;;AAAA,kBACnCme,QAAQ,CAAE,mBAAF,CAD2B;AAAA,MAC7DC,qBAD6D,aAC7DA,qBAD6D;;AAErE,MAAMre,aAAa,GAAG,SAAhBA,aAAgB,CAAEmY,aAAF,EAAqB;AAC1C,WAAOkG,qBAAqB,CAAEpe,QAAF,EAAYkY,aAAZ,CAA5B;AACA,GAFD;;AAIA,SAAO;AACNnY,iBAAa,EAAbA;AADM,GAAP;AAGA,CATqC,CAAtC;AAWepB,yEAAO,CAAE,CAAEqf,eAAF,EAAmBE,iBAAnB,CAAF,CAAP,CAAmDf,4BAAnD,CAAf,E;;;;;;;;;;;AC3HA;AACA;AACA;AACA;IAEQkB,G,GAA2B/P,I,CAA3B+P,G;IAAKpB,G,GAAsB3O,I,CAAtB2O,G;IAAKqB,G,GAAiBhQ,I,CAAjBgQ,G;IAAKC,G,GAAYjQ,I,CAAZiQ,G;IAAKC,E,GAAOlQ,I,CAAPkQ,E;;AAE5B,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAI,UAAAlc,CAAC;AAAA,WAAI6b,GAAG,CAAE7b,CAAF,EAAKkc,KAAL,CAAP;AAAA,GAAL;AAAA,CAApB;;AACA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAD,KAAK;AAAA,SAAI,UAAAlc,CAAC;AAAA,WAAI,IAAIya,GAAG,CAAEoB,GAAG,CAAE7b,CAAC,GAAG,CAAN,EAASkc,KAAT,CAAL,CAAX;AAAA,GAAL;AAAA,CAArB;;AACA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAAF,KAAK;AAAA,SAAI,UAAAlc,CAAC;AAAA,WAAIA,CAAC,GAAG,EAAJ,GAC7Bic,MAAM,CAAEC,KAAF,CAAN,CAAiBlc,CAAC,GAAG,CAArB,IAA2B,CADE,GAE7Bmc,OAAO,CAAED,KAAF,CAAP,CAAkBlc,CAAC,GAAG,CAAJ,GAAQ,CAA1B,IAAgC,CAAhC,GAAoC,GAFX;AAAA,GAAL;AAAA,CAAvB,C,CAIA;;;AACO,IAAMqc,MAAM,GAAGD,SAAS,CAAC,CAAD,CAAxB,C,CAEP;;AACO,IAAME,UAAU,GAAGL,MAAM,CAAC,CAAD,CAAzB;AACA,IAAMM,WAAW,GAAGJ,OAAO,CAAC,CAAD,CAA3B;AACA,IAAMK,aAAa,GAAGJ,SAAS,CAAC,CAAD,CAA/B,C,CAEP;;AACO,IAAMK,WAAW,GAAGR,MAAM,CAAC,CAAD,CAA1B;AACA,IAAMS,YAAY,GAAGP,OAAO,CAAC,CAAD,CAA5B;AACA,IAAMQ,cAAc,GAAGP,SAAS,CAAC,CAAD,CAAhC,C,CAEP;;AACO,IAAMQ,WAAW,GAAGX,MAAM,CAAC,CAAD,CAA1B;AACA,IAAMY,YAAY,GAAGV,OAAO,CAAC,CAAD,CAA5B;AACA,IAAMW,cAAc,GAAGV,SAAS,CAAC,CAAD,CAAhC,C,CAEP;;AACO,IAAMW,WAAW,GAAGd,MAAM,CAAC,CAAD,CAA1B;AACA,IAAMe,YAAY,GAAGb,OAAO,CAAC,CAAD,CAA5B;AACA,IAAMc,cAAc,GAAGb,SAAS,CAAC,CAAD,CAAhC,C,CAEP;;AACO,IAAMc,UAAU,GAAG,SAAbA,UAAa,CAAAld,CAAC;AAAA,SAAI,CAAC,CAAD,GAAK+b,GAAG,CAAC/b,CAAC,GAAGgc,EAAJ,GAAS,CAAV,CAAR,GAAuB,CAA3B;AAAA,CAApB;AACA,IAAMmB,WAAW,GAAG,SAAdA,WAAc,CAAAnd,CAAC;AAAA,SAAI8b,GAAG,CAAC9b,CAAC,GAAGgc,EAAJ,GAAS,CAAV,CAAP;AAAA,CAArB;AACA,IAAMoB,aAAa,GAAG,SAAhBA,aAAgB,CAAApd,CAAC;AAAA,SAAI,CAAC,GAAD,IAAQ+b,GAAG,CAACC,EAAE,GAAGhc,CAAN,CAAH,GAAc,CAAtB,CAAJ;AAAA,CAAvB,C,CAEP;;AACO,IAAMqd,UAAU,GAAG,SAAbA,UAAa,CAAArd,CAAC;AAAA,SAAKA,CAAC,KAAK,CAAN,GAAU,CAAV,GAAc6b,GAAG,CAAC,CAAD,EAAI,MAAM7b,CAAC,GAAG,CAAV,CAAJ,CAAtB;AAAA,CAApB;AACA,IAAMsd,WAAW,GAAG,SAAdA,WAAc,CAAAtd,CAAC;AAAA,SAAKA,CAAC,KAAK,CAAN,GAAU,CAAV,GAAc,CAAC6b,GAAG,CAAC,CAAD,EAAI,CAAC,EAAD,GAAM7b,CAAV,CAAJ,GAAmB,CAAtC;AAAA,CAArB;AACA,IAAMud,aAAa,GAAG,SAAhBA,aAAgB,CAAAvd,CAAC,EAAI;AAEjC,MAAIA,CAAC,KAAK,CAAN,IAAWA,CAAC,KAAK,CAArB,EAAwB;AACvB,WAAOA,CAAP;AACA;;AAED,MAAI,CAACA,CAAC,IAAI,GAAN,IAAa,CAAjB,EAAoB;AACnB,WAAO,MAAM6b,GAAG,CAAC,CAAD,EAAI,MAAM7b,CAAC,GAAG,CAAV,CAAJ,CAAhB;AACA;;AAED,SAAO,OAAO,CAAC6b,GAAG,CAAC,CAAD,EAAI,CAAC,EAAD,GAAM,EAAE7b,CAAZ,CAAJ,GAAqB,CAA5B,CAAP;AACA,CAXM,C,CAaP;;AACO,IAAMwd,UAAU,GAAG,SAAbA,UAAa,CAAAxd,CAAC,EAAI;AAC9B,MAAMyd,CAAC,GAAG,OAAV;AACA,SAAO5B,GAAG,CAAC7b,CAAD,EAAI,CAAJ,CAAH,IAAa,CAACyd,CAAC,GAAG,CAAL,IAAUzd,CAAV,GAAcyd,CAA3B,CAAP;AACA,CAHM;AAKA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAAA1d,CAAC,EAAI;AAC/B,MAAMyd,CAAC,GAAG,OAAV;AACA,SAAO,CAACzd,CAAC,GAAGA,CAAC,GAAG,CAAT,IAAcA,CAAd,IAAmB,CAACyd,CAAC,GAAG,CAAL,IAAUzd,CAAV,GAAcyd,CAAjC,IAAsC,CAA7C;AACA,CAHM;AAKA,IAAME,oBAAa,GAAG,SAAhBA,aAAgB,CAAA3d,CAAC,EAAI;AACjC,MAAMyd,CAAC,GAAG,OAAV;AACA,SAAQ,CAACzd,CAAC,IAAI,GAAN,IAAa,CAAd,GACJ,OAAOA,CAAC,GAAGA,CAAJ,IAAS,CAAC,CAACyd,CAAC,mCAAI,KAAJ,CAAF,IAAe,CAAhB,IAAqBzd,CAArB,GAAyByd,CAAlC,CAAP,CADI,GAEJ,OAAO,CAACzd,CAAC,IAAI,CAAN,IAAWA,CAAX,IAAgB,CAAC,CAACyd,CAAC,mCAAI,KAAJ,CAAF,IAAe,CAAhB,IAAqBzd,CAArB,GAAyByd,CAAzC,IAA8C,CAArD,CAFH;AAGA,CALM,C;;ACpEP;AACA;;AAEA,SAASG,wBAAT,GAAoC;AACnC,MAAMC,UAAU,GAAGxP,MAAM,CAAC+E,UAAP,CAAmB,kCAAnB,CAAnB;AACA,SAAO,CAAC,CAAEyK,UAAU,CAACxK,OAArB;AACA;;AAEM,IAAMyK,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAUC,WAAV,EAAuBC,WAAvB,EAAoCC,QAApC,EAA+C;AAEvF,MAAK,CAAEF,WAAF,IAAiB,CAAEC,WAAxB,EAAsC;AACrC,WAAO;AACNhe,OAAC,EAAE,GADG;AAENmU,OAAC,EAAE;AAFG,KAAP;AAIA;;AAED,MAAK,CAAE4J,WAAP,EAAqB;AACpB,WAAOC,WAAP;AACA;;AAED,MAAK,CAAEA,WAAP,EAAqB;AACpB,WAAOD,WAAP;AACA;;AAED,SAAO;AACN/d,KAAC,EAAEsU,UAAU,CAAEyJ,WAAW,CAAC/d,CAAd,CAAV,GAA8B,CAAEsU,UAAU,CAAE0J,WAAW,CAAChe,CAAd,CAAV,GAA8BsU,UAAU,CAAEyJ,WAAW,CAAC/d,CAAd,CAA1C,IAAgEie,QAD3F;AAEN9J,KAAC,EAAEG,UAAU,CAAEyJ,WAAW,CAAC5J,CAAd,CAAV,GAA8B,CAAEG,UAAU,CAAE0J,WAAW,CAAC7J,CAAd,CAAV,GAA8BG,UAAU,CAAEyJ,WAAW,CAAC5J,CAAd,CAA1C,IAAgE8J;AAF3F,GAAP;AAIA,CArBM;AAuBA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAU5G,MAAV,EAAmB;AAC3C,MAAMha,KAAK,GAAG6gB,QAAQ,CAAE7G,MAAF,CAAtB;AACA,MAAM8G,MAAM,GAAGC,kBAAkB,CAAE/gB,KAAF,CAAjC;AACA,SAAO8gB,MAAP;AACA,CAJM;AAMA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAU/gB,KAAV,EAAkB;AAAA,MAGlDkQ,cAHkD,GAY/ClQ,KAZ+C,CAGlDkQ,cAHkD;AAAA,MAIlDkC,KAJkD,GAY/CpS,KAZ+C,CAIlDoS,KAJkD;AAAA,MAKlDpI,MALkD,GAY/ChK,KAZ+C,CAKlDgK,MALkD;AAAA,MAMlDgX,KANkD,GAY/ChhB,KAZ+C,CAMlDghB,KANkD;AAAA,MAOlDC,KAPkD,GAY/CjhB,KAZ+C,CAOlDihB,KAPkD;AAAA,MAQlDC,OARkD,GAY/ClhB,KAZ+C,CAQlDkhB,OARkD;AAAA,MASlDC,OATkD,GAY/CnhB,KAZ+C,CASlDmhB,OATkD;AAAA,MAUlDC,KAVkD,GAY/CphB,KAZ+C,CAUlDohB,KAVkD;AAAA,MAWlDhR,UAXkD,GAY/CpQ,KAZ+C,CAWlDoQ,UAXkD;AAcnD,SAAO;AACNgC,SAAK,EAAEA,KAAK,IAAI,EADV;AAENpI,UAAM,EAAEA,MAAM,IAAI,EAFZ;AAGNqX,aAAS,EAAE,CAHL;AAINC,YAAQ,EAAE,MAJJ;AAKNvX,aAAS,sBAAgBiX,KAAhB,cAA2BC,KAAK,GAAG/Q,cAAnC,4BAAqEgR,OAArE,0BAA8FC,OAA9F,uBAAoHC,KAApH,MALH;AAMNG,kBAAc,EAAEnR,UAAU,CAAC1N,CAAX,GAAe,GAAf,GAAqB,IAArB,GAA4B0N,UAAU,CAACyG,CAAX,GAAe,GAA3C,GAAiD,GAN3D;AAON2K,mBAAe,EAAEpR,UAAU,CAAC1N,CAAX,GAAe,GAAf,GAAqB;AAPhC,GAAP;AASA,CAvBM;;AAyBP,SAAS+e,oBAAT,CAA+BC,YAA/B,EAA6CC,UAA7C,EAAyDhB,QAAzD,EAAoE;AACnE,SAAOe,YAAY,GAAG,CAAEC,UAAU,GAAGD,YAAf,IAAgCf,QAAtD;AACA;;AAED,SAASiB,SAAT,CAAoB5H,MAApB,EAA6B;AAAA,MAG3BlC,eAH2B,GAOxBkC,MAPwB,CAG3BlC,eAH2B;AAAA,MAI3BkB,sBAJ2B,GAOxBgB,MAPwB,CAI3BhB,sBAJ2B;AAAA,MAK3BQ,oBAL2B,GAOxBQ,MAPwB,CAK3BR,oBAL2B;AAAA,MAM3BmH,QAN2B,GAOxB3G,MAPwB,CAM3B2G,QAN2B;AAS5B3H,wBAAsB,GAAGA,sBAAsB,IAAI,CAAnD;;AAEA,MAAKlB,eAAe,KAAK,UAAzB,EAAsC;AACrC0B,wBAAoB,GAAGR,sBAAvB;AACA;;AAED,MAAI6I,QAAQ,GAAGrT,IAAI,CAACmF,GAAL,CAAUqF,sBAAV,EAAkCQ,oBAAlC,CAAf;AAEAR,wBAAsB,GAAGA,sBAAsB,GAAG6I,QAAlD;AACArI,sBAAoB,GAAGA,oBAAoB,GAAGqI,QAA9C;;AAEA,MAAKvB,wBAAwB,EAA7B,EAAkC;AACjC,WAAO;AACNuB,cAAQ,EAAE,CADJ;AAENC,cAAQ,EAAE;AAFJ,KAAP;AAIA;;AAED,SAAO;AACND,YAAQ,EAAEA,QADJ;AAENC,YAAQ,EAAEL,oBAAoB,CAAEzI,sBAAF,EAA0BQ,oBAA1B,EAAgDmH,QAAhD;AAFxB,GAAP;AAIA;;AAED,SAASoB,aAAT,CAAwB/H,MAAxB,EAAiC;AAAA,MAG/BlC,eAH+B,GAO5BkC,MAP4B,CAG/BlC,eAH+B;AAAA,MAI/B1H,UAJ+B,GAO5B4J,MAP4B,CAI/B5J,UAJ+B;AAAA,MAK/B2I,eAL+B,GAO5BiB,MAP4B,CAK/BjB,eAL+B;AAAA,MAM/B4H,QAN+B,GAO5B3G,MAP4B,CAM/B2G,QAN+B;;AAShC,MAAK,CAAEvQ,UAAP,EAAoB;AACnBA,cAAU,GAAG;AACZ1N,OAAC,EAAE,GADS;AAEZmU,OAAC,EAAE;AAFS,KAAb;AAIA;;AAED,MAAKiB,eAAe,KAAK,SAAzB,EAAqC;AACpC,WAAO1H,UAAP;AACA;;AAED,SAAOoQ,yBAAyB,CAAEpQ,UAAF,EAAc2I,eAAd,EAA+B4H,QAA/B,CAAhC;AACA;;AAED,SAASqB,iBAAT,CAA4BhI,MAA5B,EAAoC9J,cAApC,EAAqD;AAAA,MAGnD+R,qBAHmD,GAKhDjI,MALgD,CAGnDiI,qBAHmD;AAAA,MAInD7F,eAJmD,GAKhDpC,MALgD,CAInDoC,eAJmD;AAOpD,SAAOA,eAAe,GAAG,CAAE6F,qBAAqB,GAAG7F,eAA1B,IAA8ClM,cAAvE;AACA;;AAEM,IAAM2Q,QAAQ,GAAG,SAAXA,QAAW,CAAU7G,MAAV,EAAkBkI,KAAlB,EAA0B;AAAA,MAGhDC,QAHgD,GAsB7CnI,MAtB6C,CAGhDmI,QAHgD;AAAA,MAIhDxB,QAJgD,GAsB7C3G,MAtB6C,CAIhD2G,QAJgD;AAAA,MAKhDyB,WALgD,GAsB7CpI,MAtB6C,CAKhDoI,WALgD;AAAA,MAMhDC,SANgD,GAsB7CrI,MAtB6C,CAMhDqI,SANgD;AAAA,MAQhDvK,eARgD,GAsB7CkC,MAtB6C,CAQhDlC,eARgD;AAAA,MAShD1H,UATgD,GAsB7C4J,MAtB6C,CAShD5J,UATgD;AAAA,MAUhD2I,eAVgD,GAsB7CiB,MAtB6C,CAUhDjB,eAVgD;AAAA,MAWhDC,sBAXgD,GAsB7CgB,MAtB6C,CAWhDhB,sBAXgD;AAAA,MAYhDQ,oBAZgD,GAsB7CQ,MAtB6C,CAYhDR,oBAZgD;AAAA,MAchD8I,SAdgD,GAsB7CtI,MAtB6C,CAchDsI,SAdgD;AAAA,MAehDC,YAfgD,GAsB7CvI,MAtB6C,CAehDuI,YAfgD;AAAA,MAgBhDC,cAhBgD,GAsB7CxI,MAtB6C,CAgBhDwI,cAhBgD;AAAA,MAiBhDpG,eAjBgD,GAsB7CpC,MAtB6C,CAiBhDoC,eAjBgD;AAAA,MAmBhDqG,eAnBgD,GAsB7CzI,MAtB6C,CAmBhDyI,eAnBgD;AAAA,MAoBhDC,kBApBgD,GAsB7C1I,MAtB6C,CAoBhD0I,kBApBgD;AAAA,MAqBhDT,qBArBgD,GAsB7CjI,MAtB6C,CAqBhDiI,qBArBgD;AAwBjD,MAAMU,aAAa,GAAGZ,aAAa,CAAE/H,MAAF,CAAnC;;AAEA,MAAKlC,eAAe,KAAK,QAAzB,EAAoC;AAEnC,WAAO;AACN1F,WAAK,EAAEoQ,cADD;AAENxY,YAAM,EAAEoS,eAFF;AAGNgF,WAAK,EAAEpI,sBAAsB,IAAI,CAH3B;AAINgI,WAAK,EAAE,CAJD;AAKNC,WAAK,EAAE,CALD;AAMNC,aAAO,EAAE,CANH;AAONC,aAAO,EAAE,CAPH;AAQNjR,oBAAc,EAAE,CARV;AASNE,gBAAU,EAAEuS;AATN,KAAP;AAWA;;AAED,MAAMzS,cAAc,GAAGoQ,wBAAwB,KAAK,CAAL,GAASxI,eAAe,KAAK,UAApB,GAAiC,IAAjC,GAAwC,CAAhG;;AAzCiD,mBA0ClB8J,SAAS,CAAE5H,MAAF,CA1CS;AAAA,MA0CzC6H,QA1CyC,cA0CzCA,QA1CyC;AAAA,MA0C/BC,QA1C+B,cA0C/BA,QA1C+B;;AA2CjD,MAAMc,cAAc,GAAGZ,iBAAiB,CAAEhI,MAAF,EAAU9J,cAAV,CAAxC,CA3CiD,CA6CjD;;AACA,MAAI+Q,KAAK,GAAGyB,kBAAkB,CAACG,GAAnB,GAAyBN,YAAY,CAACM,GAAlD;;AAEA,MAAK,CAAET,WAAP,EAAqB;AACpB,QAAK,CAAC,CAAEF,KAAH,IAAYK,YAAY,CAACM,GAAb,GAAmB,CAApC,EAAwC;AACvC5B,WAAK,GAAGyB,kBAAkB,CAACG,GAA3B;AACA;;AAED,QAAK,CAAEX,KAAF,IAAW,IAAIQ,kBAAkB,CAACG,GAAnB,GAAyBN,YAAY,CAACM,GAA1D,EAAgE;AAC/D5B,WAAK,GAAG,CAAR;AACA;AACD;;AAED,MAAK,CAAEoB,SAAP,EAAmB;AAElB,QAAKK,kBAAkB,CAACG,GAAnB,GAAyBN,YAAY,CAACM,GAAtC,GAA4CzG,eAAe,GAAG6F,qBAAnE,EAA2F;AAC1F,UAAK,CAAC,CAAEC,KAAR,EAAgB;AACfjB,aAAK,GAAGyB,kBAAkB,CAACG,GAAnB,GAAyBN,YAAY,CAACM,GAAtC,GAA4CzG,eAA5C,GAA8D6F,qBAAtE;AACA,OAFD,MAEO;AACNhB,aAAK,GAAG7E,eAAe,GAAG6F,qBAA1B;AACA;AACD;AACD,GAnEgD,CAsEjD;;;AACA,MAAId,OAAO,GAAGyB,cAAc,GAAGf,QAAjB,IAA8BC,QAAQ,GAAG,CAAzC,IAA+C,GAA7D,CAvEiD,CAyEjD;;AACAX,SAAO,IAAIyB,cAAc,IAAK,IAAIf,QAAQ,GAAGC,QAApB,CAAd,GAA+Ca,aAAa,CAAC9L,CAAxE;AAEA,SAAO;AACNsL,YAAQ,EAAEA,QADJ;AAENjS,kBAAc,EAAEA,cAFV;AAGNyQ,YAAQ,EAAEA,QAHJ;AAINvO,SAAK,EAAEoQ,cAAc,GAAGX,QAJlB;AAKN7X,UAAM,EAAE4Y,cAAc,GAAGf,QALnB;AAMNb,SAAK,YAAMkB,KAAK,GAAGK,YAAY,CAAClI,IAAb,GAAoBqI,kBAAkB,CAACrI,IAA1C,GAAiD,CAA5D,OANC;AAON4G,SAAK,EAAEA,KAPD;AAQNC,WAAO,EAAE,CAAE,IAAIW,QAAJ,GAAe,CAAjB,IAAuBc,aAAa,CAACjgB,CAArC,GAAyC,GAAzC,GAA+C,GARlD;AASNye,WAAO,EAAEA,OATH;AAUNC,SAAK,EAAEU,QAVD;AAWN1R,cAAU,EAAEuS;AAXN,GAAP;AAaA,CAzFM;AA2FA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,CAAUR,SAAV,EAAqBtI,MAArB,EAA8B;AAErD,MAAK,CAAEsI,SAAF,IAAe,CAAEtI,MAAtB,EAA+B;AAC9B,WAAO,EAAP;AACA;;AAJoD,MAOpDf,kBAPoD,GAYjDe,MAZiD,CAOpDf,kBAPoD;AAAA,MAQpDQ,gBARoD,GAYjDO,MAZiD,CAQpDP,gBARoD;AAAA,MASpD3B,eAToD,GAYjDkC,MAZiD,CASpDlC,eAToD;AAAA,MAUpDmK,qBAVoD,GAYjDjI,MAZiD,CAUpDiI,qBAVoD;AAAA,MAWpDS,kBAXoD,GAYjD1I,MAZiD,CAWpD0I,kBAXoD;AAcrD,MAAMF,cAAc,GAAGF,SAAS,CAACS,WAAjC;AACA,MAAM3G,eAAe,GAAGkG,SAAS,CAACpW,YAAlC;AACA,MAAMqW,YAAY,GAAGD,SAAS,CAACU,qBAAV,EAArB;AAEA,MAAMZ,WAAW,GAAGnJ,kBAAkB,IAAInB,eAAe,KAAK,UAA9D;AACA,MAAMuK,SAAS,GAAG5I,gBAAgB,IAAI3B,eAAe,KAAK,UAA1D;AAEA,MAAI3Q,OAAO,GAAGub,kBAAkB,CAACG,GAAnB,GAAyBN,YAAY,CAACM,GAApD;AACA,MAAIV,QAAQ,GAAG/F,eAAe,GAAG6F,qBAAjC;;AAEA,MAAKG,WAAL,EAAmB;AAClBjb,WAAO,IAAI8a,qBAAX;AACAE,YAAQ,IAAIF,qBAAZ;AACA;;AAED,MAAKI,SAAL,EAAiB;AAChBF,YAAQ,IAAIF,qBAAZ;AACA;;AAED,MAAItB,QAAQ,GAAGwB,QAAQ,IAAI,CAAZ,GAAgB,GAAhB,GAAsBhb,OAAO,GAAGgb,QAA/C;;AAEA,MAAK,CAAEC,WAAP,EAAqB;AACpBzB,YAAQ,GAAGnS,IAAI,CAACmF,GAAL,CAAU,CAAV,EAAagN,QAAb,CAAX;AACA;;AAED,MAAK,CAAE0B,SAAP,EAAmB;AAClB1B,YAAQ,GAAGnS,IAAI,CAACkF,GAAL,CAAU,CAAV,EAAaiN,QAAb,CAAX;AACA;;AAED,MAAKL,wBAAwB,EAA7B,EAAkC;AACjCK,YAAQ,GAAG,GAAX;AACA;;AAED,SAAO;AACNA,YAAQ,EAARA,QADM;AAENwB,YAAQ,EAARA,QAFM;AAGNC,eAAW,EAAXA,WAHM;AAINC,aAAS,EAATA,SAJM;AAMNE,gBAAY,EAAZA,YANM;AAONnG,mBAAe,EAAfA,eAPM;AAQNoG,kBAAc,EAAdA,cARM;AAUNP,yBAAqB,EAArBA,qBAVM;AAWNS,sBAAkB,EAAlBA;AAXM,GAAP;AAaA,CA5DM;;AA8DP,SAASO,wBAAT,GAAoC;AACnC,MAAMC,cAAc,GAAGxN,cAAc,MAAM,iBAAiB3E,MAA5D;AACA,SAAOmS,cAAc,IAAInS,MAAM,CAACoS,MAAzB,IAAmCpS,MAAM,CAACoS,MAAP,CAAcC,WAAjD,IAAgErS,MAAM,CAACsS,WAA9E;AACA;;AAEM,IAAMC,iBAAY,GAAG,SAAfA,YAAe,CAAUC,OAAV,EAAoB;AAE/C,MAAIC,aAAa,GAAG,KAApB;AACA,MAAIvB,qBAAqB,GAAGgB,wBAAwB,EAApD;AAEAM,SAAO,CAACE,IAAR,CAAc,UAAUzO,CAAV,EAAasN,SAAb,EAAyB;AACtC,QAAIoB,UAAU,GAAGC,yBAAC,CAAErB,SAAF,CAAlB;AACA,QAAIrJ,kBAAkB,GAAG,CAAC,CAAEyK,UAAU,CAACtjB,IAAX,CAAiB,cAAjB,CAA5B;AACA,QAAIqZ,gBAAgB,GAAG,CAAC,CAAEiK,UAAU,CAACtjB,IAAX,CAAiB,YAAjB,CAA1B;AACA,QAAI0X,eAAe,GAAG4L,UAAU,CAACtjB,IAAX,CAAiB,kBAAjB,CAAtB;AACA,QAAIgQ,UAAU,GAAGsT,UAAU,CAACtjB,IAAX,CAAiB,aAAjB,CAAjB;AACA,QAAI2Y,eAAe,GAAG2K,UAAU,CAACtjB,IAAX,CAAiB,mBAAjB,CAAtB;AACA,QAAI4Y,sBAAsB,GAAG0K,UAAU,CAACtjB,IAAX,CAAiB,0BAAjB,CAA7B;AACA,QAAIoZ,oBAAoB,GAAGkK,UAAU,CAACtjB,IAAX,CAAiB,wBAAjB,CAA3B;AACA,QAAIsiB,kBAAkB,GAAG;AACxBG,SAAG,EAAE,CADmB;AAExBxI,UAAI,EAAE;AAFkB,KAAzB;AAKA,QAAIL,MAAM,GAAG;AACZf,wBAAkB,EAAlBA,kBADY;AAEZQ,sBAAgB,EAAhBA,gBAFY;AAGZ3B,qBAAe,EAAfA,eAHY;AAIZmK,2BAAqB,EAArBA,qBAJY;AAKZS,wBAAkB,EAAlBA,kBALY;AAMZtS,gBAAU,EAAVA,UANY;AAOZ2I,qBAAe,EAAfA,eAPY;AAQZC,4BAAsB,EAAtBA,sBARY;AASZQ,0BAAoB,EAApBA;AATY,KAAb;AAYAkK,cAAU,CAACtjB,IAAX,CAAiB;AAChB6C,WAAK,EAAE6f,QAAQ,CAAER,SAAF,EAAatI,MAAb,CADC;AAEhBA,YAAM,EAAEA;AAFQ,KAAjB;AAKA,QAAI4J,SAAS,GAAGF,UAAU,CAACjhB,IAAX,CAAiB,sBAAjB,CAAhB;AAEAihB,cAAU,CAACtjB,IAAX,CAAiB,UAAjB,EAA6BwjB,SAA7B;;AAEA,aAASC,mBAAT,GAA+B;AAC9B,UAAIC,SAAS,GAAGtkB,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBua,MAAnB,EAA2B;AAC1CiI,6BAAqB,EAAEgB,wBAAwB;AADL,OAA3B,CAAhB;AAGA,UAAIhgB,KAAK,GAAG6f,QAAQ,CAAER,SAAF,EAAawB,SAAb,CAApB;AACAJ,gBAAU,CAACtjB,IAAX,CAAiB,OAAjB,EAA0B6C,KAA1B;AACAygB,gBAAU,CAACtjB,IAAX,CAAiB,QAAjB,EAA2B0jB,SAA3B;AACAN,mBAAa,GAAG,KAAhB;AACA;;AAEDG,6BAAC,CAAE5S,MAAF,CAAD,CAAYgT,EAAZ,CAAgB,QAAhB,EAA0BF,mBAA1B;AACAF,6BAAC,CAAE5S,MAAF,CAAD,CAAYgT,EAAZ,CAAgB,QAAhB,EAA0BF,mBAA1B;AACA,GA/CD;;AAiDA,WAASG,kBAAT,GAA8B;AAC7B,QAAK,CAAER,aAAP,EAAuB;AACtBD,aAAO,CAACE,IAAR,CAAc,UAAUzO,CAAV,EAAaiP,GAAb,EAAmB;AAChC,YAAIP,UAAU,GAAGC,yBAAC,CAAEM,GAAF,CAAlB;AACA,YAAIC,WAAW,GAAGR,UAAU,CAACtjB,IAAX,CAAiB,UAAjB,CAAlB;AACA,YAAI+jB,WAAW,GAAGD,WAAW,CAACzhB,IAAZ,CAAkB,wBAAlB,CAAlB;AACA,YAAIQ,KAAK,GAAGygB,UAAU,CAACtjB,IAAX,CAAiB,OAAjB,CAAZ;AACA,YAAI4Z,MAAM,GAAG0J,UAAU,CAACtjB,IAAX,CAAiB,QAAjB,CAAb;AAEA4Z,cAAM,GAAGxa,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwD,KAAnB,EAA0B+W,MAA1B,CAAT;AAEA,YAAIha,KAAK,GAAG6gB,QAAQ,CAAE7G,MAAF,EAAU,IAAV,CAApB;AAEAmK,mBAAW,CAACC,GAAZ,CAAiB,WAAjB,0BAAgD,CAACpkB,KAAK,CAACihB,KAAP,GAAejhB,KAAK,CAACkQ,cAArE,YAXgC,CAahC;;AACAlQ,aAAK,CAACihB,KAAN,GAAc,CAAC,CAAD,GAAKjhB,KAAK,CAACihB,KAAzB;;AAEA,YAAK,IAAIjhB,KAAK,CAAC2gB,QAAV,IAAsB3gB,KAAK,CAAC2gB,QAAN,GAAiB,CAA5C,EAAgD;AAC/C3gB,eAAK,CAACkQ,cAAN,GAAuB,IAAIlQ,KAAK,CAACkQ,cAAjC;AACA;;AAED,YAAI4Q,MAAM,GAAGC,kBAAkB,CAAE/gB,KAAF,CAA/B;AAEA0jB,kBAAU,CAACtjB,IAAX,CAAiB,UAAjB,EAA8BgkB,GAA9B,CAAmCtD,MAAnC;AACA,OAvBD;AAwBA0C,mBAAa,GAAG,IAAhB;AACA;;AACDrX,yBAAqB,CAAE6X,kBAAF,CAArB;AACA;;AAED7X,uBAAqB,CAAE6X,kBAAF,CAArB;AACA,CAtFM,C;;;;;;;;;;;;;;;IClSCK,a,GAAkBzlB,EAAE,CAACK,O,CAArBolB,a;AAER;AACA;AACA;AAEA;AAEA;;;;+BAMIzlB,EAAE,CAACK,O;IAFND,uB,4BAAAA,S;IACAgC,sB,4BAAAA,Q;IAIAI,+B,GACGxC,EAAE,CAACyC,W,CADND,iB;IAIAvC,qB,GACGD,EAAE,CAACC,O,CADNA,O;AAGD,IAAMylB,eAAe,GAAGD,aAAa,EAArC;;AAEA,IAAME,kCAAoB,GAAG,SAAvBA,oBAAuB,CAAUjiB,gBAAV,EAA6B;AAEzD;AAAA;;AAAA;;AAEC,sBAAc;AAAA;;AAAA;;AACb,iCAAUvC,SAAV;AAEA,YAAKkD,KAAL,GAAa;AACZuhB,4BAAoB,EAAE,CADV;AAEZvC,6BAAqB,EAAE,CAFX;AAGZtB,gBAAQ,EAAE;AAHE,OAAb;AAMA,YAAK8D,aAAL,GAAqB,MAAKC,WAAL,CAAiBnT,IAAjB,wCAArB;AACA,YAAKkR,eAAL,GAAuB,MAAKkC,kBAAL,EAAvB;AAVa;AAWb;;AAbF;AAAA;AAAA,2CAesB;AACpB,eAAO/Y,QAAQ,CAACC,aAAT,CAAwB,4BAAxB,KACAD,QAAQ,CAACC,aAAT,CAAwB,oCAAxB,CADA,IAEAD,QAAQ,CAACC,aAAT,CAAwB,wCAAxB,CAFA,IAGAD,QAAQ,CAACC,aAAT,CAAwB,wCAAxB,CAHP;AAIA;AApBF;AAAA;AAAA,0CAsBqB;AACnBkF,cAAM,CAAC3E,gBAAP,CAAyB,QAAzB,EAAmC,KAAKqY,aAAxC;AACA,aAAKG,oBAAL;AACA,aAAKC,iBAAL,GAAyBjmB,EAAE,CAACwB,IAAH,CAAQ0kB,SAAR,CAAmB,KAAKL,aAAxB,CAAzB;;AAEA,YAAK,KAAKhC,eAAV,EAA4B;AAC3B,eAAKA,eAAL,CAAqBrW,gBAArB,CAAuC,QAAvC,EAAiD,KAAKqY,aAAtD;AACA;;AAED,aAAKC,WAAL;AACA;AAhCF;AAAA;AAAA,6CAkCwB;AAAA;;AACtB,aAAKK,SAAL,GAAiB,EAAjB;AAEA9O,mBAAW,CAAE,KAAKqM,SAAP,EAAkB,WAAlB,CAAX,CAA2C3b,GAA3C,CAAgD,UAAAvH,KAAK,EAAI;AAExD,cAAK2R,MAAM,CAACiU,gBAAZ,EAA+B;AAC9B,gBAAMC,gBAAgB,GAAG,IAAID,gBAAJ,CAAsB,UAAAE,SAAS,EAAI;AAC3DA,uBAAS,CAAC5gB,OAAV,CAAmB,UAAA6gB,QAAQ,EAAI;AAC9B,oBAAK,YAAYA,QAAQ,CAACC,aAA1B,EAA0C;AACzC,sBAAKD,QAAQ,CAACE,QAAT,IAAqBF,QAAQ,CAACE,QAAT,CAAkBhmB,QAAlB,CAA4B,wBAA5B,CAA1B,EAAmF;AAClF,0BAAI,CAACqlB,WAAL;AACA;AACD;AACD,eAND;AAOA,aARwB,CAAzB;AAUAO,4BAAgB,CAAC/d,OAAjB,CAA0B9H,KAA1B,EAAiC;AAChCG,wBAAU,EAAE,IADoB;AAEhC+lB,+BAAiB,EAAE,IAFa;AAGhCC,uBAAS,EAAE,KAHqB;AAIhCC,qBAAO,EAAE;AAJuB,aAAjC;;AAOA,kBAAI,CAACT,SAAL,CAAergB,IAAf,CAAqBugB,gBAArB;AACA;;AAED,cAAKlU,MAAM,CAAC/J,cAAZ,EAA6B;AAE5B,gBAAMF,cAAc,GAAG,IAAIE,cAAJ,CAAoB,YAAM;AAChD,oBAAI,CAAC0d,WAAL;AACA,aAFsB,CAAvB;AAIA5d,0BAAc,CAACI,OAAf,CAAwB9H,KAAxB;;AAEA,kBAAI,CAAC2lB,SAAL,CAAergB,IAAf,CAAqBoC,cAArB;AACA;AACD,SAjCD;AAkCA;AAvEF;AAAA;AAAA,6CAyEwB;AACtBiK,cAAM,CAAC0U,mBAAP,CAA4B,QAA5B,EAAsC,KAAKhB,aAA3C;AACA,aAAKM,SAAL,CAAezgB,OAAf,CAAwB,UAAAuD,QAAQ;AAAA,iBAAIA,QAAQ,CAACT,UAAT,EAAJ;AAAA,SAAhC;AACA,aAAKyd,iBAAL;;AAEA,YAAK,KAAKpC,eAAV,EAA4B;AAC3B,eAAKA,eAAL,CAAqBgD,mBAArB,CAA0C,QAA1C,EAAoD,KAAKhB,aAAzD;AACA;AACD;AAjFF;AAAA;AAAA,oCAmFe;AACb,YAAMnC,SAAS,GAAG,KAAKA,SAAvB;AACA,YAAML,qBAAqB,GAAG,KAAKQ,eAAL,CAAqBvW,YAAnD;AACA,YAAMwW,kBAAkB,GAAG,KAAKD,eAAL,CAAqBO,qBAArB,EAA3B;AAEA,YAAMhJ,MAAM,GAAGxa,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmB,KAAKO,KAAL,CAAWT,UAA9B,EAA0C;AACxDmjB,4BAAkB,EAAlBA,kBADwD;AAExDT,+BAAqB,EAArBA;AAFwD,SAA1C,CAAf;AAKA,aAAKyD,QAAL,CAAe5C,QAAQ,CAAER,SAAF,EAAatI,MAAb,CAAvB;AACA;AA9FF;AAAA;AAAA,wCAgGmB;AAAA,YAETza,UAFS,GAEM,KAAKS,KAFX,CAETT,UAFS;AAAA,YAGTuY,eAHS,GAGWvY,UAHX,CAGTuY,eAHS;;AAKjB,YAAK,CAAE,KAAK2K,eAAP,IAA0B,CAAE,KAAKH,SAAtC,EAAkD;AACjD,iBAAO,EAAP;AACA;;AAED,YAAMrf,KAAK,GAAG6f,QAAQ,CAAE,KAAKR,SAAP,EAAkB9iB,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmB,KAAKwD,KAAxB,EAA+B1D,UAA/B,CAAlB,CAAtB;AACA,YAAMya,MAAM,GAAGxa,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBwD,KAAnB,EAA0B1D,UAA1B,CAAf;AACA,YAAMuhB,MAAM,GAAGF,SAAS,CAAE5G,MAAF,CAAxB;AAEA,eAAO8G,MAAP;AACA;AA9GF;AAAA;AAAA,+BAgHU;AAAA;;AAER,eACC,yCAAC,sBAAD,QACC;AAAK,aAAG,EAAG,aAAE6E,EAAF;AAAA,mBAAY,MAAI,CAACrD,SAAL,GAAiBqD,EAA7B;AAAA;AAAX,WACC,yCAAC,eAAD,CAAiB,QAAjB;AAA0B,eAAK,EAAG;AACjC3Z,iBAAK,EAAE,KAAK4Z,eAAL,EAD0B;AAEjC3iB,iBAAK,EAAE,KAAKA,KAFqB;AAGjCqf,qBAAS,EAAE,KAAKA,SAHiB;AAIjCG,2BAAe,EAAE,KAAKA;AAJW;AAAlC,WAMC,yCAAC,gBAAD,EAAuB,KAAKziB,KAA5B,CAND,CADD,CADD,CADD;AAcA;AAhIF;;AAAA;AAAA,IAAqBhB,uBAArB;AAkIA,CApID;;AAsIA,IAAM6mB,kCAAoB,GAAG,SAAvBA,oBAAuB,CAAUvjB,gBAAV,EAA6B;AAEzD;AAAA;;AAAA;;AAEC,uBAAc;AAAA;;AAAA;;AACb,mCAAUvC,SAAV;AAEA,aAAKkD,KAAL,GAAa;AACZwV,mBAAW,EAAE;AADD,OAAb;AAIA,aAAKC,gBAAL,GAAwB,OAAKA,gBAAL,CAAsBnH,IAAtB,yCAAxB;AAPa;AAQb;;AAVF;AAAA;AAAA,mCAYeuU,KAZf,EAYsBC,GAZtB,EAYgF;AAAA;;AAAA,YAArDC,MAAqD,uEAA5C,UAAAtjB,CAAC;AAAA,iBAAIA,CAAJ;AAAA,SAA2C;AAAA,YAApCujB,QAAoC,uEAAzB,YAAM,CAAE,CAAiB;AAAA,YAAfC,KAAe,uEAAP,IAAO;AAAA,YAI5EzD,eAJ4E,GAM1E,KAAKziB,KANqE,CAG7EmmB,QAH6E,CAI5E1D,eAJ4E;AAQ9E,YAAMrc,MAAM,GAAG2f,GAAG,GAAGD,KAArB;AACA,YAAMM,QAAQ,GAAG5X,IAAI,CAAC2O,GAAL,CAAU/W,MAAV,IAAqB,IAArB,GAA4B8f,KAA7C;AACA,YAAMG,SAAS,GAAGC,IAAI,CAACC,GAAL,EAAlB;;AAEA,iBAASC,mBAAT,GAA+B;AAC9B,cAAMC,WAAW,GAAGH,IAAI,CAACC,GAAL,EAApB;AACA,cAAMG,UAAU,GAAGD,WAAW,GAAGJ,SAAjC;AACA,cAAM1F,QAAQ,GAAG+F,UAAU,GAAGN,QAA9B;AACA,cAAMO,YAAY,GAAGb,KAAK,GAAG1f,MAAM,GAAG4f,MAAM,CAAErF,QAAF,CAA5C;AAEA8B,yBAAe,CAACmE,SAAhB,GAA4BD,YAA5B;AACA;;AAEDlE,uBAAe,CAACzW,KAAhB,CAAsB6a,aAAtB,GAAsC,MAAtC;AACA,YAAMC,QAAQ,GAAGC,WAAW,CAAEP,mBAAF,EAAuB,CAAvB,CAA5B;AAEA,aAAKd,QAAL,CAAc;AACbjN,qBAAW,EAAE;AADA,SAAd;AAIA5D,kBAAU,CAAC,YAAM;AAChBmS,uBAAa,CAAEF,QAAF,CAAb;;AACA,gBAAI,CAACpB,QAAL,CAAc;AACbjN,uBAAW,EAAE;AADA,WAAd;;AAGAgK,yBAAe,CAACmE,SAAhB,GAA4Bd,KAAK,GAAG1f,MAApC;AACAqc,yBAAe,CAACzW,KAAhB,CAAsBK,cAAtB,CAAsC,gBAAtC;;AAEA,cAAK,OAAO4Z,QAAP,KAAoB,UAAzB,EAAsC;AACrCA,oBAAQ;AACR;AACD,SAXS,EAWPG,QAXO,CAAV;AAYA;AApDF;AAAA;AAAA,yCAsDoB;AAAA;;AAAA,mCAad,KAAKpmB,KAbS,CAGjBmmB,QAHiB;AAAA,YAIhB1D,eAJgB,wBAIhBA,eAJgB;AAAA,YAKhBH,SALgB,wBAKhBA,SALgB;AAAA,yDAMhBrf,KANgB;AAAA,YAOfsf,YAPe,yBAOfA,YAPe;AAAA,YAQfnG,eARe,yBAQfA,eARe;AAAA,YASf6F,qBATe,yBASfA,qBATe;AAAA,YAUfS,kBAVe,yBAUfA,kBAVe;;AAelB,YAAK,CAAEJ,SAAF,IAAe,CAAEG,eAAtB,EAAwC;AACvC;AACA;;AAED,YAAMmE,SAAS,GAAGnE,eAAe,CAACmE,SAAlC;AAEA,YAAId,KAAK,GAAGc,SAAS,GAAGrE,YAAY,CAACM,GAAzB,GAA+BH,kBAAkB,CAACG,GAAlD,GAAwDZ,qBAApE;AACA,YAAI7b,MAAM,GAAGgW,eAAe,GAAG6F,qBAA/B;;AAEA,YAAK6D,KAAK,GAAG,CAAb,EAAiB;AAChB1f,gBAAM,GAAGA,MAAM,GAAG0f,KAAlB;AACAA,eAAK,GAAG,CAAR;AACA;;AAED,YAAImB,SAAS,GAAGxE,eAAe,CAACyE,YAAhB,GAA+BzE,eAAe,CAACvW,YAA/D;AACA,YAAIib,gBAAgB,GAAGF,SAAS,IAAKnB,KAAK,GAAG1f,MAAb,CAAhC;;AAEA,YAAK+gB,gBAAgB,GAAG,CAAxB,EAA4B;AAC3B/gB,gBAAM,GAAGA,MAAM,GAAG+gB,gBAAlB;AACA;;AAED,YAAIpB,GAAG,GAAGD,KAAK,GAAG1f,MAAlB;AAEA,aAAKghB,YAAL,CAAmBR,SAAnB,EAA8Bd,KAA9B,EAAqCvG,YAArC,EAAmD,YAAM;AACxD,gBAAI,CAAC6H,YAAL,CAAmBtB,KAAnB,EAA0BC,GAA1B,EAA+B1G,cAA/B,EAA+C,YAAM,CAAE,CAAvD,EAAyD,IAAzD;AACA,SAFD,EAEG,IAFH;AAGA;AA/FF;AAAA;AAAA,+BAiGU;AACR,eACC,yCAAC,sBAAD,QACC,yCAAC,+BAAD,QACC,yCAAC,yBAAD,wBAA8B,KAAKrf,KAAnC;AAA2C,qBAAW,EAAG,KAAKiD,KAAL,CAAWwV,WAApE;AAAkF,0BAAgB,EAAG,KAAKC;AAA1G,WADD,CADD,EAIC,yCAAC,gBAAD,EAAuB,KAAK1Y,KAA5B,CAJD,CADD;AAQA;AA1GF;;AAAA;AAAA,IAAqBhB,uBAArB;AA4GA,CA9GD;;AAgHA,IAAMqoB,iCAAmB,GAAG,SAAtBA,mBAAsB,CAAU/kB,gBAAV,EAA6B;AAExD;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,+BAEU;AAAA;;AACR,eACC,yCAAC,eAAD,CAAiB,QAAjB,QACG,UAAAkS,OAAO;AAAA,iBAAI,yCAAC,gBAAD;AAAkB,oBAAQ,EAAGA;AAA7B,aAA4C,MAAI,CAACxU,KAAjD,EAAJ;AAAA,SADV,CADD;AAKA;AARF;;AAAA;AAAA,IAAqBhB,uBAArB;AAUA,CAZD;;AAcA,IAAMsoB,YAAY,GAAGzoB,qBAAO,CAAC,CAC5B0lB,kCAD4B,EAE5B8C,iCAF4B,EAG5BxB,kCAH4B,CAAD,CAA5B;AAMA;AAMeyB,8DAAf,E;;IC1SQxmB,Q,GAAQlC,EAAE,CAACmC,I,CAAXD,E;AAER,IAAM6Y,eAAO,GAAG,CACf;AACCjY,OAAK,EAAEZ,QAAE,CAAE,kBAAF,CADV;AAEC2Z,WAAS,EAAE;AAFZ,CADe,EAIZ;AACF/Y,OAAK,EAAEZ,QAAE,CAAE,qBAAF,CADP;AAEF2Z,WAAS,EAAE;AAFT,CAJY,EAOZ;AACF/Y,OAAK,EAAEZ,QAAE,CAAE,OAAF,CADP;AAEF2Z,WAAS,EAAE;AAFT,CAPY,EAUZ;AACF/Y,OAAK,EAAEZ,QAAE,CAAE,OAAF,CADP;AAEF2Z,WAAS,EAAE;AAFT,CAVY,EAaZ;AACF/Y,OAAK,EAAEZ,QAAE,CAAE,UAAF,CADP;AAEF2Z,WAAS,EAAE;AAFT,CAbY,EAgBZ;AACF/Y,OAAK,EAAEZ,QAAE,CAAE,aAAF,CADP;AAEF2Z,WAAS,EAAE;AAFT,CAhBY,EAmBZ;AACF/Y,OAAK,EAAEZ,QAAE,CAAE,SAAF,CADP;AAEF2Z,WAAS,EAAE;AAFT,CAnBY,EAsBZ;AACF/Y,OAAK,EAAEZ,QAAE,CAAE,MAAF,CADP;AAEF2Z,WAAS,EAAE;AAFT,CAtBY,CAAhB;AA4Bed,yEAAf,E;;;;;;;;;AC9BA;AACA;;AAEA,IAAM4N,0BAAY,GAAG,SAAfA,YAAe,CAAEvnB,KAAF,EAAa;AAAA,MAGhCT,UAHgC,GAK7BS,KAL6B,CAGhCT,UAHgC;AAAA,MAIhCU,aAJgC,GAK7BD,KAL6B,CAIhCC,aAJgC;AAOjC,SACC,yCAAC,YAAD;AACC,YAAQ,EAAGA,aADZ;AAEC,WAAO,EAAG0Z,qBAAO,CAAChT,GAAR,CAAa,UAAAmT,MAAM,EAAI;AAChC,uEACIA,MADJ;AAECrY,aAAK,EAAElC,UAAU,CAAEua,MAAM,CAACW,SAAT;AAFlB;AAIA,KALS;AAFX,IADD;AAWA,CAlBD;;AAoBe8M,4EAAf,E;;;0BCvBsB3oB,EAAE,CAACqC,U;IAAjB2Z,S,uBAAAA,G;IAAKD,U,uBAAAA,I;AAEN,IAAM6M,IAAI,GACb;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,kVAA9C;AAAiY,MAAI,EAAC;AAAtY,EADJ,EAEI;AAAM,GAAC,EAAC,oKAAR;AAA6K,MAAI,EAAC;AAAlL,EAFJ,CADG;AAOA,IAAMC,IAAI,GACb;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,IAAE,EAAC,OAAT;AAAiB,eAAU,OAA3B;AAAmC,WAAS,EAAC,gBAA7C;AAA8D,GAAC,EAAC,GAAhE;AAAoE,GAAC,EAAC,GAAtE;AAA0E,OAAK,EAAC,IAAhF;AAAqF,QAAM,EAAC;AAA5F,GACI;AAAM,OAAK,EAAC,IAAZ;AAAiB,QAAM,EAAC,IAAxB;AAA6B,IAAE,EAAC,IAAhC;AAAqC,MAAI,EAAC;AAA1C,EADJ,CADJ,EAII;AAAG,MAAI,EAAC;AAAR,GACI;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,+RAA9C;AAA8U,MAAI,EAAC;AAAnV,EADJ,EAEI;AAAM,GAAC,EAAC,kKAAR;AAA2K,MAAI,EAAC;AAAhL,EAFJ,CAJJ,CADG;AAYA,IAAMxZ,WAAK,GACd;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,IAAE,EAAC,kBAAT;AAA4B,WAAS,EAAC,gBAAtC;AAAuD,GAAC,EAAC,IAAzD;AAA8D,GAAC,EAAC,IAAhE;AAAqE,OAAK,EAAC,IAA3E;AAAgF,QAAM,EAAC,IAAvF;AAA4F,MAAI,EAAC;AAAjG,GACI;AAAM,MAAI,EAAC,OAAX;AAAmB,GAAC,EAAC,IAArB;AAA0B,GAAC,EAAC,IAA5B;AAAiC,OAAK,EAAC,IAAvC;AAA4C,QAAM,EAAC;AAAnD,EADJ,EAEI;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC;AAA9C,EAFJ,CADJ,EAKI;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,wRAA9C;AAAuU,MAAI,EAAC;AAA5U,EALJ,EAMI;AAAM,GAAC,EAAC,gsBAAR;AAAysB,MAAI,EAAC,OAA9sB;AAAstB,MAAI,EAAC;AAA3tB,EANJ,EAOI;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,oOAA9C;AAAmR,MAAI,EAAC;AAAxR,EAPJ,CADG;AAYA,IAAMyZ,SAAS,GAClB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,IAAE,EAAC,OAAT;AAAiB,eAAU,OAA3B;AAAmC,WAAS,EAAC,gBAA7C;AAA8D,GAAC,EAAC,GAAhE;AAAoE,GAAC,EAAC,GAAtE;AAA0E,OAAK,EAAC,IAAhF;AAAqF,QAAM,EAAC;AAA5F,GACI;AAAM,OAAK,EAAC,IAAZ;AAAiB,QAAM,EAAC,IAAxB;AAA6B,IAAE,EAAC,IAAhC;AAAqC,MAAI,EAAC;AAA1C,EADJ,CADJ,EAII;AAAG,MAAI,EAAC;AAAR,GACI;AAAM,GAAC,EAAC,6HAAR;AAAsI,MAAI,EAAC;AAA3I,EADJ,EAEI;AAAM,GAAC,EAAC,sMAAR;AAA+M,MAAI,EAAC;AAApN,EAFJ,EAGI;AAAM,GAAC,EAAC,wMAAR;AAAiN,MAAI,EAAC;AAAtN,EAHJ,EAII;AAAM,GAAC,EAAC,yNAAR;AAAkO,MAAI,EAAC;AAAvO,EAJJ,EAKI;AAAM,GAAC,EAAC,mPAAR;AAA4P,MAAI,EAAC;AAAjQ,EALJ,EAMI;AAAM,GAAC,EAAC,6OAAR;AAAsP,MAAI,EAAC;AAA3P,EANJ,CAJJ,CADG;AAgBA,IAAMC,QAAQ,GACjB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,IAAE,EAAC,OAAT;AAAiB,eAAU,OAA3B;AAAmC,WAAS,EAAC,gBAA7C;AAA8D,GAAC,EAAC,GAAhE;AAAoE,GAAC,EAAC,GAAtE;AAA0E,OAAK,EAAC,IAAhF;AAAqF,QAAM,EAAC;AAA5F,GACI;AAAM,GAAC,EAAC,mHAAR;AAA4H,MAAI,EAAC;AAAjI,EADJ,CADJ,EAII;AAAG,MAAI,EAAC;AAAR,GACI;AAAM,GAAC,EAAC,kHAAR;AAA2H,MAAI,EAAC;AAAhI,EADJ,EAEI;AAAM,GAAC,EAAC,0KAAR;AAAmL,MAAI,EAAC;AAAxL,EAFJ,EAGI;AAAM,GAAC,EAAC,wmBAAR;AAAinB,MAAI,EAAC;AAAtnB,EAHJ,CAJJ,CADG;AAaA,IAAMC,SAAS,GAClB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,8tBAA9C;AAA6wB,MAAI,EAAC;AAAlxB,EADJ,CADG;AAOA,IAAMC,WAAW,GACpB,yCAAC,SAAD;AAAK,OAAK,EAAC,4BAAX;AAAwC,OAAK,EAAC,IAA9C;AAAmD,QAAM,EAAC,IAA1D;AAA+D,SAAO,EAAC;AAAvE,GACI,yCAAC,UAAD;AAAM,MAAI,EAAC,MAAX;AAAkB,GAAC,EAAC;AAApB,EADJ,EAEI,yCAAC,UAAD;AAAM,GAAC,EAAC;AAAR,EAFJ,CADG;AAOA,IAAMC,WAAW,GACpB,yCAAC,SAAD;AAAK,OAAK,EAAC,4BAAX;AAAwC,OAAK,EAAC,IAA9C;AAAmD,QAAM,EAAC,IAA1D;AAA+D,SAAO,EAAC;AAAvE,GACI,yCAAC,UAAD;AAAM,MAAI,EAAC,MAAX;AAAkB,GAAC,EAAC;AAApB,EADJ,EAEI,yCAAC,UAAD;AAAM,GAAC,EAAC;AAAR,EAFJ,CADG;AAQA,IAAMC,QAAQ,GACjB,yCAAC,SAAD;AAAK,OAAK,EAAC,4BAAX;AAAwC,OAAK,EAAC,IAA9C;AAAmD,QAAM,EAAC,IAA1D;AAA+D,SAAO,EAAC;AAAvE,GACI,yCAAC,UAAD;AAAM,MAAI,EAAC,MAAX;AAAkB,GAAC,EAAC;AAApB,EADJ,EAEI,yCAAC,UAAD;AAAM,GAAC,EAAC;AAAR,EAFJ,CADG;AAOA,IAAMC,SAAS,GAClB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,GAAC,EAAC,sRAAR;AAA+R,MAAI,EAAC;AAApS,EADJ,EAEI;AAAM,GAAC,EAAC,mHAAR;AAA4H,MAAI,EAAC;AAAjI,EAFJ,CADG;AAOA,IAAMC,MAAM,GACf;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,GAAC,EAAC,gQAAR;AAAyQ,MAAI,EAAC;AAA9Q,EADJ,CADG;AAMA,IAAMC,IAAI,GACb;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACI;AAAM,GAAC,EAAC,6SAAR;AAAsT,MAAI,EAAC;AAA3T,EADJ,EAEI;AAAM,GAAC,EAAC,kQAAR;AAA2Q,MAAI,EAAC;AAAhR,EAFJ,EAGI;AAAM,GAAC,EAAC,8CAAR;AAAuD,MAAI,EAAC;AAA5D,EAHJ,CADG;AAQA,IAAMvhB,GAAG,GACf;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,OAAK,EAAC,4BAAtD;AAAmF,MAAI,EAAC;AAAxF,GACC;AACC,MAAI,EAAC,SADN;AAEC,UAAQ,EAAC,SAFV;AAGC,GAAC,EAAC,8PAHH;AAIC,UAAQ,EAAC;AAJV,EADD,CADM;AAWA,IAAMwhB,YAAY,GACxB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,OAAK,EAAC,4BAAtD;AAAmF,MAAI,EAAC;AAAxF,GACC;AACC,MAAI,EAAC,SADN;AAEC,UAAQ,EAAC,SAFV;AAGC,GAAC,EAAC,kFAHH;AAIC,UAAQ,EAAC;AAJV,EADD,CADM;AAWA,IAAMC,QAAQ,GACpB;AAAK,OAAK,EAAC,4BAAX;AAAwC,OAAK,EAAC,IAA9C;AAAmD,QAAM,EAAC,IAA1D;AAA+D,MAAI,EAAC,MAApE;AAA2E,SAAO,EAAC;AAAnF,GACC;AACC,MAAI,EAAC,SADN;AAEC,UAAQ,EAAC,SAFV;AAGC,GAAC,EAAC,kZAHH;AAIC,UAAQ,EAAC;AAJV,EADD,CADM;AAWA,IAAMC,MAAM,GAClB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,MAAI,EAAC,MAAjC;AAAwC,OAAK,EAAC;AAA9C,GACC;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,wXAA9C;AAAua,MAAI,EAAC;AAA5a,EADD,CADM;AAMA,IAAMC,IAAI,GAChB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,MAAI,EAAC,MAAjC;AAAwC,OAAK,EAAC;AAA9C,GACC;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,8SAA9C;AAA6V,MAAI,EAAC;AAAlW,EADD,CADM;AAOA,IAAMC,UAAU,GACtB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,MAAI,EAAC,MAAjC;AAAwC,OAAK,EAAC;AAA9C,GACC;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,6cAA9C;AAA4f,MAAI,EAAC;AAAjgB,EADD,CADM;AAMA,IAAMC,SAAS,GACrB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,MAAI,EAAC,MAAjC;AAAwC,OAAK,EAAC;AAA9C,GACC;AAAG,UAAQ,EAAC;AAAZ,GACC;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AACM,GAAC,EAAC,sZADR;AAEM,MAAI,EAAC;AAFX,EADD,CADD,EAMC,uDACC;AAAU,IAAE,EAAC;AAAb,GACC;AAAM,MAAI,EAAC,MAAX;AAAkB,GAAC,EAAC;AAApB,EADD,CADD,CAND,CADM;AAeA,IAAMC,WAAW,GACvB;AAAK,OAAK,EAAC,KAAX;AAAiB,QAAM,EAAC,IAAxB;AAA6B,SAAO,EAAC,YAArC;AAAkD,MAAI,EAAC,MAAvD;AAA8D,OAAK,EAAC;AAApE,GACC;AAAM,GAAC,EAAC,4jBAAR;AAAqkB,MAAI,EAAC;AAA1kB,EADD,EAEC;AAAM,GAAC,EAAC,uLAAR;AAAgM,MAAI,EAAC;AAArM,EAFD,CADM;AAOA,IAAMC,IAAI,GAChB;AAAK,OAAK,EAAC,IAAX;AAAgB,QAAM,EAAC,IAAvB;AAA4B,SAAO,EAAC,WAApC;AAAgD,MAAI,EAAC,MAArD;AAA4D,OAAK,EAAC;AAAlE,GACC;AAAM,GAAC,EAAC,IAAR;AAAa,OAAK,EAAC,IAAnB;AAAwB,QAAM,EAAC,IAA/B;AAAoC,IAAE,EAAC,IAAvC;AAA4C,WAAS,EAAC,kBAAtD;AAAyE,MAAI,EAAC;AAA9E,EADD,EAEC;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,+jBAA9C;AAA8mB,MAAI,EAAC;AAAnnB,EAFD,CADM;AAOA,IAAMC,aAAO,GAChB;AAAK,SAAO,EAAC,WAAb;AAAyB,MAAI,EAAC,MAA9B;AAAqC,OAAK,EAAC;AAA3C,GACI;AAAM,UAAQ,EAAC,SAAf;AAAyB,UAAQ,EAAC,SAAlC;AAA4C,GAAC,EAAC,6iBAA9C;AAA4lB,MAAI,EAAC;AAAjmB,EADJ,CADG,C;;;;;;;;;;ACjMP;;;AAGA;AAEA;;;;IAGQC,E,GAAOhqB,EAAE,CAACmC,I,CAAV6nB,E;IACAC,O,GAAYjqB,EAAE,CAACqC,U,CAAf4nB,O;IACAC,iB,GAAsBlqB,EAAE,CAACmqB,Q,CAAzBD,iB;IACAxnB,2C,GAAe1C,EAAE,CAACwB,I,CAAlBkB,U;kDACwC1C,EAAE,CAACC,O;IAA3CA,wC,+CAAAA,O;IAASF,2D,+CAAAA,0B;IACT0lB,8C,GAAkBzlB,EAAE,CAACK,O,CAArBolB,a;;gEACaA,8CAAa,CAAE;AACnC/kB,MAAI,EAAE,EAD6B;AAEnC4N,YAAU,EAAE,KAFuB;AAGnC8b,gBAAc,EAAE,IAHmB;AAInCC,mBAAiB,EAAE,6BAAM,CAAE,CAJQ;AAKnC/oB,UAAQ,EAAE;AALyB,CAAF,C;IAA1BgpB,yC,6DAAAA,Q;;AAQR,IAAMC,yBAAyB,GAAG;AACjCtG,KAAG,EAAE;AACJvH,QAAI,EAAE8N,QADF;AAEJpjB,SAAK,EAAE4iB,EAAE,CAAE,sBAAF,EAA0B,kCAA1B;AAFL,GAD4B;AAKjCS,QAAM,EAAE;AACP/N,QAAI,EAAE8N,WADC;AAEPpjB,SAAK,EAAE4iB,EAAE,CAAE,yBAAF,EAA6B,kCAA7B;AAFF,GALyB;AASjCU,QAAM,EAAE;AACPhO,QAAI,EAAE8N,WADC;AAEPpjB,SAAK,EAAE4iB,EAAE,CAAE,yBAAF,EAA6B,kCAA7B;AAFF;AATyB,CAAlC;AAeA,IAAMW,gBAAgB,GAAG,CAAE,KAAF,EAAS,QAAT,EAAmB,QAAnB,CAAzB;AACA,IAAMC,eAAe,GAAG,KAAxB;AAEO,SAASC,6BAAT,OAAwG;AAAA,MAA9DC,WAA8D,QAA9DA,WAA8D;AAAA,MAAjDjoB,KAAiD,QAAjDA,KAAiD;AAAA,MAA1CmY,QAA0C,QAA1CA,QAA0C;AAAA,2BAAhC+P,QAAgC;AAAA,MAAhCA,QAAgC,8BAArBJ,gBAAqB;;AAC9G,WAASK,YAAT,CAAuBC,KAAvB,EAA+B;AAC9B,WAAO;AAAA,aAAMjQ,QAAQ,CAAEnY,KAAK,KAAKooB,KAAV,GAAkBC,SAAlB,GAA8BD,KAAhC,CAAd;AAAA,KAAP;AACA;;AAED,MAAME,eAAe,GAAGZ,yBAAyB,CAAE1nB,KAAF,CAAjD;AACA,MAAMuoB,uBAAuB,GAAGb,yBAAyB,CAAEK,eAAF,CAAzD;AAEA,SACC,yCAAC,OAAD;AACC,eAAW,EAAGE,WADf;AAEC,QAAI,EAAGK,eAAe,GAAGA,eAAe,CAACzO,IAAnB,GAA0B0O,uBAAuB,CAAC1O,IAFzE;AAGC,SAAK,EAAGsN,EAAE,CAAE,kBAAF,EAAsB,wCAAtB,CAHX;AAIC,YAAQ,EACPe,QAAQ,CAAChjB,GAAT,CAAc,UAAEsjB,OAAF,EAAe;AAC5B,6GACId,yBAAyB,CAAEc,OAAF,CAD7B;AAEC3e,gBAAQ,EAAE7J,KAAK,KAAKwoB,OAFrB;AAGCrjB,eAAO,EAAEgjB,YAAY,CAAEK,OAAF;AAHtB;AAKA,KAND;AALF,IADD;AAgBA,C,CAED;;AACA,IAAMC,qDAAoB,GAAG,SAAvBA,oBAAuB,CAAEC,iBAAF;AAAA,SAAyBxrB,2DAA0B,CAAE,UAAEiE,iBAAF,EAAyB;AAC1G,WAAO,UAAE5C,KAAF;AAAA,aACN,yCAAC,yCAAD,QACG,UAAEwU,OAAF;AAAA,eACD,yCAAC,iBAAD,wBACMxU,KADN,EAEMmqB,iBAAiB,CAAE3V,OAAF,EAAWxU,KAAX,CAFvB,EADC;AAAA,OADH,CADM;AAAA,KAAP;AAUA,GAX+E,EAW7E,sBAX6E,CAAnD;AAAA,CAA7B;AAaA;;;;;AAGenB,6GAAO,CACrBqrB,qDAAoB,CAAE,iBAAoB;AAAA,MAAhBhqB,QAAgB,SAAhBA,QAAgB;AACzC,SAAO;AAAEA,YAAQ,EAARA;AAAF,GAAP;AACA,CAFmB,CADC,EAIrB4oB,iBAAiB,CAAE;AAAEsB,iBAAe,EAAE;AAAnB,CAAF,CAJI,EAKrB9oB,2CAAU,CAAE,UAAEnB,MAAF,SAA0D;AAAA,MAA9CD,QAA8C,SAA9CA,QAA8C;AAAA,MAApCkqB,eAAoC,SAApCA,eAAoC;AAAA,MAAnBV,WAAmB,SAAnBA,WAAmB;;AAAA,gBACvBvpB,MAAM,CAAE,mBAAF,CADiB;AAAA,MAC7DkqB,oBAD6D,WAC7DA,oBAD6D;AAAA,MACvClnB,WADuC,WACvCA,WADuC;;AAErE,SAAO;AACNumB,eAAW,EAAEA,WAAW,IAAI,CAAEU,eAAjB,IACZ,CAAEjnB,WAAW,GAAGmnB,eAAhB,IACAD,oBAAoB,CAAEnqB,QAAF;AAHf,GAAP;AAMA,CARS,CALW,CAAP,CAcZupB,6BAdY,CAAf,E;;;;;;;;;;;;;;;;;;ACnFA;;;IAGQ3oB,gB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGP9B,yB,GACGJ,EAAE,CAACK,O,CADND,S;IAIAurB,gB,GACG3rB,EAAE,CAACyC,W,CADNkpB,gB;AAGD,IAAMC,mBAAmB,GAAG,CAAE,OAAF,CAA5B;;AAEA,IAAMC,kCAAkB,GAAG,SAArBA,kBAAqB,CAAUzqB,KAAV,EAAkB;AAAA,MAG1C0qB,aAH0C,GAKxC1qB,KALwC,CAE3CT,UAF2C,CAG1CmrB,aAH0C;AAO5C,MAAMC,SAAS,GAAG,CAAC,CAAED,aAAa,CAACtkB,MAAnC;;AAEA,WAASwkB,eAAT,CAA0BC,gBAA1B,EAA6C;AAC5C,QAAMC,QAAQ,GAAGD,gBAAgB,CAAClkB,GAAjB,CAAsB,UAAEokB,KAAF,EAASvmB,KAAT,EAAoB;AAC1D,aAAO5F,EAAE,CAACosB,UAAH,CAAe;AAAEC,YAAI,EAAE,kBAAkBF,KAAK,CAAC/Y;AAAhC,OAAf,EAAsDN,IAAtD,CAA4D,UAAEwZ,QAAF,EAAgB;AAClFL,wBAAgB,CAAErmB,KAAF,CAAhB,iEAAiC0mB,QAAjC,GAA8CH,KAA9C;AACA,OAFM,CAAP;AAGA,KAJgB,CAAjB;AAMAI,WAAO,CAACC,GAAR,CAAaN,QAAb,EAAwBpZ,IAAxB,CAA8B,YAAM;AACnC1R,WAAK,CAACC,aAAN,CAAqB;AAAEyqB,qBAAa,EAAEG,gBAAgB,CAAC1iB,MAAjB,CAAyB,UAAE4iB,KAAF,EAAa;AAC3E,iBAAO,CAAC,CAAEA,KAAK,CAAC/Y,EAAT,IAAe,CAAC,CAAE+Y,KAAK,CAAC1Y,KAAxB,IAAiC,CAAC,CAAE0Y,KAAK,CAAC1Y,KAAN,CAAYC,KAAhD,IAAyD,CAAC,CAAEyY,KAAK,CAAC1Y,KAAN,CAAYC,KAAZ,CAAkBL,GAArF;AACA,SAFqC;AAAjB,OAArB;AAGA,KAJD;AAKA;;AAED,SACC,yCAAC,gBAAD;AACC,gBAAY,EAAG0Y,SADhB;AAEC,aAAS,EAAC,EAFX;AAGC,UAAM,EAAG;AACR3kB,WAAK,EAAE,EADC;AAERqlB,kBAAY,EAAEvqB,gBAAE,CAAE,iEAAF,EAAqE,eAArE;AAFR,KAHV;AAOC,YAAQ,EAAG8pB,eAPZ;AAQC,UAAM,EAAC,SARR;AASC,gBAAY,EAAGJ,mBAThB;AAUC,YAAQ,MAVT;AAWC,SAAK,EAAGG,SAAS,GAAGD,aAAH,GAAmBZ;AAXrC,IADD;AAeA,CAtCD;;IAwCMwB,8B;;;;;;;;;;;;;6BAEI;AAAA,wBAMJ,KAAKtrB,KAND;AAAA,UAGP0qB,aAHO,eAGPA,aAHO;AAAA,UAIPa,QAJO,eAIPA,QAJO;AAAA,UAKPC,aALO,eAKPA,aALO;AAQR,aACC;AAAI,iBAAS,EAAC;AAAd,SACGd,aAAa,CAAC/jB,GAAd,CAAmB,UAAE8kB,GAAF,EAAOjnB,KAAP,EAAkB;AACtC,YAAMgT,OAAO,GAAG,CACf,oCADe,CAAhB;;AAIA,YAAK+T,QAAQ,KAAK/mB,KAAlB,EAA0B;AACzBgT,iBAAO,CAAC9S,IAAR,CAAc,4CAAd;AACA;;AAED,YAAIgO,SAAS,GAAG,KAAhB;;AAEA,YAAK,YAAY+Y,GAAG,CAAC9rB,IAArB,EAA4B;AAAA;;AAC3B+S,mBAAS,GAAG+Y,GAAH,aAAGA,GAAH,qCAAGA,GAAG,CAAE9Y,KAAR,+CAAG,WAAY+Y,GAAxB;AACAlU,iBAAO,CAAC9S,IAAR,CAAc,2CAAd;AACA,SAHD,MAGO;AAAA;;AACNgO,mBAAS,GAAG,CAAA+Y,GAAG,SAAH,IAAAA,GAAG,WAAH,0BAAAA,GAAG,CAAEpZ,KAAL,mFAAYU,eAAZ,gFAA6Bd,GAA7B,MAAoCwZ,GAApC,aAAoCA,GAApC,sCAAoCA,GAAG,CAAEpZ,KAAzC,yEAAoC,YAAYQ,gBAAhD,0DAAoC,sBAA8BZ,GAAlE,MAAyEwZ,GAAzE,aAAyEA,GAAzE,sCAAyEA,GAAG,CAAEpZ,KAA9E,yEAAyE,YAAYO,eAArF,0DAAyE,sBAA6BX,GAAtG,CAAZ;AACA;;AAED,eACC;AAAI,aAAG,EAAGzN,KAAV;AAAkB,iBAAO,EAAG,mBAAM;AAAEgnB,yBAAa,CAAEhnB,KAAF,CAAb;AAAyB;AAA7D,WACC;AAAK,mBAAS,EAAGgT,OAAO,CAACH,IAAR,CAAc,GAAd;AAAjB,WACC;AAAK,aAAG,EAAG3E,SAAX;AAAuB,aAAG,EAAC;AAA3B,UADD,CADD,CADD;AAOA,OAzBC,CADH,CADD;AA8BA;;;;EAxC2B1T,yB;;;;;;;;;;;;;;;ICvDrBA,yB,GAAcJ,EAAE,CAACK,O,CAAjBD,S;;IAEF2sB,S;;;;;AAEL,gBAAa3rB,KAAb,EAAqB;AAAA;;AAAA;;AACpB,+BAAUD,SAAV;AAEA,UAAKkD,KAAL,GAAa;AACZuD,eAAS,EAAExG,KAAK,CAAC4E,QAAN,CAAe,CAAf,EAAkB5E,KAAlB,CAAwB0B;AADvB,KAAb;AAHoB;AAMpB;;;;mCAEc6E,G,EAAK;AACnB,WAAKmf,QAAL,CAAc;AAAElf,iBAAS,EAAED;AAAb,OAAd;AACA;;;6BAEQ;AAAA,UAGN3B,QAHM,GAQJ,IARI,CAEP5E,KAFO,CAGN4E,QAHM;AAAA,UAMN4B,SANM,GAQJ,IARI,CAKPvD,KALO,CAMNuD,SANM;AAUR,UAAMolB,cAAc,GAAG,KAAKA,cAAL,CAAoBra,IAApB,CAA0B,IAA1B,CAAvB;AAEA,aACC;AAAK,iBAAS,EAAC;AAAf,SACC;AAAI,iBAAS,EAAC;AAAd,SACG3M,QAAQ,CAAC+B,GAAT,CAAa,UAACyB,KAAD,EAAW;AAAA,YACjB1G,KADiB,GACP0G,KAAK,CAACpI,KADC,CACjB0B,KADiB;AAGzB,eACC,yCAAC,QAAD;AACC,mBAAS,EAAE8E,SADZ;AAEC,aAAG,EAAE9E,KAFN;AAGC,eAAK,EAAEA,KAHR;AAIC,iBAAO,EAAEkqB;AAJV,UADD;AAQA,OAXC,CADH,CADD,EAeC;AAAK,iBAAS,EAAC;AAAf,SACGhnB,QAAQ,CAAC+B,GAAT,CAAa,UAACyB,KAAD,EAAW;AACzB,YAAIA,KAAK,CAACpI,KAAN,CAAY0B,KAAZ,KAAsB8E,SAA1B,EAAqC,OAAOsjB,SAAP;AACrC,eAAO1hB,KAAK,CAACpI,KAAN,CAAY4E,QAAnB;AACA,OAHC,CADH,CAfD,CADD;AAwBA;;;;EAlDiB5F,yB;;IAqDb6sB,Q;;;;;;;;;;;;;8BAEK;AAAA,wBACkB,KAAK7rB,KADvB;AAAA,UACD0B,KADC,eACDA,KADC;AAAA,UACMkF,OADN,eACMA,OADN;AAETA,aAAO,CAAClF,KAAD,CAAP;AACA;;;6BAEQ;AAAA,yBAIJ,KAAK1B,KAJD;AAAA,UAEPwG,SAFO,gBAEPA,SAFO;AAAA,UAGP9E,KAHO,gBAGPA,KAHO;AAMR,UAAMkF,OAAO,GAAG,KAAKA,OAAL,CAAa2K,IAAb,CAAmB,IAAnB,CAAhB;AAEA,UAAI1P,SAAS,GAAG,gBAAhB;;AAEA,UAAI2E,SAAS,KAAK9E,KAAlB,EAAyB;AACxBG,iBAAS,IAAI,yBAAb;AACA;;AAED,aACC;AACC,iBAAS,EAAEA,SADZ;AAEC,eAAO,EAAG+E;AAFX,SAIElF,KAJF,CADD;AAQA;;;;EA7BgB1C,yB;;;;;;;;;;ACvDlB;IAGCyG,e,GACG7G,EAAE,CAACK,O,CADNwG,Q;IAIAyJ,a,GACGtQ,EAAE,CAACqC,U,CADNiO,M;;AAGD,IAAM4c,aAAM,GAAG,SAATA,MAAS,CAAE9rB,KAAF,EAAa;AAAA,MAG1BgS,EAH0B,GAMvBhS,KANuB,CAG1BgS,EAH0B;AAAA,MAI1B+Z,OAJ0B,GAMvB/rB,KANuB,CAI1B+rB,OAJ0B;AAAA,MAK1BC,YAL0B,GAMvBhsB,KANuB,CAK1BgsB,YAL0B;;AAAA,kBAQGvmB,eAAQ,CAAEwmB,mBAAO,CAACriB,GAAR,CAAaoI,EAAb,CAAF,CARX;AAAA;AAAA,MAQnBka,MARmB;AAAA,MAQXC,SARW;;AAU3B,MAAMvlB,OAAO,GAAG,SAAVA,OAAU,GAAM;AACrBqlB,uBAAO,CAAC7gB,GAAR,CAAa4G,EAAb,EAAiB,IAAjB,EAAuB;AAAEoa,aAAO,EAAE;AAAX,KAAvB;AACAD,aAAS,CAAE,IAAF,CAAT;AACA,GAHD;;AAKA,MAAKD,MAAL,EAAc;AACb,WAAO,IAAP;AACA;;AAED,SACC;AAAK,aAAS,EAAG;AAAjB,KACGH,OADH,EAEC,yCAAC,aAAD;AAAQ,aAAS,MAAjB;AAAkB,WAAO,EAAGnlB;AAA5B,KAAwColB,YAAxC,CAFD,CADD;AAMA,CAzBD;;AA2BeF,wDAAf,E;;;;ACrCA;;;AAGA;AAEA;;;;IAGQhrB,e,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAE,uB,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;mCAUJpC,EAAE,CAACqC,U;IAPNorB,Y,gCAAAA,Y;IACAC,Q,gCAAAA,Q;IACApd,qB,gCAAAA,M;IACA5B,2B,gCAAAA,Y;IACAD,2B,gCAAAA,Y;IACAwb,sB,gCAAAA,O;IACA0D,W,gCAAAA,W;IAIAC,kB,GACG5tB,EAAE,CAACyC,W,CADNmrB,kB;AAGD,IAAMC,qBAAM,GAAG,CAAE;AAChBntB,MAAI,EAAEwB,eAAE,CAAE,MAAF,EAAU,eAAV,CADQ;AAEhB4rB,OAAK,EAAE;AAFS,CAAF,EAGZ;AACFptB,MAAI,EAAEwB,eAAE,CAAE,OAAF,EAAW,eAAX,CADN;AAEF4rB,OAAK,EAAE;AAFL,CAHY,CAAf;;AAQA,IAAMC,8BAAe,GAAG,SAAlBA,eAAkB,CAAU3sB,KAAV,EAAkB;AAAA,0BAOrCA,KAPqC,CAExCT,UAFwC;AAAA,MAGvCqtB,kBAHuC,qBAGvCA,kBAHuC;AAAA,MAIvCC,qBAJuC,qBAIvCA,qBAJuC;AAAA,MAMxC5sB,aANwC,GAOrCD,KAPqC,CAMxCC,aANwC;AASzC,SACC,yCAAC,uBAAD,QACC,yCAAC,2BAAD;AACC,SAAK,EAAGa,eAAE,CAAE,sBAAF,EAA0B,eAA1B,CADX;AAEC,YAAQ,EAAG8rB,kBAFZ;AAGC,WAAO,EAAG,CACT;AAAElrB,WAAK,EAAEZ,eAAE,CAAE,MAAF,EAAU,eAAV,CAAX;AAAwCW,WAAK,EAAE;AAA/C,KADS,EAET;AAAEC,WAAK,EAAEZ,eAAE,CAAE,MAAF,EAAU,eAAV,CAAX;AAAwCW,WAAK,EAAE;AAA/C,KAFS,EAGT;AAAEC,WAAK,EAAEZ,eAAE,CAAE,OAAF,EAAW,eAAX,CAAX;AAAyCW,WAAK,EAAE;AAAhD,KAHS,CAHX;AAQC,YAAQ,EAAG,kBAAEqrB,sBAAF;AAAA,aAA8B7sB,aAAa,CAAE;AAAE2sB,0BAAkB,EAAEE;AAAtB,OAAF,CAA3C;AAAA;AARZ,IADD,EAWGF,kBAAkB,KAAK,MAAvB,IAAiC,yCAAC,2BAAD;AAClC,SAAK,EAAG9rB,eAAE,CAAE,yBAAF,EAA6B,eAA7B,CADwB;AAElC,SAAK,EAAG+rB,qBAF0B;AAGlC,YAAQ,EAAG,kBAAEE,yBAAF;AAAA,aAAiC9sB,aAAa,CAAE;AAAE4sB,6BAAqB,EAAEE;AAAzB,OAAF,CAA9C;AAAA,KAHuB;AAIlC,OAAG,EAAG,CAJ4B;AAKlC,OAAG,EAAG,GAL4B;AAMlC,QAAI,EAAG;AAN2B,IAXpC,CADD;AAsBA,CA/BD;;AAiCA,IAAMC,4BAAa,GAAG,SAAhBA,aAAgB,CAAUhtB,KAAV,EAAkB;AAAA,MAGrCitB,YAHqC,GAMnCjtB,KANmC,CAEtCT,UAFsC,CAGrC0tB,YAHqC;AAAA,MAKtChtB,aALsC,GAMnCD,KANmC,CAKtCC,aALsC;AAQvC,SAAO,yCAAC,WAAD;AAAa,SAAK,EAAGa,eAAE,CAAE,eAAF,EAAmB,eAAnB;AAAvB,KACJ,yCAAC,YAAD;AACA,aAAS,EAAC,uBADV;AAEA,SAAK,EAAGmsB,YAFR;AAGA,UAAM,EAAGR,qBAHT;AAIA,YAAQ,EAAG,kBAAES,gBAAF;AAAA,aAAwBjtB,aAAa,CAAE;AAAEgtB,oBAAY,EAAEC;AAAhB,OAAF,CAArC;AAAA,KAJX;AAKA,uBAAmB,MALnB;AAMA,aAAS,EAAG;AANZ,IADI,CAAP;AAUA,CAlBD;;AAoBA,IAAMC,yBAAU,GAAG,SAAbA,UAAa,CAAUntB,KAAV,EAAkB;AAAA,MAGlCitB,YAHkC,GAMhCjtB,KANgC,CAEnCT,UAFmC,CAGlC0tB,YAHkC;AAAA,MAKnChtB,aALmC,GAMhCD,KANgC,CAKnCC,aALmC;AAQpC,SACC,yCAAC,kBAAD;AACC,aAAS,EAAC,uBADX;AAEC,SAAK,EAAGa,eAAE,CAAE,gBAAF,EAAoB,eAApB,CAFX;AAGC,iBAAa,EAAG,CACf;AACCW,WAAK,EAAEwrB,YADR;AAECrT,cAAQ,EAAE,kBAAEsT,gBAAF;AAAA,eAAwBjtB,aAAa,CAAE;AAAEgtB,sBAAY,EAAEC;AAAhB,SAAF,CAArC;AAAA,OAFX;AAGCxrB,WAAK,EAAEZ,eAAE,CAAE,eAAF,EAAmB,eAAnB;AAHV,KADe,CAHjB;AAUC,UAAM,EAAG2rB,qBAVV;AAWC,eAAW,EAAG;AAXf,KAYC,yCAAC,8BAAD,EAAsBzsB,KAAtB,CAZD,CADD;AAgBA,CAxBD;;AA0BA,IAAMotB,2BAAY,GAAG,SAAfA,YAAe,CAAUptB,KAAV,EAAkB;AACtC,SACC,yCAAC,sBAAD;AAAS,aAAS,EAAC;AAAnB,KACC,yCAAC,QAAD;AACC,YAAQ,EAAC,QADV;AAEC,aAAS,EAAC,wCAFX;AAGC,oBAAgB,EAAC,0BAHlB;AAIC,gBAAY,EAAG;AAAA,UAAIqtB,MAAJ,QAAIA,MAAJ;AAAA,UAAYC,QAAZ,QAAYA,QAAZ;AAAA,aACd,yCAAC,qBAAD;AACC,eAAO,EAAGA,QADX;AAEC,YAAI,EAAGlE,MAFR;AAGC,yBAAgBiE,MAHjB;AAIC,aAAK,EAAGvsB,eAAE,CAAE,QAAF,EAAY,eAAZ;AAJX,QADc;AAAA,KAJhB;AAYC,gBAAY,EAAG,KAZhB;AAaC,iBAAa,EAAG;AAAA,aACf,yCAAC,uBAAD,QACC,yCAAC,4BAAD,EAAoBd,KAApB,CADD,EAEC,yCAAC,8BAAD,EAAsBA,KAAtB,CAFD,CADe;AAAA;AAbjB,IADD,CADD;AAwBA,CAzBD;;;;;;;;;;;;AChHA;;;AAGA;AAEA;;;;IAGQc,mC,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACA+nB,0C,GAAYjqB,EAAE,CAACqC,U,CAAf4nB,O;IACAC,oD,GAAsBlqB,EAAE,CAACmqB,Q,CAAzBD,iB;IACAxnB,6C,GAAe1C,EAAE,CAACwB,I,CAAlBkB,U;oDACwC1C,EAAE,CAACC,O;IAA3CA,0C,iDAAAA,O;IAASF,6D,iDAAAA,0B;IACT0lB,gD,GAAkBzlB,EAAE,CAACK,O,CAArBolB,a;;kEACaA,gDAAa,CAAE;AACnC/kB,MAAI,EAAE,EAD6B;AAEnC4N,YAAU,EAAE,KAFuB;AAGnC8b,gBAAc,EAAE,IAHmB;AAInCC,mBAAiB,EAAE,6BAAM,CAAE,CAJQ;AAKnC/oB,UAAQ,EAAE;AALyB,CAAF,C;IAA1BgpB,2C,+DAAAA,Q;;AAQR,IAAMC,4DAAyB,GAAG;AACjC9O,MAAI,EAAE;AACLiB,QAAI,EAAE8N,QADD;AAELpjB,SAAK,EAAElF,mCAAE,CAAE,YAAF,EAAgB,eAAhB;AAFJ,GAD2B;AAKjCuoB,QAAM,EAAE;AACP/N,QAAI,EAAE8N,WADC;AAEPpjB,SAAK,EAAElF,mCAAE,CAAE,cAAF,EAAkB,eAAlB;AAFF,GALyB;AASjCysB,OAAK,EAAE;AACNjS,QAAI,EAAE8N,WADA;AAENpjB,SAAK,EAAElF,mCAAE,CAAE,aAAF,EAAiB,eAAjB;AAFH;AAT0B,CAAlC;AAeA,IAAMyoB,mDAAgB,GAAG,CAAE,MAAF,EAAU,QAAV,EAAoB,OAApB,CAAzB;AACA,IAAMC,kDAAe,GAAG,QAAxB;AAEO,SAASgE,+BAAT,OAA0G;AAAA,MAA9D9D,WAA8D,QAA9DA,WAA8D;AAAA,MAAjDjoB,KAAiD,QAAjDA,KAAiD;AAAA,MAA1CmY,QAA0C,QAA1CA,QAA0C;AAAA,2BAAhC+P,QAAgC;AAAA,MAAhCA,QAAgC,8BAArBJ,mDAAqB;;AAChH,WAASK,YAAT,CAAuBC,KAAvB,EAA+B;AAC9B,WAAO;AAAA,aAAMjQ,QAAQ,CAAEnY,KAAK,KAAKooB,KAAV,GAAkBC,SAAlB,GAA8BD,KAAhC,CAAd;AAAA,KAAP;AACA;;AAED,MAAME,eAAe,GAAGZ,4DAAyB,CAAE1nB,KAAF,CAAjD;AACA,MAAMuoB,uBAAuB,GAAGb,4DAAyB,CAAEK,kDAAF,CAAzD;AAEA,SACC,yCAAC,0CAAD;AACC,eAAW,EAAGE,WADf;AAEC,QAAI,EAAGK,eAAe,GAAGA,eAAe,CAACzO,IAAnB,GAA0B0O,uBAAuB,CAAC1O,IAFzE;AAGC,YAAQ,EACPqO,QAAQ,CAAChjB,GAAT,CAAc,UAAEsjB,OAAF,EAAe;AAC5B,iHACId,4DAAyB,CAAEc,OAAF,CAD7B;AAEC3e,gBAAQ,EAAE7J,KAAK,KAAKwoB,OAFrB;AAGCrjB,eAAO,EAAEgjB,YAAY,CAAEK,OAAF,CAHtB;AAICpoB,iBAAS,EAAE;AAJZ;AAMA,KAPD;AAJF,IADD;AAgBA,C,CAED;;AACA,IAAMqoB,uDAAoB,GAAG,SAAvBA,oBAAuB,CAAEC,iBAAF;AAAA,SAAyBxrB,6DAA0B,CAAE,UAAEiE,iBAAF,EAAyB;AAC1G,WAAO,UAAE5C,KAAF;AAAA,aACN,yCAAC,2CAAD,QACG,UAAEwU,OAAF;AAAA,eACD,yCAAC,iBAAD,wBACMxU,KADN,EAEMmqB,iBAAiB,CAAE3V,OAAF,EAAWxU,KAAX,CAFvB,EADC;AAAA,OADH,CADM;AAAA,KAAP;AAUA,GAX+E,EAW7E,sBAX6E,CAAnD;AAAA,CAA7B;;AAaenB,iHAAO,CACrBqrB,uDAAoB,CAAE,iBAAoB;AAAA,MAAhBhqB,QAAgB,SAAhBA,QAAgB;AACzC,SAAO;AACNA,YAAQ,EAARA;AADM,GAAP;AAGA,CAJmB,CADC,EAMrB4oB,oDAAiB,CAAE;AAAEsB,iBAAe,EAAE;AAAnB,CAAF,CANI,EAOrB9oB,6CAAU,CAAE,UAAEnB,MAAF,SAA0D;AAAA,MAA9CD,QAA8C,SAA9CA,QAA8C;AAAA,MAApCkqB,eAAoC,SAApCA,eAAoC;AAAA,MAAnBV,WAAmB,SAAnBA,WAAmB;;AAAA,gBACvBvpB,MAAM,CAAE,mBAAF,CADiB;AAAA,MAC7DkqB,oBAD6D,WAC7DA,oBAD6D;AAAA,MACvClnB,WADuC,WACvCA,WADuC;;AAErE,SAAO;AACNumB,eAAW,EAAEA,WAAW,IAAI,CAAEU,eAAjB,IACZ,CAAEjnB,WAAW,GAAGmnB,eAAhB,IACAD,oBAAoB,CAAEnqB,QAAF;AAHf,GAAP;AAMA,CARS,CAPW,CAAP,CAgBZstB,+BAhBY,CAAf,E;;;;AChFA;;;AAGA;AAEA;AACA;AAEA;;;;IAGQ1sB,mB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IACAE,2B,GAAapC,EAAE,CAACK,O,CAAhB+B,Q;uCAOJpC,EAAE,CAACqC,U;IAJNqrB,2B,oCAAAA,Q;IACApd,yB,oCAAAA,M;IACA8M,2B,oCAAAA,Q;IACA6M,0B,oCAAAA,O;;AAGD,IAAM5M,mCAAgB,GAAG,SAAnBA,gBAAmB,CAAUjc,KAAV,EAAkB;AAC1C,SACC,yCAAC,0BAAD;AAAS,aAAS,EAAC;AAAnB,KACC,yCAAC,2BAAD;AACC,YAAQ,EAAC,QADV;AAEC,aAAS,EAAC,wCAFX;AAGC,oBAAgB,EAAC,0BAHlB;AAIC,gBAAY,EAAG;AAAA,UAAIqtB,MAAJ,QAAIA,MAAJ;AAAA,UAAYC,QAAZ,QAAYA,QAAZ;AAAA,aACd,yCAAC,yBAAD;AACC,eAAO,EAAGA,QADX;AAEC,YAAI,EAAGlE,SAFR;AAGC,yBAAgBiE,MAHjB;AAIC,aAAK,EAAGvsB,mBAAE,CAAE,kBAAF,EAAsB,eAAtB;AAJX,QADc;AAAA,KAJhB;AAYC,gBAAY,EAAG,KAZhB;AAaC,iBAAa,EAAG;AAAA,aAAM,yCAAC,oCAAD,EAAwBd,KAAxB,CAAN;AAAA;AAbjB,IADD,CADD;AAmBA,CApBD;;AAsBA,IAAMytB,oCAAiB,GAAG,SAApBA,iBAAoB,CAAUztB,KAAV,EAAkB;AAAA,0BAOvCA,KAPuC,CAE1CT,UAF0C;AAAA,MAGzCmuB,mBAHyC,qBAGzCA,mBAHyC;AAAA,MAIzCC,iBAJyC,qBAIzCA,iBAJyC;AAAA,MAM1C1tB,aAN0C,GAOvCD,KAPuC,CAM1CC,aAN0C;AAS3C,SACC,yCAAC,2BAAD,QACC,yCAAC,2BAAD,QACC,uDAAQa,mBAAE,CAAE,YAAF,EAAgB,eAAhB,CAAV,CADD,EAEC,yCAAC,kCAAD;AACC,SAAK,EAAG4sB,mBADT;AAEC,YAAQ,EAAG,kBAAEE,uBAAF,EAA+B;AACzChvB,QAAE,CAACwB,IAAH,CAAQD,MAAR,CAAgB,mBAAhB,EAAsC0tB,gBAAtC,GAAyDC,WAAzD,CAAqEnnB,GAArE,CAA0E,UAAEvH,KAAF,EAAa;AACtFR,UAAE,CAACwB,IAAH,CAAQie,QAAR,CAAkB,mBAAlB,EAAwCC,qBAAxC,CAA+Dlf,KAAK,CAACc,QAArE,EAA+E;AAAE2pB,eAAK,EAAE+D;AAAT,SAA/E;AACA,eAAO,IAAP;AACA,OAHD;AAIA3tB,mBAAa,CAAE;AAAEytB,2BAAmB,EAAEE;AAAvB,OAAF,CAAb;AACA;AARF,IAFD,CADD,EAcC,yCAAC,2BAAD,QACC,uDAAQ9sB,mBAAE,CAAE,UAAF,EAAc,eAAd,CAAV,CADD,EAEC,yCAAC,gCAAD;AACC,SAAK,EAAG6sB,iBADT;AAEC,YAAQ,EAAG,kBAAEI,qBAAF;AAAA,aAA6B9tB,aAAa,CAAE;AAAE0tB,yBAAiB,EAAEI;AAArB,OAAF,CAA1C;AAAA;AAFZ,IAFD,CAdD,CADD;AAwBA,CAjCD;;;;;;AC3CA;;;AAGA;AACA;AAEA;;;;IAGQjtB,uB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAEAiP,oC,GAAkBnR,EAAE,CAACqC,U,CAArB8O,a;IAGP5P,6B,GACGvB,EAAE,CAACwB,I,CADND,M;IAIAnB,gC,GACGJ,EAAE,CAACK,O,CADND,S;AAGD,IAAMgvB,oBAAoB,GAAGlf,aAAY,CAAE,UAAU9O,KAAV,EAAkB;AAAA,MAG3DgD,QAH2D,GASxDhD,KATwD,CAG3DgD,QAH2D;AAAA,MAK1DirB,eAL0D,GASxDjuB,KATwD,CAI3DT,UAJ2D,CAK1D0uB,eAL0D;AAAA,MAO3DhuB,aAP2D,GASxDD,KATwD,CAO3DC,aAP2D;AAAA,MAQ3DiuB,gBAR2D,GASxDluB,KATwD,CAQ3DkuB,gBAR2D;;AAAA,gBAWZ/tB,6BAAM,CAAE,mBAAF,CAXM;AAAA,MAWpDS,SAXoD,WAWpDA,SAXoD;AAAA,MAWzCsU,wBAXyC,WAWzCA,wBAXyC;;AAa5D,MAAMiZ,UAAU,GAAGvtB,SAAS,GAAGuH,MAAZ,CAAoB,UAAE/I,KAAF,EAAa;AACnD,WAAOA,KAAK,CAACE,IAAN,KAAe,iBAAtB;AACA,GAFkB,CAAnB;AAIA,MAAMkF,KAAK,GAAG2pB,UAAU,CAACttB,SAAX,CAAsB,UAAAzB,KAAK;AAAA,WAAIA,KAAK,CAACc,QAAN,KAAmBgV,wBAAwB,EAA/C;AAAA,GAA3B,CAAd;AAEA,SACC1Q,KAAK,KAAK,CAAV,IACA,yCAAC,gCAAD;AAAiB,SAAK,EAAG1D,uBAAE,CAAE,YAAF;AAA3B,KACC,yCAAC,4BAAD;AAAa,SAAK,EAAGA,uBAAE,CAAE,UAAF;AAAvB,KACC,yCAAC,oCAAD;AACC,OAAG,EAAG,0BADP;AAEC,SAAK,EAAGA,uBAAE,CAAE,yBAAF,EAA6B,eAA7B,CAFX;AAGC,WAAO,EAAGmtB,eAHX;AAIC,YAAQ,EAAG,kBAAAA,eAAe,EAAI;AAAEC,sBAAgB,CAAE;AAAED,uBAAe,EAAfA;AAAF,OAAF,CAAhB;AAAyC;AAJ1E,IADD,CADD,CAFD;AAaA,CAhCwC,CAAzC;;;ACrBA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAKA;AAKA;AAEA;AAOA;AAEA;AAOA;;;;AC5CA;IAKQntB,mB,GAAOlC,EAAE,CAACmC,I,CAAVD,E;IAGPnC,6C,GACGC,EAAE,CAACC,O,CADNF,0B;IAIAG,4B,GACGF,EAAE,CAACG,K,CADND,S;IAIAkC,2B,GACGpC,EAAE,CAACK,O,CADN+B,Q;IAIAE,4B,GACGtC,EAAE,CAACqC,U,CADNC,S;AAGD,IAAMktB,cAAc,GAAG,CACtB,6BADsB,EAEtB,6BAFsB,CAAvB;AAKA,IAAMC,gBAAgB,GAAG1vB,6CAA0B,CAAC,UAAAiE,iBAAiB,EAAI;AAExE,SAAO,UAAE5C,KAAF,EAAa;AAEnB,QAAK,CAAEouB,cAAc,CAAC/uB,QAAf,CAAyBW,KAAK,CAACV,IAA/B,CAAP,EAA+C;AAC9C,aAAO,yCAAC,iBAAD,EAAwBU,KAAxB,CAAP;AACA;;AAED,WACC,yCAAC,2BAAD,QACC,yCAAC,iBAAD,EAAwBA,KAAxB,CADD,EAEC,yCAAC,sCAAD,QACC,yCAAC,4BAAD;AAAW,WAAK,EAAGc,mBAAE,CAAE,eAAF,EAAmB,eAAnB;AAArB,OACC,yCAAC,aAAD,EAAmBd,KAAnB,CADD,CADD,CAFD,CADD;AAUA,GAhBD;AAkBA,CApBkD,CAAnD;AAqBAlB,4BAAS,CAAE,kBAAF,EAAsB,+BAAtB,EAAuDuvB,gBAAvD,CAAT,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDA;AACA;AACA;AAC6C;AAC7C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;;;AAGe;AACf,SAAS,kCAAO;AAChB;AACA,GAAG;AACH;AACA,iC;;AC5B0D;AACP;;AAEnD;AACA;AACA;AACmF;AAC3B;AACxD;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,YAAY;AACxB;;AAEe,6GAA0B;AACzC;AACA,qBAAqB,aAAa;AAClC,WAAW,wCAAa,mBAAmB,sCAAQ,GAAG;AACtD;AACA,KAAK;AACL;AACA,CAAC,mBAAmB,EAAC;AACrB,iC;;;;;;;;;ACzBe,SAAS,6BAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;ACbe,SAAS,yDAA6B;AACrD;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;ACb0E;AAC3D,SAAS,+CAAwB;AAChD;AACA,eAAe,yDAA4B;AAC3C;;AAEA;AACA;;AAEA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;AClBwE;AACkB;;AAE1F,SAAS,WAAO,0BAA0B,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,SAAS,gBAAa,UAAU,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,CAAC,WAAO,+CAA+C,CAAC,6BAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,CAAC,WAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEphB;AACA;AACA;AACoC;AACpC;AACA;AACA;;AAEmD;;AAEnD;;AAEA,eAAe,oBAAoB,mDAAmD;;AAEtF;;AAEA;AACA,WAAW,mDAAmD;AAC9D;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,UAAM;AACjB,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,8CAA8C;AACzD;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,KAAC;AACZ,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,QAAI;AACf,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,oDAAoD;AAC/D;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,WAAO;AAClB,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,QAAI;AACf,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,QAAI;AACf,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,2DAA2D;AACtE;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,kBAAc;AACzB,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,2DAA2D;AACtE;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,kBAAc;AACzB,SAAS,wCAAa;AACtB;AACA;AACA,WAAW,iDAAiD;AAC5D;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,QAAI;AACf,SAAS,wCAAa;AACtB;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,YAAY,YAAY;AACxB;;AAEO,IAAI,OAAG;AACd;AACA;AACA,cAAc,+CAAwB;;AAEtC,qBAAqB,gBAAa,GAAG;AACrC,eAAe,oBAAU;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE;AACL;;;AAGA,SAAS,wCAAa;AACtB;AACA,iC;;AClImD;;AAEnD;AACA;AACA;AACkD;AAClD,wBAAwB,wCAAa,CAAC,OAAG;AACzC;AACA;AACA,CAAC,EAAE,wCAAa,CAAC,QAAI;AACrB;AACA,CAAC;AACc,yEAAiB,EAAC;AACjC,+C;;ACbe,SAAS,6DAA6B;AACrD;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;ACb0E;AAC3D,SAAS,mDAAwB;AAChD;AACA,eAAe,6DAA4B;AAC3C;;AAEA;AACA;;AAEA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;AClBwE;AACkB;;AAE1F,SAAS,aAAO,0BAA0B,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,SAAS,kBAAa,UAAU,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,CAAC,aAAO,+CAA+C,CAAC,6CAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,CAAC,aAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEphB;AACA;AACA;AAC2S;AACzQ;AAClC;AACA;AACA;AACA,aAAa,6BAA6B;AAC1C;;AAEA;AACA;AACA;AACA,aAAa,8BAA8B;AAC3C;;AAEA;AACA;AACA;AACA,aAAa,+BAA+B;AAC5C;;AAEA;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;;AAEwB;AACxB;AACA;AACA;;AAEqB;AACrB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEyB;AACzB;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB;AACA;AACA,WAAW,aAAa;AACxB;AACA,YAAY,UAAU;AACtB;;AAEyB;AACzB;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;AAEqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,YAAY,YAAY;AACxB;;AAEsB;AACtB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAE0B;AAC1B;AACA;AACA;;AAEgB;AAChB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEuB;AACvB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEyB;AACzB;AACA;AACA;;AAEqB;AACrB;AACA;AACA;;AAE+B;AAC/B;AACA;AACA;;AAE2B;AAC3B;AACA;AACA;;AAEmB;AACnB;AACA;AACA;;AAEsB;AACtB;AACA;AACA;;AAEkB;AAClB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;;AAEgB;AAChB;AACA;AACA;;AAEoB;AACpB;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,YAAY,MAAM;AAClB;;AAEO,SAAS,oBAAc;AAC9B,kFAAkF,aAAa;AAC/F;AACA;;AAEA;AACA,IAAI,2BAAQ;AACZ;AACA,gBAAgB,uCAAY;AAC5B;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEO,SAAS,4BAAsB;AACtC,qBAAqB,2BAAQ;AAC7B,QAAQ,oCAAQ;AAChB,aAAa,wCAAa;AAC1B;AACA,OAAO;AACP;;AAEA;AACA;AACA,gBAAgB,mDAAwB;;AAExC,WAAW,wCAAa,WAAW,kBAAa;AAChD;AACA,KAAK;AACL,GAAG;AACH;AACA,iC;;;;;ACvOA;AACA;AACA;AACkC;AAClC;AACA;AACA;;AAEA,IAAI,UAAO;AACX,gBAAgB,UAAO;AACvB,uBAAuB,UAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA,MAAM,oCAAQ;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,+DAA+D;AAC/D;;AAEA;AACA;AACA;;AAEA,iGAAiG;AACjG;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA,kEAAkE;AAClE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;;AAGO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB;;AAEO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEO;AACP;AACA;AACA;;AAEA,MAAM,oCAAQ;AACd;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;;AAGA,sEAAsE;AACtE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+CAA+C;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;;AAGO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oBAAoB;AACpB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP,MAAM,oCAAQ;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,SAAS;AACrB;;AAEO;AACP;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB;AACA,YAAY,MAAM;AAClB;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB;AACA,YAAY;AACZ;;AAEO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;AAEO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;AACA;AACA;AACA,+B;;ACtpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;;;AAGO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,qC;;AC7EA;AACA;AACA;AAC8C;AAC9C;AACA;AACA;;AAEoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;;;AAGO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,SAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;;AAEA,8DAA8D;;AAE9D;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA,eAAe,mCAAO;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,YAAY,MAAM;AAClB;;;AAGA;AACA;AACA;;AAEO,SAAS,aAAI;AACpB,wBAAwB,IAAa;AACrC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEO;AACP;AACA,mBAAmB,IAAa;AAChC,0CAA0C;;AAE1C;AACA,SAAS,gCAAI;AACb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEO;AACP;AACA,mBAAmB,IAAa;AAChC,0CAA0C;;AAE1C;AACA;AACA,GAAG;AACH,SAAS,iCAAK;AACd;AACA,oC;;ACrLA;AACA;AACA;AACyC;AACF;AACvC;AACA;AACA;AACA;;AAEO,IAAI,kBAAK;AAChB,aAAa,yBAAS;AACtB,YAAY,wBAAQ;AACpB;AACsB;AACtB,iC;;ACfsE;;AAEtE;AACA;AACA;AACyD;AACzD;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;;AAEe;AACf,kBAAkB,mCAAQ;AAC1B,mBAAmB,4CAAc;AACjC;AACA;;AAEA,EAAE,oCAAS;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iC;;ACrCA;AACA;AACA;AAC+D;AAC/D;AACA;AACA;;AAE+C;AAC/C;AACA,aAAa,gDAAgD;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,gCAAgC,wCAAa;AAC7C;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA,IAAI,mCAAgB;AACpB;AACA,uBAAuB,qCAAU;AACjC;AACA,yBAAyB,aAAa;;AAEtC;AACA;AACA;;AAEA;AACA;;AAEA,mCAAgB;AACD,0FAAgB,EAAC;AAChC,iC;;ACzFmD;;AAEnD;AACA;AACA;AACkD;AAClD,IAAI,WAAK,GAAG,wCAAa,CAAC,OAAG;AAC7B;AACA;AACA,CAAC,EAAE,wCAAa,CAAC,QAAI;AACrB;AACA,CAAC;AACc,6DAAK,EAAC;AACrB,iC;;ACbwE;AACF;;AAEtE,SAAS,qBAAO,0BAA0B,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,SAAS,0BAAa,UAAU,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,CAAC,qBAAO,+CAA+C,CAAC,6CAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,CAAC,qBAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEphB;AACA;AACA;AACoD;AACpD;AACA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;AACA,qDAAqD;;AAErD;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;;AAEO;AACP;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAA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,6CAAe,uDAAuD,6CAAe;AAClK,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAU;AAC3B,KAAK;AACL;;AAEA;AACA;AACA,iBAAiB,oBAAU;AAC3B,KAAK;AACL;;AAEA,oBAAoB;AACpB;;AAEe,gEAAO,EAAC;AACvB,iC;;AClD0D;AACY;AACoB;AACvC;;AAEnD;AACA;AACA;AACoC;AACpC;AACA;AACA;;AAEiE;AACH;AACjB;AACE;AACO;AACb;AACzC;AACA;AACA;;AAEiD;AACe;AACc;AAC1B;AACrB;AACS;AACyB;AACd;AAClB;AACjC,mBAAmB,wBAAsB,CAAC,iBAAe;AACzD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,UAAU;AACV;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB;;;AAGA;AACA;AACA,EAAE,oCAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,kBAAK;;AAEjC;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,IAAI,eAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mDAAwB;;AAE7C,0BAA0B,iCAAM;AAChC,mBAAmB,iCAAM;AACzB,qBAAqB,iCAAM;AAC3B,oBAAoB,iCAAM;AAC1B,yBAAyB,kBAAgB;;AAEzC,kBAAkB,mCAAQ;AAC1B,mBAAmB,4CAAc;AACjC;AACA;;AAEA,aAAa,gBAAO;AACpB;AACA;AACA,EAAE,oCAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wFAAwF;AACxF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,sBAAsB;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4GAA4G;;AAE5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;;AAEnD;AACA;AACA,0BAA0B,uCAAM;AAChC;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;AACL;;;AAGA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,kDAAU;AACd;AACA,KAAK;AACL;AACA,GAAG;AACH;;;AAGA,gBAAgB,wCAAa,CAAC,cAAoB;AAClD;AACA,GAAG,EAAE,wCAAa,CAAC,oBAAO;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,wCAAa,CAAC,wBAAsB,EAAE,sCAAQ;AACzD,iBAAiB,oBAAU;AAC3B;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK,iBAAiB,wCAAa,CAAC,WAAU,uBAAuB,wCAAa;AAClF;AACA,KAAK,EAAE,wCAAa;AACpB;AACA,KAAK,gBAAgB,wCAAa,CAAC,mBAAM;AACzC;AACA,YAAY,aAAK;AACjB;AACA,KAAK,IAAI,wCAAa;AACtB;AACA;AACA;AACA,KAAK;AACL,GAAG,GAAG,6DAA6D;AACnE;;AAEA;AACA,cAAc,wCAAa;AAC3B;;AAEA;AACA,cAAc,wCAAa,CAAC,cAAI;AAChC;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,SAAS,wCAAa;AACtB;AACA,GAAG;AACH;;AAEA,uBAAuB,eAAO;;AAE9B;AACA;AACA;AACA,SAAS,wCAAa,CAAC,cAAI;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEe,4DAAgB,EAAC;AAChC,iC;;AC5iBmD;;AAEnD;AACA;AACA;AAC4C;;AAE5C;AACA;A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A;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,wCAAa,CAAC,OAAG,EAAE,sCAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe,wCAAa,CAAC,QAAI;AACxC;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEoB;AAC/B,iC;;AC3sCwE;AACd;AACgC;;AAE1F,SAAS,YAAO,0BAA0B,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,SAAS,iBAAa,UAAU,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,CAAC,YAAO,+CAA+C,CAAC,6CAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6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;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mDAAwB;;AAE1C;AACA,aAAa,wCAAa,UAAU,sCAAQ;AAC5C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEI,sEAAU,EAAC;AAC1B,uC;;;;;;;;;AC3FwE;AACN;AACoB;AACQ;AACtB;AACZ;AACT;;AAEnD,SAAS,4BAAY,WAAW,qBAAqB,aAAa,6CAAe,kBAAkB,KAAK,yCAAyB,KAAK,iBAAiB,6CAAe,mBAAmB,yDAAyD,EAAE,OAAO,uCAAuC,EAAE,QAAQ,wDAA0B,eAAe,GAAG;;AAExV,SAAS,yCAAyB,IAAI,wEAAwE,0CAA0C,8CAA8C,MAAM,wEAAwE,GAAG,aAAa,EAAE,YAAY,cAAc,EAAE;;AAElU;AACA;AACA;AAC6B;AACqB;AACd;AACpC;AACA;AACA;;AAE+C;AACM;;AAErD,IAAI,gCAAe;AACnB,EAAE,uCAAS;;AAEX,eAAe,4BAAY;;AAE3B;AACA;;AAEA,IAAI,6CAAe;;AAEnB;AACA,uDAAuD,oDAAsB;AAC7E,yCAAyC,oDAAsB;AAC/D;AACA;;AAEA,EAAE,0CAAY;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,kCAAc;AACtB;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,wCAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO,EAAE,+BAAG;AACZ;;AAEA,yBAAyB,oBAAU;AACnC;AACA,SAAS;AACT;;AAEA,eAAe,wCAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,wCAAa;AAChC;AACA,SAAS,+BAA+B,wCAAa;AACrD;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEX,gCAAe;AACf;AACA,gCAAgC;AAChC,kCAAkC;AAClC;AACA;AACe,iGAAe,CAAC,gCAAe,CAAC,EAAC;AAChD,4C;;AC7JA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,iC;;ACxCA;AACA;AACA;AACA,WAAW,OAAO,gDAAgD;AAClE;AACA,YAAY,eAAe;AAC3B;AACe;AACf;AACA;AACA;AACA;AACA,sDAAsD,kBAAkB,gBAAgB,iBAAiB,gBAAgB,sBAAsB,oCAAoC,mCAAmC,2BAA2B,eAAe,kCAAkC;AAClS;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,yC;;ACzBA;AACA;AACA;AACe;AACf;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA,iC;;ACVA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0C;;AC1BA;AACA;AACA;AAC4C;AAC5C;AACA;AACA;;AAE2C;AACf;AACiB;AAC7C;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA,IAAI,YAAY;AAChB;;AAEA;AACA,IAAI,YAAY;AAChB;AACA;AACA;AACA;AACA;;AAEA,QAAQ;AACR;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,+CAA+C;AACjE;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAAS,kBAAK;AACrB;AACA,EAAE,KAAK;AACP,YAAY,aAAa;AACzB;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iC;;AChE0D;AACc;AACN;AACoB;AACQ;AACtB;AACZ;AACT;;AAEnD,SAAS,gCAAY,WAAW,qBAAqB,aAAa,6CAAe,kBAAkB,KAAK,6CAAyB,KAAK,iBAAiB,6CAAe,mBAAmB,yDAAyD,EAAE,OAAO,uCAAuC,EAAE,QAAQ,wDAA0B,eAAe,GAAG;;AAExV,SAAS,6CAAyB,IAAI,wEAAwE,0CAA0C,8CAA8C,MAAM,wEAAwE,GAAG,aAAa,EAAE,YAAY,cAAc,EAAE;;AAElU;AACA;AACA;AACkC;AAClC;AACA;AACA;;AAE+C;AACG;AACc;AAChE;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,YAAY,YAAY;AACxB;;AAEe,iHAA0B;AACzC;AACA,IAAI,uCAAS;;AAEb,iBAAiB,gCAAY;;AAE7B;AACA;;AAEA,MAAM,6CAAe;;AAErB;AACA,6BAA6B,oCAAQ,kBAAkB,oDAAsB;AAC7E;AACA;;AAEA,IAAI,0CAAY;AAChB;AACA;AACA;;AAEA,QAAQ,kBAAM;AACd;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,eAAe,wCAAa,mBAAmB,sCAAQ,GAAG;AAC1D;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA,GAAG,CAAC,4BAAS;AACb,CAAC,uBAAuB,EAAC;AACzB,iC;;AC1EwE;AAChB;AACgB;AACN;AACoB;AACQ;AACtB;AACZ;AACT;;AAEnD,SAAS,wBAAO,0BAA0B,gCAAgC,oCAAoC,oDAAoD,8DAA8D,gEAAgE,EAAE,EAAE,gCAAgC,EAAE,aAAa;;AAEnV,SAAS,6BAAa,UAAU,gBAAgB,sBAAsB,OAAO,uDAAuD,aAAa,CAAC,wBAAO,+CAA+C,CAAC,6CAAe,2BAA2B,EAAE,EAAE,EAAE,6CAA6C,2EAA2E,EAAE,OAAO,CAAC,wBAAO,yCAAyC,kFAAkF,EAAE,EAAE,EAAE,EAAE,eAAe;;AAEphB,SAAS,4BAAY,WAAW,qBAAqB,aAAa,6CAAe,kBAAkB,KAAK,yCAAyB,KAAK,iBAAiB,6CAAe,mBAAmB,yDAAyD,EAAE,OAAO,uCAAuC,EAAE,QAAQ,wDAA0B,eAAe,GAAG;;AAExV,SAAS,yCAAyB,IAAI,wEAAwE,0CAA0C,8CAA8C,MAAM,wEAAwE,GAAG,aAAa,EAAE,YAAY,cAAc,EAAE;;AAElU;AACA;AACA;AACwF;AACpD;AACpC;AACA;AACA;;AAEkD;AACH;AACK;AACiD;AAC5C;AACzD;AACA;AACA;;AAE4B;AACW;AACU;AACqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,+BAAc;AAClB,EAAE,uCAAS;;AAEX,eAAe,4BAAY;;AAE3B;AACA;;AAEA,IAAI,6CAAe;;AAEnB;AACA;AACA,2CAA2C,oDAAsB;AACjE,6CAA6C,oDAAsB;AACnE,uCAAuC,oDAAsB;AAC7D,qCAAqC,oDAAsB;AAC3D,qEAAqE,oDAAsB;AAC3F,mEAAmE,oDAAsB;AACzF,uDAAuD,oDAAsB;AAC7E,6DAA6D,oDAAsB;AACnF,+CAA+C,oDAAsB;AACrE,6DAA6D,oDAAsB;AACnF,+DAA+D,oDAAsB;AACrF,iEAAiE,oDAAsB;AACvF,mDAAmD,oDAAsB;AACzE,2CAA2C,oDAAsB;AACjE,6DAA6D,oDAAsB;AACnF,2DAA2D,oDAAsB;AACjF;AACA;;AAEA,EAAE,0CAAY;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,aAAc;;AAEhD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,aAAa,0CAAS;AACtB;AACA;;AAEA,aAAa,sCAAK;AAClB;AACA;;AAEA,aAAa,qCAAI;AACjB;AACA;;AAEA,aAAa,mCAAE;AACf;AACA;;AAEA,aAAa,sCAAK;AAClB;AACA;;AAEA,aAAa,qCAAI;AACjB;AACA;;AAEA,aAAa,uCAAM;AACnB;AACA;;AAEA,aAAa,sCAAK;AAClB;AACA;AACA;;AAEA;;AAEA,aAAa,uCAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAI;;AAE3B;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,wBAAwB,gCAAI;AAC5B;AACA,OAAO;;AAEP;AACA,uBAAuB,iCAAK;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uBAAuB,qCAAO;AAC9B;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,sCAAU;AAChC,OAAO;AACP;AACA,QAAQ,gCAAI;AACZ;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,aAAa,gCAAI;AACjB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,aAAa,gCAAI;AACjB;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,+CAA+C,uCAAO;AACtD;AACA,QAAQ,kCAAE,qLAAqL,kCAAE;AACjM;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uBAAuB,+BAAG;AAC1B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wCAAa,CAAC,KAAK;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,6BAAa,GAAG;AAChC;AACA,SAAS;AACT;;AAEA,aAAa,wCAAa,CAAC,WAAU;AACrC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kDAAkD,kCAAE;AACpD;AACA;AACA;AACA,oBAAoB,oBAAU;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;;;AAGA,aAAa,wCAAa,yBAAyB,wCAAa;AAChE;AACA;AACA,OAAO,UAAU,wCAAa;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO,6CAA6C,wCAAa,CAAC,gBAAe;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI,wCAAa;AACxB;AACA;AACA,OAAO,+BAA+B,kCAAE,sDAAsD,kCAAE;AAChG;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC,CAAC,4BAAS;;AAEX,+BAAc;AACd;AACA;AACA;AACA,oBAAoB,4BAAQ;AAC5B;AACA;AACA,GAAG;AACH,kCAAkC;AAClC,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,WAAW,kCAAE;AACb,aAAa,kCAAE;AACf,YAAY,kCAAE;AACd;AAC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","file":"./dist/js/editor.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 260);\n","module.exports = React;","module.exports = lodash;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","module.exports = require(\"regenerator-runtime\");\n","/**\n * External dependencies\n */\nimport memoize from 'memize';\nimport sprintfjs from 'sprintf-js';\n/**\n * Log to console, once per message; or more precisely, per referentially equal\n * argument set. Because Jed throws errors, we log these to the console instead\n * to avoid crashing the application.\n *\n * @param {...*} args Arguments to pass to `console.error`\n */\n\nvar logErrorOnce = memoize(console.error); // eslint-disable-line no-console\n\n/**\n * Returns a formatted string. If an error occurs in applying the format, the\n * original format string is returned.\n *\n * @param {string} format The format of the string to generate.\n * @param {...*} args Arguments to apply to the format.\n *\n * @see http://www.diveintojavascript.com/projects/javascript-sprintf\n *\n * @return {string} The formatted string.\n */\n\nexport function sprintf(format) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return sprintfjs.sprintf.apply(sprintfjs, [format].concat(args));\n } catch (error) {\n logErrorOnce('sprintf error: \\n\\n' + error.toString());\n return format;\n }\n}\n//# sourceMappingURL=sprintf.js.map","var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;\n\n/**\n * Operator precedence mapping.\n *\n * @type {Object}\n */\nPRECEDENCE = {\n\t'(': 9,\n\t'!': 8,\n\t'*': 7,\n\t'/': 7,\n\t'%': 7,\n\t'+': 6,\n\t'-': 6,\n\t'<': 5,\n\t'<=': 5,\n\t'>': 5,\n\t'>=': 5,\n\t'==': 4,\n\t'!=': 4,\n\t'&&': 3,\n\t'||': 2,\n\t'?': 1,\n\t'?:': 1,\n};\n\n/**\n * Characters which signal pair opening, to be terminated by terminators.\n *\n * @type {string[]}\n */\nOPENERS = [ '(', '?' ];\n\n/**\n * Characters which signal pair termination, the value an array with the\n * opener as its first member. The second member is an optional operator\n * replacement to push to the stack.\n *\n * @type {string[]}\n */\nTERMINATORS = {\n\t')': [ '(' ],\n\t':': [ '?', '?:' ],\n};\n\n/**\n * Pattern matching operators and openers.\n *\n * @type {RegExp}\n */\nPATTERN = /<=|>=|==|!=|&&|\\|\\||\\?:|\\(|!|\\*|\\/|%|\\+|-|<|>|\\?|\\)|:/;\n\n/**\n * Given a C expression, returns the equivalent postfix (Reverse Polish)\n * notation terms as an array.\n *\n * If a postfix string is desired, simply `.join( ' ' )` the result.\n *\n * @example\n *\n * ```js\n * import postfix from '@tannin/postfix';\n *\n * postfix( 'n > 1' );\n * // ⇒ [ 'n', '1', '>' ]\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {string[]} Postfix terms.\n */\nexport default function postfix( expression ) {\n\tvar terms = [],\n\t\tstack = [],\n\t\tmatch, operator, term, element;\n\n\twhile ( ( match = expression.match( PATTERN ) ) ) {\n\t\toperator = match[ 0 ];\n\n\t\t// Term is the string preceding the operator match. It may contain\n\t\t// whitespace, and may be empty (if operator is at beginning).\n\t\tterm = expression.substr( 0, match.index ).trim();\n\t\tif ( term ) {\n\t\t\tterms.push( term );\n\t\t}\n\n\t\twhile ( ( element = stack.pop() ) ) {\n\t\t\tif ( TERMINATORS[ operator ] ) {\n\t\t\t\tif ( TERMINATORS[ operator ][ 0 ] === element ) {\n\t\t\t\t\t// Substitution works here under assumption that because\n\t\t\t\t\t// the assigned operator will no longer be a terminator, it\n\t\t\t\t\t// will be pushed to the stack during the condition below.\n\t\t\t\t\toperator = TERMINATORS[ operator ][ 1 ] || operator;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {\n\t\t\t\t// Push to stack if either an opener or when pop reveals an\n\t\t\t\t// element of lower precedence.\n\t\t\t\tstack.push( element );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// For each popped from stack, push to terms.\n\t\t\tterms.push( element );\n\t\t}\n\n\t\tif ( ! TERMINATORS[ operator ] ) {\n\t\t\tstack.push( operator );\n\t\t}\n\n\t\t// Slice matched fragment from expression to continue match.\n\t\texpression = expression.substr( match.index + operator.length );\n\t}\n\n\t// Push remainder of operand, if exists, to terms.\n\texpression = expression.trim();\n\tif ( expression ) {\n\t\tterms.push( expression );\n\t}\n\n\t// Pop remaining items from stack into terms.\n\treturn terms.concat( stack.reverse() );\n}\n","/**\n * Operator callback functions.\n *\n * @type {Object}\n */\nvar OPERATORS = {\n\t'!': function( a ) {\n\t\treturn ! a;\n\t},\n\t'*': function( a, b ) {\n\t\treturn a * b;\n\t},\n\t'/': function( a, b ) {\n\t\treturn a / b;\n\t},\n\t'%': function( a, b ) {\n\t\treturn a % b;\n\t},\n\t'+': function( a, b ) {\n\t\treturn a + b;\n\t},\n\t'-': function( a, b ) {\n\t\treturn a - b;\n\t},\n\t'<': function( a, b ) {\n\t\treturn a < b;\n\t},\n\t'<=': function( a, b ) {\n\t\treturn a <= b;\n\t},\n\t'>': function( a, b ) {\n\t\treturn a > b;\n\t},\n\t'>=': function( a, b ) {\n\t\treturn a >= b;\n\t},\n\t'==': function( a, b ) {\n\t\treturn a === b;\n\t},\n\t'!=': function( a, b ) {\n\t\treturn a !== b;\n\t},\n\t'&&': function( a, b ) {\n\t\treturn a && b;\n\t},\n\t'||': function( a, b ) {\n\t\treturn a || b;\n\t},\n\t'?:': function( a, b, c ) {\n\t\tif ( a ) {\n\t\t\tthrow b;\n\t\t}\n\n\t\treturn c;\n\t},\n};\n\n/**\n * Given an array of postfix terms and operand variables, returns the result of\n * the postfix evaluation.\n *\n * @example\n *\n * ```js\n * import evaluate from '@tannin/evaluate';\n *\n * // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'\n * const terms = [ '3', '4', '5', '*', '6', '/', '+' ];\n *\n * evaluate( terms, {} );\n * // ⇒ 6.333333333333334\n * ```\n *\n * @param {string[]} postfix Postfix terms.\n * @param {Object} variables Operand variables.\n *\n * @return {*} Result of evaluation.\n */\nexport default function evaluate( postfix, variables ) {\n\tvar stack = [],\n\t\ti, j, args, getOperatorResult, term, value;\n\n\tfor ( i = 0; i < postfix.length; i++ ) {\n\t\tterm = postfix[ i ];\n\n\t\tgetOperatorResult = OPERATORS[ term ];\n\t\tif ( getOperatorResult ) {\n\t\t\t// Pop from stack by number of function arguments.\n\t\t\tj = getOperatorResult.length;\n\t\t\targs = Array( j );\n\t\t\twhile ( j-- ) {\n\t\t\t\targs[ j ] = stack.pop();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tvalue = getOperatorResult.apply( null, args );\n\t\t\t} catch ( earlyReturn ) {\n\t\t\t\treturn earlyReturn;\n\t\t\t}\n\t\t} else if ( variables.hasOwnProperty( term ) ) {\n\t\t\tvalue = variables[ term ];\n\t\t} else {\n\t\t\tvalue = +term;\n\t\t}\n\n\t\tstack.push( value );\n\t}\n\n\treturn stack[ 0 ];\n}\n","import postfix from '@tannin/postfix';\nimport evaluate from '@tannin/evaluate';\n\n/**\n * Given a C expression, returns a function which can be called to evaluate its\n * result.\n *\n * @example\n *\n * ```js\n * import compile from '@tannin/compile';\n *\n * const evaluate = compile( 'n > 1' );\n *\n * evaluate( { n: 2 } );\n * // ⇒ true\n * ```\n *\n * @param {string} expression C expression.\n *\n * @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.\n */\nexport default function compile( expression ) {\n\tvar terms = postfix( expression );\n\n\treturn function( variables ) {\n\t\treturn evaluate( terms, variables );\n\t};\n}\n","import compile from '@tannin/compile';\n\n/**\n * Given a C expression, returns a function which, when called with a value,\n * evaluates the result with the value assumed to be the \"n\" variable of the\n * expression. The result will be coerced to its numeric equivalent.\n *\n * @param {string} expression C expression.\n *\n * @return {Function} Evaluator function.\n */\nexport default function pluralForms( expression ) {\n\tvar evaluate = compile( expression );\n\n\treturn function( n ) {\n\t\treturn +evaluate( { n: n } );\n\t};\n}\n","import pluralForms from '@tannin/plural-forms';\n\n/**\n * Tannin constructor options.\n *\n * @typedef {Object} TanninOptions\n *\n * @property {string} [contextDelimiter] Joiner in string lookup with context.\n * @property {Function} [onMissingKey] Callback to invoke when key missing.\n */\n\n/**\n * Domain metadata.\n *\n * @typedef {Object} TanninDomainMetadata\n *\n * @property {string} [domain] Domain name.\n * @property {string} [lang] Language code.\n * @property {(string|Function)} [plural_forms] Plural forms expression or\n * function evaluator.\n */\n\n/**\n * Domain translation pair respectively representing the singular and plural\n * translation.\n *\n * @typedef {[string,string]} TanninTranslation\n */\n\n/**\n * Locale data domain. The key is used as reference for lookup, the value an\n * array of two string entries respectively representing the singular and plural\n * translation.\n *\n * @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain\n */\n\n/**\n * Jed-formatted locale data.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData\n */\n\n/**\n * Default Tannin constructor options.\n *\n * @type {TanninOptions}\n */\nvar DEFAULT_OPTIONS = {\n\tcontextDelimiter: '\\u0004',\n\tonMissingKey: null,\n};\n\n/**\n * Given a specific locale data's config `plural_forms` value, returns the\n * expression.\n *\n * @example\n *\n * ```\n * getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'\n * ```\n *\n * @param {string} pf Locale data plural forms.\n *\n * @return {string} Plural forms expression.\n */\nfunction getPluralExpression( pf ) {\n\tvar parts, i, part;\n\n\tparts = pf.split( ';' );\n\n\tfor ( i = 0; i < parts.length; i++ ) {\n\t\tpart = parts[ i ].trim();\n\t\tif ( part.indexOf( 'plural=' ) === 0 ) {\n\t\t\treturn part.substr( 7 );\n\t\t}\n\t}\n}\n\n/**\n * Tannin constructor.\n *\n * @class\n *\n * @param {TanninLocaleData} data Jed-formatted locale data.\n * @param {TanninOptions} [options] Tannin options.\n */\nexport default function Tannin( data, options ) {\n\tvar key;\n\n\t/**\n\t * Jed-formatted locale data.\n\t *\n\t * @name Tannin#data\n\t * @type {TanninLocaleData}\n\t */\n\tthis.data = data;\n\n\t/**\n\t * Plural forms function cache, keyed by plural forms string.\n\t *\n\t * @name Tannin#pluralForms\n\t * @type {Object}\n\t */\n\tthis.pluralForms = {};\n\n\t/**\n\t * Effective options for instance, including defaults.\n\t *\n\t * @name Tannin#options\n\t * @type {TanninOptions}\n\t */\n\tthis.options = {};\n\n\tfor ( key in DEFAULT_OPTIONS ) {\n\t\tthis.options[ key ] = options !== undefined && key in options\n\t\t\t? options[ key ]\n\t\t\t: DEFAULT_OPTIONS[ key ];\n\t}\n}\n\n/**\n * Returns the plural form index for the given domain and value.\n *\n * @param {string} domain Domain on which to calculate plural form.\n * @param {number} n Value for which plural form is to be calculated.\n *\n * @return {number} Plural form index.\n */\nTannin.prototype.getPluralForm = function( domain, n ) {\n\tvar getPluralForm = this.pluralForms[ domain ],\n\t\tconfig, plural, pf;\n\n\tif ( ! getPluralForm ) {\n\t\tconfig = this.data[ domain ][ '' ];\n\n\t\tpf = (\n\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t// @ts-ignore\n\t\t\tconfig.plural_forms\n\t\t);\n\n\t\tif ( typeof pf !== 'function' ) {\n\t\t\tplural = getPluralExpression(\n\t\t\t\tconfig[ 'Plural-Forms' ] ||\n\t\t\t\tconfig[ 'plural-forms' ] ||\n\t\t\t\t// Ignore reason: As known, there's no way to document the empty\n\t\t\t\t// string property on a key to guarantee this as metadata.\n\t\t\t\t// @ts-ignore\n\t\t\t\tconfig.plural_forms\n\t\t\t);\n\n\t\t\tpf = pluralForms( plural );\n\t\t}\n\n\t\tgetPluralForm = this.pluralForms[ domain ] = pf;\n\t}\n\n\treturn getPluralForm( n );\n};\n\n/**\n * Translate a string.\n *\n * @param {string} domain Translation domain.\n * @param {string|void} context Context distinguishing terms of the same name.\n * @param {string} singular Primary key for translation lookup.\n * @param {string=} plural Fallback value used for non-zero plural\n * form index.\n * @param {number=} n Value to use in calculating plural form.\n *\n * @return {string} Translated string.\n */\nTannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {\n\tvar index, key, entry;\n\n\tif ( n === undefined ) {\n\t\t// Default to singular.\n\t\tindex = 0;\n\t} else {\n\t\t// Find index by evaluating plural form for value.\n\t\tindex = this.getPluralForm( domain, n );\n\t}\n\n\tkey = singular;\n\n\t// If provided, context is prepended to key with delimiter.\n\tif ( context ) {\n\t\tkey = context + this.options.contextDelimiter + singular;\n\t}\n\n\tentry = this.data[ domain ][ key ];\n\n\t// Verify not only that entry exists, but that the intended index is within\n\t// range and non-empty.\n\tif ( entry && entry[ index ] ) {\n\t\treturn entry[ index ];\n\t}\n\n\tif ( this.options.onMissingKey ) {\n\t\tthis.options.onMissingKey( singular, domain );\n\t}\n\n\t// If entry not found, fall back to singular vs. plural with zero index\n\t// representing the singular value.\n\treturn index === 0 ? singular : plural;\n};\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport Tannin from 'tannin';\n/**\n * @typedef {Record} LocaleData\n */\n\n/**\n * Default locale data to use for Tannin domain when not otherwise provided.\n * Assumes an English plural forms expression.\n *\n * @type {LocaleData}\n */\n\nvar DEFAULT_LOCALE_DATA = {\n '': {\n /** @param {number} n */\n plural_forms: function plural_forms(n) {\n return n === 1 ? 0 : 1;\n }\n }\n};\n/**\n * An i18n instance\n *\n * @typedef {Object} I18n\n * @property {Function} setLocaleData Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n * @property {Function} __ Retrieve the translation of text.\n * @property {Function} _x Retrieve translated string with gettext context.\n * @property {Function} _n Translates and retrieves the singular or plural form based on the supplied\n * number.\n * @property {Function} _nx Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n * @property {Function} isRTL Check if current locale is RTL.\n */\n\n/**\n * Create an i18n instance\n *\n * @param {LocaleData} [initialData] Locale data configuration.\n * @param {string} [initialDomain] Domain for which configuration applies.\n * @return {I18n} I18n instance\n */\n\nexport var createI18n = function createI18n(initialData, initialDomain) {\n /**\n * The underlying instance of Tannin to which exported functions interface.\n *\n * @type {Tannin}\n */\n var tannin = new Tannin({});\n /**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\n var setLocaleData = function setLocaleData(data) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';\n tannin.data[domain] = _objectSpread({}, DEFAULT_LOCALE_DATA, {}, tannin.data[domain], {}, data); // Populate default domain configuration (supported locale date which omits\n // a plural forms expression).\n\n tannin.data[domain][''] = _objectSpread({}, DEFAULT_LOCALE_DATA[''], {}, tannin.data[domain]['']);\n };\n /**\n * Wrapper for Tannin's `dcnpgettext`. Populates default locale data if not\n * otherwise previously assigned.\n *\n * @param {string|undefined} domain Domain to retrieve the translated text.\n * @param {string|undefined} context Context information for the translators.\n * @param {string} single Text to translate if non-plural. Used as\n * fallback return value on a caught error.\n * @param {string} [plural] The text to be used if the number is\n * plural.\n * @param {number} [number] The number to compare against to use\n * either the singular or plural form.\n *\n * @return {string} The translated string.\n */\n\n\n var dcnpgettext = function dcnpgettext() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var single = arguments.length > 2 ? arguments[2] : undefined;\n var plural = arguments.length > 3 ? arguments[3] : undefined;\n var number = arguments.length > 4 ? arguments[4] : undefined;\n\n if (!tannin.data[domain]) {\n setLocaleData(undefined, domain);\n }\n\n return tannin.dcnpgettext(domain, context, single, plural, number);\n };\n /**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\n\n var __ = function __(text, domain) {\n return dcnpgettext(domain, undefined, text);\n };\n /**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\n\n var _x = function _x(text, context, domain) {\n return dcnpgettext(domain, context, text);\n };\n /**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\n\n var _n = function _n(single, plural, number, domain) {\n return dcnpgettext(domain, undefined, single, plural, number);\n };\n /**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\n\n var _nx = function _nx(single, plural, number, context, domain) {\n return dcnpgettext(domain, context, single, plural, number);\n };\n /**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\n\n var isRTL = function isRTL() {\n return 'rtl' === _x('ltr', 'text direction');\n };\n\n if (initialData) {\n setLocaleData(initialData, initialDomain);\n }\n\n return {\n setLocaleData: setLocaleData,\n __: __,\n _x: _x,\n _n: _n,\n _nx: _nx,\n isRTL: isRTL\n };\n};\n//# sourceMappingURL=create-i18n.js.map","/**\n * Internal dependencies\n */\nimport { createI18n } from './create-i18n';\nvar i18n = createI18n();\n/*\n * Comments in this file are duplicated from ./i18n due to\n * https://github.com/WordPress/gutenberg/pull/20318#issuecomment-590837722\n */\n\n/**\n * @typedef {import('./create-i18n').LocaleData} LocaleData\n */\n\n/**\n * Merges locale data into the Tannin instance by domain. Accepts data in a\n * Jed-formatted JSON object shape.\n *\n * @see http://messageformat.github.io/Jed/\n *\n * @param {LocaleData} [data] Locale data configuration.\n * @param {string} [domain] Domain for which configuration applies.\n */\n\nexport var setLocaleData = i18n.setLocaleData.bind(i18n);\n/**\n * Retrieve the translation of text.\n *\n * @see https://developer.wordpress.org/reference/functions/__/\n *\n * @param {string} text Text to translate.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated text.\n */\n\nexport var __ = i18n.__.bind(i18n);\n/**\n * Retrieve translated string with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_x/\n *\n * @param {string} text Text to translate.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} Translated context string without pipe.\n */\n\nexport var _x = i18n._x.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number.\n *\n * @see https://developer.wordpress.org/reference/functions/_n/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _n = i18n._n.bind(i18n);\n/**\n * Translates and retrieves the singular or plural form based on the supplied\n * number, with gettext context.\n *\n * @see https://developer.wordpress.org/reference/functions/_nx/\n *\n * @param {string} single The text to be used if the number is singular.\n * @param {string} plural The text to be used if the number is plural.\n * @param {number} number The number to compare against to use either the\n * singular or plural form.\n * @param {string} context Context information for the translators.\n * @param {string} [domain] Domain to retrieve the translated text.\n *\n * @return {string} The translated singular or plural form.\n */\n\nexport var _nx = i18n._nx.bind(i18n);\n/**\n * Check if current locale is RTL.\n *\n * **RTL (Right To Left)** is a locale property indicating that text is written from right to left.\n * For example, the `he` locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common\n * language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages,\n * including English (`en`, `en-US`, `en-GB`, etc.), Spanish (`es`), and French (`fr`).\n *\n * @return {boolean} Whether locale is RTL.\n */\n\nexport var isRTL = i18n.isRTL.bind(i18n);\n//# sourceMappingURL=default-i18n.js.map","export { sprintf } from './sprintf';\nexport * from './create-i18n';\nexport { setLocaleData, __, _x, _n, _nx, isRTL } from './default-i18n';\n//# sourceMappingURL=index.js.map","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n 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}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n/**\n * Return true if platform is MacOS.\n *\n * @param {Object} _window window object by default; used for DI testing.\n *\n * @return {boolean} True if MacOS; false otherwise.\n */\n\nexport function isAppleOS() {\n var _window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n\n var platform = _window.navigator.platform;\n return platform.indexOf('Mac') !== -1 || includes(['iPad', 'iPhone'], platform);\n}\n//# sourceMappingURL=platform.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Note: The order of the modifier keys in many of the [foo]Shortcut()\n * functions in this file are intentional and should not be changed. They're\n * designed to fit with the standard menu keyboard shortcuts shown in the\n * user's platform.\n *\n * For example, on MacOS menu shortcuts will place Shift before Command, but\n * on Windows Control will usually come first. So don't provide your own\n * shortcut combos directly to keyboardShortcut().\n */\n\n/**\n * External dependencies\n */\nimport { get, mapValues, includes, capitalize, xor } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\n\nimport { isAppleOS } from './platform';\n/**\n * @typedef {'primary'|'primaryShift'|'primaryAlt'|'secondary'|'access'|'ctrl'|'alt'|'ctrlShift'|'shift'|'shiftAlt'} WPKeycodeModifier\n */\n\n/**\n * An object of handler functions for each of the possible modifier\n * combinations. A handler will return a value for a given key.\n *\n * @typedef {Recordany>} WPKeycodeHandlerByModifier\n */\n\n/**\n * Keycode for BACKSPACE key.\n */\n\nexport var BACKSPACE = 8;\n/**\n * Keycode for TAB key.\n */\n\nexport var TAB = 9;\n/**\n * Keycode for ENTER key.\n */\n\nexport var ENTER = 13;\n/**\n * Keycode for ESCAPE key.\n */\n\nexport var ESCAPE = 27;\n/**\n * Keycode for SPACE key.\n */\n\nexport var SPACE = 32;\n/**\n * Keycode for LEFT key.\n */\n\nexport var LEFT = 37;\n/**\n * Keycode for UP key.\n */\n\nexport var UP = 38;\n/**\n * Keycode for RIGHT key.\n */\n\nexport var RIGHT = 39;\n/**\n * Keycode for DOWN key.\n */\n\nexport var DOWN = 40;\n/**\n * Keycode for DELETE key.\n */\n\nexport var DELETE = 46;\n/**\n * Keycode for F10 key.\n */\n\nexport var F10 = 121;\n/**\n * Keycode for ALT key.\n */\n\nexport var ALT = 'alt';\n/**\n * Keycode for CTRL key.\n */\n\nexport var CTRL = 'ctrl';\n/**\n * Keycode for COMMAND/META key.\n */\n\nexport var COMMAND = 'meta';\n/**\n * Keycode for SHIFT key.\n */\n\nexport var SHIFT = 'shift';\n/**\n * Keycode for ZERO key.\n */\n\nexport var ZERO = 48;\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n *\n * - `primary`: takes a isApple function as a parameter.\n * - `primaryShift`: takes a isApple function as a parameter.\n * - `primaryAlt`: takes a isApple function as a parameter.\n * - `secondary`: takes a isApple function as a parameter.\n * - `access`: takes a isApple function as a parameter.\n * - `ctrl`\n * - `alt`\n * - `ctrlShift`\n * - `shift`\n * - `shiftAlt`\n */\n\nexport var modifiers = {\n primary: function primary(_isApple) {\n return _isApple() ? [COMMAND] : [CTRL];\n },\n primaryShift: function primaryShift(_isApple) {\n return _isApple() ? [SHIFT, COMMAND] : [CTRL, SHIFT];\n },\n primaryAlt: function primaryAlt(_isApple) {\n return _isApple() ? [ALT, COMMAND] : [CTRL, ALT];\n },\n secondary: function secondary(_isApple) {\n return _isApple() ? [SHIFT, ALT, COMMAND] : [CTRL, SHIFT, ALT];\n },\n access: function access(_isApple) {\n return _isApple() ? [CTRL, ALT] : [SHIFT, ALT];\n },\n ctrl: function ctrl() {\n return [CTRL];\n },\n alt: function alt() {\n return [ALT];\n },\n ctrlShift: function ctrlShift() {\n return [CTRL, SHIFT];\n },\n shift: function shift() {\n return [SHIFT];\n },\n shiftAlt: function shiftAlt() {\n return [SHIFT, ALT];\n }\n};\n/**\n * An object that contains functions to get raw shortcuts.\n * E.g. rawShortcut.primary( 'm' ) will return 'meta+m' on Mac.\n * These are intended for user with the KeyboardShortcuts component or TinyMCE.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to raw shortcuts.\n */\n\nexport var rawShortcut = mapValues(modifiers, function (modifier) {\n return function (character) {\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n return [].concat(_toConsumableArray(modifier(_isApple)), [character.toLowerCase()]).join('+');\n };\n});\n/**\n * Return an array of the parts of a keyboard shortcut chord for display\n * E.g displayShortcutList.primary( 'm' ) will return [ '⌘', 'M' ] on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut\n * sequences.\n */\n\nexport var displayShortcutList = mapValues(modifiers, function (modifier) {\n return function (character) {\n var _replacementKeyMap;\n\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n var isApple = _isApple();\n\n var replacementKeyMap = (_replacementKeyMap = {}, _defineProperty(_replacementKeyMap, ALT, isApple ? '⌥' : 'Alt'), _defineProperty(_replacementKeyMap, CTRL, isApple ? '^' : 'Ctrl'), _defineProperty(_replacementKeyMap, COMMAND, '⌘'), _defineProperty(_replacementKeyMap, SHIFT, isApple ? '⇧' : 'Shift'), _replacementKeyMap);\n var modifierKeys = modifier(_isApple).reduce(function (accumulator, key) {\n var replacementKey = get(replacementKeyMap, key, key); // If on the Mac, adhere to platform convention and don't show plus between keys.\n\n if (isApple) {\n return [].concat(_toConsumableArray(accumulator), [replacementKey]);\n }\n\n return [].concat(_toConsumableArray(accumulator), [replacementKey, '+']);\n }, []);\n var capitalizedCharacter = capitalize(character);\n return [].concat(_toConsumableArray(modifierKeys), [capitalizedCharacter]);\n };\n});\n/**\n * An object that contains functions to display shortcuts.\n * E.g. displayShortcut.primary( 'm' ) will return '⌘M' on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to display\n * shortcuts.\n */\n\nexport var displayShortcut = mapValues(displayShortcutList, function (shortcutList) {\n return function (character) {\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n return shortcutList(character, _isApple).join('');\n };\n});\n/**\n * An object that contains functions to return an aria label for a keyboard shortcut.\n * E.g. shortcutAriaLabel.primary( '.' ) will return 'Command + Period' on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut ARIA\n * labels.\n */\n\nexport var shortcutAriaLabel = mapValues(modifiers, function (modifier) {\n return function (character) {\n var _replacementKeyMap2;\n\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n var isApple = _isApple();\n\n var replacementKeyMap = (_replacementKeyMap2 = {}, _defineProperty(_replacementKeyMap2, SHIFT, 'Shift'), _defineProperty(_replacementKeyMap2, COMMAND, isApple ? 'Command' : 'Control'), _defineProperty(_replacementKeyMap2, CTRL, 'Control'), _defineProperty(_replacementKeyMap2, ALT, isApple ? 'Option' : 'Alt'), _defineProperty(_replacementKeyMap2, ',', __('Comma')), _defineProperty(_replacementKeyMap2, '.', __('Period')), _defineProperty(_replacementKeyMap2, '`', __('Backtick')), _replacementKeyMap2);\n return [].concat(_toConsumableArray(modifier(_isApple)), [character]).map(function (key) {\n return capitalize(get(replacementKeyMap, key, key));\n }).join(isApple ? ' ' : ' + ');\n };\n});\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {KeyboardEvent} event Keyboard event.\n *\n * @return {Array} Active modifier constants.\n */\n\nfunction getEventModifiers(event) {\n return [ALT, CTRL, COMMAND, SHIFT].filter(function (key) {\n return event[\"\".concat(key, \"Key\")];\n });\n}\n/**\n * An object that contains functions to check if a keyboard event matches a\n * predefined shortcut combination.\n * E.g. isKeyboardEvent.primary( event, 'm' ) will return true if the event\n * signals pressing ⌘M.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to match events.\n */\n\n\nexport var isKeyboardEvent = mapValues(modifiers, function (getModifiers) {\n return function (event, character) {\n var _isApple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : isAppleOS;\n\n var mods = getModifiers(_isApple);\n var eventMods = getEventModifiers(event);\n\n if (xor(mods, eventMods).length) {\n return false;\n }\n\n if (!character) {\n return includes(mods, event.key.toLowerCase());\n }\n\n return event.key === character;\n };\n});\n//# sourceMappingURL=index.js.map","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n 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}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","module.exports = jQuery;","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","'use strict';\n\n/**\n * Internal dependencies;\n */\nvar isShallowEqualObjects = require( './objects' );\nvar isShallowEqualArrays = require( './arrays' );\n\nvar isArray = Array.isArray;\n\n/**\n * @typedef {Record} ComparableObject\n */\n\n/**\n * Returns true if the two arrays or objects are shallow equal, or false\n * otherwise.\n *\n * @param {any[]|ComparableObject} a First object or array to compare.\n * @param {any[]|ComparableObject} b Second object or array to compare.\n *\n * @return {boolean} Whether the two values are shallow equal.\n */\nfunction isShallowEqual( a, b ) {\n\tif ( a && b ) {\n\t\tif ( a.constructor === Object && b.constructor === Object ) {\n\t\t\treturn isShallowEqualObjects( a, b );\n\t\t} else if ( isArray( a ) && isArray( b ) ) {\n\t\t\treturn isShallowEqualArrays( a, b );\n\t\t}\n\t}\n\n\treturn a === b;\n}\n\nmodule.exports = isShallowEqual;\nmodule.exports.isShallowEqualObjects = isShallowEqualObjects;\nmodule.exports.isShallowEqualArrays = isShallowEqualArrays;\n","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/**\n * External dependencies\n */\nimport { camelCase, upperFirst } from 'lodash';\n/**\n * Given a function mapping a component to an enhanced component and modifier\n * name, returns the enhanced component augmented with a generated displayName.\n *\n * @param {Function} mapComponentToEnhancedComponent Function mapping component\n * to enhanced component.\n * @param {string} modifierName Seed name from which to\n * generated display name.\n *\n * @return {WPComponent} Component class with generated display name assigned.\n */\n\nfunction createHigherOrderComponent(mapComponentToEnhancedComponent, modifierName) {\n return function (OriginalComponent) {\n var EnhancedComponent = mapComponentToEnhancedComponent(OriginalComponent);\n var _OriginalComponent$di = OriginalComponent.displayName,\n displayName = _OriginalComponent$di === void 0 ? OriginalComponent.name || 'Component' : _OriginalComponent$di;\n EnhancedComponent.displayName = \"\".concat(upperFirst(camelCase(modifierName)), \"(\").concat(displayName, \")\");\n return EnhancedComponent;\n };\n}\n\nexport default createHigherOrderComponent;\n//# sourceMappingURL=index.js.map","/**\n * Validate a namespace string.\n *\n * @param {string} namespace The namespace to validate - should take the form\n * `vendor/plugin/function`.\n *\n * @return {boolean} Whether the namespace is valid.\n */\nfunction validateNamespace(namespace) {\n if ('string' !== typeof namespace || '' === namespace) {\n // eslint-disable-next-line no-console\n console.error('The namespace must be a non-empty string.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.\\-\\/]*$/.test(namespace)) {\n // eslint-disable-next-line no-console\n console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');\n return false;\n }\n\n return true;\n}\n\nexport default validateNamespace;\n//# sourceMappingURL=validateNamespace.js.map","/**\n * Validate a hookName string.\n *\n * @param {string} hookName The hook name to validate. Should be a non empty string containing\n * only numbers, letters, dashes, periods and underscores. Also,\n * the hook name cannot begin with `__`.\n *\n * @return {boolean} Whether the hook name is valid.\n */\nfunction validateHookName(hookName) {\n if ('string' !== typeof hookName || '' === hookName) {\n // eslint-disable-next-line no-console\n console.error('The hook name must be a non-empty string.');\n return false;\n }\n\n if (/^__/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name cannot begin with `__`.');\n return false;\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {\n // eslint-disable-next-line no-console\n console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');\n return false;\n }\n\n return true;\n}\n\nexport default validateHookName;\n//# sourceMappingURL=validateHookName.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\nimport { doAction } from './';\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks) {\n /**\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {Function} callback Function to call when the hook is run\n * @param {?number} priority Priority of this hook (default=10)\n */\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!validateNamespace(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooks[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooks[hookName].handlers;\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n (hooks.__current || []).forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooks[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\nexport default createAddHook;\n//# sourceMappingURL=createAddHook.js.map","/**\n * Internal dependencies\n */\nimport validateNamespace from './validateNamespace.js';\nimport validateHookName from './validateHookName.js';\nimport { doAction } from './';\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n * @param {boolean} removeAll Whether to remove all callbacks for a hookName, without regard to namespace. Used to create `removeAll*` functions.\n *\n * @return {Function} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, removeAll) {\n /**\n * Removes the specified callback (or all callbacks) from the hook with a\n * given hookName and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n *\n * @return {number} The number of callbacks removed.\n */\n return function removeHook(hookName, namespace) {\n if (!validateHookName(hookName)) {\n return;\n }\n\n if (!removeAll && !validateNamespace(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooks[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooks[hookName].handlers.length;\n hooks[hookName] = {\n runs: hooks[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooks[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n (hooks.__current || []).forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\nexport default createRemoveHook;\n//# sourceMappingURL=createRemoveHook.js.map","/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks) {\n /**\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {?string} namespace Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n return function hasHook(hookName, namespace) {\n // Use the namespace if provided.\n if ('undefined' !== typeof namespace) {\n return hookName in hooks && hooks[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooks;\n };\n}\n\nexport default createHasHook;\n//# sourceMappingURL=createHasHook.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n * @param {?boolean} returnFirstArg Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {Function} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, returnFirstArg) {\n /**\n * Runs all callbacks for the specified hook.\n *\n * @param {string} hookName The name of the hook to run.\n * @param {...*} args Arguments to pass to the hook callbacks.\n *\n * @return {*} Return value of runner, if applicable.\n */\n return function runHooks(hookName) {\n if (!hooks[hookName]) {\n hooks[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooks[hookName].runs++;\n var handlers = hooks[hookName].handlers; // The following code is stripped from production builds.\n\n if ('production' !== process.env.NODE_ENV) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooks.all) {\n handlers.push.apply(handlers, _toConsumableArray(hooks.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooks.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooks.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\nexport default createRunHook;\n//# sourceMappingURL=createRunHook.js.map","/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns the current hook.\n */\nfunction createCurrentHook(hooks) {\n /**\n * Returns the name of the currently running hook, or `null` if no hook of\n * the given type is currently running.\n *\n * @return {?string} The name of the currently running hook, or\n * `null` if no hook is currently running.\n */\n return function currentHook() {\n if (!hooks.__current || !hooks.__current.length) {\n return null;\n }\n\n return hooks.__current[hooks.__current.length - 1].name;\n };\n}\n\nexport default createCurrentHook;\n//# sourceMappingURL=createCurrentHook.js.map","/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks) {\n /**\n * Returns whether a hook is currently being executed.\n *\n * @param {?string} hookName The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n return function doingHook(hookName) {\n // If the hookName was not passed, check for any current hook.\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooks.__current[0];\n } // Return the __current hook.\n\n\n return hooks.__current[0] ? hookName === hooks.__current[0].name : false;\n };\n}\n\nexport default createDoingHook;\n//# sourceMappingURL=createDoingHook.js.map","/**\n * Internal dependencies\n */\nimport validateHookName from './validateHookName.js';\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks) {\n /**\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number} The number of times the hook has run.\n */\n return function didHook(hookName) {\n if (!validateHookName(hookName)) {\n return;\n }\n\n return hooks[hookName] && hooks[hookName].runs ? hooks[hookName].runs : 0;\n };\n}\n\nexport default createDidHook;\n//# sourceMappingURL=createDidHook.js.map","/**\n * Internal dependencies\n */\nimport createAddHook from './createAddHook';\nimport createRemoveHook from './createRemoveHook';\nimport createHasHook from './createHasHook';\nimport createRunHook from './createRunHook';\nimport createCurrentHook from './createCurrentHook';\nimport createDoingHook from './createDoingHook';\nimport createDidHook from './createDidHook';\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Object} Object that contains all hooks.\n */\n\nfunction createHooks() {\n var actions = Object.create(null);\n var filters = Object.create(null);\n actions.__current = [];\n filters.__current = [];\n return {\n addAction: createAddHook(actions),\n addFilter: createAddHook(filters),\n removeAction: createRemoveHook(actions),\n removeFilter: createRemoveHook(filters),\n hasAction: createHasHook(actions),\n hasFilter: createHasHook(filters),\n removeAllActions: createRemoveHook(actions, true),\n removeAllFilters: createRemoveHook(filters, true),\n doAction: createRunHook(actions),\n applyFilters: createRunHook(filters, true),\n currentAction: createCurrentHook(actions),\n currentFilter: createCurrentHook(filters),\n doingAction: createDoingHook(actions),\n doingFilter: createDoingHook(filters),\n didAction: createDidHook(actions),\n didFilter: createDidHook(filters),\n actions: actions,\n filters: filters\n };\n}\n\nexport default createHooks;\n//# sourceMappingURL=createHooks.js.map","/**\n * Internal dependencies\n */\nimport createHooks from './createHooks';\n\nvar _createHooks = createHooks(),\n addAction = _createHooks.addAction,\n addFilter = _createHooks.addFilter,\n removeAction = _createHooks.removeAction,\n removeFilter = _createHooks.removeFilter,\n hasAction = _createHooks.hasAction,\n hasFilter = _createHooks.hasFilter,\n removeAllActions = _createHooks.removeAllActions,\n removeAllFilters = _createHooks.removeAllFilters,\n doAction = _createHooks.doAction,\n applyFilters = _createHooks.applyFilters,\n currentAction = _createHooks.currentAction,\n currentFilter = _createHooks.currentFilter,\n doingAction = _createHooks.doingAction,\n doingFilter = _createHooks.doingFilter,\n didAction = _createHooks.didAction,\n didFilter = _createHooks.didFilter,\n actions = _createHooks.actions,\n filters = _createHooks.filters;\n\nexport { createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters };\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { doAction } from '@wordpress/hooks';\n/**\n * Object map tracking messages which have been logged, for use in ensuring a\n * message is only logged once.\n *\n * @type {Object}\n */\n\nexport var logged = Object.create(null);\n/**\n * Logs a message to notify developers about a deprecated feature.\n *\n * @param {string} feature Name of the deprecated feature.\n * @param {?Object} options Personalisation options\n * @param {?string} options.version Version in which the feature will be removed.\n * @param {?string} options.alternative Feature to use instead\n * @param {?string} options.plugin Plugin name if it's a plugin feature\n * @param {?string} options.link Link to documentation\n * @param {?string} options.hint Additional message to help transition away from the deprecated feature.\n *\n * @example\n * ```js\n * import deprecated from '@wordpress/deprecated';\n *\n * deprecated( 'Eating meat', {\n * \tversion: 'the future',\n * \talternative: 'vegetables',\n * \tplugin: 'the earth',\n * \thint: 'You may find it beneficial to transition gradually.',\n * } );\n *\n * // Logs: 'Eating meat is deprecated and will be removed from the earth in the future. Please use vegetables instead. Note: You may find it beneficial to transition gradually.'\n * ```\n */\n\nexport default function deprecated(feature) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var version = options.version,\n alternative = options.alternative,\n plugin = options.plugin,\n link = options.link,\n hint = options.hint;\n var pluginMessage = plugin ? \" from \".concat(plugin) : '';\n var versionMessage = version ? \" and will be removed\".concat(pluginMessage, \" in version \").concat(version) : '';\n var useInsteadMessage = alternative ? \" Please use \".concat(alternative, \" instead.\") : '';\n var linkMessage = link ? \" See: \".concat(link) : '';\n var hintMessage = hint ? \" Note: \".concat(hint) : '';\n var message = \"\".concat(feature, \" is deprecated\").concat(versionMessage, \".\").concat(useInsteadMessage).concat(linkMessage).concat(hintMessage); // Skip if already logged.\n\n if (message in logged) {\n return;\n }\n /**\n * Fires whenever a deprecated feature is encountered\n *\n * @param {string} feature Name of the deprecated feature.\n * @param {?Object} options Personalisation options\n * @param {?string} options.version Version in which the feature will be removed.\n * @param {?string} options.alternative Feature to use instead\n * @param {?string} options.plugin Plugin name if it's a plugin feature\n * @param {?string} options.link Link to documentation\n * @param {?string} options.hint Additional message to help transition away from the deprecated feature.\n * @param {?string} message Message sent to console.warn\n */\n\n\n doAction('deprecated', feature, options, message); // eslint-disable-next-line no-console\n\n console.warn(message);\n logged[message] = true;\n}\n//# sourceMappingURL=index.js.map","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var baseAssignValue = require('./_baseAssignValue'),\n createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nmodule.exports = groupBy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.toJson = toJson;\n\nvar _constants = require(\"./constants\");\n\nvar _utils = require(\"./utils\");\n\nvar _auth = require(\"./methods/auth\");\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _currentUser = require(\"./methods/currentUser\");\n\nvar _currentUser2 = _interopRequireDefault(_currentUser);\n\nvar _users = require(\"./methods/users\");\n\nvar _users2 = _interopRequireDefault(_users);\n\nvar _photos = require(\"./methods/photos\");\n\nvar _photos2 = _interopRequireDefault(_photos);\n\nvar _collections = require(\"./methods/collections\");\n\nvar _collections2 = _interopRequireDefault(_collections);\n\nvar _search = require(\"./methods/search\");\n\nvar _search2 = _interopRequireDefault(_search);\n\nvar _stats = require(\"./methods/stats\");\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Unsplash = function () {\n function Unsplash(options) {\n _classCallCheck(this, Unsplash);\n\n this._apiUrl = options.apiUrl || _constants.API_URL;\n this._apiVersion = options.apiVersion || _constants.API_VERSION;\n this._accessKey = options.accessKey;\n this._secret = options.secret;\n this._callbackUrl = options.callbackUrl;\n this._bearerToken = options.bearerToken;\n this._headers = options.headers || {};\n this._timeout = options.timeout || 0; // 0 defaults to the OS timeout behaviour.\n\n this.auth = _auth2.default.bind(this)();\n this.currentUser = _currentUser2.default.bind(this)();\n this.users = _users2.default.bind(this)();\n this.photos = _photos2.default.bind(this)();\n this.collections = _collections2.default.bind(this)();\n this.search = _search2.default.bind(this)();\n this.stats = _stats2.default.bind(this)();\n }\n\n _createClass(Unsplash, [{\n key: \"request\",\n value: function request(requestOptions) {\n var _buildFetchOptions$bi = _utils.buildFetchOptions.bind(this)(requestOptions),\n url = _buildFetchOptions$bi.url,\n options = _buildFetchOptions$bi.options;\n\n return fetch(url, options);\n }\n }]);\n\n return Unsplash;\n}();\n\nexports.default = Unsplash;\nfunction toJson(res) {\n return typeof res.json === \"function\" ? res.json() : res;\n}","function _readOnlyError(name) {\n throw new Error(\"\\\"\" + name + \"\\\" is read-only\");\n}\n\nmodule.exports = _readOnlyError;","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/* global window, exports, define */\n\n!function() {\n 'use strict'\n\n var re = {\n not_string: /[^s]/,\n not_bool: /[^t]/,\n not_type: /[^T]/,\n not_primitive: /[^v]/,\n number: /[diefg]/,\n numeric_arg: /[bcdiefguxX]/,\n json: /[j]/,\n not_json: /[^j]/,\n text: /^[^\\x25]+/,\n modulo: /^\\x25{2}/,\n placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n key: /^([a-z_][a-z_\\d]*)/i,\n key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n index_access: /^\\[(\\d+)\\]/,\n sign: /^[+-]/\n }\n\n function sprintf(key) {\n // `arguments` is not an array, but should be fine for this call\n return sprintf_format(sprintf_parse(key), arguments)\n }\n\n function vsprintf(fmt, argv) {\n return sprintf.apply(null, [fmt].concat(argv || []))\n }\n\n function sprintf_format(parse_tree, argv) {\n var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n for (i = 0; i < tree_length; i++) {\n if (typeof parse_tree[i] === 'string') {\n output += parse_tree[i]\n }\n else if (typeof parse_tree[i] === 'object') {\n ph = parse_tree[i] // convenience purposes only\n if (ph.keys) { // keyword argument\n arg = argv[cursor]\n for (k = 0; k < ph.keys.length; k++) {\n if (arg == undefined) {\n throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n }\n arg = arg[ph.keys[k]]\n }\n }\n else if (ph.param_no) { // positional argument (explicit)\n arg = argv[ph.param_no]\n }\n else { // positional argument (implicit)\n arg = argv[cursor++]\n }\n\n if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n arg = arg()\n }\n\n if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n }\n\n if (re.number.test(ph.type)) {\n is_positive = arg >= 0\n }\n\n switch (ph.type) {\n case 'b':\n arg = parseInt(arg, 10).toString(2)\n break\n case 'c':\n arg = String.fromCharCode(parseInt(arg, 10))\n break\n case 'd':\n case 'i':\n arg = parseInt(arg, 10)\n break\n case 'j':\n arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n break\n case 'e':\n arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n break\n case 'f':\n arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n break\n case 'g':\n arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n break\n case 'o':\n arg = (parseInt(arg, 10) >>> 0).toString(8)\n break\n case 's':\n arg = String(arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 't':\n arg = String(!!arg)\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'T':\n arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'u':\n arg = parseInt(arg, 10) >>> 0\n break\n case 'v':\n arg = arg.valueOf()\n arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n break\n case 'x':\n arg = (parseInt(arg, 10) >>> 0).toString(16)\n break\n case 'X':\n arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n break\n }\n if (re.json.test(ph.type)) {\n output += arg\n }\n else {\n if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n sign = is_positive ? '+' : '-'\n arg = arg.toString().replace(re.sign, '')\n }\n else {\n sign = ''\n }\n pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n pad_length = ph.width - (sign + arg).length\n pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n }\n }\n }\n return output\n }\n\n var sprintf_cache = Object.create(null)\n\n function sprintf_parse(fmt) {\n if (sprintf_cache[fmt]) {\n return sprintf_cache[fmt]\n }\n\n var _fmt = fmt, match, parse_tree = [], arg_names = 0\n while (_fmt) {\n if ((match = re.text.exec(_fmt)) !== null) {\n parse_tree.push(match[0])\n }\n else if ((match = re.modulo.exec(_fmt)) !== null) {\n parse_tree.push('%')\n }\n else if ((match = re.placeholder.exec(_fmt)) !== null) {\n if (match[2]) {\n arg_names |= 1\n var field_list = [], replacement_field = match[2], field_match = []\n if ((field_match = re.key.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n field_list.push(field_match[1])\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n }\n }\n else {\n throw new SyntaxError('[sprintf] failed to parse named argument key')\n }\n match[2] = field_list\n }\n else {\n arg_names |= 2\n }\n if (arg_names === 3) {\n throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n }\n\n parse_tree.push(\n {\n placeholder: match[0],\n param_no: match[1],\n keys: match[2],\n sign: match[3],\n pad_char: match[4],\n align: match[5],\n width: match[6],\n precision: match[7],\n type: match[8]\n }\n )\n }\n else {\n throw new SyntaxError('[sprintf] unexpected placeholder')\n }\n _fmt = _fmt.substring(match[0].length)\n }\n return sprintf_cache[fmt] = parse_tree\n }\n\n /**\n * export to either browser or node.js\n */\n /* eslint-disable quote-props */\n if (typeof exports !== 'undefined') {\n exports['sprintf'] = sprintf\n exports['vsprintf'] = vsprintf\n }\n if (typeof window !== 'undefined') {\n window['sprintf'] = sprintf\n window['vsprintf'] = vsprintf\n\n if (typeof define === 'function' && define['amd']) {\n define(function() {\n return {\n 'sprintf': sprintf,\n 'vsprintf': vsprintf\n }\n })\n }\n }\n /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar API_URL = exports.API_URL = \"https://api.unsplash.com\";\nvar API_VERSION = exports.API_VERSION = \"v1\";\nvar OAUTH_AUTHORIZE_URL = exports.OAUTH_AUTHORIZE_URL = \"https://unsplash.com/oauth/authorize\";\nvar OAUTH_TOKEN_URL = exports.OAUTH_TOKEN_URL = \"https://unsplash.com/oauth/token\";","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.formUrlEncode = formUrlEncode;\nexports.getUrlComponents = getUrlComponents;\nexports.buildFetchOptions = buildFetchOptions;\n\nvar _querystring = require(\"querystring\");\n\nvar _formUrlencoded = require(\"form-urlencoded\");\n\nvar _formUrlencoded2 = _interopRequireDefault(_formUrlencoded);\n\nvar _urlParse = require(\"url-parse\");\n\nvar _urlParse2 = _interopRequireDefault(_urlParse);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction formUrlEncode(body) {\n return (0, _formUrlencoded2.default)(body);\n}\n\nfunction getUrlComponents(uri) {\n return (0, _urlParse2.default)(uri, {}, true);\n}\n\nfunction buildFetchOptions(options) {\n var method = options.method,\n query = options.query,\n oauth = options.oauth,\n body = options.body;\n\n var url = oauth === true ? options.url : \"\" + this._apiUrl + options.url;\n var headers = _extends({}, this._headers, options.headers, {\n \"Accept-Version\": this._apiVersion,\n \"Authorization\": this._bearerToken ? \"Bearer \" + this._bearerToken : \"Client-ID \" + this._accessKey\n });\n var timeout = this._timeout;\n\n if (body) {\n headers[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\n }\n\n if (query) {\n url = decodeURIComponent(url + \"?\" + (0, _querystring.stringify)(query));\n }\n\n return {\n url: url,\n options: {\n method: method,\n headers: headers,\n timeout: timeout,\n body: method !== \"GET\" && body ? formUrlEncode(body) : undefined\n }\n };\n}","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseOrderBy = require('./_baseOrderBy'),\n isArray = require('./isArray');\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n}\n\nmodule.exports = orderBy;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Memize options object.\n *\n * @typedef MemizeOptions\n *\n * @property {number} [maxSize] Maximum size of the cache.\n */\n\n/**\n * Internal cache entry.\n *\n * @typedef MemizeCacheNode\n *\n * @property {?MemizeCacheNode|undefined} [prev] Previous node.\n * @property {?MemizeCacheNode|undefined} [next] Next node.\n * @property {Array<*>} args Function arguments for cache\n * entry.\n * @property {*} val Function result.\n */\n\n/**\n * Properties of the enhanced function for controlling cache.\n *\n * @typedef MemizeMemoizedFunction\n *\n * @property {()=>void} clear Clear the cache.\n */\n\n/**\n * Accepts a function to be memoized, and returns a new memoized function, with\n * optional options.\n *\n * @template {Function} F\n *\n * @param {F} fn Function to memoize.\n * @param {MemizeOptions} [options] Options object.\n *\n * @return {F & MemizeMemoizedFunction} Memoized function.\n */\nfunction memize( fn, options ) {\n\tvar size = 0;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar head;\n\n\t/** @type {?MemizeCacheNode|undefined} */\n\tvar tail;\n\n\toptions = options || {};\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\t/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\t/** @type {MemizeCacheNode} */ ( head ).prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args ),\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {\n\t\t\ttail = /** @type {MemizeCacheNode} */ ( tail ).prev;\n\t\t\t/** @type {MemizeCacheNode} */ ( tail ).next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( process.env.NODE_ENV === 'test' ) {\n\t\t// Cache is not exposed in the public API, but used in tests to ensure\n\t\t// expected list progression\n\t\tmemoized.getCache = function() {\n\t\t\treturn [ head, tail, size ];\n\t\t};\n\t}\n\n\t// Ignore reason: There's not a clear solution to create an intersection of\n\t// the function with additional properties, where the goal is to retain the\n\t// function signature of the incoming argument and add control properties\n\t// on the return value.\n\n\t// @ts-ignore\n\treturn memoized;\n}\n\nmodule.exports = memize;\n","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","'use strict';\n\n/**\n * Internal dependencies;\n */\nvar isShallowEqualObjects = require( './objects' );\nvar isShallowEqualArrays = require( './arrays' );\n\nvar isArray = Array.isArray;\n\n/**\n * Returns true if the two arrays or objects are shallow equal, or false\n * otherwise.\n *\n * @param {(Array|Object)} a First object or array to compare.\n * @param {(Array|Object)} b Second object or array to compare.\n *\n * @return {boolean} Whether the two values are shallow equal.\n */\nfunction isShallowEqual( a, b ) {\n\tif ( a && b ) {\n\t\tif ( a.constructor === Object && b.constructor === Object ) {\n\t\t\treturn isShallowEqualObjects( a, b );\n\t\t} else if ( isArray( a ) && isArray( b ) ) {\n\t\t\treturn isShallowEqualArrays( a, b );\n\t\t}\n\t}\n\n\treturn a === b;\n}\n\nmodule.exports = isShallowEqual;\nmodule.exports.isShallowEqualObjects = isShallowEqualObjects;\nmodule.exports.isShallowEqualArrays = isShallowEqualArrays;\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","/** @license React v16.13.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n var index = -1;\n iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","// Filename: formurlencoded.js\n// Timestamp: 2016.01.18-15:36:37 (last modified)\n// Author(s): Bumblehead (www.bumblehead.com), JBlashill (james@blashill.com)\n//\n// http://www.w3.org/TR/html5/forms.html#url-encoded-form-data\n// input: {one:1,two:2} return: '[one]=1&[two]=2'\n\nvar formurlencoded = module.exports = function (data, opts) {\n opts = typeof opts === 'object' ? opts : {};\n\n function encode (value) {\n return String(value)\n .replace(/[^ !'()~\\*]*/g, encodeURIComponent)\n .replace(/ /g, '+')\n .replace(/[!'()~\\*]/g, function (ch) {\n return '%' + ch.charCodeAt().toString(16).slice(-2).toUpperCase();\n });\n }\n\n function keys (obj) {\n var keys = Object.keys(obj);\n\n return opts.sorted ? keys.sort() : keys;\n }\n\n function filterjoin (arr) {\n return arr.filter(function (e) { return e; }).join('&');\n }\n\n function objnest (name, obj) {\n return filterjoin(keys(obj).map(function (key) {\n return nest(name + '[' + key + ']', obj[key]);\n }));\n }\n\n function arrnest (name, arr) {\n return filterjoin(arr.map(function (elem) {\n return nest(name + '[]', elem);\n }));\n }\n\n function nest (name, value) {\n var type = typeof value,\n f = null;\n\n if (value === f) {\n f = opts.ignorenull ? f : encode(name) + '=' + f;\n } else if (/string|number|boolean/.test(type)) {\n f = encode(name) + '=' + encode(value);\n } else if (Array.isArray(value)) {\n f = arrnest(name, value);\n } else if (type === 'object') {\n f = objnest(name, value);\n }\n\n return f;\n }\n\n return filterjoin(keys(data).map(function (key) {\n return nest(key, data[key]);\n }));\n};\n","'use strict';\n\nvar required = require('requires-port')\n , qs = require('querystringify')\n , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\S\\s]*)/i\n , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//;\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n ['#', 'hash'], // Extract from the back.\n ['?', 'query'], // Extract from the back.\n function sanitize(address) { // Sanitize what is left of the address\n return address.replace('\\\\', '/');\n },\n ['/', 'pathname'], // Extract from the back.\n ['@', 'auth', 1], // Extract from the front.\n [NaN, 'host', undefined, 1, 1], // Set left over value.\n [/:(\\d+)$/, 'port', undefined, 1], // RegExp the back.\n [NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n var globalVar;\n\n if (typeof window !== 'undefined') globalVar = window;\n else if (typeof global !== 'undefined') globalVar = global;\n else if (typeof self !== 'undefined') globalVar = self;\n else globalVar = {};\n\n var location = globalVar.location || {};\n loc = loc || location;\n\n var finaldestination = {}\n , type = typeof loc\n , key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n for (key in ignore) delete finaldestination[key];\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address) {\n var match = protocolre.exec(address);\n\n return {\n protocol: match[1] ? match[1].toLowerCase() : '',\n slashes: !!match[2],\n rest: match[3]\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '');\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (!extracted.slashes) instructions[3] = [/(.*)/, 'pathname'];\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n if (~(index = address.indexOf(parse))) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n if (url.auth) {\n instruction = url.auth.split(':');\n url.username = instruction[0] || '';\n url.password = instruction[1] || '';\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (/:\\d+$/.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n default:\n url[part] = value;\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result = protocol + (url.slashes ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n }\n\n result += url.host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.qs = qs;\n\nmodule.exports = Url;\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encodeURIComponent(key);\n value = encodeURIComponent(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = auth;\n\nvar _querystring = require(\"querystring\");\n\nvar _querystring2 = _interopRequireDefault(_querystring);\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction auth() {\n var _this = this;\n\n return {\n getAuthenticationUrl: function getAuthenticationUrl() {\n var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [\"public\"];\n\n var querystrings = _querystring2.default.stringify({\n client_id: _this._accessKey,\n redirect_uri: _this._callbackUrl,\n response_type: \"code\",\n scope: scope.length > 1 ? scope.join(\"+\") : scope.toString()\n });\n\n return decodeURIComponent(_constants.OAUTH_AUTHORIZE_URL + \"?\" + querystrings);\n },\n\n userAuthentication: function userAuthentication(code) {\n var url = _constants.OAUTH_TOKEN_URL;\n\n return _this.request({\n url: url,\n method: \"POST\",\n body: {\n client_id: _this._accessKey,\n client_secret: _this._secret,\n redirect_uri: _this._callbackUrl,\n grant_type: \"authorization_code\",\n code: code\n },\n oauth: true\n });\n },\n\n setBearerToken: function setBearerToken(accessToken) {\n if (accessToken) {\n _this._bearerToken = accessToken;\n }\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = currentUser;\nfunction currentUser() {\n var _this = this;\n\n return {\n profile: function profile() {\n var url = \"/me\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n updateProfile: function updateProfile(options) {\n var endpointUrl = \"/me\";\n var username = options.username,\n firstName = options.firstName,\n lastName = options.lastName,\n email = options.email,\n url = options.url,\n location = options.location,\n bio = options.bio,\n instagramUsername = options.instagramUsername;\n\n var body = {\n username: username,\n first_name: firstName,\n last_name: lastName,\n email: email,\n url: url,\n location: location,\n bio: bio,\n instagram_username: instagramUsername\n };\n\n Object.keys(body).forEach(function (key) {\n if (!body[key]) {\n delete body[key];\n }\n });\n\n return _this.request({\n url: endpointUrl,\n method: \"PUT\",\n body: body\n });\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = users;\nfunction users() {\n var _this = this;\n\n return {\n profile: function profile(username) {\n var url = \"/users/\" + username;\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n photos: function photos(username) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"latest\";\n var stats = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n var url = \"/users/\" + username + \"/photos\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy,\n stats: stats\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n likes: function likes(username) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"latest\";\n\n var url = \"/users/\" + username + \"/likes\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n collections: function collections(username) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"published\";\n\n var url = \"/users/\" + username + \"/collections\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n statistics: function statistics(username) {\n var resolution = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"days\";\n var quantity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 30;\n\n var url = \"/users/\" + username + \"/statistics\";\n var query = {\n resolution: resolution,\n quantity: quantity\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = photos;\n\nvar _utils = require(\"../utils\");\n\nvar _lodash = require(\"lodash.get\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction photos() {\n var _this = this;\n\n return {\n listPhotos: function listPhotos() {\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var perPage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n var orderBy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"latest\";\n\n var url = \"/photos\";\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n getPhoto: function getPhoto(id) {\n var url = \"/photos/\" + id;\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n getPhotoStats: function getPhotoStats(id) {\n var url = \"/photos/\" + id + \"/statistics\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n },\n\n getRandomPhoto: function getRandomPhoto() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var url = \"/photos/random\";\n var collections = options.collections || [];\n\n var query = {\n featured: options.featured,\n username: options.username,\n orientation: options.orientation,\n collections: collections.join(),\n query: options.query,\n c: options.cacheBuster || new Date().getTime(), // Avoid ajax response caching\n count: options.count\n };\n\n Object.keys(query).forEach(function (key) {\n if (!query[key]) {\n delete query[key];\n }\n });\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n likePhoto: function likePhoto(id) {\n if (!_this._bearerToken) {\n throw new Error(\"Requires a bearerToken to be set.\");\n }\n\n var url = \"/photos/\" + id + \"/like\";\n\n return _this.request({\n url: url,\n method: \"POST\"\n });\n },\n\n unlikePhoto: function unlikePhoto(id) {\n if (!_this._bearerToken) {\n throw new Error(\"Requires a bearerToken to be set.\");\n }\n\n var url = \"/photos/\" + id + \"/like\";\n\n return _this.request({\n url: url,\n method: \"DELETE\"\n });\n },\n\n downloadPhoto: function downloadPhoto(photo) {\n var downloadLocation = (0, _lodash2.default)(photo, \"links.download_location\", undefined);\n\n if (downloadLocation === undefined) {\n throw new Error(\"Object received is not a photo. \" + photo);\n }\n\n var urlComponents = (0, _utils.getUrlComponents)(downloadLocation);\n\n return _this.request({\n url: urlComponents.pathname,\n method: \"GET\",\n query: urlComponents.query\n });\n }\n };\n}","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = collections;\nfunction collections() {\n var _this = this;\n\n return {\n listCollections: function listCollections() {\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var perPage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n\n var url = \"/collections\";\n\n var query = {\n page: page,\n per_page: perPage\n };\n\n return _this.request({\n url: url,\n method: \"GET\",\n query: query\n });\n },\n\n getCollection: collection.bind(this),\n\n getCollectionPhotos: collectionPhotos.bind(this),\n\n createCollection: createUpdateCollection.bind(this, null),\n\n updateCollection: createUpdateCollection.bind(this),\n\n deleteCollection: function deleteCollection(id) {\n var url = \"/collections/\" + id;\n\n return _this.request({\n url: url,\n method: \"DELETE\"\n });\n },\n\n addPhotoToCollection: function addPhotoToCollection(collectionId, photoId) {\n var url = \"/collections/\" + collectionId + \"/add\";\n\n return _this.request({\n url: url,\n method: \"POST\",\n body: {\n photo_id: photoId\n }\n });\n },\n\n removePhotoFromCollection: function removePhotoFromCollection(collectionId, photoId) {\n var url = \"/collections/\" + collectionId + \"/remove?photo_id=\" + photoId;\n\n return _this.request({\n url: url,\n method: \"DELETE\"\n });\n },\n\n listRelatedCollections: function listRelatedCollections(collectionId) {\n var url = \"/collections/\" + collectionId + \"/related\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n }\n };\n}\n\nfunction collection(id) {\n return this.request({\n url: \"/collections/\" + id,\n method: \"GET\"\n });\n}\n\nfunction collectionPhotos(id) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var orderBy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"latest\";\n\n var query = {\n page: page,\n per_page: perPage,\n order_by: orderBy\n };\n\n return this.request({\n url: \"/collections/\" + id + \"/photos\",\n method: \"GET\",\n query: query\n });\n}\n\nfunction createUpdateCollection(id, title, description, isPrivate) {\n var url = id ? \"/collections/\" + id : \"/collections\";\n var body = {\n title: title,\n description: description,\n \"private\": isPrivate\n };\n\n return this.request({\n url: url,\n method: id ? \"PUT\" : \"POST\",\n body: body\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = search;\nfunction search() {\n var _this = this;\n\n return {\n photos: function photos() {\n var keyword = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n var filters = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var collections = filters.collections || [];\n var query = {\n query: encodeURIComponent(keyword),\n per_page: perPage,\n orientation: filters.orientation,\n collections: collections.join(),\n page: page\n };\n\n Object.keys(query).forEach(function (key) {\n if (!query[key] && key != \"query\") {\n delete query[key];\n }\n });\n\n return _this.request({\n url: \"/search/photos\",\n method: \"GET\",\n query: query\n });\n },\n\n users: function users() {\n var keyword = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n\n var query = {\n query: encodeURIComponent(keyword),\n per_page: perPage,\n page: page\n };\n\n return _this.request({\n url: \"/search/users\",\n method: \"GET\",\n query: query\n });\n },\n\n collections: function collections() {\n var keyword = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var perPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n\n var query = {\n query: encodeURIComponent(keyword),\n per_page: perPage,\n page: page\n };\n\n return _this.request({\n url: \"/search/collections\",\n method: \"GET\",\n query: query\n });\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = stats;\nfunction stats() {\n var _this = this;\n\n return {\n total: function total() {\n var url = \"/stats/total\";\n\n return _this.request({\n url: url,\n method: \"GET\"\n });\n }\n };\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","'use strict';\n\nvar keys = Object.keys;\n\n/**\n * Returns true if the two objects are shallow equal, or false otherwise.\n *\n * @param {import('.').ComparableObject} a First object to compare.\n * @param {import('.').ComparableObject} b Second object to compare.\n *\n * @return {boolean} Whether the two objects are shallow equal.\n */\nfunction isShallowEqualObjects( a, b ) {\n\tvar aKeys, bKeys, i, key, aValue;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\taKeys = keys( a );\n\tbKeys = keys( b );\n\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\n\ti = 0;\n\n\twhile ( i < aKeys.length ) {\n\t\tkey = aKeys[ i ];\n\t\taValue = a[ key ];\n\n\t\tif (\n\t\t\t// In iterating only the keys of the first object after verifying\n\t\t\t// equal lengths, account for the case that an explicit `undefined`\n\t\t\t// value in the first is implicitly undefined in the second.\n\t\t\t//\n\t\t\t// Example: isShallowEqualObjects( { a: undefined }, { b: 5 } )\n\t\t\t( aValue === undefined && ! b.hasOwnProperty( key ) ) ||\n\t\t\taValue !== b[ key ]\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualObjects;\n","'use strict';\n\n/**\n * Returns true if the two arrays are shallow equal, or false otherwise.\n *\n * @param {any[]} a First array to compare.\n * @param {any[]} b Second array to compare.\n *\n * @return {boolean} Whether the two arrays are shallow equal.\n */\nfunction isShallowEqualArrays( a, b ) {\n\tvar i;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\tif ( a.length !== b.length ) {\n\t\treturn false;\n\t}\n\n\tfor ( i = 0; i < a.length; i++ ) {\n\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualArrays;\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","'use strict';\n\nvar keys = Object.keys;\n\n/**\n * Returns true if the two objects are shallow equal, or false otherwise.\n *\n * @param {Object} a First object to compare.\n * @param {Object} b Second object to compare.\n *\n * @return {boolean} Whether the two objects are shallow equal.\n */\nfunction isShallowEqualObjects( a, b ) {\n\tvar aKeys, bKeys, i, key, aValue;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\taKeys = keys( a );\n\tbKeys = keys( b );\n\n\tif ( aKeys.length !== bKeys.length ) {\n\t\treturn false;\n\t}\n\n\ti = 0;\n\n\twhile ( i < aKeys.length ) {\n\t\tkey = aKeys[ i ];\n\t\taValue = a[ key ];\n\n\t\tif (\n\t\t\t// In iterating only the keys of the first object after verifying\n\t\t\t// equal lengths, account for the case that an explicit `undefined`\n\t\t\t// value in the first is implicitly undefined in the second.\n\t\t\t//\n\t\t\t// Example: isShallowEqualObjects( { a: undefined }, { b: 5 } )\n\t\t\t( aValue === undefined && ! b.hasOwnProperty( key ) ) ||\n\t\t\taValue !== b[ key ]\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualObjects;\n","'use strict';\n\n/**\n * Returns true if the two arrays are shallow equal, or false otherwise.\n *\n * @param {Array} a First array to compare.\n * @param {Array} b Second array to compare.\n *\n * @return {boolean} Whether the two arrays are shallow equal.\n */\nfunction isShallowEqualArrays( a, b ) {\n\tvar i;\n\n\tif ( a === b ) {\n\t\treturn true;\n\t}\n\n\tif ( a.length !== b.length ) {\n\t\treturn false;\n\t}\n\n\tfor ( i = 0; i < a.length; i++ ) {\n\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nmodule.exports = isShallowEqualArrays;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/**\n * External dependencies\n */\nimport { Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, memo, StrictMode, useState, useEffect, useContext, useReducer, useCallback, useMemo, useRef, useImperativeHandle, useLayoutEffect, useDebugValue, lazy, Suspense } from 'react';\nimport { isString } from 'lodash';\n/**\n * Object that provides utilities for dealing with React children.\n */\n\nexport { Children };\n/**\n * Creates a copy of an element with extended props.\n *\n * @param {WPElement} element Element\n * @param {?Object} props Props to apply to cloned element\n *\n * @return {WPElement} Cloned element.\n */\n\nexport { cloneElement };\n/**\n * A base class to create WordPress Components (Refs, state and lifecycle hooks)\n */\n\nexport { Component };\n/**\n * Creates a context object containing two components: a provider and consumer.\n *\n * @param {Object} defaultValue A default data stored in the context.\n *\n * @return {Object} Context object.\n */\n\nexport { createContext };\n/**\n * Returns a new element of given type. Type can be either a string tag name or\n * another function which itself returns an element.\n *\n * @param {?(string|Function)} type Tag name or element creator\n * @param {Object} props Element properties, either attribute\n * set to apply to DOM node or values to\n * pass through to element creator\n * @param {...WPElement} children Descendant elements\n *\n * @return {WPElement} Element.\n */\n\nexport { createElement };\n/**\n * Returns an object tracking a reference to a rendered element via its\n * `current` property as either a DOMElement or Element, dependent upon the\n * type of element rendered with the ref attribute.\n *\n * @return {Object} Ref object.\n */\n\nexport { createRef };\n/**\n * Component enhancer used to enable passing a ref to its wrapped component.\n * Pass a function argument which receives `props` and `ref` as its arguments,\n * returning an element using the forwarded ref. The return value is a new\n * component which forwards its ref.\n *\n * @param {Function} forwarder Function passed `props` and `ref`, expected to\n * return an element.\n *\n * @return {WPComponent} Enhanced component.\n */\n\nexport { forwardRef };\n/**\n * A component which renders its children without any wrapping element.\n */\n\nexport { Fragment };\n/**\n * Checks if an object is a valid WPElement\n *\n * @param {Object} objectToCheck The object to be checked.\n *\n * @return {boolean} true if objectToTest is a valid WPElement and false otherwise.\n */\n\nexport { isValidElement };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactmemo\n */\n\nexport { memo };\n/**\n * Component that activates additional checks and warnings for its descendants.\n */\n\nexport { StrictMode };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecallback\n */\n\nexport { useCallback };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecontext\n */\n\nexport { useContext };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue\n */\n\nexport { useDebugValue };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useeffect\n */\n\nexport { useEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle\n */\n\nexport { useImperativeHandle };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\n\nexport { useLayoutEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usememo\n */\n\nexport { useMemo };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usereducer\n */\n\nexport { useReducer };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n */\n\nexport { useRef };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usestate\n */\n\nexport { useState };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactlazy\n */\n\nexport { lazy };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactsuspense\n */\n\nexport { Suspense };\n/**\n * Concatenate two or more React children objects.\n *\n * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate.\n *\n * @return {Array} The concatenated value.\n */\n\nexport function concatChildren() {\n for (var _len = arguments.length, childrenArguments = new Array(_len), _key = 0; _key < _len; _key++) {\n childrenArguments[_key] = arguments[_key];\n }\n\n return childrenArguments.reduce(function (result, children, i) {\n Children.forEach(children, function (child, j) {\n if (child && 'string' !== typeof child) {\n child = cloneElement(child, {\n key: [i, j].join()\n });\n }\n\n result.push(child);\n });\n return result;\n }, []);\n}\n/**\n * Switches the nodeName of all the elements in the children object.\n *\n * @param {?Object} children Children object.\n * @param {string} nodeName Node name.\n *\n * @return {?Object} The updated children object.\n */\n\nexport function switchChildrenNodeName(children, nodeName) {\n return children && Children.map(children, function (elt, index) {\n if (isString(elt)) {\n return createElement(nodeName, {\n key: index\n }, elt);\n }\n\n var _elt$props = elt.props,\n childrenProp = _elt$props.children,\n props = _objectWithoutProperties(_elt$props, [\"children\"]);\n\n return createElement(nodeName, _objectSpread({\n key: index\n }, props), childrenProp);\n });\n}\n//# sourceMappingURL=react.js.map","/**\n * External dependencies\n */\nimport { createPortal, findDOMNode, render, unmountComponentAtNode } from 'react-dom';\n/**\n * Creates a portal into which a component can be rendered.\n *\n * @see https://github.com/facebook/react/issues/10309#issuecomment-318433235\n *\n * @param {Component} component Component\n * @param {Element} target DOM node into which element should be rendered\n */\n\nexport { createPortal };\n/**\n * Finds the dom node of a React component\n *\n * @param {Component} component component's instance\n * @param {Element} target DOM node into which element should be rendered\n */\n\nexport { findDOMNode };\n/**\n * Renders a given element into the target DOM node.\n *\n * @param {WPElement} element Element to render\n * @param {Element} target DOM node into which element should be rendered\n */\n\nexport { render };\n/**\n * Removes any mounted element from the target DOM node.\n *\n * @param {Element} target DOM node in which element is to be removed\n */\n\nexport { unmountComponentAtNode };\n//# sourceMappingURL=react-platform.js.map","/**\n * External dependencies\n */\nimport { isArray, isNumber, isString } from 'lodash';\n/**\n * Checks if the provided WP element is empty.\n *\n * @param {*} element WP element to check.\n * @return {boolean} True when an element is considered empty.\n */\n\nexport var isEmptyElement = function isEmptyElement(element) {\n if (isNumber(element)) {\n return false;\n }\n\n if (isString(element) || isArray(element)) {\n return !element.length;\n }\n\n return !element;\n};\n//# sourceMappingURL=utils.js.map","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","/**\n * Returns a string with greater-than sign replaced.\n *\n * Note that if a resolution for Trac#45387 comes to fruition, it is no longer\n * necessary for `__unstableEscapeGreaterThan` to exist.\n *\n * See: https://core.trac.wordpress.org/ticket/45387\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\nexport default function __unstableEscapeGreaterThan(value) {\n return value.replace(/>/g, '>');\n}\n//# sourceMappingURL=escape-greater.js.map","/**\n * Internal dependencies\n */\nimport __unstableEscapeGreaterThan from './escape-greater';\n/**\n * Regular expression matching invalid attribute names.\n *\n * \"Attribute names must consist of one or more characters other than controls,\n * U+0020 SPACE, U+0022 (\"), U+0027 ('), U+003E (>), U+002F (/), U+003D (=),\n * and noncharacters.\"\n *\n * @see https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n *\n * @type {RegExp}\n */\n\nvar REGEXP_INVALID_ATTRIBUTE_NAME = /[\\u007F-\\u009F \"'>/=\"\\uFDD0-\\uFDEF]/;\n/**\n * Returns a string with ampersands escaped. Note that this is an imperfect\n * implementation, where only ampersands which do not appear as a pattern of\n * named, decimal, or hexadecimal character references are escaped. Invalid\n * named references (i.e. ambiguous ampersand) are are still permitted.\n *\n * @see https://w3c.github.io/html/syntax.html#character-references\n * @see https://w3c.github.io/html/syntax.html#ambiguous-ampersand\n * @see https://w3c.github.io/html/syntax.html#named-character-references\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nexport function escapeAmpersand(value) {\n return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&');\n}\n/**\n * Returns a string with quotation marks replaced.\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nexport function escapeQuotationMark(value) {\n return value.replace(/\"/g, '"');\n}\n/**\n * Returns a string with less-than sign replaced.\n *\n * @param {string} value Original string.\n *\n * @return {string} Escaped string.\n */\n\nexport function escapeLessThan(value) {\n return value.replace(/ tbody > tr' ) ]\n * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * @type {Set}\n */\n\nvar BOOLEAN_ATTRIBUTES = new Set(['allowfullscreen', 'allowpaymentrequest', 'allowusermedia', 'async', 'autofocus', 'autoplay', 'checked', 'controls', 'default', 'defer', 'disabled', 'download', 'formnovalidate', 'hidden', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nomodule', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'selected', 'typemustmatch']);\n/**\n * Enumerated attributes are attributes which must be of a specific value form.\n * Like boolean attributes, these are meaningful if specified, even if not of a\n * valid enumerated value.\n *\n * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute\n * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n *\n * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ]\n * .filter( ( tr ) => /^(\"(.+?)\";?\\s*)+/.test( tr.lastChild.textContent.trim() ) )\n * .reduce( ( result, tr ) => Object.assign( result, {\n * [ tr.firstChild.textContent.trim() ]: true\n * } ), {} ) ).sort();\n *\n * Some notable omissions:\n *\n * - `alt`: https://blog.whatwg.org/omit-alt\n *\n * @type {Set}\n */\n\nvar ENUMERATED_ATTRIBUTES = new Set(['autocapitalize', 'autocomplete', 'charset', 'contenteditable', 'crossorigin', 'decoding', 'dir', 'draggable', 'enctype', 'formenctype', 'formmethod', 'http-equiv', 'inputmode', 'kind', 'method', 'preload', 'scope', 'shape', 'spellcheck', 'translate', 'type', 'wrap']);\n/**\n * Set of CSS style properties which support assignment of unitless numbers.\n * Used in rendering of style properties, where `px` unit is assumed unless\n * property is included in this set or value is zero.\n *\n * Generated via:\n *\n * Object.entries( document.createElement( 'div' ).style )\n * .filter( ( [ key ] ) => (\n * ! /^(webkit|ms|moz)/.test( key ) &&\n * ( e.style[ key ] = 10 ) &&\n * e.style[ key ] === '10'\n * ) )\n * .map( ( [ key ] ) => key )\n * .sort();\n *\n * @type {Set}\n */\n\nvar CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set(['animation', 'animationIterationCount', 'baselineShift', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'columnCount', 'cx', 'cy', 'fillOpacity', 'flexGrow', 'flexShrink', 'floodOpacity', 'fontWeight', 'gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'r', 'rx', 'ry', 'shapeImageThreshold', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'tabSize', 'widows', 'x', 'y', 'zIndex', 'zoom']);\n/**\n * Returns true if the specified string is prefixed by one of an array of\n * possible prefixes.\n *\n * @param {string} string String to check.\n * @param {string[]} prefixes Possible prefixes.\n *\n * @return {boolean} Whether string has prefix.\n */\n\nexport function hasPrefix(string, prefixes) {\n return prefixes.some(function (prefix) {\n return string.indexOf(prefix) === 0;\n });\n}\n/**\n * Returns true if the given prop name should be ignored in attributes\n * serialization, or false otherwise.\n *\n * @param {string} attribute Attribute to check.\n *\n * @return {boolean} Whether attribute should be ignored.\n */\n\nfunction isInternalAttribute(attribute) {\n return 'key' === attribute || 'children' === attribute;\n}\n/**\n * Returns the normal form of the element's attribute value for HTML.\n *\n * @param {string} attribute Attribute name.\n * @param {*} value Non-normalized attribute value.\n *\n * @return {string} Normalized attribute value.\n */\n\n\nfunction getNormalAttributeValue(attribute, value) {\n switch (attribute) {\n case 'style':\n return renderStyle(value);\n }\n\n return value;\n}\n/**\n * Returns the normal form of the element's attribute name for HTML.\n *\n * @param {string} attribute Non-normalized attribute name.\n *\n * @return {string} Normalized attribute name.\n */\n\n\nfunction getNormalAttributeName(attribute) {\n switch (attribute) {\n case 'htmlFor':\n return 'for';\n\n case 'className':\n return 'class';\n }\n\n return attribute.toLowerCase();\n}\n/**\n * Returns the normal form of the style property name for HTML.\n *\n * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color'\n * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor'\n * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform'\n *\n * @param {string} property Property name.\n *\n * @return {string} Normalized property name.\n */\n\n\nfunction getNormalStylePropertyName(property) {\n if (startsWith(property, '--')) {\n return property;\n }\n\n if (hasPrefix(property, ['ms', 'O', 'Moz', 'Webkit'])) {\n return '-' + kebabCase(property);\n }\n\n return kebabCase(property);\n}\n/**\n * Returns the normal form of the style property value for HTML. Appends a\n * default pixel unit if numeric, not a unitless property, and not zero.\n *\n * @param {string} property Property name.\n * @param {*} value Non-normalized property value.\n *\n * @return {*} Normalized property value.\n */\n\n\nfunction getNormalStylePropertyValue(property, value) {\n if (typeof value === 'number' && 0 !== value && !CSS_PROPERTIES_SUPPORTS_UNITLESS.has(property)) {\n return value + 'px';\n }\n\n return value;\n}\n/**\n * Serializes a React element to string.\n *\n * @param {WPElement} element Element to serialize.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized element.\n */\n\n\nexport function renderElement(element, context) {\n var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (null === element || undefined === element || false === element) {\n return '';\n }\n\n if (Array.isArray(element)) {\n return renderChildren(element, context, legacyContext);\n }\n\n switch (_typeof(element)) {\n case 'string':\n return escapeHTML(element);\n\n case 'number':\n return element.toString();\n }\n\n var type = element.type,\n props = element.props;\n\n switch (type) {\n case StrictMode:\n case Fragment:\n return renderChildren(props.children, context, legacyContext);\n\n case RawHTML:\n var children = props.children,\n wrapperProps = _objectWithoutProperties(props, [\"children\"]);\n\n return renderNativeComponent(isEmpty(wrapperProps) ? null : 'div', _objectSpread({}, wrapperProps, {\n dangerouslySetInnerHTML: {\n __html: children\n }\n }), context, legacyContext);\n }\n\n switch (_typeof(type)) {\n case 'string':\n return renderNativeComponent(type, props, context, legacyContext);\n\n case 'function':\n if (type.prototype && typeof type.prototype.render === 'function') {\n return renderComponent(type, props, context, legacyContext);\n }\n\n return renderElement(type(props, legacyContext), context, legacyContext);\n }\n\n switch (type && type.$$typeof) {\n case Provider.$$typeof:\n return renderChildren(props.children, props.value, legacyContext);\n\n case Consumer.$$typeof:\n return renderElement(props.children(context || type._currentValue), context, legacyContext);\n\n case ForwardRef.$$typeof:\n return renderElement(type.render(props), context, legacyContext);\n }\n\n return '';\n}\n/**\n * Serializes a native component type to string.\n *\n * @param {?string} type Native component type to serialize, or null if\n * rendering as fragment of children content.\n * @param {Object} props Props object.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized element.\n */\n\nexport function renderNativeComponent(type, props, context) {\n var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var content = '';\n\n if (type === 'textarea' && props.hasOwnProperty('value')) {\n // Textarea children can be assigned as value prop. If it is, render in\n // place of children. Ensure to omit so it is not assigned as attribute\n // as well.\n content = renderChildren(props.value, context, legacyContext);\n props = omit(props, 'value');\n } else if (props.dangerouslySetInnerHTML && typeof props.dangerouslySetInnerHTML.__html === 'string') {\n // Dangerous content is left unescaped.\n content = props.dangerouslySetInnerHTML.__html;\n } else if (typeof props.children !== 'undefined') {\n content = renderChildren(props.children, context, legacyContext);\n }\n\n if (!type) {\n return content;\n }\n\n var attributes = renderAttributes(props);\n\n if (SELF_CLOSING_TAGS.has(type)) {\n return '<' + type + attributes + '/>';\n }\n\n return '<' + type + attributes + '>' + content + '';\n}\n/**\n * Serializes a non-native component type to string.\n *\n * @param {Function} Component Component type to serialize.\n * @param {Object} props Props object.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized element\n */\n\nexport function renderComponent(Component, props, context) {\n var legacyContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var instance = new Component(props, legacyContext);\n\n if (typeof instance.getChildContext === 'function') {\n Object.assign(legacyContext, instance.getChildContext());\n }\n\n var html = renderElement(instance.render(), context, legacyContext);\n return html;\n}\n/**\n * Serializes an array of children to string.\n *\n * @param {Array} children Children to serialize.\n * @param {?Object} context Context object.\n * @param {?Object} legacyContext Legacy context object.\n *\n * @return {string} Serialized children.\n */\n\nfunction renderChildren(children, context) {\n var legacyContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var result = '';\n children = castArray(children);\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n result += renderElement(child, context, legacyContext);\n }\n\n return result;\n}\n/**\n * Renders a props object as a string of HTML attributes.\n *\n * @param {Object} props Props object.\n *\n * @return {string} Attributes string.\n */\n\n\nexport function renderAttributes(props) {\n var result = '';\n\n for (var key in props) {\n var attribute = getNormalAttributeName(key);\n\n if (!isValidAttributeName(attribute)) {\n continue;\n }\n\n var value = getNormalAttributeValue(key, props[key]); // If value is not of serializeable type, skip.\n\n if (!ATTRIBUTES_TYPES.has(_typeof(value))) {\n continue;\n } // Don't render internal attribute names.\n\n\n if (isInternalAttribute(key)) {\n continue;\n }\n\n var isBooleanAttribute = BOOLEAN_ATTRIBUTES.has(attribute); // Boolean attribute should be omitted outright if its value is false.\n\n if (isBooleanAttribute && value === false) {\n continue;\n }\n\n var isMeaningfulAttribute = isBooleanAttribute || hasPrefix(key, ['data-', 'aria-']) || ENUMERATED_ATTRIBUTES.has(attribute); // Only write boolean value as attribute if meaningful.\n\n if (typeof value === 'boolean' && !isMeaningfulAttribute) {\n continue;\n }\n\n result += ' ' + attribute; // Boolean attributes should write attribute name, but without value.\n // Mere presence of attribute name is effective truthiness.\n\n if (isBooleanAttribute) {\n continue;\n }\n\n if (typeof value === 'string') {\n value = escapeAttribute(value);\n }\n\n result += '=\"' + value + '\"';\n }\n\n return result;\n}\n/**\n * Renders a style object as a string attribute value.\n *\n * @param {Object} style Style object.\n *\n * @return {string} Style attribute value.\n */\n\nexport function renderStyle(style) {\n // Only generate from object, e.g. tolerate string value.\n if (!isPlainObject(style)) {\n return style;\n }\n\n var result;\n\n for (var property in style) {\n var value = style[property];\n\n if (null === value || undefined === value) {\n continue;\n }\n\n if (result) {\n result += ';';\n } else {\n result = '';\n }\n\n var normalName = getNormalStylePropertyName(property);\n var normalValue = getNormalStylePropertyValue(property, value);\n result += normalName + ':' + normalValue;\n }\n\n return result;\n}\nexport default renderElement;\n//# sourceMappingURL=serialize.js.map","export * from './react';\nexport * from './react-platform';\nexport * from './utils';\nexport { default as renderToString } from './serialize';\nexport { default as RawHTML } from './raw-html';\n//# sourceMappingURL=index.js.map","const { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component } = wp.element;\n\nconst enableBlockIdAttributeOnBlocks = [ 'novablocks/announcement-bar' ];\n\nfunction addBlockIdAttribute( block ) {\n\n\tif ( ! enableBlockIdAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ){\n\t\tblock.attributes = Object.assign( block.attributes, {\n\t\t\tblockId: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t}\n\t\t});\n\t}\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-blockId-attribute', addBlockIdAttribute );\n\nconst withBlockIdAttribute = createHigherOrderComponent( ( BlockEdit ) => {\n\n\treturn class BetterBlockEdit extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\tif ( enableBlockIdAttributeOnBlocks.includes( this.props.name ) ) {\n\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\tblockId: this.props.clientId\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\treturn ;\n\t\t}\n\t}\n\n}, \"withBlockIdAttribute\" );\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-blockId-attribute', withBlockIdAttribute );\n\n\n\n","const { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component } = wp.element;\nconst { select } = wp.data;\n\nconst enableBlockIndexAttributeOnBlocks = [ 'novablocks/hero' ];\n\nfunction addBlockIndexAttribute( block ) {\n\n\tif ( ! enableBlockIndexAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ){\n\t\tblock.attributes = Object.assign( block.attributes, {\n\t\t\tblockIndex: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: -1,\n\t\t\t}\n\t\t});\n\t}\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-blockIndex-attribute', addBlockIndexAttribute );\n\nconst withBlockIndexAttribute = createHigherOrderComponent( ( BlockEdit ) => {\n\n\treturn class BetterBlockEdit extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\tthis.updateIndex();\n\t\t}\n\n\t\tupdateIndex() {\n\t\t\tif ( enableBlockIndexAttributeOnBlocks.includes( this.props.name ) ) {\n\t\t\t\tconst oldIndex = this.props.attributes.blockIndex;\n\t\t\t\tconst newIndex = select( 'core/block-editor' ).getBlocks().findIndex( block => {\n\t\t\t\t\treturn block.clientId === this.props.clientId\n\t\t\t\t} );\n\n\t\t\t\tif ( oldIndex !== newIndex ) {\n\t\t\t\t\tthis.props.setAttributes( { blockIndex: newIndex } );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\treturn ;\n\t\t}\n\t}\n\n}, \"withBlockIndexAttribute\" );\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-blockIndex-attribute', withBlockIndexAttribute );\n\n\n\n","import classnames from 'classnames';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\tFragment,\n\tComponent,\n} = wp.element;\n\nconst {\n\tPanelBody,\n\tSelectControl,\n} = wp.components;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\twithSelect,\n} = wp.data;\n\nconst {\n\taddFilter\n} = wp.hooks;\n\nconst enableFontSizeControlOnBlocks = [\n\t'core/quote',\n\t'core/pullquote',\n\t'core/heading',\n\t'novablocks/headline'\n];\n\nconst fontSizeOptions = [\n\t{ value: 'smallest', label: __( 'Smallest', '__plugin_txtd' ) },\n\t{ value: 'smaller', label: __( 'Smaller', '__plugin_txtd' ) },\n\t{ value: 'normal', label: __( 'Normal', '__plugin_txtd' ) },\n\t{ value: 'larger', label: __( 'Larger', '__plugin_txtd' ) },\n\t{ value: 'largest', label: __( 'Largest', '__plugin_txtd' ) },\n];\n\nconst defaultFontSize = 'normal';\n\nfunction replaceActiveFontSize( className, fontSize, nextFontSize ) {\n\n\tif ( className ) {\n\t\tconst regex = new RegExp( 'has-[a-z]+-font-size', 'gi' );\n\t\tclassName = className.replace( regex, '' ).trim();\n\t}\n\n\tconst nextClassName = 'has-' + nextFontSize + '-font-size';\n\n\treturn className ? className + ' ' + nextClassName : nextClassName;\n}\n\nfunction withFontSizePicker( WrappedComponent ) {\n\n\treturn ( props ) => {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tclassName,\n\t\t\t\tfontSize,\n\t\t\t\tlevel,\n\t\t\t},\n\t\t\tsetAttributes,\n\t\t} = props;\n\n\t\tconst selectValue = fontSizeOptions.find( x => x.value === fontSize ) ? fontSize : defaultFontSize;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfontSize: nextFontSize,\n\t\t\t\t\t\t\t\t\tclassName: replaceActiveFontSize( className, fontSize, nextFontSize )\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t \n\t\t)\n\t}\n}\n\nconst withFontSizeControl = createHigherOrderComponent(OriginalComponent => {\n\n\tconst BetterComponent = withFontSizePicker(OriginalComponent);\n\n\treturn ( props ) => {\n\n\t\tif ( ! enableFontSizeControlOnBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn ;\n\t};\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-inspector-controls', withFontSizeControl );\n\nfunction addFontSizeAttribute( block ) {\n\n\tif ( ! enableFontSizeControlOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes === 'undefined' ) {\n\t\tblock.attributes = {};\n\t}\n\n\tblock.attributes = Object.assign( block.attributes, {\n\t\tfontSize: {\n\t\t\ttype: 'string',\n\t\t\tdefault: defaultFontSize,\n\t\t}\n\t});\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-font-size-attribute', addFontSizeAttribute );\n","const DEFAULT_STATE = {\n\tsettings: {\n\n\t}\n};\n\nexport default function( state = DEFAULT_STATE, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsettings: action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n","export function getSettings( state ) {\n\treturn state.settings;\n}\n","export function updateSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_SETTINGS',\n\t\tsettings,\n\t};\n}\n","const {\n\tregisterStore\n} = wp.data;\n\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\n\nexport const STORE_NAME = 'novablocks';\n\nexport default registerStore( STORE_NAME, {\n\treducer,\n\tselectors,\n\tactions,\n} );","import { STORE_NAME } from '../../store';\n\nconst {\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nconst {\n\twithSelect,\n} = wp.data;\n\nexport default createHigherOrderComponent( ( Component ) => {\n\treturn withSelect( ( select, ownProps ) => {\n\t\tconst { getSettings } = select( STORE_NAME );\n\n\t\treturn {\n\t\t\t...ownProps,\n\t\t\tsettings: getSettings(),\n\t\t};\n\t} )( Component );\n} );\n","\nexport const mergeChildrenProps = ( children1, children2 ) => {\n\n\tif ( typeof children1 === \"undefined\" ) {\n\t\treturn children2;\n\t}\n\n\tif ( typeof children2 === \"undefined\" ) {\n\t\treturn children1;\n\t}\n\n\tlet children1Array = Array.isArray( children1 ) ? children1 : [ children1 ];\n\tlet children2Array = Array.isArray( children2 ) ? children2 : [ children2 ];\n\n\treturn children1Array.concat( children2Array );\n}\n\nexport const getSectionsFromFills = ( fills ) => {\n\tconst sections = [];\n\n\t// Merge sections with the same label\n\tfills.forEach( fill => {\n\t\tconst index = sections.findIndex( section => {\n\t\t\treturn section.props.label === fill[0].props.label;\n\t\t} );\n\n\t\tif ( index === -1 ) {\n\t\t\tsections.push( {\n\t\t\t\tprops: fill[0].props,\n\t\t\t} );\n\t\t} else {\n\t\t\tsections.splice(index, 1, {\n\t\t\t\tprops: {\n\t\t\t\t\t...sections[index].props,\n\t\t\t\t\tchildren: mergeChildrenProps( sections[index].props.children, fill[0].props.children ),\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} );\n\n\treturn sections;\n};\n","const { createSlotFill } = wp.components;\n\nconst ControlsSectionsSlotFill = createSlotFill( 'ControlsSections' );\nconst ControlsSectionsSlot = ControlsSectionsSlotFill.Slot;\nconst ControlsSectionsFill = ControlsSectionsSlotFill.Fill;\n\nexport { ControlsSectionsSlot, ControlsSectionsFill };\n","const { createSlotFill } = wp.components;\n\nconst DrawerContentSlotFill = createSlotFill( 'DrawerContent' );\nconst DrawerContentSlot = DrawerContentSlotFill.Slot;\nconst DrawerContentFill = DrawerContentSlotFill.Fill;\n\nexport { DrawerContentSlot, DrawerContentFill };\n","const Cube = ( props ) => {\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default Cube;\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport React, { useState, useCallback, forwardRef, useRef, useEffect, useImperativeHandle, useMemo } from 'react';\n\nconst is = {\n arr: Array.isArray,\n obj: a => Object.prototype.toString.call(a) === '[object Object]',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === void 0,\n nul: a => a === null,\n set: a => a instanceof Set,\n map: a => a instanceof Map,\n\n equ(a, b) {\n if (typeof a !== typeof b) return false;\n if (is.str(a) || is.num(a)) return a === b;\n if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;\n let i;\n\n for (i in a) if (!(i in b)) return false;\n\n for (i in b) if (a[i] !== b[i]) return false;\n\n return is.und(i) ? a === b : true;\n }\n\n};\nfunction merge(target, lowercase) {\n if (lowercase === void 0) {\n lowercase = true;\n }\n\n return object => (is.arr(object) ? object : Object.keys(object)).reduce((acc, element) => {\n const key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;\n acc[key] = target(key);\n return acc;\n }, target);\n}\nfunction useForceUpdate() {\n const _useState = useState(false),\n f = _useState[1];\n\n const forceUpdate = useCallback(() => f(v => !v), []);\n return forceUpdate;\n}\nfunction withDefault(value, defaultValue) {\n return is.und(value) || is.nul(value) ? defaultValue : value;\n}\nfunction toArray(a) {\n return !is.und(a) ? is.arr(a) ? a : [a] : [];\n}\nfunction callProp(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return is.fun(obj) ? obj(...args) : obj;\n}\n\nfunction getForwardProps(props) {\n const to = props.to,\n from = props.from,\n config = props.config,\n onStart = props.onStart,\n onRest = props.onRest,\n onFrame = props.onFrame,\n children = props.children,\n reset = props.reset,\n reverse = props.reverse,\n force = props.force,\n immediate = props.immediate,\n delay = props.delay,\n attach = props.attach,\n destroyed = props.destroyed,\n interpolateTo = props.interpolateTo,\n ref = props.ref,\n lazy = props.lazy,\n forward = _objectWithoutPropertiesLoose(props, [\"to\", \"from\", \"config\", \"onStart\", \"onRest\", \"onFrame\", \"children\", \"reset\", \"reverse\", \"force\", \"immediate\", \"delay\", \"attach\", \"destroyed\", \"interpolateTo\", \"ref\", \"lazy\"]);\n\n return forward;\n}\n\nfunction interpolateTo(props) {\n const forward = getForwardProps(props);\n if (is.und(forward)) return _extends({\n to: forward\n }, props);\n const rest = Object.keys(props).reduce((a, k) => !is.und(forward[k]) ? a : _extends({}, a, {\n [k]: props[k]\n }), {});\n return _extends({\n to: forward\n }, rest);\n}\nfunction handleRef(ref, forward) {\n if (forward) {\n // If it's a function, assume it's a ref callback\n if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {\n forward.current = ref;\n }\n }\n\n return ref;\n}\n\nclass Animated {\n constructor() {\n this.payload = void 0;\n this.children = [];\n }\n\n getAnimatedValue() {\n return this.getValue();\n }\n\n getPayload() {\n return this.payload || this;\n }\n\n attach() {}\n\n detach() {}\n\n getChildren() {\n return this.children;\n }\n\n addChild(child) {\n if (this.children.length === 0) this.attach();\n this.children.push(child);\n }\n\n removeChild(child) {\n const index = this.children.indexOf(child);\n this.children.splice(index, 1);\n if (this.children.length === 0) this.detach();\n }\n\n}\nclass AnimatedArray extends Animated {\n constructor() {\n super(...arguments);\n this.payload = [];\n\n this.attach = () => this.payload.forEach(p => p instanceof Animated && p.addChild(this));\n\n this.detach = () => this.payload.forEach(p => p instanceof Animated && p.removeChild(this));\n }\n\n}\nclass AnimatedObject extends Animated {\n constructor() {\n super(...arguments);\n this.payload = {};\n\n this.attach = () => Object.values(this.payload).forEach(s => s instanceof Animated && s.addChild(this));\n\n this.detach = () => Object.values(this.payload).forEach(s => s instanceof Animated && s.removeChild(this));\n }\n\n getValue(animated) {\n if (animated === void 0) {\n animated = false;\n }\n\n const payload = {};\n\n for (const key in this.payload) {\n const value = this.payload[key];\n if (animated && !(value instanceof Animated)) continue;\n payload[key] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;\n }\n\n return payload;\n }\n\n getAnimatedValue() {\n return this.getValue(true);\n }\n\n}\n\nlet applyAnimatedValues;\nfunction injectApplyAnimatedValues(fn, transform) {\n applyAnimatedValues = {\n fn,\n transform\n };\n}\nlet colorNames;\nfunction injectColorNames(names) {\n colorNames = names;\n}\nlet requestFrame = cb => typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;\nlet cancelFrame = id => {\n typeof window !== 'undefined' && window.cancelAnimationFrame(id);\n};\nfunction injectFrame(raf, caf) {\n requestFrame = raf;\n cancelFrame = caf;\n}\nlet interpolation;\nfunction injectStringInterpolator(fn) {\n interpolation = fn;\n}\nlet now = () => Date.now();\nfunction injectNow(nowFn) {\n now = nowFn;\n}\nlet defaultElement;\nfunction injectDefaultElement(el) {\n defaultElement = el;\n}\nlet animatedApi = node => node.current;\nfunction injectAnimatedApi(fn) {\n animatedApi = fn;\n}\nlet createAnimatedStyle;\nfunction injectCreateAnimatedStyle(factory) {\n createAnimatedStyle = factory;\n}\nlet manualFrameloop;\nfunction injectManualFrameloop(callback) {\n manualFrameloop = callback;\n}\n\nvar Globals = /*#__PURE__*/Object.freeze({\n get applyAnimatedValues () { return applyAnimatedValues; },\n injectApplyAnimatedValues: injectApplyAnimatedValues,\n get colorNames () { return colorNames; },\n injectColorNames: injectColorNames,\n get requestFrame () { return requestFrame; },\n get cancelFrame () { return cancelFrame; },\n injectFrame: injectFrame,\n get interpolation () { return interpolation; },\n injectStringInterpolator: injectStringInterpolator,\n get now () { return now; },\n injectNow: injectNow,\n get defaultElement () { return defaultElement; },\n injectDefaultElement: injectDefaultElement,\n get animatedApi () { return animatedApi; },\n injectAnimatedApi: injectAnimatedApi,\n get createAnimatedStyle () { return createAnimatedStyle; },\n injectCreateAnimatedStyle: injectCreateAnimatedStyle,\n get manualFrameloop () { return manualFrameloop; },\n injectManualFrameloop: injectManualFrameloop\n});\n\n/**\n * Wraps the `style` property with `AnimatedStyle`.\n */\n\nclass AnimatedProps extends AnimatedObject {\n constructor(props, callback) {\n super();\n this.update = void 0;\n this.payload = !props.style ? props : _extends({}, props, {\n style: createAnimatedStyle(props.style)\n });\n this.update = callback;\n this.attach();\n }\n\n}\n\nconst isFunctionComponent = val => is.fun(val) && !(val.prototype instanceof React.Component);\n\nconst createAnimatedComponent = Component => {\n const AnimatedComponent = forwardRef((props, ref) => {\n const forceUpdate = useForceUpdate();\n const mounted = useRef(true);\n const propsAnimated = useRef(null);\n const node = useRef(null);\n const attachProps = useCallback(props => {\n const oldPropsAnimated = propsAnimated.current;\n\n const callback = () => {\n let didUpdate = false;\n\n if (node.current) {\n didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());\n }\n\n if (!node.current || didUpdate === false) {\n // If no referenced node has been found, or the update target didn't have a\n // native-responder, then forceUpdate the animation ...\n forceUpdate();\n }\n };\n\n propsAnimated.current = new AnimatedProps(props, callback);\n oldPropsAnimated && oldPropsAnimated.detach();\n }, []);\n useEffect(() => () => {\n mounted.current = false;\n propsAnimated.current && propsAnimated.current.detach();\n }, []);\n useImperativeHandle(ref, () => animatedApi(node, mounted, forceUpdate));\n attachProps(props);\n\n const _getValue = propsAnimated.current.getValue(),\n scrollTop = _getValue.scrollTop,\n scrollLeft = _getValue.scrollLeft,\n animatedProps = _objectWithoutPropertiesLoose(_getValue, [\"scrollTop\", \"scrollLeft\"]); // Functions cannot have refs, see:\n // See: https://github.com/react-spring/react-spring/issues/569\n\n\n const refFn = isFunctionComponent(Component) ? undefined : childRef => node.current = handleRef(childRef, ref);\n return React.createElement(Component, _extends({}, animatedProps, {\n ref: refFn\n }));\n });\n return AnimatedComponent;\n};\n\nlet active = false;\nconst controllers = new Set();\n\nconst update = () => {\n if (!active) return false;\n let time = now();\n\n for (let controller of controllers) {\n let isActive = false;\n\n for (let configIdx = 0; configIdx < controller.configs.length; configIdx++) {\n let config = controller.configs[configIdx];\n let endOfAnimation, lastTime;\n\n for (let valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {\n let animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude\n\n if (animation.done) continue;\n let from = config.fromValues[valIdx];\n let to = config.toValues[valIdx];\n let position = animation.lastPosition;\n let isAnimated = to instanceof Animated;\n let velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;\n if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state\n\n if (config.immediate) {\n animation.setValue(to);\n animation.done = true;\n continue;\n } // Break animation when string values are involved\n\n\n if (typeof from === 'string' || typeof to === 'string') {\n animation.setValue(to);\n animation.done = true;\n continue;\n }\n\n if (config.duration !== void 0) {\n /** Duration easing */\n position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);\n endOfAnimation = time >= animation.startTime + config.duration;\n } else if (config.decay) {\n /** Decay easing */\n position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));\n endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;\n if (endOfAnimation) to = position;\n } else {\n /** Spring easing */\n lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;\n velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.\n\n if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/\n\n let numSteps = Math.floor(time - lastTime);\n\n for (let i = 0; i < numSteps; ++i) {\n let force = -config.tension * (position - to);\n let damping = -config.friction * velocity;\n let acceleration = (force + damping) / config.mass;\n velocity = velocity + acceleration * 1 / 1000;\n position = position + velocity * 1 / 1000;\n } // Conditions for stopping the spring animation\n\n\n let isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;\n let isVelocity = Math.abs(velocity) <= config.precision;\n let isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;\n endOfAnimation = isOvershooting || isVelocity && isDisplacement;\n animation.lastVelocity = velocity;\n animation.lastTime = time;\n } // Trails aren't done until their parents conclude\n\n\n if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;\n\n if (endOfAnimation) {\n // Ensure that we end up with a round value\n if (animation.value !== to) position = to;\n animation.done = true;\n } else isActive = true;\n\n animation.setValue(position);\n animation.lastPosition = position;\n } // Keep track of updated values only when necessary\n\n\n if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();\n } // Update callbacks in the end of the frame\n\n\n if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame\n\n if (!isActive) {\n controllers.delete(controller);\n controller.stop(true);\n }\n } // Loop over as long as there are controllers ...\n\n\n if (controllers.size) {\n if (manualFrameloop) manualFrameloop();else requestFrame(update);\n } else {\n active = false;\n }\n\n return active;\n};\n\nconst start = controller => {\n if (!controllers.has(controller)) controllers.add(controller);\n\n if (!active) {\n active = true;\n if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);\n }\n};\n\nconst stop = controller => {\n if (controllers.has(controller)) controllers.delete(controller);\n};\n\nfunction createInterpolator(range, output, extrapolate) {\n if (typeof range === 'function') {\n return range;\n }\n\n if (Array.isArray(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (interpolation && typeof range.output[0] === 'string') {\n return interpolation(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range\n\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nclass AnimatedInterpolation extends AnimatedArray {\n constructor(parents, range, output, extrapolate) {\n super();\n this.calc = void 0;\n this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];\n this.calc = createInterpolator(range, output, extrapolate);\n }\n\n getValue() {\n return this.calc(...this.payload.map(value => value.getValue()));\n }\n\n updateConfig(range, output, extrapolate) {\n this.calc = createInterpolator(range, output, extrapolate);\n }\n\n interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n\n}\n\nconst interpolate$1 = (parents, range, output) => parents && new AnimatedInterpolation(parents, range, output);\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\n/** API\n * useChain(references, timeSteps, timeFrame)\n */\n\nfunction useChain(refs, timeSteps, timeFrame) {\n if (timeFrame === void 0) {\n timeFrame = 1000;\n }\n\n const previous = useRef();\n useEffect(() => {\n if (is.equ(refs, previous.current)) refs.forEach((_ref) => {\n let current = _ref.current;\n return current && current.start();\n });else if (timeSteps) {\n refs.forEach((_ref2, index) => {\n let current = _ref2.current;\n\n if (current) {\n const ctrls = current.controllers;\n\n if (ctrls.length) {\n const t = timeFrame * timeSteps[index];\n ctrls.forEach(ctrl => {\n ctrl.queue = ctrl.queue.map(e => _extends({}, e, {\n delay: e.delay + t\n }));\n ctrl.start();\n });\n }\n }\n });\n } else refs.reduce((q, _ref3, rI) => {\n let current = _ref3.current;\n return q = q.then(() => current.start());\n }, Promise.resolve());\n previous.current = refs;\n });\n}\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an AnimatedValue is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\nfunction addAnimatedStyles(node, styles) {\n if ('update' in node) {\n styles.add(node);\n } else {\n node.getChildren().forEach(child => addAnimatedStyles(child, styles));\n }\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n var _this;\n\n super();\n _this = this;\n this.animatedStyles = new Set();\n this.value = void 0;\n this.startPosition = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.startTime = void 0;\n this.lastTime = void 0;\n this.done = false;\n\n this.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n _this.value = value;\n if (flush) _this.flush();\n };\n\n this.value = _value;\n this.startPosition = _value;\n this.lastPosition = _value;\n }\n\n flush() {\n if (this.animatedStyles.size === 0) {\n addAnimatedStyles(this, this.animatedStyles);\n }\n\n this.animatedStyles.forEach(animatedStyle => animatedStyle.update());\n }\n\n clearStyles() {\n this.animatedStyles.clear();\n }\n\n getValue() {\n return this.value;\n }\n\n interpolate(range, output, extrapolate) {\n return new AnimatedInterpolation(this, range, output, extrapolate);\n }\n\n}\n\nclass AnimatedValueArray extends AnimatedArray {\n constructor(values) {\n super();\n this.payload = values.map(n => new AnimatedValue(n));\n }\n\n setValue(value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n if (Array.isArray(value)) {\n if (value.length === this.payload.length) {\n value.forEach((v, i) => this.payload[i].setValue(v, flush));\n }\n } else {\n this.payload.forEach(p => p.setValue(value, flush));\n }\n }\n\n getValue() {\n return this.payload.map(v => v.getValue());\n }\n\n interpolate(range, output) {\n return new AnimatedInterpolation(this, range, output);\n }\n\n}\n\nlet G = 0;\n\nclass Controller {\n constructor() {\n this.id = void 0;\n this.idle = true;\n this.hasChanged = false;\n this.guid = 0;\n this.local = 0;\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.listeners = [];\n this.queue = [];\n this.localQueue = void 0;\n\n this.getValues = () => this.interpolations;\n\n this.id = G++;\n }\n /** update(props)\n * This function filters input props and creates an array of tasks which are executed in .start()\n * Each task is allowed to carry a delay, which means it can execute asnychroneously */\n\n\n update(args) {\n //this._id = n + this.id\n if (!args) return this; // Extract delay and the to-prop from props\n\n const _ref = interpolateTo(args),\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 0 : _ref$delay,\n to = _ref.to,\n props = _objectWithoutPropertiesLoose(_ref, [\"delay\", \"to\"]);\n\n if (is.arr(to) || is.fun(to)) {\n // If config is either a function or an array queue it up as is\n this.queue.push(_extends({}, props, {\n delay,\n to\n }));\n } else if (to) {\n // Otherwise go through each key since it could be delayed individually\n let ops = {};\n Object.entries(to).forEach((_ref2) => {\n let k = _ref2[0],\n v = _ref2[1];\n\n // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props\n const entry = _extends({\n to: {\n [k]: v\n },\n delay: callProp(delay, k)\n }, props);\n\n const previous = ops[entry.delay] && ops[entry.delay].to;\n ops[entry.delay] = _extends({}, ops[entry.delay], entry, {\n to: _extends({}, previous, entry.to)\n });\n });\n this.queue = Object.values(ops);\n } // Sort queue, so that async calls go last\n\n\n this.queue = this.queue.sort((a, b) => a.delay - b.delay); // Diff the reduced props immediately (they'll contain the from-prop and some config)\n\n this.diff(props);\n return this;\n }\n /** start(onEnd)\n * This function either executes a queue, if present, or starts the frameloop, which animates */\n\n\n start(onEnd) {\n // If a queue is present we must excecute it\n if (this.queue.length) {\n this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values\n\n if (this.localQueue) {\n this.localQueue.forEach((_ref3) => {\n let _ref3$from = _ref3.from,\n from = _ref3$from === void 0 ? {} : _ref3$from,\n _ref3$to = _ref3.to,\n to = _ref3$to === void 0 ? {} : _ref3$to;\n if (is.obj(from)) this.merged = _extends({}, from, this.merged);\n if (is.obj(to)) this.merged = _extends({}, this.merged, to);\n });\n } // The guid helps us tracking frames, a new queue over an old one means an override\n // We discard async calls in that caseÍ\n\n\n const local = this.local = ++this.guid;\n const queue = this.localQueue = this.queue;\n this.queue = []; // Go through each entry and execute it\n\n queue.forEach((_ref4, index) => {\n let delay = _ref4.delay,\n props = _objectWithoutPropertiesLoose(_ref4, [\"delay\"]);\n\n const cb = finished => {\n if (index === queue.length - 1 && local === this.guid && finished) {\n this.idle = true;\n if (this.props.onRest) this.props.onRest(this.merged);\n }\n\n if (onEnd) onEnd();\n }; // Entries can be delayed, ansyc or immediate\n\n\n let async = is.arr(props.to) || is.fun(props.to);\n\n if (delay) {\n setTimeout(() => {\n if (local === this.guid) {\n if (async) this.runAsync(props, cb);else this.diff(props).start(cb);\n }\n }, delay);\n } else if (async) this.runAsync(props, cb);else this.diff(props).start(cb);\n });\n } // Otherwise we kick of the frameloop\n else {\n if (is.fun(onEnd)) this.listeners.push(onEnd);\n if (this.props.onStart) this.props.onStart();\n start(this);\n }\n\n return this;\n }\n\n stop(finished) {\n this.listeners.forEach(onEnd => onEnd(finished));\n this.listeners = [];\n return this;\n }\n /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */\n\n\n pause(finished) {\n this.stop(true);\n if (finished) stop(this);\n return this;\n }\n\n runAsync(_ref5, onEnd) {\n var _this = this;\n\n let delay = _ref5.delay,\n props = _objectWithoutPropertiesLoose(_ref5, [\"delay\"]);\n\n const local = this.local; // If \"to\" is either a function or an array it will be processed async, therefor \"to\" should be empty right now\n // If the view relies on certain values \"from\" has to be present\n\n let queue = Promise.resolve(undefined);\n\n if (is.arr(props.to)) {\n for (let i = 0; i < props.to.length; i++) {\n const index = i;\n\n const fresh = _extends({}, props, interpolateTo(props.to[index]));\n\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n queue = queue.then(() => {\n //this.stop()\n if (local === this.guid) return new Promise(r => this.diff(fresh).start(r));\n });\n }\n } else if (is.fun(props.to)) {\n let index = 0;\n let last;\n queue = queue.then(() => props.to( // next(props)\n p => {\n const fresh = _extends({}, props, interpolateTo(p));\n\n if (is.arr(fresh.config)) fresh.config = fresh.config[index];\n index++; //this.stop()\n\n if (local === this.guid) return last = new Promise(r => this.diff(fresh).start(r));\n return;\n }, // cancel()\n function (finished) {\n if (finished === void 0) {\n finished = true;\n }\n\n return _this.stop(finished);\n }).then(() => last));\n }\n\n queue.then(onEnd);\n }\n\n diff(props) {\n this.props = _extends({}, this.props, props);\n let _this$props = this.props,\n _this$props$from = _this$props.from,\n from = _this$props$from === void 0 ? {} : _this$props$from,\n _this$props$to = _this$props.to,\n to = _this$props$to === void 0 ? {} : _this$props$to,\n _this$props$config = _this$props.config,\n config = _this$props$config === void 0 ? {} : _this$props$config,\n reverse = _this$props.reverse,\n attach = _this$props.attach,\n reset = _this$props.reset,\n immediate = _this$props.immediate; // Reverse values when requested\n\n if (reverse) {\n var _ref6 = [to, from];\n from = _ref6[0];\n to = _ref6[1];\n } // This will collect all props that were ever set, reset merged props when necessary\n\n\n this.merged = _extends({}, from, this.merged, to);\n this.hasChanged = false; // Attachment handling, trailed springs can \"attach\" themselves to a previous spring\n\n let target = attach && attach(this); // Reduces input { name: value } pairs into animated values\n\n this.animations = Object.entries(this.merged).reduce((acc, _ref7) => {\n let name = _ref7[0],\n value = _ref7[1];\n // Issue cached entries, except on reset\n let entry = acc[name] || {}; // Figure out what the value is supposed to be\n\n const isNumber = is.num(value);\n const isString = is.str(value) && !value.startsWith('#') && !/\\d/.test(value) && !colorNames[value];\n const isArray = is.arr(value);\n const isInterpolation = !isNumber && !isArray && !isString;\n let fromValue = !is.und(from[name]) ? from[name] : value;\n let toValue = isNumber || isArray ? value : isString ? value : 1;\n let toConfig = callProp(config, name);\n if (target) toValue = target.animations[name].parent;\n let parent = entry.parent,\n interpolation$$1 = entry.interpolation,\n toValues = toArray(target ? toValue.getPayload() : toValue),\n animatedValues;\n let newValue = value;\n if (isInterpolation) newValue = interpolation({\n range: [0, 1],\n output: [value, value]\n })(1);\n let currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags\n\n const isFirst = is.und(parent);\n const isActive = !isFirst && entry.animatedValues.some(v => !v.done);\n const currentValueDiffersFromGoal = !is.equ(newValue, currentValue);\n const hasNewGoal = !is.equ(newValue, entry.previous);\n const hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)\n // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)\n\n if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {\n // Convert regular values into animated values, ALWAYS re-use if possible\n if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {\n let prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);\n prev = prev !== void 0 && !reset ? prev : fromValue;\n\n if (entry.parent) {\n parent = entry.parent;\n parent.setValue(0, false);\n } else parent = new AnimatedValue(0);\n\n const range = {\n output: [prev, value]\n };\n\n if (entry.interpolation) {\n interpolation$$1 = entry.interpolation;\n entry.interpolation.updateConfig(range);\n } else interpolation$$1 = parent.interpolate(range);\n }\n toValues = toArray(target ? toValue.getPayload() : toValue);\n animatedValues = toArray(parent.getPayload());\n if (reset && !isInterpolation) parent.setValue(fromValue, false);\n this.hasChanged = true; // Reset animated values\n\n animatedValues.forEach(value => {\n value.startPosition = value.value;\n value.lastPosition = value.value;\n value.lastVelocity = isActive ? value.lastVelocity : undefined;\n value.lastTime = isActive ? value.lastTime : undefined;\n value.startTime = now();\n value.done = false;\n value.animatedStyles.clear();\n }); // Set immediate values\n\n if (callProp(immediate, name)) {\n parent.setValue(isInterpolation ? toValue : value, false);\n }\n\n return _extends({}, acc, {\n [name]: _extends({}, entry, {\n name,\n parent,\n interpolation: interpolation$$1,\n animatedValues,\n toValues,\n previous: newValue,\n config: toConfig,\n fromValues: toArray(parent.getValue()),\n immediate: callProp(immediate, name),\n initialVelocity: withDefault(toConfig.velocity, 0),\n clamp: withDefault(toConfig.clamp, false),\n precision: withDefault(toConfig.precision, 0.01),\n tension: withDefault(toConfig.tension, 170),\n friction: withDefault(toConfig.friction, 26),\n mass: withDefault(toConfig.mass, 1),\n duration: toConfig.duration,\n easing: withDefault(toConfig.easing, t => t),\n decay: toConfig.decay\n })\n });\n } else {\n if (!currentValueDiffersFromGoal) {\n // So ... the current target value (newValue) appears to be different from the previous value,\n // which normally constitutes an update, but the actual value (currentValue) matches the target!\n // In order to resolve this without causing an animation update we silently flag the animation as done,\n // which it technically is. Interpolations also needs a config update with their target set to 1.\n if (isInterpolation) {\n parent.setValue(1, false);\n interpolation$$1.updateConfig({\n output: [newValue, newValue]\n });\n }\n\n parent.done = true;\n this.hasChanged = true;\n return _extends({}, acc, {\n [name]: _extends({}, acc[name], {\n previous: newValue\n })\n });\n }\n\n return acc;\n }\n }, this.animations);\n\n if (this.hasChanged) {\n // Make animations available to frameloop\n this.configs = Object.values(this.animations);\n this.values = {};\n this.interpolations = {};\n\n for (let key in this.animations) {\n this.interpolations[key] = this.animations[key].interpolation;\n this.values[key] = this.animations[key].interpolation.getValue();\n }\n }\n\n return this;\n }\n\n destroy() {\n this.stop();\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.values = {};\n this.configs = [];\n this.local = 0;\n }\n\n}\n\n/** API\n * const props = useSprings(number, [{ ... }, { ... }, ...])\n * const [props, set] = useSprings(number, (i, controller) => ({ ... }))\n */\n\nconst useSprings = (length, props) => {\n const mounted = useRef(false);\n const ctrl = useRef();\n const isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations\n\n const _useMemo = useMemo(() => {\n // Remove old controllers\n if (ctrl.current) {\n ctrl.current.map(c => c.destroy());\n ctrl.current = undefined;\n }\n\n let ref;\n return [new Array(length).fill().map((_, i) => {\n const ctrl = new Controller();\n const newProps = isFn ? callProp(props, i, ctrl) : props[i];\n if (i === 0) ref = newProps.ref;\n ctrl.update(newProps);\n if (!ref) ctrl.start();\n return ctrl;\n }), ref];\n }, [length]),\n controllers = _useMemo[0],\n ref = _useMemo[1];\n\n ctrl.current = controllers; // The hooks reference api gets defined here ...\n\n const api = useImperativeHandle(ref, () => ({\n start: () => Promise.all(ctrl.current.map(c => new Promise(r => c.start(r)))),\n stop: finished => ctrl.current.forEach(c => c.stop(finished)),\n\n get controllers() {\n return ctrl.current;\n }\n\n })); // This function updates the controllers\n\n const updateCtrl = useMemo(() => updateProps => ctrl.current.map((c, i) => {\n c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);\n if (!ref) c.start();\n }), [length]); // Update controller if props aren't functional\n\n useEffect(() => {\n if (mounted.current) {\n if (!isFn) updateCtrl(props);\n } else if (!ref) ctrl.current.forEach(c => c.start());\n }); // Update mounted flag and destroy controller on unmount\n\n useEffect(() => (mounted.current = true, () => ctrl.current.forEach(c => c.destroy())), []); // Return animated props, or, anim-props + the update-setter above\n\n const propValues = ctrl.current.map(c => c.getValues());\n return isFn ? [propValues, updateCtrl, finished => ctrl.current.forEach(c => c.pause(finished))] : propValues;\n};\n\n/** API\n * const props = useSpring({ ... })\n * const [props, set] = useSpring(() => ({ ... }))\n */\n\nconst useSpring = props => {\n const isFn = is.fun(props);\n\n const _useSprings = useSprings(1, isFn ? props : [props]),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2];\n\n return isFn ? [result[0], set, pause] : result;\n};\n\n/** API\n * const trails = useTrail(number, { ... })\n * const [trails, set] = useTrail(number, () => ({ ... }))\n */\n\nconst useTrail = (length, props) => {\n const mounted = useRef(false);\n const isFn = is.fun(props);\n const updateProps = callProp(props);\n const instances = useRef();\n\n const _useSprings = useSprings(length, (i, ctrl) => {\n if (i === 0) instances.current = [];\n instances.current.push(ctrl);\n return _extends({}, updateProps, {\n config: callProp(updateProps.config, i),\n attach: i > 0 && (() => instances.current[i - 1])\n });\n }),\n result = _useSprings[0],\n set = _useSprings[1],\n pause = _useSprings[2]; // Set up function to update controller\n\n\n const updateCtrl = useMemo(() => props => set((i, ctrl) => {\n const last = props.reverse ? i === 0 : length - 1 === i;\n const attachIdx = props.reverse ? i + 1 : i - 1;\n const attachController = instances.current[attachIdx];\n return _extends({}, props, {\n config: callProp(props.config || updateProps.config, i),\n attach: attachController && (() => attachController)\n });\n }), [length, updateProps.reverse]); // Update controller if props aren't functional\n\n useEffect(() => void (mounted.current && !isFn && updateCtrl(props))); // Update mounted flag and destroy controller on unmount\n\n useEffect(() => void (mounted.current = true), []);\n return isFn ? [result, updateCtrl, pause] : result;\n};\n\n/** API\n * const transitions = useTransition(items, itemKeys, { ... })\n * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))\n */\n\nlet guid = 0;\nconst ENTER = 'enter';\nconst LEAVE = 'leave';\nconst UPDATE = 'update';\n\nconst mapKeys = (items, keys) => (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);\n\nconst get = props => {\n let items = props.items,\n _props$keys = props.keys,\n keys = _props$keys === void 0 ? item => item : _props$keys,\n rest = _objectWithoutPropertiesLoose(props, [\"items\", \"keys\"]);\n\n items = toArray(items !== void 0 ? items : null);\n return _extends({\n items,\n keys: mapKeys(items, keys)\n }, rest);\n};\n\nfunction useTransition(input, keyTransform, config) {\n const props = _extends({\n items: input,\n keys: keyTransform || (i => i)\n }, config);\n\n const _get = get(props),\n _get$lazy = _get.lazy,\n lazy = _get$lazy === void 0 ? false : _get$lazy,\n _get$unique = _get.unique,\n _get$reset = _get.reset,\n reset = _get$reset === void 0 ? false : _get$reset,\n enter = _get.enter,\n leave = _get.leave,\n update = _get.update,\n onDestroyed = _get.onDestroyed,\n keys = _get.keys,\n items = _get.items,\n onFrame = _get.onFrame,\n _onRest = _get.onRest,\n onStart = _get.onStart,\n ref = _get.ref,\n extra = _objectWithoutPropertiesLoose(_get, [\"lazy\", \"unique\", \"reset\", \"enter\", \"leave\", \"update\", \"onDestroyed\", \"keys\", \"items\", \"onFrame\", \"onRest\", \"onStart\", \"ref\"]);\n\n const forceUpdate = useForceUpdate();\n const mounted = useRef(false);\n const state = useRef({\n mounted: false,\n first: true,\n deleted: [],\n current: {},\n transitions: [],\n prevProps: {},\n paused: !!props.ref,\n instances: !mounted.current && new Map(),\n forceUpdate\n });\n useImperativeHandle(props.ref, () => ({\n start: () => Promise.all(Array.from(state.current.instances).map((_ref) => {\n let c = _ref[1];\n return new Promise(r => c.start(r));\n })),\n stop: finished => Array.from(state.current.instances).forEach((_ref2) => {\n let c = _ref2[1];\n return c.stop(finished);\n }),\n\n get controllers() {\n return Array.from(state.current.instances).map((_ref3) => {\n let c = _ref3[1];\n return c;\n });\n }\n\n })); // Update state\n\n state.current = diffItems(state.current, props);\n\n if (state.current.changed) {\n // Update state\n state.current.transitions.forEach(transition => {\n const slot = transition.slot,\n from = transition.from,\n to = transition.to,\n config = transition.config,\n trail = transition.trail,\n key = transition.key,\n item = transition.item;\n if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object\n\n const ctrl = state.current.instances.get(key);\n\n const newProps = _extends({}, extra, {\n to,\n from,\n config,\n ref,\n onRest: values => {\n if (state.current.mounted) {\n if (transition.destroyed) {\n // If no ref is given delete destroyed items immediately\n if (!ref && !lazy) cleanUp(state, key);\n if (onDestroyed) onDestroyed(item);\n } // A transition comes to rest once all its springs conclude\n\n\n const curInstances = Array.from(state.current.instances);\n const active = curInstances.some((_ref4) => {\n let c = _ref4[1];\n return !c.idle;\n });\n if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);\n if (_onRest) _onRest(item, slot, values);\n }\n },\n onStart: onStart && (() => onStart(item, slot)),\n onFrame: onFrame && (values => onFrame(item, slot, values)),\n delay: trail,\n reset: reset && slot === ENTER // Update controller\n\n });\n\n ctrl.update(newProps);\n if (!state.current.paused) ctrl.start();\n });\n }\n\n useEffect(() => {\n state.current.mounted = mounted.current = true;\n return () => {\n state.current.mounted = mounted.current = false;\n Array.from(state.current.instances).map((_ref5) => {\n let c = _ref5[1];\n return c.destroy();\n });\n state.current.instances.clear();\n };\n }, []);\n return state.current.transitions.map((_ref6) => {\n let item = _ref6.item,\n slot = _ref6.slot,\n key = _ref6.key;\n return {\n item,\n key,\n state: slot,\n props: state.current.instances.get(key).getValues()\n };\n });\n}\n\nfunction cleanUp(state, filterKey) {\n const deleted = state.current.deleted;\n\n for (let _ref7 of deleted) {\n let key = _ref7.key;\n\n const filter = t => t.key !== key;\n\n if (is.und(filterKey) || filterKey === key) {\n state.current.instances.delete(key);\n state.current.transitions = state.current.transitions.filter(filter);\n state.current.deleted = state.current.deleted.filter(filter);\n }\n }\n\n state.current.forceUpdate();\n}\n\nfunction diffItems(_ref8, props) {\n let first = _ref8.first,\n prevProps = _ref8.prevProps,\n state = _objectWithoutPropertiesLoose(_ref8, [\"first\", \"prevProps\"]);\n\n let _get2 = get(props),\n items = _get2.items,\n keys = _get2.keys,\n initial = _get2.initial,\n from = _get2.from,\n enter = _get2.enter,\n leave = _get2.leave,\n update = _get2.update,\n _get2$trail = _get2.trail,\n trail = _get2$trail === void 0 ? 0 : _get2$trail,\n unique = _get2.unique,\n config = _get2.config,\n _get2$order = _get2.order,\n order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;\n\n let _get3 = get(prevProps),\n _keys = _get3.keys,\n _items = _get3.items;\n\n let current = _extends({}, state.current);\n\n let deleted = [...state.deleted]; // Compare next keys with current keys\n\n let currentKeys = Object.keys(current);\n let currentSet = new Set(currentKeys);\n let nextSet = new Set(keys);\n let added = keys.filter(item => !currentSet.has(item));\n let removed = state.transitions.filter(item => !item.destroyed && !nextSet.has(item.originalKey)).map(i => i.originalKey);\n let updated = keys.filter(item => currentSet.has(item));\n let delay = -trail;\n\n while (order.length) {\n const changeType = order.shift();\n\n switch (changeType) {\n case ENTER:\n {\n added.forEach((key, index) => {\n // In unique mode, remove fading out transitions if their key comes in again\n if (unique && deleted.find(d => d.originalKey === key)) deleted = deleted.filter(t => t.originalKey !== key);\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const slot = first && initial !== void 0 ? 'initial' : ENTER;\n current[key] = {\n slot,\n originalKey: key,\n key: unique ? String(key) : guid++,\n item,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),\n to: callProp(enter, item)\n };\n });\n break;\n }\n\n case LEAVE:\n {\n removed.forEach(key => {\n const keyIndex = _keys.indexOf(key);\n\n const item = _items[keyIndex];\n const slot = LEAVE;\n deleted.unshift(_extends({}, current[key], {\n slot,\n destroyed: true,\n left: _keys[Math.max(0, keyIndex - 1)],\n right: _keys[Math.min(_keys.length, keyIndex + 1)],\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(leave, item)\n }));\n delete current[key];\n });\n break;\n }\n\n case UPDATE:\n {\n updated.forEach(key => {\n const keyIndex = keys.indexOf(key);\n const item = items[keyIndex];\n const slot = UPDATE;\n current[key] = _extends({}, current[key], {\n item,\n slot,\n trail: delay = delay + trail,\n config: callProp(config, item, slot),\n to: callProp(update, item)\n });\n });\n break;\n }\n }\n }\n\n let out = keys.map(key => current[key]); // This tries to restore order for deleted items by finding their last known siblings\n // only using the left sibling to keep order placement consistent for all deleted items\n\n deleted.forEach((_ref9) => {\n let left = _ref9.left,\n right = _ref9.right,\n item = _objectWithoutPropertiesLoose(_ref9, [\"left\", \"right\"]);\n\n let pos; // Was it the element on the left, if yes, move there ...\n\n if ((pos = out.findIndex(t => t.originalKey === left)) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\\_(ツ)_/¯\n\n pos = Math.max(0, pos);\n out = [...out.slice(0, pos), item, ...out.slice(pos)];\n });\n return _extends({}, state, {\n changed: added.length || removed.length || updated.length,\n first: first && added.length === 0,\n transitions: out,\n current,\n deleted,\n prevProps: props\n });\n}\n\nclass AnimatedStyle extends AnimatedObject {\n constructor(style) {\n if (style === void 0) {\n style = {};\n }\n\n super();\n\n if (style.transform && !(style.transform instanceof Animated)) {\n style = applyAnimatedValues.transform(style);\n }\n\n this.payload = style;\n }\n\n}\n\n// http://www.w3.org/TR/css3-color/#svg-color\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\n// const INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call() {\n for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {\n parts[_key] = arguments[_key];\n }\n\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\n/*\nhttps://github.com/react-community/normalize-css-color\n\nBSD 3-Clause License\n\nCopyright (c) 2016, React Community\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n } // Ordered based on occurrences on Facebook codebase\n\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n if (colors.hasOwnProperty(color)) return colors[color];\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 0x000000ff) >>> // a\n 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4])) >>> // a\n 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n 'ff', // a\n 16) >>> 0;\n } // https://drafts.csswg.org/css-color-4/#hex-notation\n\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | 0x000000ff) >>> // a\n 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | parse1(match[4])) >>> // a\n 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n} // Problem: https://github.com/animatedjs/animated/pull/102\n// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662\n\n\nconst stringShapeRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g; // Covers rgb, rgba, hsl, hsla\n// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e\n\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi; // Covers color names (transparent, blue, etc.)\n\nconst colorNamesRegex = new RegExp(`(${Object.keys(colors).join('|')})`, 'g');\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows\n */\n\nconst createStringInterpolator = config => {\n // Replace colors with rgba\n const outputRange = config.output.map(rangeValue => rangeValue.replace(colorRegex, colorToRgba)).map(rangeValue => rangeValue.replace(colorNamesRegex, colorToRgba));\n const outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n value.match(stringShapeRegex).forEach((number, i) => outputRanges[i].push(+number));\n });\n const interpolations = outputRange[0].match(stringShapeRegex).map((_value, i) => createInterpolator(_extends({}, config, {\n output: outputRanges[i]\n })));\n return input => {\n let i = 0;\n return outputRange[0] // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n .replace(stringShapeRegex, () => interpolations[i++](input)) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n .replace(/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi, (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`);\n };\n};\n\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n\n return ('' + value).trim();\n}\n\nconst attributeCache = {};\ninjectCreateAnimatedStyle(style => new AnimatedStyle(style));\ninjectDefaultElement('div');\ninjectStringInterpolator(createStringInterpolator);\ninjectColorNames(colors);\ninjectApplyAnimatedValues((instance, props) => {\n if (instance.nodeType && instance.setAttribute !== undefined) {\n const style = props.style,\n children = props.children,\n scrollTop = props.scrollTop,\n scrollLeft = props.scrollLeft,\n attributes = _objectWithoutPropertiesLoose(props, [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"]);\n\n const filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n if (scrollTop !== void 0) instance.scrollTop = scrollTop;\n if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value\n\n if (children !== void 0) instance.textContent = children; // Set styles ...\n\n for (let styleName in style) {\n if (!style.hasOwnProperty(styleName)) continue;\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);\n if (styleName === 'float') styleName = 'cssFloat';\n if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;\n } // Set attributes ...\n\n\n for (let name in attributes) {\n // Attributes are written in dash case\n const dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase()));\n if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);\n }\n\n return;\n } else return false;\n}, style => style);\n\nconst domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n// Extend animated with all the available THREE elements\nconst apply = merge(createAnimatedComponent, false);\nconst extendedAnimated = apply(domElements);\n\nexport { apply, config, update, extendedAnimated as animated, extendedAnimated as a, interpolate$1 as interpolate, Globals, useSpring, useTrail, useTransition, useChain, useSprings };\n","import classnames from \"classnames\";\n\nimport { kebabCase } from \"lodash\";\nimport { useSpring, animated } from 'react-spring';\n\nimport Cube from \"./cube\";\n\nimport { getSectionsFromFills } from \"./utils\";\n\nconst ACCENT_COLORS = [ 'rgb(142,101,192)', 'rgb(0,202,182)', 'rgb(222,22,81)' ];\n\nconst { __ } = wp.i18n;\n\nconst {\n\tuseEffect,\n\tuseState,\n\tFragment,\n\tComponent,\n\tcreateRef,\n} = wp.element;\n\nconst getTabAccentColor = ( label ) => {\n\n\tif ( __( 'General' ) === label ) {\n\t\treturn ACCENT_COLORS[0];\n\t}\n\n\tif ( __( 'Customize' ) === label ) {\n\t\treturn ACCENT_COLORS[1];\n\t}\n\n\treturn ACCENT_COLORS[2];\n}\n\nconst getTabClassName = ( label, activeTabLabel ) => {\n\treturn classnames(\n\t\t'novablocks-sections__tab',\n\t\t{\n\t\t\t'novablocks-sections__tab--active': activeTabLabel === label\n\t\t}\n\t)\n}\n\nconst ActiveSectionTabs = ( props ) => {\n\n\tconst {\n\t\ttitle,\n\t\ttabs,\n\t\tgoBack,\n\t\tupdateHeight,\n\t} = props;\n\n\tif ( ! tabs.length ) {\n\t\treturn null;\n\t}\n\n\tconst [ activeTabLabel, setActiveTabLabel ] = useState( tabs[0].props.label );\n\tconst activeTabIndex = tabs.findIndex( tab => tab.props.label === activeTabLabel );\n\tconst activeTab = tabs[activeTabIndex];\n\n\tconst { accentColor } = useSpring({\n\t\taccentColor: getTabAccentColor( activeTabLabel )\n\t} );\n\n\tuseEffect( updateHeight, [activeTabLabel] );\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t
{ title }
\n\t\t\t\t\n\t\t\t
\n\t\t\t{\n\t\t\t\ttabs.length > 1 &&\n\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\ttabs.map( ( tab, index ) => {\n\t\t\t\t\t\t\tconst label = tab.props.label;\n\t\t\t\t\t\t\tconst className = getTabClassName( label, activeTabLabel );\n\t\t\t\t\t\t\tconst onClick = () => {\n\t\t\t\t\t\t\t\tsetActiveTabLabel( label );\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
{ label }
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t}\n\t\t\t\n\t\t
\n\t)\n}\n\nclass TabContent extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.resizeObserver = null;\n\t\tthis.resizeElement = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.resizeObserver = new ResizeObserver( entries => {\n\t\t\tthis.props.updateHeight();\n\t\t} );\n\n\t\tthis.resizeObserver.observe( this.resizeElement.current );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\n\t\tconst { activeTab } = this.props;\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{ !! activeTab && activeTab.props.children }\n\t\t\t
\n\t\t)\n\t}\n}\n\nexport { ActiveSectionTabs };\n","const {\n\tuseRef,\n\tuseLayoutEffect,\n\tuseState,\n\tuseCallback,\n} = wp.element;\n\nconst useResizeObserver = () => {\n\tconst [entry, setEntry] = useState( {} );\n\tconst [node, setNode] = useState( null );\n\tconst observer = useRef( null );\n\n\tconst disconnect = useCallback( () => {\n\t\tconst {current} = observer;\n\t\tcurrent && current.disconnect();\n\t}, [] );\n\n\tconst observe = useCallback( () => {\n\t\tobserver.current = new ResizeObserver( ( [entry] ) => setEntry( entry ) );\n\t\tnode && observer.current.observe( node );\n\t}, [node] );\n\n\tuseLayoutEffect( () => {\n\t\tobserve();\n\t\treturn () => disconnect();\n\t}, [disconnect, observe] );\n\n\treturn [setNode, entry];\n};\n\nexport default useResizeObserver;\n","import { useSpring, animated } from 'react-spring';\nimport { orderBy } from 'lodash';\nimport classnames from 'classnames';\nimport useResizeObserver from '../../hooks/resize-observer';\n\nconst {\n\tChildren,\n\tcloneElement,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} = wp.element;\n\nconst Drawers = ( ownProps ) => {\n\n\tconst children = Children.toArray( ownProps.children );\n\n\tconst drawerLists = children.filter( child => child.type === DrawerList );\n\tconst drawerPanels = children.filter( child => child.type === DrawerPanel );\n\tconst beforeChildren = children.filter( child => child.type === DrawerListBefore );\n\tconst afterChildren = children.filter( child => child.type === DrawerListAfter );\n\n\tconst [ active, setActive ] = useState( false );\n\tconst [ open, setOpen ] = useState( false );\n\n\tconst [ wrapperHeight, setWrapperHeight ] = useState(0);\n\n\tconst ref = useRef( null );\n\tconst [ refMap ] = useState( () => new WeakMap() );\n\n\tconst noop = () => {};\n\tconst onOpen = typeof ownProps.onOpen === 'function' ? ownProps.onOpen : noop;\n\tconst onClose = typeof ownProps.onClose === 'function' ? ownProps.onClose : noop;\n\n\tconst getDrawerListHeight = () => {\n\t\treturn !! ref.current ? ref.current.clientHeight : 0;\n\t};\n\n\tconst getActiveDrawerHeight = () => {\n\t\tconst activeRef = refMap.get( drawerPanels[active] );\n\t\treturn !! activeRef ? activeRef.clientHeight : 0;\n\t};\n\n\tconst updateHeight = () => {\n\t\tconst drawerListHeight = getDrawerListHeight();\n\t\tconst drawerPanelHeight = getActiveDrawerHeight();\n\n\t\tsetWrapperHeight( !! open ? drawerPanelHeight : drawerListHeight );\n\t};\n\n\tconst { height, transform } = useSpring({\n\t\ttransform: open ? 'translate3d(-100%,0,0)' : 'translate3d(0%,0,0)',\n\t\theight: wrapperHeight,\n\t\t// avoid height animation on first render\n\t\timmediate: ! open && false === active\n\t} );\n\n\tuseEffect( () => {\n\t\tupdateHeight();\n\t}, [ open, active ] );\n\n\t// keep track of number of drawers in previous drawerLists\n\tlet totalDrawers = 0;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{ beforeChildren }\n\t\t\t\t\t{ drawerLists.map( ( drawerList, drawerListIndex ) => {\n\t\t\t\t\t\tconst drawers = getDrawersFromList( drawerList );\n\t\t\t\t\t\tconst title = drawerList?.props?.title;\n\t\t\t\t\t\ttotalDrawers = totalDrawers + drawers.length;\n\n\t\t\t\t\t\tconst drawersWithTarget = drawers.map( ( drawer, index ) => {\n\t\t\t\t\t\t\tconst defaultTarget = totalDrawers - drawers.length + index;\n\t\t\t\t\t\t\tconst target = Number.isInteger( drawer.props?.target ) ? drawer.props.target : defaultTarget;\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...drawer,\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tconst orderedDrawers = orderBy( drawersWithTarget, drawer => drawer.props.priority || 0, ['desc'] );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{ title &&
{ title }
}\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\torderedDrawers.map( ( { props, target }, drawerIndex ) => {\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetActive( target );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\tonOpen();\n\t\t\t\t\t\t\t\t\t\t\t\t} } />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t} ) }\n\t\t\t\t\t{ afterChildren.map( ( afterChild, index ) => {\n\t\t\t\t\t\tconst [ childRef, { contentRect } ] = useResizeObserver();\n\n\t\t\t\t\t\tuseEffect( updateHeight, [ contentRect?.height ] );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{ afterChild }\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t} ) }\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tdrawerPanels.map( ( drawerPanel, index ) => {\n\n\t\t\t\t\t\tconst className = classnames(\n\t\t\t\t\t\t\t'novablocks-drawers__panel',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'novablocks-drawers__panel--hidden': index !== active\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
ref && refMap.set( drawerPanel, ref ) }>\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} } updateHeight={ updateHeight } />\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\n\t\t\n\t);\n};\n\nconst DrawerWithProps = ( props ) => {\n\tconst { goBack, isActive, updateHeight } = props;\n\n\treturn addPropsToChildren( props.children, {\n\t\tgoBack,\n\t\tisActive,\n\t\tupdateHeight,\n\t} );\n};\n\nconst addPropsToChildren = ( children, props ) => {\n\n\tif ( typeof children === \"undefined\" ) {\n\t\treturn children;\n\t}\n\n\tif ( Array.isArray( children ) ) {\n\t\treturn children.map( child => cloneElement( child, props ) )\n\t}\n\n\treturn cloneElement( children, props );\n};\n\nconst getDrawersFromList = ( drawerList ) => {\n\n\tconst children = drawerList?.props?.children;\n\n\tif ( ! Array.isArray( children ) ) {\n\t\treturn [];\n\t}\n\n\treturn children.filter( child => child.type === Drawer );\n};\n\nconst DrawerList = ( props ) => {\n\treturn (\n\t\t
{ props.children }
\n\t);\n};\n\nconst DrawerPanel = ( props ) => {\n\treturn props.children;\n};\n\nconst DrawerListBefore = ( props ) => {\n\treturn props.children;\n};\n\nconst DrawerListAfter = ( props ) => {\n\treturn props.children;\n};\n\nconst Drawer = ( props ) => {\n\tconst { title, onClick } = props;\n\n\treturn (\n\t\t
{ title }
\n\t)\n};\n\nexport {\n\tDrawer,\n\tDrawers,\n\tDrawerList,\n\tDrawerListBefore,\n\tDrawerListAfter,\n\tDrawerPanel,\n};\n","// internal dependencies\nimport $ from 'jquery';\nimport { groupBy } from 'lodash';\nimport { getSectionsFromFills } from './utils';\nimport { ControlsSectionsSlot, ControlsSectionsFill } from \"./controls-sections-slot-fill\";\nimport { DrawerContentSlot, DrawerContentFill } from \"./drawer-content-slot-fill\";\n\nimport Cube from './cube';\nimport { ActiveSectionTabs } from \"./tabs\";\n\nimport { Drawer, Drawers, DrawerList, DrawerPanel, DrawerListBefore, DrawerListAfter } from \"../../components/drawer\";\n\nconst { __ } = wp.i18n;\nconst { useBlockEditContext } = wp.blockEditor;\n\nconst {\n\tChildren,\n} = wp.element;\n\nconst ControlsSectionsComponent = ( props ) => {\n\n\tconst { sections } = props;\n\n\tconst advancedButton = document.querySelector( '.block-editor-block-inspector__advanced' );\n\tconst advancedWrapper = !! advancedButton && advancedButton.parentNode;\n\n\tif ( !! advancedWrapper ) {\n\t\tadvancedWrapper.style.setProperty( 'transition', 'height .3s ease-out' );\n\t\tadvancedWrapper.style.setProperty( 'overflow', 'hidden' );\n\t}\n\n\tconst onOpen = () => {\n\t\tif ( !! advancedWrapper?.style ) {\n\t\t\tadvancedWrapper.style.setProperty( 'height', ` ${ advancedButton.offsetHeight }px`, );\n\t\t\trequestAnimationFrame( () => {\n\t\t\t\tadvancedWrapper.style.setProperty( 'height', 0 );\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onClose = () => {\n\t\tif ( !! advancedWrapper?.style ) {\n\t\t\tadvancedWrapper.addEventListener( 'transitionend', () => {\n\t\t\t\tadvancedWrapper.style.removeProperty( 'height' );\n\t\t\t}, { once: true } );\n\t\t\tadvancedWrapper.style.setProperty( 'height', ` ${ advancedButton.offsetHeight }px` );\n\t\t}\n\t};\n\n\tconst groups = groupBy( sections, section => {\n\t\treturn !! section.props.group ? section.props.group : '';\n\t} );\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
{ __( 'Design Customization' ) }
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tObject.keys( groups ).map( key => {\n\t\t\t\t\t\tconst sections = groups[ key ];\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ sections.map( ( section, index ) => {\n\t\t\t\t\t\t\t\t\tconst { label, priority } = section.props;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tObject.keys( groups ).map( key => {\n\t\t\t\t\t\tconst sections = groups[ key ];\n\n\t\t\t\t\t\treturn sections.map( ( section, index ) => {\n\t\t\t\t\t\t\tconst { children, label } = section.props;\n\t\t\t\t\t\t\tconst tabs = Children.toArray( children ).filter( child => child.type === ControlsTab );\n\t\t\t\t\t\t\tconst groupedTabs = groupBy( tabs, tab => {\n\t\t\t\t\t\t\t\treturn tab.props.label;\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tconst compiledTabs = Object.keys( groupedTabs ).map( key => {\n\t\t\t\t\t\t\t\tconst group = groupedTabs[key];\n\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tlabel: key,\n\t\t\t\t\t\t\t\t\t\tchildren: group.reduce( ( accumulator, tab ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn accumulator.concat( Children.toArray( tab.props.children ) );\n\t\t\t\t\t\t\t\t\t\t}, [] )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nconst ControlsSections = ( props ) => {\n\n\treturn (\n\t\t\n\t\t\t{ ( fills ) => {\n\t\t\t\tconst sections = getSectionsFromFills( fills );\n\n\t\t\t\tif ( ! sections.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn \n\t\t\t} }\n\t\t\n\t);\n};\n\nconst ControlsTab = ( props ) => {\n\treturn (\n\t\t
{ props.children }
\n\t)\n};\n\nconst ControlsSection = ( props ) => {\n\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected &&
}\n\t\t\n\t)\n};\n\nconst ControlsDrawerContent = ( props ) => {\n\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected &&
}\n\t\t\n\t)\n};\n\nexport {\n\tControlsTab,\n\tControlsSections,\n\tControlsSection,\n\tControlsDrawerContent,\n};\n","const ControlsGroup = ( props ) => {\n\n\treturn (\n\t\t
\n\t\t\t{\n\t\t\t\t!! props.title &&\n\t\t\t\t
{ props.title }
\n\t\t\t}\n\t\t\t{ props.children }\n\t\t
\n\t)\n};\n\nexport default ControlsGroup;\n","import withSettings from '../with-settings';\nimport { ControlsTab, ControlsSection } from \"../control-sections\";\nimport ControlsGroup from \"../controls-group\";\n\nconst { __ } = wp.i18n;\n\nconst { useBlockEditContext } = wp.blockEditor;\n\nconst {\n\tRangeControl,\n\tRadioControl,\n\tcreateSlotFill,\n} = wp.components;\n\nconst EmphasisContentAreaSlotFill = createSlotFill( 'EmphasisContentArea' );\nconst EmphasisContentAreaSlot = EmphasisContentAreaSlotFill.Slot;\nconst EmphasisContentAreaFill = EmphasisContentAreaSlotFill.Fill;\n\nconst EmphasisBlockAreaSlotFill = createSlotFill( 'EmphasisBlockArea' );\nconst EmphasisBlockAreaSlot = EmphasisBlockAreaSlotFill.Slot;\nconst EmphasisBlockAreaFill = EmphasisBlockAreaSlotFill.Fill;\n\nconst EmphasisLevelControls = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tcontentStyle,\n\t\t\tblockStyle,\n\t\t\temphasisByContrast,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tmedia: {\n\t\t\t\tcontentAreaOptions,\n\t\t\t\tblockAreaOptions,\n\t\t\t},\n\t\t},\n\t} = props;\n\n\tconst getEmphasisByContrastValue = () => {\n\t\tconst blockIndex = blockAreaOptions.findIndex( option => option.value === blockStyle );\n\t\tconst contentIndex = contentAreaOptions.findIndex( option => option.value === contentStyle );\n\t\treturn blockIndex * 3 + contentIndex;\n\t}\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tconst blockIndex = Math.floor( contrast / 3 );\n\t\t\t\t\t\tconst contentIndex = contrast % 3;\n\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tblockStyle: blockAreaOptions[ blockIndex ].value,\n\t\t\t\t\t\t\tcontentStyle: contentAreaOptions[ contentIndex ].value\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Emphasis by Contrast' ) }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 8 }\n\t\t\t\t/>\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { blockStyle: nextBlockStyle } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t\n\n\t\t\t\t\t setAttributes( { contentStyle: nextContentStyle } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t)\n}\n\nconst EmphasisContentAreaControls = ( props ) => {\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected && props.children }\n\t\t\n\t)\n}\n\nconst EmphasisBlockAreaControls = ( props ) => {\n\tconst { isSelected } = useBlockEditContext();\n\n\treturn (\n\t\t\n\t\t\t{ isSelected && props.children }\n\t\t\n\t)\n}\n\nexport { EmphasisContentAreaControls, EmphasisBlockAreaControls };\n\nexport default withSettings( EmphasisLevelControls );\n","import EmphasisLevelControls from \"../../components/emphasis-level-controls\";\n\nconst { __ } = wp.i18n;\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\n\nconst enableFontSizeControlOnBlocks = [\n\t'novablocks/media',\n\t'novablocks/cards-collection',\n\t'novablocks/posts-collection',\n];\n\nconst withEmphasisLevelControls = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! enableFontSizeControlOnBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-ehpasis-level-controls', withEmphasisLevelControls );\n\nfunction addEmphasisLevelAttribute( block ) {\n\n\tif ( ! enableFontSizeControlOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes === 'undefined' ) {\n\t\tblock.attributes = {};\n\t}\n\n\tblock.attributes = Object.assign( block.attributes, {\n\t\tblockStyle: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'basic',\n\t\t},\n\t\tcontentStyle: {\n\t\t\ttype: 'string',\n\t\t\tdefault: block.name === 'novablocks/media' ? 'moderate' : 'basic',\n\t\t},\n\t\temphasisByContrast: {\n\t\t\tnumber: 'number',\n\t\t\tdefault: 1\n\t\t}\n\t});\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-emphasis-level-attributes', addEmphasisLevelAttribute );\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tButton,\n\tButtonGroup,\n\tRangeControl,\n} = wp.components;\n\nconst PaddingControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentPadding,\n\t\t\tcontentPaddingCustom,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tcontentPaddingOptions,\n\t\t},\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ contentPaddingOptions.map( ( option ) =>\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( { contentPadding: option.value } );\n\t\t\t\t\t\t\t} }>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t
\n\t\t\t{\n\t\t\t\t'custom' === contentPadding &&\n\t\t\t\t setAttributes( { contentPaddingCustom: newContentPadding } ) }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 25 }\n\t\t\t\t/>\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport default withSettings( PaddingControls );\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tButton,\n\tButtonGroup,\n\tRangeControl,\n} = wp.components;\n\nconst WidthControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentWidth,\n\t\t\tcontentWidthCustom,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tcontentWidthOptions,\n\t\t},\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ contentWidthOptions.map( ( option ) =>\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( { contentWidth: option.value } );\n\t\t\t\t\t\t\t} }>\n\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t
\n\t\t\t{\n\t\t\t\t'custom' === contentWidth &&\n\t\t\t\t setAttributes( { contentWidthCustom: newContentWidth } ) }\n\t\t\t\t\tmin={ 20 }\n\t\t\t\t\tmax={ 90 }\n\t\t\t\t\tstep={ 10 }\n\t\t\t\t/>\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport default withSettings( WidthControls );\n","/**\n * Internal dependencies\n */\nimport PaddingControls from './padding';\nimport WidthControls from './width';\n\nimport { ControlsTab, ControlsSection } from \"../control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst LayoutPanel = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default LayoutPanel;\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tRangeControl,\n\tRadioControl,\n\tToggleControl,\n} = wp.components;\n\nconst ParallaxPanel = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\t// parallax\n\t\t\tenableParallax,\n\t\t\tparallaxAmount,\n\t\t\tparallaxCustomAmount,\n\t\t\tfocalPoint\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tparallaxOptions,\n\t\t},\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t setAttributes( { enableParallax: ! enableParallax } ) }\n\t\t\t/>\n\t\t\t{ !! enableParallax &&\n\t\t\t\t {\n\t\t\t\t\t\tif ( nextParallaxAmount === 'custom' ) {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tparallaxAmount: nextParallaxAmount,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tparallaxAmount: nextParallaxAmount,\n\t\t\t\t\t\t\t\tparallaxCustomAmount: parseInt( nextParallaxAmount, 10 )\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ parallaxOptions }\n\t\t\t\t\thelp={ __( 'The speed at which the parallax effect runs.', '__plugin_txtd' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t\t{ !! enableParallax && 'custom' === parallaxAmount &&\n\t\t\t\t setAttributes( { parallaxCustomAmount: nextParallaxAmount } ) }\n\t\t\t\t\tmin={ 10 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tstep={ 10 }\n\t\t\t\t\thelp={ __( 'It starts from 0 when the image will keep with the content (no parallax) up to 100 when the image appears fixed in place.', '__plugin_txtd' ) }\n\t\t\t\t/> }\n\t\t\n\t);\n};\n\nexport default withSettings( ParallaxPanel );\n","import { ControlsSection, ControlsTab } from \"../control-sections\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tToggleControl\n} = wp.components;\n\nfunction PositionIndicatorsPanel( props ) {\n\n\tconst { attributes, setAttributes } = props;\n\tconst { positionIndicators } = attributes;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t { setAttributes( { positionIndicators } ) } }\n\t\t\t\t/>\n\t\t\t\n\t\t\n )\n}\n\nexport default PositionIndicatorsPanel;\n","import Unsplash, { toJson } from \"unsplash-js\";\n\nconst COLLECTION_ID = 10606015;\n\nclass PlaceholderImagesCollection {\n\n\tconstructor() {\n\t\tthis.fetchedImages = false;\n\t\tthis.images = [];\n\n\t\tconst apiKey = window?.pixcare?.themeConfig?.unsplashApiKey;\n\n\t\tif ( !! apiKey ) {\n\t\t\tthis.api = new Unsplash( { accessKey: apiKey } );\n\t\t} else {\n\t\t\tthis.fetchedImages = true;\n\t\t}\n\t}\n\n\tfetch() {\n\t\tconst normalize = this.normalize.bind( this );\n\n\t\treturn this.api.collections.getCollectionPhotos( COLLECTION_ID )\n\t\t .then( toJson )\n\t\t .then( photos => {\n\t\t\t this.images = photos.map( normalize );\n\t\t\t return this.images;\n\t\t } )\n\t\t .finally( () => {\n\t\t \t this.fetchedImages = true;\n\t\t } );\n\t}\n\n\tget() {\n\t\tif ( this.fetchedImages ) {\n\t\t\treturn this.images;\n\t\t}\n\n\t\treturn this.fetch();\n\t}\n\n\tnormalize( photo ) {\n\t\treturn {\n\t\t\tid: photo.id,\n\t\t\turl: photo.urls.full,\n\t\t\ttype: 'image',\n\t\t\twidth: photo.width,\n\t\t\theight: photo.height,\n\t\t\tsizes: {\n\t\t\t\tfull: {\n\t\t\t\t\turl: photo.urls.full\n\t\t\t\t},\n\t\t\t\tlarge: {\n\t\t\t\t\turl: photo.urls.regular\n\t\t\t\t},\n\t\t\t\tmedium: {\n\t\t\t\t\turl: photo.urls.small\n\t\t\t\t},\n\t\t\t\tthumbnail: {\n\t\t\t\t\turl: photo.urls.thumb\n\t\t\t\t},\n\t\t\t\tnovablocks_huge: {\n\t\t\t\t\turl: photo.urls.full\n\t\t\t\t},\n\t\t\t\tnovablocks_large: {\n\t\t\t\t\turl: photo.urls.regular\n\t\t\t\t},\n\t\t\t\tnovablocks_medium: {\n\t\t\t\t\turl: photo.urls.small\n\t\t\t\t},\n\t\t\t\tnovablocks_tiny: {\n\t\t\t\t\turl: photo.urls.thumb\n\t\t\t\t},\n\t\t\t},\n\t\t\ttitle: photo.description,\n\t\t\tcaption: `

Photo by ${ photo.user.name } on Unsplash

`,\n\t\t\tdownload: () => {\n\t\t\t\tthis.api.photos.downloadPhoto( photo );\n\t\t\t},\n\t\t};\n\t};\n}\n\nconst instance = new PlaceholderImagesCollection();\nconst getPlaceholderImages = instance.get.bind( instance );\n\nexport { getPlaceholderImages };\n","import classnames from \"classnames\";\n\nexport { getPlaceholderImages } from './unsplash';\n\nexport const getRandomBetween = ( min, max ) => {\n\tconst random = Math.max(0, Math.random() - Number.MIN_VALUE );\n\treturn Math.floor( random * (max - min + 1) + min );\n};\n\nexport const getRandomArrayFromArray = ( arr, n ) => {\n\n\tlet result = new Array( n ),\n\t\tlen = arr.length,\n\t\ttaken = new Array( len );\n\n\tif ( ! len ) {\n\t\treturn [];\n\t}\n\n\twhile ( n -- ) {\n\t\tconst x = Math.floor( Math.random() * len );\n\t\tresult[n] = arr[x in taken ? taken[x] : x];\n\t\ttaken[x] = -- len in taken ? taken[len] : len;\n\t}\n\n\treturn result;\n};\n\nexport const debounce = (func, wait) => {\n\tlet timeout = null;\n\n\treturn function () {\n\t\tconst context = this;\n\t\tconst args = arguments;\n\n\t\tconst later = () => {\n\t\t\tfunc.apply(context, args);\n\t\t};\n\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t}\n};\n\nexport const range = function( min, max ) {\n\tconst array = [];\n\tfor ( let i = 0; i <= max - min; i++ ) {\n\t\tarray.push( i + min );\n\t}\n\treturn array;\n};\n\nexport const withFirstBlockConditions = function( Component ) {\n\n\treturn function( props ) {\n\n\t\tconst { getBlocks, getSelectedBlockClientId } = wp.data.select( 'core/block-editor' );\n\t\tconst blocks = getBlocks();\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst index = blocks.findIndex( block => block.clientId === selectedBlockClientId );\n\t\tconst show = index === 0 && props.clientId === selectedBlockClientId;\n\n\t\treturn show && ;\n\n\t}\n\n};\n\nexport const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nexport const hasTouchScreen = function() {\n\tvar hasTouchScreen = false;\n\n\tif ( \"maxTouchPoints\" in navigator ) {\n\t\thasTouchScreen = navigator.maxTouchPoints > 0;\n\t} else if ( \"msMaxTouchPoints\" in navigator ) {\n\t\thasTouchScreen = navigator.msMaxTouchPoints > 0;\n\t} else {\n\t\tvar mQ = window.matchMedia && matchMedia( \"(pointer:coarse)\" );\n\t\tif ( mQ && mQ.media === \"(pointer:coarse)\" ) {\n\t\t\thasTouchScreen = !!mQ.matches;\n\t\t} else if ( 'orientation' in window ) {\n\t\t\thasTouchScreen = true;\n\t\t} else {\n\t\t\tvar UA = navigator.userAgent;\n\t\t\thasTouchScreen = (\n\t\t\t\t/\\b(BlackBerry|webOS|iPhone|IEMobile)\\b/i.test( UA ) || /\\b(Android|Windows Phone|iPad|iPod)\\b/i.test( UA )\n\t\t\t);\n\t\t}\n\t}\n\n\treturn hasTouchScreen;\n};\n\nexport const findParents = ( target, query ) => {\n\tlet parents = [];\n\n\tfunction traverse( item ) {\n\t\tconst parent = item.parentNode;\n\t\tif ( parent instanceof HTMLElement ) {\n\t\t\tif ( parent.matches( query ) ) {\n\t\t\t\tparents.push( parent );\n\t\t\t}\n\t\t\ttraverse( parent );\n\t\t}\n\t}\n\n\ttraverse( target );\n\n\treturn parents;\n};\n\n// https://stackoverflow.com/a/2450976\nexport const shuffleArray = function( array ) {\n\tlet currentIndex = array.length,\n\t\ttemporaryValue,\n\t\trandomIndex;\n\n\t// While there remain elements to shuffle...\n\twhile ( 0 !== currentIndex ) {\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\trandomIndex = Math.floor( Math.random() * currentIndex );\n\t\tcurrentIndex -= 1;\n\n\t\t// And swap it with the current element.\n\t\ttemporaryValue = array[ currentIndex ];\n\t\tarray[ currentIndex ] = array[ randomIndex ];\n\t\tarray[ randomIndex ] = temporaryValue;\n\t}\n\n\treturn array;\n};\n\nexport const defaultSnapValues = {\n\tx: [0, 0.5, 1],\n\ty: [0, 0.5, 1]\n};\n\nexport const maybeSnapFocalPoint = function( focalPoint, snapValues = defaultSnapValues ) {\n\tlet x = parseFloat( focalPoint.x );\n\tlet y = parseFloat( focalPoint.y );\n\tlet thereshold = 0.05;\n\n\tsnapValues.x.forEach( snapValue => {\n\t\tif ( snapValue - thereshold < x && x < snapValue + thereshold ) {\n\t\t\tx = snapValue;\n\t\t}\n\t} );\n\n\tsnapValues.y.forEach( snapValue => {\n\t\tif ( snapValue - thereshold < y && y < snapValue + thereshold ) {\n\t\t\ty = snapValue;\n\t\t}\n\t} );\n\n\treturn { x, y }\n};\n\nexport const getSnapClassname = focalPoint => {\n\tconst classNames = [];\n\n\tif ( defaultSnapValues.x.includes( parseFloat( focalPoint.x ) ) ) {\n\t\tclassNames.push( 'is-snapped-x' );\n\t}\n\n\tif ( defaultSnapValues.y.includes( parseFloat( focalPoint.y ) ) ) {\n\t\tclassNames.push( 'is-snapped-y' );\n\t}\n\n\treturn classNames.join( ' ' );\n};\n\nexport const getControlsClasses = ( attributes, compileAttributes ) => {\n\tconst classes = [ 'novablocks-controls-wrap' ];\n\tconst compiledAttributes = compileAttributes( attributes );\n\n\tif ( Object.keys( compiledAttributes ).some( key => compiledAttributes[ key ] !== attributes[ key ] ) ) {\n\t\tclasses.push( 'novablocks-controls-wrap--dirty' );\n\t}\n\n\treturn classnames( classes );\n};\n","import { ControlsSection, ControlsTab } from \"../control-sections\";\n\n/**\n * WordPress dependencies\n */\n\n\nconst { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tFocalPointPicker,\n\tPanelBody,\n\tRadioControl,\n\tRangeControl,\n\tToggleControl,\n} = wp.components;\n\nconst {\n\tFragment\n} = wp.element;\n\nimport { defaultSnapValues, getSnapClassname, maybeSnapFocalPoint } from \"../../utils\";\n\nconst ScrollingEffectControls = function( props ) {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nconst ScrollingEffectPanel = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t\tattributes: {\n\t\t\tscrollingEffect,\n\t\t\tmotionPreset,\n\t\t},\n\t\tsettings,\n\t\tname,\n\t} = props;\n\n\tconst {\n\t\tmotionPresetOptions,\n\t\ttheme_support: {\n\t\t\tdoppler\n\t\t}\n\t} = settings;\n\n\tconst scrollingEffectOptions = [ ...settings.scrollingEffectOptions ];\n\n\tif ( !! doppler && doppler.includes( name ) ) {\n\t\tscrollingEffectOptions.push( {\n\t\t\tlabel: __( 'Doppler by Pixelgrade ®' ),\n\t\t\tvalue: 'doppler'\n\t\t} );\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tlet newAttributes = { scrollingEffect };\n\n\t\t\t\t\t\tif ( scrollingEffect === 'doppler' && motionPreset !== 'custom' ) {\n\t\t\t\t\t\t\tlet newOption = motionPresetOptions.find( option => motionPreset === option.value );\n\t\t\t\t\t\t\tnewAttributes = Object.assign( newOption.preset, newAttributes );\n\t\t\t\t\t\t\tnewAttributes.minHeightFallback = 75;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ scrollingEffectOptions }\n\t\t\t\t/>\n\t\t\t\t{ props.children }\n\t\t\t\n\t\t\n\t)\n}\n\nconst DopplerPresetsPanel = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tmotionPreset,\n\t\t\tscrollingEffect,\n\t\t},\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tmotionPresetOptions\n\t\t},\n\t\tisScrolling,\n\t\tpreviewScrolling,\n\t} = props;\n\n\tif ( scrollingEffect !== 'doppler' ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t\n\n\t\t\t {\n\t\t\t\t\tlet newAttributes = { motionPreset };\n\t\t\t\t\tlet newOption = motionPresetOptions.find( option => motionPreset === option.value );\n\n\t\t\t\t\tif ( newOption && newOption.preset ) {\n\t\t\t\t\t\tnewAttributes = Object.assign( newOption.preset, newAttributes );\n\t\t\t\t\t}\n\n\t\t\t\t\tsetAttributes( newAttributes );\n\n\t\t\t\t\tif ( 'custom' !== motionPreset && ! isScrolling ) {\n//\t\t\t\t\t\tpreviewScrolling();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\toptions={ motionPresetOptions }\n\t\t\t/>\n\n\t\t\t
\n\t\t\t\tPreview Scrolling\n\t\t\t
\n\n\t\t
\n\t)\n}\n\nconst getParallaxFocalPointImage = ( media ) => {\n\tlet mediaType = media?.type;\n\tlet parallaxFocalPointImage = false;\n\n\tif ( mediaType === 'image' ) {\n\t\tparallaxFocalPointImage = {\n\t\t\turl: media?.sizes?.novablocks_large?.url || media?.sizes?.novablocks_huge?.url || media?.url,\n\t\t\twidth: 218,\n\t\t\theight: 170\n\t\t}\n\t}\n\n\tif ( mediaType === 'video' ) {\n\t\tparallaxFocalPointImage = {\n\t\t\turl: '//cloud.pixelgrade.com/wp-content/uploads/2020/01/Screenshot-2020-01-09-at-15.59.37.png',\n\t\t\twidth: 218,\n\t\t\theight: 170,\n\t\t};\n\t}\n\n\treturn parallaxFocalPointImage;\n}\n\nconst StartFramePanel = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\tmedia,\n\t\tmotionPreset,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tinitialBackgroundScale,\n\t\tfollowThroughStart,\n\t\tscrollingEffect,\n\t} = attributes;\n\n\tconst parallaxFocalPointImage = getParallaxFocalPointImage( media );\n\tconst isDoppler = scrollingEffect === 'doppler';\n\n\tif ( ! parallaxFocalPointImage ) {\n\t\treturn false;\n\t}\n\n\tconst staticPanelTitle = __( 'Static Scrolling Settings', '__plugin_txtd' );\n\tconst parallaxPanelTitle = __( 'Parallax Scrolling Settings', '__plugin_txtd' );\n\tconst dopplerPanelTitle = __( 'Start Frame', '__plugin_txtd' );\n\n\tlet panelTitle = staticPanelTitle;\n\n\tif ( 'parallax' === scrollingEffect ) {\n\t\tpanelTitle = parallaxPanelTitle;\n\t}\n\n\tif ( isDoppler ) {\n\t\tpanelTitle = dopplerPanelTitle;\n\t}\n\n\tlet classNames = [\n\t\t'novablocks-focal-point-picker',\n\t\t`novablocks-focal-point-picker--${ scrollingEffect }`,\n\t\t`novablocks-focal-point-picker--start`,\n\t\tgetSnapClassname( focalPoint )\n\t]\n\n\tlet className = classNames.join( ' ' );\n\n\treturn (\n\t\t\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tfocalPoint: maybeSnapFocalPoint( focalPoint ),\n\t\t\t\t\t\tfinalFocalPoint: maybeSnapFocalPoint( {\n\t\t\t\t\t\t\tx: focalPoint.x,\n\t\t\t\t\t\t\ty: finalFocalPoint.y,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tinitialBackgroundScale,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tmin={ 1 }\n\t\t\t\tmax={ 2 }\n\t\t\t\tstep={ 0.01 }\n\t\t\t/>\n\t\t\t{\n\t\t\t\tscrollingEffect === 'doppler' &&\n\t\t\t\t\t setAttributes( {\n\t\t\t\t\t\t\tfollowThroughStart: ! followThroughStart\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t}\n\t\t\n\t)\n}\n\nconst EndFramePanel = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\tmedia,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tfinalBackgroundScale,\n\t\tfollowThroughEnd,\n\t\tscrollingEffect,\n\t} = attributes;\n\n\tconst parallaxFocalPointImage = getParallaxFocalPointImage( media );\n\n\tif ( ! parallaxFocalPointImage || scrollingEffect !== 'doppler' ) {\n\t\treturn false;\n\t}\n\n\tlet classNames = [\n\t\t'novablocks-focal-point-picker',\n\t\t`novablocks-focal-point-picker--${ scrollingEffect }`,\n\t\t'novablocks-focal-point-picker--end',\n\t\tgetSnapClassname( focalPoint ),\n\t]\n\n\tlet className = classNames.join( ' ' );\n\n\treturn (\n\n\t\t\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tfocalPoint: maybeSnapFocalPoint( {\n\t\t\t\t\t\t\tx: finalFocalPoint.x,\n\t\t\t\t\t\t\ty: focalPoint.y,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tfinalFocalPoint: maybeSnapFocalPoint( finalFocalPoint ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdisabled\n\t\t\t/>\n\t\t\t {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\t\tfinalBackgroundScale,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tmin={ 1 }\n\t\t\t\tmax={ 2 }\n\t\t\t\tstep={ 0.01 }\n\t\t\t/>\n\t\t\t setAttributes( {\n\t\t\t\t\tmotionPreset: 'custom',\n\t\t\t\t\tfollowThroughEnd: ! followThroughEnd\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t\n\t)\n}\n\nexport default ScrollingEffectControls;\n","import {\n\tuseTransition,\n\tanimated,\n} from 'react-spring';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n\tuseState,\n} = wp.element;\n\nconst {\n\tPanelBody,\n\tToggleControl,\n} = wp.components;\n\nconst ToggleGroup = ( props ) => {\n\tconst { toggles, onChange } = props;\n\tconst [ refMap ] = useState( () => new WeakMap() );\n\n\tconst enabledToggles = toggles.filter( toggle => !! toggle.value );\n\tconst disabledToggles = toggles.filter( toggle => ! toggle.value );\n\n\tconst config = {\n\t\tinitial: false,\n\t\tenter: item => async next => {\n\t\t\tconst ref = refMap.get(item);\n\n\t\t\tif ( typeof ref === \"undefined\" ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tnext( { height: ref.offsetHeight } );\n\t\t\t}, 100);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tnext( { opacity: 1, left: 0 } );\n\t\t\t}, 200);\n\t\t},\n\t\tleave: item => async next => {\n\t\t\tnext( { opacity: 0, left: 40 } );\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tnext( { height: 0 } );\n\t\t\t}, 100);\n\t\t},\n\t};\n\n\tconst enabledTransitions = useTransition( enabledToggles, item => item.attribute, config );\n\tconst disabledTransitions = useTransition( disabledToggles, item => item.attribute, config );\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{ !! enabledToggles.length &&\n\t\t\t\t
\n\t\t\t\t\t { enabledTransitions.map( ( { item, key, props } ) => {\n\t\t\t\t\t\t return (\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
ref && refMap.set(item, ref)}>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t { onChange( { [item.attribute]: value } ) } }\n\t\t\t\t\t\t\t\t\t\t />\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t );\n\t\t\t\t\t } ) }\n\t\t\t\t
\n\t\t\t\t}\n\t\t\t\t{ !! disabledToggles.length &&\n\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t\t\t { disabledTransitions.map( ( { item, key, props } ) => {\n\t\t\t\t\t\t\t return (\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
ref && refMap.set(item, ref)}>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t { onChange( { [item.attribute]: value } ) } }\n\t\t\t\t\t\t\t\t\t\t\t />\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t );\n\t\t\t\t\t\t } ) }\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ToggleGroup;\n","/**\n * WordPress dependencies\n */\nconst { Path, SVG } = wp.components;\n\nexport default function Index( { level, isPressed = false } ) {\n\tconst levelToPath = {\n\t\t1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',\n\t\t2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z',\n\t\t3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z',\n\t\t4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',\n\t\t5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z',\n\t\t6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z',\n\t};\n\tif ( ! levelToPath.hasOwnProperty( level ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { range } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nconst { __, sprintf } = wp.i18n;\n\nconst { Component } = wp.element;\nconst { ToolbarGroup } = wp.components;\n\n/**\n * Internal dependencies\n */\n\nimport HeadingLevelIcon from '../heading-level-icon';\n\nclass HeadingToolbar extends Component {\n\tcreateLevelControl( targetLevel, selectedLevel, onChange ) {\n\t\tconst isActive = targetLevel === selectedLevel;\n\t\treturn {\n\t\t\ticon: ,\n\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\ttitle: sprintf( __( 'Heading %d' ), targetLevel ),\n\t\t\tisActive,\n\t\t\tonClick: () => onChange( targetLevel ),\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { minLevel, maxLevel, selectedLevel, onChange } = this.props;\n\n\t\treturn (\n\t\t\t }\n\t\t\t\tcontrols={ range( minLevel, maxLevel ).map(\n\t\t\t\t\t( index ) => this.createLevelControl( index, selectedLevel, onChange )\n\t\t\t\t) } />\n\t\t);\n\t}\n}\n\nexport default HeadingToolbar;\n","const { forwardRef } = wp.element;\nconst { RichText } = wp.blockEditor;\n\nconst EditableText = forwardRef( ( props, ref ) => {\n\treturn ;\n} );\n\nEditableText.Content = ( { value = '', tagName: Tag = 'div', ...props } ) => {\n\treturn { value };\n};\n\n/**\n * Renders an editable text input in which text formatting is not allowed.\n */\nexport default EditableText;\n","import { EmphasisBlockAreaControls, EmphasisContentAreaControls } from \"../emphasis-level-controls\";\nimport { HeadingToolbar } from \"../../components\";\nimport { ControlsSection, ControlsTab } from \"../control-sections\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tPanelRow,\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst {\n\tInspectorControls,\n\tAlignmentToolbar,\n} = wp.blockEditor;\n\nconst CollectionInspectorControls = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tcontentAlign,\n\t\t\tcontainerHeight,\n\t\t\timageResizing,\n\t\t\tlevel,\n\t\t\timagePadding,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tconst onChange = typeof props.onChange !== 'function' ? setAttributes : props.onChange;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { imageResizing } )\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: 'Stretch to fill the container', value: 'cropped' },\n\t\t\t\t\t\t{ label: 'Shrink to fit (no crop)', value: 'original' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { containerHeight } )\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tstep={ 5 }\n\t\t\t\t/>\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { imagePadding } )\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tstep={ 50 }\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t{__( 'Title Level', '__plugin_txtd' )}\n\t\t\t\t\t {\n\t\t\t\t\t\t\tonChange( {level} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{__( 'Content Alignment', '__plugin_txtd' )}\n\t\t\t\t\t {\n\t\t\t\t\t\t\tonChange( {contentAlign} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default CollectionInspectorControls;\n","import classnames from 'classnames';\nimport { kebabCase } from 'lodash';\nimport EditableText from \"../editable-text\";\nimport InspectorControls from \"./inspector-controls\";\n\nconst { Fragment } = wp.element;\n\nconst CollectionTitle = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tshowCollectionTitle,\n\t\t\ttitle,\n\t\t\tlevel,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tif ( ! showCollectionTitle ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tsetAttributes( { title } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t
\n\t);\n}\n\nconst CollectionSubtitle = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tshowCollectionSubtitle,\n\t\t\tsubtitle,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tif ( ! showCollectionSubtitle ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tsetAttributes( { subtitle } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t
\n\t)\n}\n\nconst Collection = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\thasAppender\n\t} = props;\n\n\tconst {\n\t\tblockStyle,\n\t\tcontentStyle,\n\n\t\tcontentAlign,\n\t\timageResizing,\n\t\tcontainerHeight,\n\t\timagePadding,\n\t} = attributes;\n\n\tconst blockClassName = 'novablocks-collection';\n\n\tconst getCardMediaPaddingTop = ( containerHeight ) => {\n\t\tlet compiledHeight = containerHeight / 50 - 1;\n\n\t\tif ( compiledHeight < 0 ) {\n\t\t\tcompiledHeight *= 3;\n\t\t}\n\n\t\tlet numerator = 1;\n\t\tlet denominator = 1;\n\n\t\tcompiledHeight = Math.min( Math.max( -3, compiledHeight ), 1 );\n\n\t\tif ( compiledHeight > 0 ) {\n\t\t\tnumerator = 1 + compiledHeight;\n\t\t}\n\n\t\tif ( compiledHeight < 0 ) {\n\t\t\tdenominator = 1 + Math.abs( compiledHeight );\n\t\t}\n\n\t\treturn `${ numerator * 100 / denominator }%`;\n\t}\n\n\tconst style = {\n\t\t'--card-media-padding': imagePadding,\n\t\t'--card-media-padding-top': getCardMediaPaddingTop( containerHeight ),\n\t\t'--card-media-object-fit': imageResizing === 'cropped' ? 'cover' : 'scale-down',\n\t};\n\n\tconst className = classnames(\n\t\tprops.className,\n\t\tblockClassName,\n\t\t'novablocks-block',\n\t\t`${ blockClassName }--align-${ contentAlign }`,\n\t\t`block-is-${ blockStyle }`,\n\t\t`content-is-${ contentStyle }`,\n\t\t{\n\t\t\t'has-appender': hasAppender,\n\t\t},\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{ props.children }\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default Collection;\n","const { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tRadioControl,\n} = wp.components;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tuseBlockEditContext\n} = wp.blockEditor;\n\nconst {\n\twithDispatch,\n\twithSelect,\n} = wp.data;\n\nconst {\n\tcompose\n} = wp.compose;\n\nconst PresetControl = ( props ) => {\n\n\tconst noop = () => { return {} };\n\tconst { randomize, attributes, setAttributes } = props;\n\tconst options = Array.isArray( props.options ) ? props.options.slice() : [];\n\tconst randomizeAttributes = typeof randomize === \"function\" ? randomize : noop;\n\n\toptions.push({\n\t\tlabel: 'Just My Style™',\n\t\tvalue: 'just-my-style',\n\t\tpreset: {}\n\t});\n\n\tconst selectedPreset = getSelectedPreset( options, attributes );\n\n\treturn (\n\t\t\n\t\t\t {\n\n\t\t\t\t\tif ( 'just-my-style' === preset ) {\n\t\t\t\t\t\tsetAttributes( Object.assign( {}, randomizeAttributes() ) );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst newAttributes = getNewAttributesFromPreset( preset, options );\n\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{\n\t\t\t\tselectedPreset === 'just-my-style' &&\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( randomizeAttributes() )\n\t\t\t\t\t\t} }>\n\t\t\t\t\t\t{ __( '💡 Surprise me!' ) }\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport const getNewAttributesFromPreset = ( preset, presets ) => {\n\tlet newAttributes = {};\n\tlet newOption = presets.find( option => preset === option.value );\n\n\tif ( newOption && newOption.preset ) {\n\t\tnewAttributes = Object.assign( newOption.preset, newAttributes );\n\t}\n\n\treturn newAttributes;\n};\n\nexport const getSelectedPreset = ( presetOptions, attributes ) => {\n\tconst activePresets = presetOptions.filter( presetOption => {\n\t\tconst { preset } = presetOption;\n\n\t\treturn Object.keys( preset ).every( key => {\n\t\t\treturn preset[key] === attributes[key];\n\t\t} );\n\t} );\n\n\tif ( activePresets.length ) {\n\t\treturn activePresets[0].value;\n\t}\n\n\treturn null;\n};\n\nconst applyWithSelect = withSelect( ( select, props ) => {\n\tconst { clientId } = useBlockEditContext();\n\tconst { getBlock } = select( 'core/block-editor' );\n\tconst { attributes } = getBlock( clientId );\n\n\treturn {\n\t\t...props,\n\t\tclientId,\n\t\tattributes,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, { clientId } ) => {\n\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\tconst setAttributes = ( newAttributes ) => {\n\t\treturn updateBlockAttributes( clientId, newAttributes );\n\t};\n\n\treturn {\n\t\tsetAttributes,\n\t};\n} );\n\nexport default compose( [ applyWithSelect, applyWithDispatch ] )( PresetControl );\n","// Credits:\n// Gaëtan Renaudeau - https://gist.github.com/gre/1650294\n// Jeremy Kahn - https://github.com/jeremyckahn/shifty/\n// Johan Lindell - https://gist.github.com/gre/1650294#gistcomment-1806616\n\nconst { pow, abs, sin, cos, PI } = Math;\n\nconst EaseIn = power => x => pow( x, power );\nconst EaseOut = power => x => 1 - abs( pow( x - 1, power ) );\nconst EaseInOut = power => x => x < .5\n\t? EaseIn( power )( x * 2 ) / 2\n\t: EaseOut( power )( x * 2 - 1 ) / 2 + 0.5;\n\n// Linear\nexport const linear = EaseInOut(1);\n\n// Quad\nexport const easeInQuad = EaseIn(2);\nexport const easeOutQuad = EaseOut(2);\nexport const easeInOutQuad = EaseInOut(2);\n\n// Cubic\nexport const easeInCubic = EaseIn(3);\nexport const easeOutCubic = EaseOut(3);\nexport const easeInOutCubic = EaseInOut(3);\n\n// Quart\nexport const easeInQuart = EaseIn(4);\nexport const easeOutQuart = EaseOut(4);\nexport const easeInOutQuart = EaseInOut(4);\n\n// Quint\nexport const easeInQuint = EaseIn(5);\nexport const easeOutQuint = EaseOut(5);\nexport const easeInOutQuint = EaseInOut(5);\n\n// Sine\nexport const easeInSine = x => -1 * cos(x * PI / 2) + 1;\nexport const easeOutSine = x => sin(x * PI / 2);\nexport const easeInOutSine = x => -0.5 * (cos(PI * x) - 1);\n\n// Expo\nexport const easeInExpo = x => (x === 0 ? 0 : pow(2, 10 * (x - 1)));\nexport const easeOutExpo = x => (x === 1 ? 1 : -pow(2, -10 * x) + 1);\nexport const easeInOutExpo = x => {\n\n\tif (x === 0 || x === 1) {\n\t\treturn x;\n\t}\n\n\tif ((x /= 0.5) < 1) {\n\t\treturn 0.5 * pow(2, 10 * (x - 1));\n\t}\n\n\treturn 0.5 * (-pow(2, -10 * --x) + 2);\n};\n\n// Back\nexport const easeInBack = x => {\n\tconst s = 1.70158;\n\treturn pow(x, 2) * ((s + 1) * x - s);\n};\n\nexport const easeOutBack = x => {\n\tconst s = 1.70158;\n\treturn (x = x - 1) * x * ((s + 1) * x + s) + 1;\n};\n\nexport const easeInOutBack = x => {\n\tconst s = 1.70158;\n\treturn ((x /= 0.5) < 1)\n\t\t? 0.5 * (x * x * (((s *= 1.525) + 1) * x - s))\n\t\t: 0.5 * ((x -= 2) * x * (((s *= 1.525) + 1) * x + s) + 2);\n};\n","import $ from 'jquery';\nimport {hasTouchScreen} from \"../../utils\";\n\nfunction userPrefersReducedMotion() {\n\tconst mediaQuery = window.matchMedia( '(prefers-reduced-motion: reduce)' );\n\treturn !! mediaQuery.matches;\n}\n\nexport const getIntermediateFocalPoint = function( focalPoint1, focalPoint2, progress ) {\n\n\tif ( ! focalPoint1 && ! focalPoint2 ) {\n\t\treturn {\n\t\t\tx: 0.5,\n\t\t\ty: 0.5,\n\t\t}\n\t}\n\n\tif ( ! focalPoint1 ) {\n\t\treturn focalPoint2;\n\t}\n\n\tif ( ! focalPoint2 ) {\n\t\treturn focalPoint1;\n\t}\n\n\treturn {\n\t\tx: parseFloat( focalPoint1.x ) + ( parseFloat( focalPoint2.x ) - parseFloat( focalPoint1.x ) ) * progress,\n\t\ty: parseFloat( focalPoint1.y ) + ( parseFloat( focalPoint2.y ) - parseFloat( focalPoint1.y ) ) * progress,\n\t}\n}\n\nexport const getStyles = function( config ) {\n\tconst props = getProps( config );\n\tconst styles = getStylesFromProps( props );\n\treturn styles;\n}\n\nexport const getStylesFromProps = function( props ) {\n\n\tconst {\n\t\tparallaxAmount,\n\t\twidth,\n\t\theight,\n\t\tmoveX,\n\t\tmoveY,\n\t\toffsetX,\n\t\toffsetY,\n\t\tscale,\n\t\tfocalPoint,\n\t} = props;\n\n\treturn {\n\t\twidth: width || '',\n\t\theight: height || '',\n\t\tminHeight: 0,\n\t\tmaxWidth: 'none',\n\t\ttransform: `translate(${ moveX },${ moveY * parallaxAmount }px) translateX(${ offsetX }) translateY(${ offsetY }px) scale(${ scale })`,\n\t\tobjectPosition: focalPoint.x * 100 + '% ' + focalPoint.y * 100 + '%',\n\t\ttransformOrigin: focalPoint.x * 100 + '% 50%',\n\t};\n}\n\nfunction getIntermediateValue( initialValue, finalValue, progress ) {\n\treturn initialValue + ( finalValue - initialValue ) * progress;\n}\n\nfunction getScales( config ) {\n\n\tlet {\n\t\tscrollingEffect,\n\t\tinitialBackgroundScale,\n\t\tfinalBackgroundScale,\n\t\tprogress,\n\t} = config;\n\n\tinitialBackgroundScale = initialBackgroundScale || 1;\n\n\tif ( scrollingEffect === 'parallax' ) {\n\t\tfinalBackgroundScale = initialBackgroundScale;\n\t}\n\n\tlet maxScale = Math.max( initialBackgroundScale, finalBackgroundScale );\n\n\tinitialBackgroundScale = initialBackgroundScale / maxScale;\n\tfinalBackgroundScale = finalBackgroundScale / maxScale;\n\n\tif ( userPrefersReducedMotion() ) {\n\t\treturn {\n\t\t\tmaxScale: 1,\n\t\t\tnewScale: 1,\n\t\t};\n\t}\n\n\treturn {\n\t\tmaxScale: maxScale,\n\t\tnewScale: getIntermediateValue( initialBackgroundScale, finalBackgroundScale, progress ),\n\t}\n}\n\nfunction getFocalPoint( config ) {\n\n\tlet {\n\t\tscrollingEffect,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tprogress,\n\t} = config;\n\n\tif ( ! focalPoint ) {\n\t\tfocalPoint = {\n\t\t\tx: 0.5,\n\t\t\ty: 0.5,\n\t\t}\n\t}\n\n\tif ( scrollingEffect !== 'doppler' ) {\n\t\treturn focalPoint;\n\t}\n\n\treturn getIntermediateFocalPoint( focalPoint, finalFocalPoint, progress );\n}\n\nfunction getNewImageHeight( config, parallaxAmount ) {\n\n\tconst {\n\t\tscrollContainerHeight,\n\t\tcontainerHeight,\n\t} = config;\n\n\treturn containerHeight + ( scrollContainerHeight - containerHeight ) * parallaxAmount;\n}\n\nexport const getProps = function( config, fixed ) {\n\n\tconst {\n\t\tdistance,\n\t\tprogress,\n\t\tsmoothStart,\n\t\tsmoothEnd,\n\n\t\tscrollingEffect,\n\t\tfocalPoint,\n\t\tfinalFocalPoint,\n\t\tinitialBackgroundScale,\n\t\tfinalBackgroundScale,\n\n\t\tcontainer,\n\t\tcontainerBox,\n\t\tcontainerWidth,\n\t\tcontainerHeight,\n\n\t\tscrollContainer,\n\t\tscrollContainerBox,\n\t\tscrollContainerHeight,\n\t} = config;\n\n\tconst newFocalPoint = getFocalPoint( config );\n\n\tif ( scrollingEffect === 'static' ) {\n\n\t\treturn {\n\t\t\twidth: containerWidth,\n\t\t\theight: containerHeight,\n\t\t\tscale: initialBackgroundScale || 1,\n\t\t\tmoveX: 0,\n\t\t\tmoveY: 0,\n\t\t\toffsetX: 0,\n\t\t\toffsetY: 0,\n\t\t\tparallaxAmount: 0,\n\t\t\tfocalPoint: newFocalPoint,\n\t\t};\n\t}\n\n\tconst parallaxAmount = userPrefersReducedMotion() ? 0 : scrollingEffect === 'parallax' ? 0.75 : 1;\n\tconst { maxScale, newScale } = getScales( config );\n\tconst newImageHeight = getNewImageHeight( config, parallaxAmount );\n\n\t// keep in sync with scroll\n\tlet moveY = scrollContainerBox.top - containerBox.top;\n\n\tif ( ! smoothStart ) {\n\t\tif ( !! fixed && containerBox.top < 0 ) {\n\t\t\tmoveY = scrollContainerBox.top;\n\t\t}\n\n\t\tif ( ! fixed && 0 > scrollContainerBox.top - containerBox.top ) {\n\t\t\tmoveY = 0;\n\t\t}\n\t}\n\n\tif ( ! smoothEnd ) {\n\n\t\tif ( scrollContainerBox.top - containerBox.top > containerHeight - scrollContainerHeight ) {\n\t\t\tif ( !! fixed ) {\n\t\t\t\tmoveY = scrollContainerBox.top - containerBox.top - containerHeight + scrollContainerHeight;\n\t\t\t} else {\n\t\t\t\tmoveY = containerHeight - scrollContainerHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// align top\n\tlet offsetY = newImageHeight * maxScale * ( newScale - 1 ) * 0.5;\n\n\t// position according to focalPoint\n\toffsetY += newImageHeight * ( 1 - maxScale * newScale ) * newFocalPoint.y;\n\n\treturn {\n\t\tdistance: distance,\n\t\tparallaxAmount: parallaxAmount,\n\t\tprogress: progress,\n\t\twidth: containerWidth * maxScale,\n\t\theight: newImageHeight * maxScale,\n\t\tmoveX: `${ fixed ? containerBox.left - scrollContainerBox.left : 0 }px`,\n\t\tmoveY: moveY,\n\t\toffsetX: ( 1 / maxScale - 1 ) * newFocalPoint.x * 100 + '%',\n\t\toffsetY: offsetY,\n\t\tscale: newScale,\n\t\tfocalPoint: newFocalPoint,\n\t};\n}\n\nexport const getState = function( container, config ) {\n\n\tif ( ! container || ! config ) {\n\t\treturn {};\n\t}\n\n\tconst {\n\t\tfollowThroughStart,\n\t\tfollowThroughEnd,\n\t\tscrollingEffect,\n\t\tscrollContainerHeight,\n\t\tscrollContainerBox,\n\t} = config;\n\n\tconst containerWidth = container.offsetWidth;\n\tconst containerHeight = container.offsetHeight;\n\tconst containerBox = container.getBoundingClientRect();\n\n\tconst smoothStart = followThroughStart || scrollingEffect === 'parallax';\n\tconst smoothEnd = followThroughEnd || scrollingEffect === 'parallax';\n\n\tlet current = scrollContainerBox.top - containerBox.top;\n\tlet distance = containerHeight - scrollContainerHeight;\n\n\tif ( smoothStart ) {\n\t\tcurrent += scrollContainerHeight;\n\t\tdistance += scrollContainerHeight;\n\t}\n\n\tif ( smoothEnd ) {\n\t\tdistance += scrollContainerHeight;\n\t}\n\n\tlet progress = distance <= 0 ? 0.5 : current / distance;\n\n\tif ( ! smoothStart ) {\n\t\tprogress = Math.max( 0, progress );\n\t}\n\n\tif ( ! smoothEnd ) {\n\t\tprogress = Math.min( 1, progress );\n\t}\n\n\tif ( userPrefersReducedMotion() ) {\n\t\tprogress = 0.5;\n\t}\n\n\treturn {\n\t\tprogress,\n\t\tdistance,\n\t\tsmoothStart,\n\t\tsmoothEnd,\n\n\t\tcontainerBox,\n\t\tcontainerHeight,\n\t\tcontainerWidth,\n\n\t\tscrollContainerHeight,\n\t\tscrollContainerBox,\n\t}\n};\n\nfunction getScrollContainerHeight() {\n\tconst useOrientation = hasTouchScreen() && 'orientation' in window;\n\treturn useOrientation && window.screen && window.screen.availHeight || window.innerHeight\n}\n\nexport const parallaxInit = function( $blocks ) {\n\n\tlet frameRendered = false;\n\tlet scrollContainerHeight = getScrollContainerHeight();\n\n\t$blocks.each( function( i, container ) {\n\t\tvar $container = $( container );\n\t\tvar followThroughStart = !! $container.data( 'smooth-start' );\n\t\tvar followThroughEnd = !! $container.data( 'smooth-end' );\n\t\tvar scrollingEffect = $container.data( 'scrolling-effect' );\n\t\tvar focalPoint = $container.data( 'focal-point' );\n\t\tvar finalFocalPoint = $container.data( 'final-focal-point' );\n\t\tvar initialBackgroundScale = $container.data( 'initial-background-scale' );\n\t\tvar finalBackgroundScale = $container.data( 'final-background-scale' );\n\t\tvar scrollContainerBox = {\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t};\n\n\t\tvar config = {\n\t\t\tfollowThroughStart,\n\t\t\tfollowThroughEnd,\n\t\t\tscrollingEffect,\n\t\t\tscrollContainerHeight,\n\t\t\tscrollContainerBox,\n\t\t\tfocalPoint,\n\t\t\tfinalFocalPoint,\n\t\t\tinitialBackgroundScale,\n\t\t\tfinalBackgroundScale,\n\t\t};\n\n\t\t$container.data( {\n\t\t\tstate: getState( container, config ),\n\t\t\tconfig: config,\n\t\t} );\n\n\t\tvar $parallax = $container.find( '.novablocks-parallax' );\n\n\t\t$container.data( 'parallax', $parallax );\n\n\t\tfunction parallaxUpdateState() {\n\t\t\tvar newConfig = Object.assign( {}, config, {\n\t\t\t\tscrollContainerHeight: getScrollContainerHeight()\n\t\t\t} );\n\t\t\tvar state = getState( container, newConfig );\n\t\t\t$container.data( 'state', state );\n\t\t\t$container.data( 'config', newConfig );\n\t\t\tframeRendered = false;\n\t\t}\n\n\t\t$( window ).on( 'scroll', parallaxUpdateState );\n\t\t$( window ).on( 'resize', parallaxUpdateState );\n\t} );\n\n\tfunction parallaxUpdateLoop() {\n\t\tif ( ! frameRendered ) {\n\t\t\t$blocks.each( function( i, obj ) {\n\t\t\t\tlet $container = $( obj );\n\t\t\t\tlet $background = $container.data( 'parallax' );\n\t\t\t\tlet $foreground = $background.find( '.novablocks-foreground' );\n\t\t\t\tlet state = $container.data( 'state' );\n\t\t\t\tlet config = $container.data( 'config' );\n\n\t\t\t\tconfig = Object.assign( {}, state, config );\n\n\t\t\t\tlet props = getProps( config, true );\n\n\t\t\t\t$foreground.css( 'transform', `translate3d(0,${ -props.moveY * props.parallaxAmount }px,0)` );\n\n\t\t\t\t// because of fixed positioning\n\t\t\t\tprops.moveY = -1 * props.moveY;\n\n\t\t\t\tif ( 0 < props.progress && props.progress < 1 ) {\n\t\t\t\t\tprops.parallaxAmount = 1 - props.parallaxAmount;\n\t\t\t\t}\n\n\t\t\t\tlet styles = getStylesFromProps( props );\n\n\t\t\t\t$container.data( 'parallax' ).css( styles );\n\t\t\t} );\n\t\t\tframeRendered = true;\n\t\t}\n\t\trequestAnimationFrame( parallaxUpdateLoop );\n\t}\n\n\trequestAnimationFrame( parallaxUpdateLoop );\n}\n","const { createContext } = wp.element;\n\nimport { findParents } from '../../utils';\nimport { easeInOutCubic, easeOutQuart } from '../../easing';\nimport { ScrollingEffectControls, withSettings } from \"../index\";\n\nimport { getStyles, getState } from './util';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tInspectorControls\n} = wp.blockEditor;\n\nconst {\n\tcompose,\n} = wp.compose;\n\nconst ParallaxContext = createContext();\n\nconst withParallaxProvider = function( WrappedComponent ) {\n\n\treturn class extends Component {\n\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.state = {\n\t\t\t\tscrollContainerWidth: 0,\n\t\t\t\tscrollContainerHeight: 0,\n\t\t\t\tprogress: 0.5,\n\t\t\t};\n\n\t\t\tthis.updateHandler = this.updateState.bind( this );\n\t\t\tthis.scrollContainer = this.getScrollContainer();\n\t\t}\n\n\t\tgetScrollContainer() {\n\t\t\treturn document.querySelector( '.edit-post-layout__content' ) ||\n\t\t\t document.querySelector( '.edit-post-editor-regions__content' ) ||\n\t\t\t document.querySelector( '.block-editor-editor-skeleton__content' ) ||\n\t\t\t document.querySelector( '.interface-interface-skeleton__content' );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\twindow.addEventListener( 'resize', this.updateHandler );\n\t\t\tthis.createBlockObservers();\n\t\t\tthis.unsubscribeUpdate = wp.data.subscribe( this.updateHandler );\n\n\t\t\tif ( this.scrollContainer ) {\n\t\t\t\tthis.scrollContainer.addEventListener( 'scroll', this.updateHandler );\n\t\t\t}\n\n\t\t\tthis.updateState();\n\t\t}\n\n\t\tcreateBlockObservers() {\n\t\t\tthis.observers = [];\n\n\t\t\tfindParents( this.container, '.wp-block' ).map( block => {\n\n\t\t\t\tif ( window.MutationObserver ) {\n\t\t\t\t\tconst mutationObserver = new MutationObserver( movements => {\n\t\t\t\t\t\tmovements.forEach( movement => {\n\t\t\t\t\t\t\tif ( 'style' === movement.attributeName ) {\n\t\t\t\t\t\t\t\tif ( movement.oldValue && movement.oldValue.includes( 'transform: translate3d' ) ) {\n\t\t\t\t\t\t\t\t\tthis.updateState();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\t\tmutationObserver.observe( block, {\n\t\t\t\t\t\tattributes: true,\n\t\t\t\t\t\tattributeOldValue: true,\n\t\t\t\t\t\tchildList: false,\n\t\t\t\t\t\tsubtree: false,\n\t\t\t\t\t} );\n\n\t\t\t\t\tthis.observers.push( mutationObserver );\n\t\t\t\t}\n\n\t\t\t\tif ( window.ResizeObserver ) {\n\n\t\t\t\t\tconst resizeObserver = new ResizeObserver( () => {\n\t\t\t\t\t\tthis.updateState();\n\t\t\t\t\t} );\n\n\t\t\t\t\tresizeObserver.observe( block );\n\n\t\t\t\t\tthis.observers.push( resizeObserver );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\twindow.removeEventListener( 'resize', this.updateHandler );\n\t\t\tthis.observers.forEach( observer => observer.disconnect() );\n\t\t\tthis.unsubscribeUpdate();\n\n\t\t\tif ( this.scrollContainer ) {\n\t\t\t\tthis.scrollContainer.removeEventListener( 'scroll', this.updateHandler );\n\t\t\t}\n\t\t}\n\n\t\tupdateState() {\n\t\t\tconst container = this.container;\n\t\t\tconst scrollContainerHeight = this.scrollContainer.offsetHeight;\n\t\t\tconst scrollContainerBox = this.scrollContainer.getBoundingClientRect();\n\n\t\t\tconst config = Object.assign( {}, this.props.attributes, {\n\t\t\t\tscrollContainerBox,\n\t\t\t\tscrollContainerHeight,\n\t\t\t} );\n\n\t\t\tthis.setState( getState( container, config ) );\n\t\t}\n\n\t\tgetElementStyle() {\n\n\t\t\tconst { attributes } = this.props;\n\t\t\tconst { scrollingEffect } = attributes;\n\n\t\t\tif ( ! this.scrollContainer || ! this.container ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst state = getState( this.container, Object.assign( {}, this.state, attributes ) );\n\t\t\tconst config = Object.assign( {}, state, attributes );\n\t\t\tconst styles = getStyles( config );\n\n\t\t\treturn styles;\n\t\t}\n\n\t\trender() {\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
( this.container = el ) }>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t};\n};\n\nconst withParallaxControls = function( WrappedComponent ) {\n\n\treturn class extends Component {\n\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.state = {\n\t\t\t\tisScrolling: false,\n\t\t\t}\n\n\t\t\tthis.previewScrolling = this.previewScrolling.bind( this );\n\t\t}\n\n\t\tscrollFromTo( start, end, easing = x => x, callback = () => {}, speed = 1000 ) {\n\n\t\t\tconst {\n\t\t\t\tparallax: {\n\t\t\t\t\tscrollContainer\n\t\t\t\t}\n\t\t\t} = this.props;\n\n\t\t\tconst length = end - start;\n\t\t\tconst duration = Math.abs( length ) * 1000 / speed;\n\t\t\tconst startTime = Date.now();\n\n\t\t\tfunction updateScrollTopLoop() {\n\t\t\t\tconst currentTime = Date.now();\n\t\t\t\tconst timePassed = currentTime - startTime;\n\t\t\t\tconst progress = timePassed / duration;\n\t\t\t\tconst newScrollTop = start + length * easing( progress );\n\n\t\t\t\tscrollContainer.scrollTop = newScrollTop;\n\t\t\t}\n\n\t\t\tscrollContainer.style.pointerEvents = 'none';\n\t\t\tconst interval = setInterval( updateScrollTopLoop, 0 );\n\n\t\t\tthis.setState({\n\t\t\t\tisScrolling: true\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tclearInterval( interval );\n\t\t\t\tthis.setState({\n\t\t\t\t\tisScrolling: false\n\t\t\t\t});\n\t\t\t\tscrollContainer.scrollTop = start + length;\n\t\t\t\tscrollContainer.style.removeProperty( 'pointer-events' );\n\n\t\t\t\tif ( typeof callback === \"function\" ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}, duration );\n\t\t}\n\n\t\tpreviewScrolling() {\n\n\t\t\tconst {\n\t\t\t\tparallax: {\n\t\t\t\t\tscrollContainer,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tcontainerBox,\n\t\t\t\t\t\tcontainerHeight,\n\t\t\t\t\t\tscrollContainerHeight,\n\t\t\t\t\t\tscrollContainerBox,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t} = this.props;\n\n\t\t\tif ( ! container || ! scrollContainer ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst scrollTop = scrollContainer.scrollTop;\n\n\t\t\tlet start = scrollTop + containerBox.top - scrollContainerBox.top - scrollContainerHeight;\n\t\t\tlet length = containerHeight + scrollContainerHeight;\n\n\t\t\tif ( start < 0 ) {\n\t\t\t\tlength = length + start;\n\t\t\t\tstart = 0;\n\t\t\t}\n\n\t\t\tlet maxScroll = scrollContainer.scrollHeight - scrollContainer.offsetHeight;\n\t\t\tlet distanceToBottom = maxScroll - ( start + length );\n\n\t\t\tif ( distanceToBottom < 0 ) {\n\t\t\t\tlength = length + distanceToBottom;\n\t\t\t}\n\n\t\t\tlet end = start + length;\n\n\t\t\tthis.scrollFromTo( scrollTop, start, easeOutQuart, () => {\n\t\t\t\tthis.scrollFromTo( start, end, easeInOutCubic, () => {}, 1000 );\n\t\t\t}, 3000 );\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\t}\n\t}\n}\n\nconst withParallaxContext = function( WrappedComponent ) {\n\n\treturn class extends Component {\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{ context => }\n\t\t\t\t\n\t\t\t)\n\t\t}\n\t}\n}\n\nconst withParallax = compose([\n\twithParallaxProvider,\n\twithParallaxContext,\n\twithParallaxControls,\n]);\n\nexport {\n\twithParallaxProvider,\n\twithParallaxContext,\n\twithParallaxControls,\n};\n\nexport default withParallax;\n","const { __ } = wp.i18n;\n\nconst toggles = [\n\t{\n\t\tlabel: __( 'Collection Title' ),\n\t\tattribute: 'showCollectionTitle'\n\t}, {\n\t\tlabel: __( 'Collection Subtitle' ),\n\t\tattribute: 'showCollectionSubtitle',\n\t}, {\n\t\tlabel: __( 'Media' ),\n\t\tattribute: 'showMedia',\n\t}, {\n\t\tlabel: __( 'Title' ),\n\t\tattribute: 'showTitle',\n\t}, {\n\t\tlabel: __( 'Subtitle' ),\n\t\tattribute: 'showSubtitle',\n\t}, {\n\t\tlabel: __( 'Description' ),\n\t\tattribute: 'showDescription',\n\t}, {\n\t\tlabel: __( 'Buttons' ),\n\t\tattribute: 'showButtons',\n\t}, {\n\t\tlabel: __( 'Meta' ),\n\t\tattribute: 'showMeta',\n\t}\n];\n\nexport default toggles;\n","import { ToggleGroup } from \"../index\";\nimport toggles from \"./toggles\";\n\nconst CardsManager = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t {\n\t\t\t\treturn {\n\t\t\t\t\t...toggle,\n\t\t\t\t\tvalue: attributes[ toggle.attribute ]\n\t\t\t\t}\n\t\t\t} ) }\n\t\t/>\n\t)\n};\n\nexport default CardsManager;\n","const { SVG, Path } = wp.components;\n\nexport const nova = (\n \n \n \n \n);\n\nexport const hero = (\n \n \n \n \n \n \n \n \n \n);\n\nexport const media = (\n \n \n \n \n \n \n \n \n \n);\n\nexport const slideshow = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport const foodmenu = (\n \n \n \n \n \n \n \n \n \n \n);\n\nexport const opentable = (\n \n \n \n\n);\n\nexport const alignBottom = (\n \n \n \n \n);\n\nexport const alignCenter = (\n \n \n \n \n);\n\nexport const alignTop = (\n \n \n \n \n);\n\nexport const alignment = (\n \n \n \n \n);\n\nexport const invert = (\n \n \n \n);\n\nexport const swap = (\n \n \n \n \n \n);\n\nexport const map = (\n\t\n\t\t\n\t\n);\n\nexport const announcement = (\n\t\n\t\t\n\t\n);\n\nexport const headline = (\n\t\n\t\t\n\t\n)\n\nexport const header = (\n\t\n\t\t\n\t\n);\n\nexport const logo = (\n\t\n\t\t\n\t\n\n);\n\nexport const navigation = (\n\t\n\t\t\n\t\n);\n\nexport const openhours = (\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n\nexport const placeholder = (\n\t\n\t\t\n\t\t\n\t\n);\n\nexport const card = (\n\t\n\t\t\n\t\t\n\t\n);\n\nexport const gallery = (\n \n \n \n\n);\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { _x } = wp.i18n;\nconst { Toolbar } = wp.components;\nconst { withViewportMatch } = wp.viewport;\nconst { withSelect } = wp.data;\nconst { compose, createHigherOrderComponent } = wp.compose;\nconst { createContext } = wp.element;\nconst { Consumer } = createContext( {\n\tname: '',\n\tisSelected: false,\n\tfocusedElement: null,\n\tsetFocusedElement: () => {},\n\tclientId: null,\n} );\n\nconst BLOCK_ALIGNMENTS_CONTROLS = {\n\ttop: {\n\t\ticon: icons.alignTop,\n\t\ttitle: _x( 'Vertically Align Top', 'Block vertical alignment setting' ),\n\t},\n\tcenter: {\n\t\ticon: icons.alignCenter,\n\t\ttitle: _x( 'Vertically Align Middle', 'Block vertical alignment setting' ),\n\t},\n\tbottom: {\n\t\ticon: icons.alignBottom,\n\t\ttitle: _x( 'Vertically Align Bottom', 'Block vertical alignment setting' ),\n\t},\n};\n\nconst DEFAULT_CONTROLS = [ 'top', 'center', 'bottom' ];\nconst DEFAULT_CONTROL = 'top';\n\nexport function BlockVerticalAlignmentToolbar( { isCollapsed, value, onChange, controls = DEFAULT_CONTROLS } ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\treturn (\n\t\t {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\t\tisActive: value === control,\n\t\t\t\t\t\tonClick: applyOrUnset( control ),\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t}\n\t\t/>\n\t);\n}\n\n// @todo remove function declaration and use core method when exposed through the api\nconst withBlockEditContext = ( mapContextToProps ) => createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn ( props ) => (\n\t\t\n\t\t\t{ ( context ) => (\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n}, 'withBlockEditContext' );\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/block-vertical-alignment-toolbar/README.md\n */\nexport default compose(\n\twithBlockEditContext( ( { clientId } ) => {\n\t\treturn { clientId };\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithSelect( ( select, { clientId, isLargeViewport, isCollapsed } ) => {\n\t\tconst { getBlockRootClientId, getSettings } = select( 'core/block-editor' );\n\t\treturn {\n\t\t\tisCollapsed: isCollapsed || ! isLargeViewport || (\n\t\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t),\n\t\t};\n\t} ),\n)( BlockVerticalAlignmentToolbar );\n","/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n} = wp.element;\n\nconst {\n\tMediaPlaceholder,\n} = wp.blockEditor;\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst GalleryPlaceholder = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tgalleryImages,\n\t\t},\n\t} = props;\n\n\tconst hasImages = !! galleryImages.length;\n\n\tfunction onChangeGallery( newGalleryImages ) {\n\t\tconst promises = newGalleryImages.map( ( image, index ) => {\n\t\t\treturn wp.apiRequest( { path: '/wp/v2/media/' + image.id } ).then( ( newImage ) => {\n\t\t\t\tnewGalleryImages[ index ] = { ...newImage, ...image };\n\t\t\t} );\n\t\t} );\n\n\t\tPromise.all( promises ).then( () => {\n\t\t\tprops.setAttributes( { galleryImages: newGalleryImages.filter( ( image ) => {\n\t\t\t\treturn !! image.id && !! image.sizes && !! image.sizes.large && !! image.sizes.large.url;\n\t\t\t} ) } );\n\t\t} );\n\t}\n\n\treturn (\n\t\t\n\t);\n};\n\nclass GalleryPreview extends Component {\n\n\trender() {\n\n\t\tconst {\n\t\t\tgalleryImages,\n\t\t\tselected,\n\t\t\tonSelectImage,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{ galleryImages.map( ( img, index ) => {\n\t\t\t\t\tconst classes = [\n\t\t\t\t\t\t'novablocks-slideshow__gallery-item',\n\t\t\t\t\t];\n\n\t\t\t\t\tif ( selected === index ) {\n\t\t\t\t\t\tclasses.push( 'novablocks-slideshow__gallery-item--active' );\n\t\t\t\t\t}\n\n\t\t\t\t\tlet thumbnail = false;\n\n\t\t\t\t\tif ( 'video' === img.type ) {\n\t\t\t\t\t\tthumbnail = img?.thumb?.src;\n\t\t\t\t\t\tclasses.push( 'novablocks-slideshow__gallery-item--video' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthumbnail = img?.sizes?.novablocks_tiny?.url || img?.sizes?.novablocks_large?.url || img?.sizes?.novablocks_huge?.url\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
  • { onSelectImage( index ); } }>\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
  • \n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport {\n\tGalleryPlaceholder,\n\tGalleryPreview,\n};\n","const { Component } = wp.element;\n\nclass Tabs extends Component {\n\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tactiveTab: props.children[0].props.label,\n\t\t};\n\t}\n\n\tonClickTabItem(tab) {\n\t\tthis.setState({ activeTab: tab });\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tprops: {\n\t\t\t\tchildren,\n\t\t\t},\n\t\t\tstate: {\n\t\t\t\tactiveTab,\n\t\t\t}\n\t\t} = this;\n\n\t\tconst onClickTabItem = this.onClickTabItem.bind( this );\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t{ children.map((child) => {\n\t\t\t\t\t\tconst { label } = child.props;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}) }\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{ children.map((child) => {\n\t\t\t\t\t\tif (child.props.label !== activeTab) return undefined;\n\t\t\t\t\t\treturn child.props.children;\n\t\t\t\t\t}) }\n\t\t\t\t
\n\t\t\t
\n\t\t)\n\t}\n}\n\nclass Tab extends Component {\n\n\tonClick() {\n\t\tconst { label, onClick } = this.props;\n\t\tonClick(label);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tactiveTab,\n\t\t\tlabel,\n\t\t} = this.props;\n\n\t\tconst onClick = this.onClick.bind( this );\n\n\t\tlet className = 'novablocks-tab';\n\n\t\tif (activeTab === label) {\n\t\t\tclassName += ' novablocks-tab--active';\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{label}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport { Tab, Tabs };\n","import Cookies from 'js-cookie';\n\nconst {\n\tuseState\n} = wp.element;\n\nconst {\n\tButton,\n} = wp.components;\n\nconst Notice = ( props ) => {\n\n\tconst {\n\t\tid,\n\t\tcontent,\n\t\tdismissLabel\n\t} = props;\n\n\tconst [ hidden, setHidden ] = useState( Cookies.get( id ) );\n\n\tconst onClick = () => {\n\t\tCookies.set( id, true, { expires: 365 } );\n\t\tsetHidden( true );\n\t}\n\n\tif ( hidden ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{ content }\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default Notice;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { Fragment } = wp.element;\n\nconst {\n\tColorPalette,\n\tDropdown,\n\tButton,\n\tRadioControl,\n\tRangeControl,\n\tToolbar,\n\tBaseControl\n} = wp.components;\n\nconst {\n\tPanelColorSettings,\n} = wp.blockEditor;\n\nconst colors = [ {\n\tname: __( 'Dark', '__plugin_txtd' ),\n\tcolor: '#000',\n}, {\n\tname: __( 'Light', '__plugin_txtd' ),\n\tcolor: '#FFF',\n} ];\n\nconst OverlayControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\toverlayFilterStyle,\n\t\t\toverlayFilterStrength,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t setAttributes( { overlayFilterStyle: nextOverlayFilterStyle } ) }\n\t\t\t/>\n\t\t\t{ overlayFilterStyle !== 'none' && setAttributes( { overlayFilterStrength: nextOverlayFilterStrength } ) }\n\t\t\t\tmin={ 0 }\n\t\t\t\tmax={ 100 }\n\t\t\t\tstep={ 10 }\n\t\t\t/> }\n\t\t\n\t);\n};\n\nconst ColorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentColor,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn \n\t\t\t\t setAttributes( { contentColor: nextContentColor } ) }\n\t\t\t\tdisableCustomColors\n\t\t\t\tclearable={ false }\n\t\t\t\t/>\n\t\n};\n\nconst ColorPanel = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentColor,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t setAttributes( { contentColor: nextContentColor } ),\n\t\t\t\t\tlabel: __( 'Content Color', '__plugin_txtd' ),\n\t\t\t\t},\n\t\t\t] }\n\t\t\tcolors={ colors }\n\t\t\tinitialOpen={ false }>\n\t\t\t\n\t\t\n\t);\n};\n\nconst ColorToolbar = function( props ) {\n\treturn (\n\t\t\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t/>\n\t\t\n\t);\n};\n\nexport {\n\tColorControls,\n\tColorPanel,\n\tColorToolbar,\n\tOverlayControls,\n};\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { Toolbar } = wp.components;\nconst { withViewportMatch } = wp.viewport;\nconst { withSelect } = wp.data;\nconst { compose, createHigherOrderComponent } = wp.compose;\nconst { createContext } = wp.element;\nconst { Consumer } = createContext( {\n\tname: '',\n\tisSelected: false,\n\tfocusedElement: null,\n\tsetFocusedElement: () => {},\n\tclientId: null,\n} );\n\nconst BLOCK_ALIGNMENTS_CONTROLS = {\n\tleft: {\n\t\ticon: icons.alignTop,\n\t\ttitle: __( 'Align Left', '__plugin_txtd' ),\n\t},\n\tcenter: {\n\t\ticon: icons.alignCenter,\n\t\ttitle: __( 'Align Middle', '__plugin_txtd' ),\n\t},\n\tright: {\n\t\ticon: icons.alignBottom,\n\t\ttitle: __( 'Align Right', '__plugin_txtd' ),\n\t},\n};\n\nconst DEFAULT_CONTROLS = [ 'left', 'center', 'right' ];\nconst DEFAULT_CONTROL = 'center';\n\nexport function BlockHorizontalAlignmentToolbar( { isCollapsed, value, onChange, controls = DEFAULT_CONTROLS } ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\treturn (\n\t\t {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\t\tisActive: value === control,\n\t\t\t\t\t\tonClick: applyOrUnset( control ),\n\t\t\t\t\t\tclassName: 'pixelgrade-hero-horizontal-alignment-button'\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t}\n\t\t/>\n\t);\n}\n\n// @todo remove function declaration and use core method when exposed through the api\nconst withBlockEditContext = ( mapContextToProps ) => createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn ( props ) => (\n\t\t\n\t\t\t{ ( context ) => (\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n}, 'withBlockEditContext' );\n\nexport default compose(\n\twithBlockEditContext( ( { clientId } ) => {\n\t\treturn {\n\t\t\tclientId,\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithSelect( ( select, { clientId, isLargeViewport, isCollapsed } ) => {\n\t\tconst { getBlockRootClientId, getSettings } = select( 'core/block-editor' );\n\t\treturn {\n\t\t\tisCollapsed: isCollapsed || ! isLargeViewport || (\n\t\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t),\n\t\t};\n\t} ),\n)( BlockHorizontalAlignmentToolbar );\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\nimport BlockHorizontalAlignmentToolbar from '../block-horizontal-alignment-toolbar';\nimport BlockVerticalAlignmentToolbar from '../block-vertical-alignment-toolbar';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { Fragment } = wp.element;\n\nconst {\n\tDropdown,\n\tButton,\n\tPanelRow,\n\tToolbar,\n} = wp.components;\n\nconst AlignmentToolbar = function( props ) {\n\treturn (\n\t\t\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\trenderContent={ () => }\n\t\t\t/>\n\t\t\n\t);\n};\n\nconst AlignmentControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\thorizontalAlignment,\n\t\t\tverticalAlignment,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{ __( 'Horizontal', '__plugin_txtd' ) }\n\t\t\t\t {\n\t\t\t\t\t\twp.data.select( 'core/block-editor' ).getSelectedBlock().innerBlocks.map( ( block ) => {\n\t\t\t\t\t\t\twp.data.dispatch( 'core/block-editor' ).updateBlockAttributes( block.clientId, { align: nextHorizontalAlignment } );\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetAttributes( { horizontalAlignment: nextHorizontalAlignment } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t{ __( 'Vertical', '__plugin_txtd' ) }\n\t\t\t\t setAttributes( { verticalAlignment: nextVerticalAlignment } ) }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport {\n\tAlignmentControls,\n\tAlignmentToolbar,\n};\n","/**\n * Internal dependencies\n */\nimport withSettings from '../with-settings';\nimport { ControlsSection, ControlsTab } from \"../control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst { ToggleControl } = wp.components;\n\nconst {\n\tselect,\n} = wp.data;\n\nconst {\n\tComponent\n} = wp.element;\n\nconst ScrollIndicatorPanel = withSettings( function( props ) {\n\n\tconst {\n\t\tsettings,\n\t\tattributes: {\n\t\t\tscrollIndicator,\n\t\t},\n\t\tsetAttributes,\n\t\tupdateAttributes,\n\t} = props;\n\n\tconst { getBlocks, getSelectedBlockClientId } = select( 'core/block-editor' );\n\n\tconst heroBlocks = getBlocks().filter( ( block ) => {\n\t\treturn block.name === 'novablocks/hero';\n\t} );\n\n\tconst index = heroBlocks.findIndex( block => block.clientId === getSelectedBlockClientId() );\n\n\treturn (\n\t\tindex === 0 &&\n\t\t\n\t\t\t\n\t\t\t\t { updateAttributes( { scrollIndicator } ) } }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n} );\n\nexport {\n\tScrollIndicatorPanel,\n};\n","/**\n * Internal dependencies\n */\nexport { default as LayoutPanel } from './layout-panel';\nexport { default as ParallaxPanel } from './parallax-panel';\nexport { default as PositionIndicatorsPanel } from './position-indicators-panel';\nexport { default as ScrollingEffectControls } from './scrolling-effect-controls';\nexport { default as ToggleGroup } from './toggle-group';\nexport { default as HeadingToolbar } from './heading-toolbar';\nexport { default as Collection } from './collection';\nexport { default as PresetControl } from './preset-control';\nexport { default as withParallax } from './with-parallax';\nexport { default as withSettings } from './with-settings';\nexport { default as CardsManager } from './cards-manager';\nexport { default as BlockVerticalAlignmentToolbar } from './block-vertical-alignment-toolbar';\n\nexport {\n\tGalleryPreview,\n\tGalleryPlaceholder,\n} from './gallery-options';\n\nexport {\n\tTabs,\n\tTab,\n} from './tabs';\n\nexport { default as Notice } from './notice';\n\nexport {\n\tControlsSection,\n\tControlsSections,\n\tControlsTab,\n\tControlsDrawerContent,\n} from './control-sections'\n\nexport { default as ControlsGroup } from './controls-group';\n\nexport {\n\tColorControls,\n\tColorPanel,\n\tColorToolbar,\n\tOverlayControls,\n} from './color-controls';\n\nexport {\n\tAlignmentControls,\n\tAlignmentToolbar,\n} from './alignment-controls';\n\nexport {\n\tScrollIndicatorPanel,\n} from './scroll-indicator-panel';\n","import {\n\tCardsManager,\n\tControlsDrawerContent,\n} from '../../components';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\taddFilter\n} = wp.hooks;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\tPanelBody\n} = wp.components;\n\nconst ALLOWED_BLOCKS = [\n\t'novablocks/cards-collection',\n\t'novablocks/posts-collection',\n];\n\nconst withCardsManager = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! ALLOWED_BLOCKS.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-cards-manager', withCardsManager );\n","/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nvar instanceMap = new WeakMap();\n/**\n * Creates a new id for a given object.\n *\n * @param {Object} object Object reference to create an id for.\n */\n\nfunction createId(object) {\n var instances = instanceMap.get(object) || 0;\n instanceMap.set(object, instances + 1);\n return instances;\n}\n/**\n * Provides a unique instance ID.\n *\n * @param {Object} object Object reference to create an id for.\n */\n\n\nexport default function useInstanceId(object) {\n return useMemo(function () {\n return createId(object);\n }, [object]);\n}\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * Internal dependencies\n */\nimport createHigherOrderComponent from '../../utils/create-higher-order-component';\nimport useInstanceId from '../../hooks/use-instance-id';\n/**\n * A Higher Order Component used to be provide a unique instance ID by\n * component.\n *\n * @param {WPComponent} WrappedComponent The wrapped component.\n *\n * @return {WPComponent} Component with an instanceId prop.\n */\n\nexport default createHigherOrderComponent(function (WrappedComponent) {\n return function (props) {\n var instanceId = useInstanceId(WrappedComponent);\n return createElement(WrappedComponent, _extends({}, props, {\n instanceId: instanceId\n }));\n };\n}, 'withInstanceId');\n//# sourceMappingURL=index.js.map","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { createElement } from '@wordpress/element'; // Disable reason: JSDoc linter doesn't seem to parse the union (`&`) correctly.\n\n/* eslint-disable jsdoc/valid-types */\n\n/** @typedef {{isPressed?: boolean} & import('react').ComponentPropsWithoutRef<'svg'>} SVGProps */\n\n/* eslint-enable jsdoc/valid-types */\n\n/**\n * @param {import('react').ComponentPropsWithoutRef<'circle'>} props\n *\n * @return {JSX.Element} Circle component\n */\n\nexport var Circle = function Circle(props) {\n return createElement('circle', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'g'>} props\n *\n * @return {JSX.Element} G component\n */\n\nexport var G = function G(props) {\n return createElement('g', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'path'>} props\n *\n * @return {JSX.Element} Path component\n */\n\nexport var Path = function Path(props) {\n return createElement('path', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'polygon'>} props\n *\n * @return {JSX.Element} Polygon component\n */\n\nexport var Polygon = function Polygon(props) {\n return createElement('polygon', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'rect'>} props\n *\n * @return {JSX.Element} Rect component\n */\n\nexport var Rect = function Rect(props) {\n return createElement('rect', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'defs'>} props\n *\n * @return {JSX.Element} Defs component\n */\n\nexport var Defs = function Defs(props) {\n return createElement('defs', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'radialGradient'>} props\n *\n * @return {JSX.Element} RadialGradient component\n */\n\nexport var RadialGradient = function RadialGradient(props) {\n return createElement('radialGradient', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'linearGradient'>} props\n *\n * @return {JSX.Element} LinearGradient component\n */\n\nexport var LinearGradient = function LinearGradient(props) {\n return createElement('linearGradient', props);\n};\n/**\n * @param {import('react').ComponentPropsWithoutRef<'stop'>} props\n *\n * @return {JSX.Element} Stop component\n */\n\nexport var Stop = function Stop(props) {\n return createElement('stop', props);\n};\n/**\n *\n * @param {SVGProps} props isPressed indicates whether the SVG should appear as pressed.\n * Other props will be passed through to svg component.\n *\n * @return {JSX.Element} Stop component\n */\n\nexport var SVG = function SVG(_ref) {\n var className = _ref.className,\n isPressed = _ref.isPressed,\n props = _objectWithoutProperties(_ref, [\"className\", \"isPressed\"]);\n\n var appliedProps = _objectSpread({}, props, {\n className: classnames(className, {\n 'is-pressed': isPressed\n }) || undefined,\n role: 'img',\n 'aria-hidden': true,\n focusable: false\n }); // Disable reason: We need to have a way to render HTML tag for web.\n // eslint-disable-next-line react/forbid-elements\n\n\n return createElement(\"svg\", appliedProps);\n};\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nvar closeCircleFilled = createElement(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-2 -2 24 24\"\n}, createElement(Path, {\n d: \"M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z\"\n}));\nexport default closeCircleFilled;\n//# sourceMappingURL=close-circle-filled.js.map","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport { Children, cloneElement, Component, createContext, createElement, createRef, forwardRef, Fragment, isValidElement, memo, StrictMode, useState, useEffect, useContext, useReducer, useCallback, useMemo, useRef, useImperativeHandle, useLayoutEffect, useDebugValue, lazy, Suspense } from 'react';\nimport { isString } from 'lodash';\n/**\n * Object containing a React element.\n *\n * @typedef {import('react').ReactElement} WPElement\n */\n\n/**\n * Object containing a React component.\n *\n * @typedef {import('react').ComponentType} WPComponent\n */\n\n/**\n * Object containing a React synthetic event.\n *\n * @typedef {import('react').SyntheticEvent} WPSyntheticEvent\n */\n\n/**\n * Object that provides utilities for dealing with React children.\n */\n\nexport { Children };\n/**\n * Creates a copy of an element with extended props.\n *\n * @param {WPElement} element Element\n * @param {?Object} props Props to apply to cloned element\n *\n * @return {WPElement} Cloned element.\n */\n\nexport { cloneElement };\n/**\n * A base class to create WordPress Components (Refs, state and lifecycle hooks)\n */\n\nexport { Component };\n/**\n * Creates a context object containing two components: a provider and consumer.\n *\n * @param {Object} defaultValue A default data stored in the context.\n *\n * @return {Object} Context object.\n */\n\nexport { createContext };\n/**\n * Returns a new element of given type. Type can be either a string tag name or\n * another function which itself returns an element.\n *\n * @param {?(string|Function)} type Tag name or element creator\n * @param {Object} props Element properties, either attribute\n * set to apply to DOM node or values to\n * pass through to element creator\n * @param {...WPElement} children Descendant elements\n *\n * @return {WPElement} Element.\n */\n\nexport { createElement };\n/**\n * Returns an object tracking a reference to a rendered element via its\n * `current` property as either a DOMElement or Element, dependent upon the\n * type of element rendered with the ref attribute.\n *\n * @return {Object} Ref object.\n */\n\nexport { createRef };\n/**\n * Component enhancer used to enable passing a ref to its wrapped component.\n * Pass a function argument which receives `props` and `ref` as its arguments,\n * returning an element using the forwarded ref. The return value is a new\n * component which forwards its ref.\n *\n * @param {Function} forwarder Function passed `props` and `ref`, expected to\n * return an element.\n *\n * @return {WPComponent} Enhanced component.\n */\n\nexport { forwardRef };\n/**\n * A component which renders its children without any wrapping element.\n */\n\nexport { Fragment };\n/**\n * Checks if an object is a valid WPElement.\n *\n * @param {Object} objectToCheck The object to be checked.\n *\n * @return {boolean} true if objectToTest is a valid WPElement and false otherwise.\n */\n\nexport { isValidElement };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactmemo\n */\n\nexport { memo };\n/**\n * Component that activates additional checks and warnings for its descendants.\n */\n\nexport { StrictMode };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecallback\n */\n\nexport { useCallback };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usecontext\n */\n\nexport { useContext };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue\n */\n\nexport { useDebugValue };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useeffect\n */\n\nexport { useEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle\n */\n\nexport { useImperativeHandle };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\n\nexport { useLayoutEffect };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usememo\n */\n\nexport { useMemo };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usereducer\n */\n\nexport { useReducer };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n */\n\nexport { useRef };\n/**\n * @see https://reactjs.org/docs/hooks-reference.html#usestate\n */\n\nexport { useState };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactlazy\n */\n\nexport { lazy };\n/**\n * @see https://reactjs.org/docs/react-api.html#reactsuspense\n */\n\nexport { Suspense };\n/**\n * Concatenate two or more React children objects.\n *\n * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate.\n *\n * @return {Array} The concatenated value.\n */\n\nexport function concatChildren() {\n for (var _len = arguments.length, childrenArguments = new Array(_len), _key = 0; _key < _len; _key++) {\n childrenArguments[_key] = arguments[_key];\n }\n\n return childrenArguments.reduce(function (accumulator, children, i) {\n Children.forEach(children, function (child, j) {\n if (child && 'string' !== typeof child) {\n child = cloneElement(child, {\n key: [i, j].join()\n });\n }\n\n accumulator.push(child);\n });\n return accumulator;\n }, []);\n}\n/**\n * Switches the nodeName of all the elements in the children object.\n *\n * @param {?Object} children Children object.\n * @param {string} nodeName Node name.\n *\n * @return {?Object} The updated children object.\n */\n\nexport function switchChildrenNodeName(children, nodeName) {\n return children && Children.map(children, function (elt, index) {\n if (isString(elt)) {\n return createElement(nodeName, {\n key: index\n }, elt);\n }\n\n var _elt$props = elt.props,\n childrenProp = _elt$props.children,\n props = _objectWithoutProperties(_elt$props, [\"children\"]);\n\n return createElement(nodeName, _objectSpread({\n key: index\n }, props), childrenProp);\n });\n}\n//# sourceMappingURL=react.js.map","/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n/**\n * Browser dependencies\n */\n\nvar _window = window,\n DOMParser = _window.DOMParser,\n getComputedStyle = _window.getComputedStyle;\nvar _window$Node = window.Node,\n TEXT_NODE = _window$Node.TEXT_NODE,\n ELEMENT_NODE = _window$Node.ELEMENT_NODE,\n DOCUMENT_POSITION_PRECEDING = _window$Node.DOCUMENT_POSITION_PRECEDING,\n DOCUMENT_POSITION_FOLLOWING = _window$Node.DOCUMENT_POSITION_FOLLOWING;\n/**\n * Returns true if the given selection object is in the forward direction, or\n * false otherwise.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n *\n * @param {Selection} selection Selection object to check.\n *\n * @return {boolean} Whether the selection is forward.\n */\n\nfunction isSelectionForward(selection) {\n var anchorNode = selection.anchorNode,\n focusNode = selection.focusNode,\n anchorOffset = selection.anchorOffset,\n focusOffset = selection.focusOffset;\n var position = anchorNode.compareDocumentPosition(focusNode); // Disable reason: `Node#compareDocumentPosition` returns a bitmask value,\n // so bitwise operators are intended.\n\n /* eslint-disable no-bitwise */\n // Compare whether anchor node precedes focus node. If focus node (where\n // end of selection occurs) is after the anchor node, it is forward.\n\n if (position & DOCUMENT_POSITION_PRECEDING) {\n return false;\n }\n\n if (position & DOCUMENT_POSITION_FOLLOWING) {\n return true;\n }\n /* eslint-enable no-bitwise */\n // `compareDocumentPosition` returns 0 when passed the same node, in which\n // case compare offsets.\n\n\n if (position === 0) {\n return anchorOffset <= focusOffset;\n } // This should never be reached, but return true as default case.\n\n\n return true;\n}\n/**\n * Check whether the selection is at the edge of the container. Checks for\n * horizontal position by default. Set `onlyVertical` to true to check only\n * vertically.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse Set to true to check left, false to check right.\n * @param {boolean} onlyVertical Set to true to check only vertical position.\n *\n * @return {boolean} True if at the edge, false if not.\n */\n\n\nfunction isEdge(container, isReverse, onlyVertical) {\n if (includes(['INPUT', 'TEXTAREA'], container.tagName)) {\n if (container.selectionStart !== container.selectionEnd) {\n return false;\n }\n\n if (isReverse) {\n return container.selectionStart === 0;\n }\n\n return container.value.length === container.selectionStart;\n }\n\n if (!container.isContentEditable) {\n return true;\n }\n\n var selection = window.getSelection();\n\n if (!selection.rangeCount) {\n return false;\n }\n\n var originalRange = selection.getRangeAt(0);\n var range = originalRange.cloneRange();\n var isForward = isSelectionForward(selection);\n var isCollapsed = selection.isCollapsed; // Collapse in direction of selection.\n\n if (!isCollapsed) {\n range.collapse(!isForward);\n }\n\n var rangeRect = getRectangleFromRange(range);\n\n if (!rangeRect) {\n return false;\n }\n\n var computedStyle = window.getComputedStyle(container);\n var lineHeight = parseInt(computedStyle.lineHeight, 10) || 0; // Only consider the multiline selection at the edge if the direction is\n // towards the edge.\n\n if (!isCollapsed && rangeRect.height > lineHeight && isForward === isReverse) {\n return false;\n }\n\n var padding = parseInt(computedStyle[\"padding\".concat(isReverse ? 'Top' : 'Bottom')], 10) || 0; // Calculate a buffer that is half the line height. In some browsers, the\n // selection rectangle may not fill the entire height of the line, so we add\n // 3/4 the line height to the selection rectangle to ensure that it is well\n // over its line boundary.\n\n var buffer = 3 * parseInt(lineHeight, 10) / 4;\n var containerRect = container.getBoundingClientRect();\n var originalRangeRect = getRectangleFromRange(originalRange);\n var verticalEdge = isReverse ? containerRect.top + padding > originalRangeRect.top - buffer : containerRect.bottom - padding < originalRangeRect.bottom + buffer;\n\n if (!verticalEdge) {\n return false;\n }\n\n if (onlyVertical) {\n return true;\n } // In the case of RTL scripts, the horizontal edge is at the opposite side.\n\n\n var direction = computedStyle.direction;\n var isReverseDir = direction === 'rtl' ? !isReverse : isReverse; // To calculate the horizontal position, we insert a test range and see if\n // this test range has the same horizontal position. This method proves to\n // be better than a DOM-based calculation, because it ignores empty text\n // nodes and a trailing line break element. In other words, we need to check\n // visual positioning, not DOM positioning.\n\n var x = isReverseDir ? containerRect.left + 1 : containerRect.right - 1;\n var y = isReverse ? containerRect.top + buffer : containerRect.bottom - buffer;\n var testRange = hiddenCaretRangeFromPoint(document, x, y, container);\n\n if (!testRange) {\n return false;\n }\n\n var side = isReverseDir ? 'left' : 'right';\n var testRect = getRectangleFromRange(testRange); // Allow the position to be 1px off.\n\n return Math.abs(testRect[side] - rangeRect[side]) <= 1;\n}\n/**\n * Check whether the selection is horizontally at the edge of the container.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse Set to true to check left, false for right.\n *\n * @return {boolean} True if at the horizontal edge, false if not.\n */\n\n\nexport function isHorizontalEdge(container, isReverse) {\n return isEdge(container, isReverse);\n}\n/**\n * Check whether the selection is vertically at the edge of the container.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse Set to true to check top, false for bottom.\n *\n * @return {boolean} True if at the vertical edge, false if not.\n */\n\nexport function isVerticalEdge(container, isReverse) {\n return isEdge(container, isReverse, true);\n}\n/**\n * Get the rectangle of a given Range.\n *\n * @param {Range} range The range.\n *\n * @return {DOMRect} The rectangle.\n */\n\nexport function getRectangleFromRange(range) {\n // For uncollapsed ranges, get the rectangle that bounds the contents of the\n // range; this a rectangle enclosing the union of the bounding rectangles\n // for all the elements in the range.\n if (!range.collapsed) {\n return range.getBoundingClientRect();\n }\n\n var _range = range,\n startContainer = _range.startContainer; // Correct invalid \"BR\" ranges. The cannot contain any children.\n\n if (startContainer.nodeName === 'BR') {\n var parentNode = startContainer.parentNode;\n var index = Array.from(parentNode.childNodes).indexOf(startContainer);\n range = document.createRange();\n range.setStart(parentNode, index);\n range.setEnd(parentNode, index);\n }\n\n var rect = range.getClientRects()[0]; // If the collapsed range starts (and therefore ends) at an element node,\n // `getClientRects` can be empty in some browsers. This can be resolved\n // by adding a temporary text node with zero-width space to the range.\n //\n // See: https://stackoverflow.com/a/6847328/995445\n\n if (!rect) {\n var padNode = document.createTextNode(\"\\u200B\"); // Do not modify the live range.\n\n range = range.cloneRange();\n range.insertNode(padNode);\n rect = range.getClientRects()[0];\n padNode.parentNode.removeChild(padNode);\n }\n\n return rect;\n}\n/**\n * Get the rectangle for the selection in a container.\n *\n * @return {?DOMRect} The rectangle.\n */\n\nexport function computeCaretRect() {\n var selection = window.getSelection();\n var range = selection.rangeCount ? selection.getRangeAt(0) : null;\n\n if (!range) {\n return;\n }\n\n return getRectangleFromRange(range);\n}\n/**\n * Places the caret at start or end of a given element.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse True for end, false for start.\n */\n\nexport function placeCaretAtHorizontalEdge(container, isReverse) {\n if (!container) {\n return;\n }\n\n if (includes(['INPUT', 'TEXTAREA'], container.tagName)) {\n container.focus();\n\n if (isReverse) {\n container.selectionStart = container.value.length;\n container.selectionEnd = container.value.length;\n } else {\n container.selectionStart = 0;\n container.selectionEnd = 0;\n }\n\n return;\n }\n\n container.focus();\n\n if (!container.isContentEditable) {\n return;\n } // Select on extent child of the container, not the container itself. This\n // avoids the selection always being `endOffset` of 1 when placed at end,\n // where `startContainer`, `endContainer` would always be container itself.\n\n\n var rangeTarget = container[isReverse ? 'lastChild' : 'firstChild']; // If no range target, it implies that the container is empty. Focusing is\n // sufficient for caret to be placed correctly.\n\n if (!rangeTarget) {\n return;\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n range.selectNodeContents(rangeTarget);\n range.collapse(!isReverse);\n selection.removeAllRanges();\n selection.addRange(range);\n}\n/**\n * Polyfill.\n * Get a collapsed range for a given point.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\n *\n * @param {Document} doc The document of the range.\n * @param {number} x Horizontal position within the current viewport.\n * @param {number} y Vertical position within the current viewport.\n *\n * @return {?Range} The best range for the given point.\n */\n\nfunction caretRangeFromPoint(doc, x, y) {\n if (doc.caretRangeFromPoint) {\n return doc.caretRangeFromPoint(x, y);\n }\n\n if (!doc.caretPositionFromPoint) {\n return null;\n }\n\n var point = doc.caretPositionFromPoint(x, y); // If x or y are negative, outside viewport, or there is no text entry node.\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\n\n if (!point) {\n return null;\n }\n\n var range = doc.createRange();\n range.setStart(point.offsetNode, point.offset);\n range.collapse(true);\n return range;\n}\n/**\n * Get a collapsed range for a given point.\n * Gives the container a temporary high z-index (above any UI).\n * This is preferred over getting the UI nodes and set styles there.\n *\n * @param {Document} doc The document of the range.\n * @param {number} x Horizontal position within the current viewport.\n * @param {number} y Vertical position within the current viewport.\n * @param {Element} container Container in which the range is expected to be found.\n *\n * @return {?Range} The best range for the given point.\n */\n\n\nfunction hiddenCaretRangeFromPoint(doc, x, y, container) {\n var originalZIndex = container.style.zIndex;\n var originalPosition = container.style.position; // A z-index only works if the element position is not static.\n\n container.style.zIndex = '10000';\n container.style.position = 'relative';\n var range = caretRangeFromPoint(doc, x, y);\n container.style.zIndex = originalZIndex;\n container.style.position = originalPosition;\n return range;\n}\n/**\n * Places the caret at the top or bottom of a given element.\n *\n * @param {Element} container Focusable element.\n * @param {boolean} isReverse True for bottom, false for top.\n * @param {DOMRect} [rect] The rectangle to position the caret with.\n * @param {boolean} [mayUseScroll=true] True to allow scrolling, false to disallow.\n */\n\n\nexport function placeCaretAtVerticalEdge(container, isReverse, rect) {\n var mayUseScroll = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n if (!container) {\n return;\n }\n\n if (!rect || !container.isContentEditable) {\n placeCaretAtHorizontalEdge(container, isReverse);\n return;\n } // Offset by a buffer half the height of the caret rect. This is needed\n // because caretRangeFromPoint may default to the end of the selection if\n // offset is too close to the edge. It's unclear how to precisely calculate\n // this threshold; it may be the padded area of some combination of line\n // height, caret height, and font size. The buffer offset is effectively\n // equivalent to a point at half the height of a line of text.\n\n\n var buffer = rect.height / 2;\n var editableRect = container.getBoundingClientRect();\n var x = rect.left;\n var y = isReverse ? editableRect.bottom - buffer : editableRect.top + buffer;\n var range = hiddenCaretRangeFromPoint(document, x, y, container);\n\n if (!range || !container.contains(range.startContainer)) {\n if (mayUseScroll && (!range || !range.startContainer || !range.startContainer.contains(container))) {\n // Might be out of view.\n // Easier than attempting to calculate manually.\n container.scrollIntoView(isReverse);\n placeCaretAtVerticalEdge(container, isReverse, rect, false);\n return;\n }\n\n placeCaretAtHorizontalEdge(container, isReverse);\n return;\n }\n\n var selection = window.getSelection();\n selection.removeAllRanges();\n selection.addRange(range);\n container.focus(); // Editable was already focussed, it goes back to old range...\n // This fixes it.\n\n selection.removeAllRanges();\n selection.addRange(range);\n}\n/**\n * Check whether the given element is a text field, where text field is defined\n * by the ability to select within the input, or that it is contenteditable.\n *\n * See: https://html.spec.whatwg.org/#textFieldSelection\n *\n * @param {HTMLElement} element The HTML element.\n *\n * @return {boolean} True if the element is an text field, false if not.\n */\n\nexport function isTextField(element) {\n try {\n var nodeName = element.nodeName,\n selectionStart = element.selectionStart,\n contentEditable = element.contentEditable;\n return nodeName === 'INPUT' && selectionStart !== null || nodeName === 'TEXTAREA' || contentEditable === 'true';\n } catch (error) {\n // Safari throws an exception when trying to get `selectionStart`\n // on non-text elements (which, understandably, don't\n // have the text selection API). We catch this via a try/catch\n // block, as opposed to a more explicit check of the element's\n // input types, because of Safari's non-standard behavior. This\n // also means we don't have to worry about the list of input\n // types that support `selectionStart` changing as the HTML spec\n // evolves over time.\n return false;\n }\n}\n/**\n * Check whether the given element is an input field of type number\n * and has a valueAsNumber\n *\n * @param {HTMLElement} element The HTML element.\n *\n * @return {boolean} True if the element is input and holds a number.\n */\n\nexport function isNumberInput(element) {\n var nodeName = element.nodeName,\n type = element.type,\n valueAsNumber = element.valueAsNumber;\n return nodeName === 'INPUT' && type === 'number' && !!valueAsNumber;\n}\n/**\n * Check wether the current document has a selection.\n * This checks both for focus in an input field and general text selection.\n *\n * @return {boolean} True if there is selection, false if not.\n */\n\nexport function documentHasSelection() {\n if (isTextField(document.activeElement)) {\n return true;\n }\n\n if (isNumberInput(document.activeElement)) {\n return true;\n }\n\n var selection = window.getSelection();\n var range = selection.rangeCount ? selection.getRangeAt(0) : null;\n return range && !range.collapsed;\n}\n/**\n * Check whether the contents of the element have been entirely selected.\n * Returns true if there is no possibility of selection.\n *\n * @param {Element} element The element to check.\n *\n * @return {boolean} True if entirely selected, false if not.\n */\n\nexport function isEntirelySelected(element) {\n if (includes(['INPUT', 'TEXTAREA'], element.nodeName)) {\n return element.selectionStart === 0 && element.value.length === element.selectionEnd;\n }\n\n if (!element.isContentEditable) {\n return true;\n }\n\n var selection = window.getSelection();\n var range = selection.rangeCount ? selection.getRangeAt(0) : null;\n\n if (!range) {\n return true;\n }\n\n var startContainer = range.startContainer,\n endContainer = range.endContainer,\n startOffset = range.startOffset,\n endOffset = range.endOffset;\n\n if (startContainer === element && endContainer === element && startOffset === 0 && endOffset === element.childNodes.length) {\n return true;\n }\n\n var lastChild = element.lastChild;\n var lastChildContentLength = lastChild.nodeType === TEXT_NODE ? lastChild.data.length : lastChild.childNodes.length;\n return startContainer === element.firstChild && endContainer === element.lastChild && startOffset === 0 && endOffset === lastChildContentLength;\n}\n/**\n * Given a DOM node, finds the closest scrollable container node.\n *\n * @param {Element} node Node from which to start.\n *\n * @return {?Element} Scrollable container node, if found.\n */\n\nexport function getScrollContainer(node) {\n if (!node) {\n return;\n } // Scrollable if scrollable height exceeds displayed...\n\n\n if (node.scrollHeight > node.clientHeight) {\n // ...except when overflow is defined to be hidden or visible\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (/(auto|scroll)/.test(overflowY)) {\n return node;\n }\n } // Continue traversing\n\n\n return getScrollContainer(node.parentNode);\n}\n/**\n * Returns the closest positioned element, or null under any of the conditions\n * of the offsetParent specification. Unlike offsetParent, this function is not\n * limited to HTMLElement and accepts any Node (e.g. Node.TEXT_NODE).\n *\n * @see https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsetparent\n *\n * @param {Node} node Node from which to find offset parent.\n *\n * @return {?Node} Offset parent.\n */\n\nexport function getOffsetParent(node) {\n // Cannot retrieve computed style or offset parent only anything other than\n // an element node, so find the closest element node.\n var closestElement;\n\n while (closestElement = node.parentNode) {\n if (closestElement.nodeType === ELEMENT_NODE) {\n break;\n }\n }\n\n if (!closestElement) {\n return null;\n } // If the closest element is already positioned, return it, as offsetParent\n // does not otherwise consider the node itself.\n\n\n if (getComputedStyle(closestElement).position !== 'static') {\n return closestElement;\n }\n\n return closestElement.offsetParent;\n}\n/**\n * Given two DOM nodes, replaces the former with the latter in the DOM.\n *\n * @param {Element} processedNode Node to be removed.\n * @param {Element} newNode Node to be inserted in its place.\n * @return {void}\n */\n\nexport function replace(processedNode, newNode) {\n insertAfter(newNode, processedNode.parentNode);\n remove(processedNode);\n}\n/**\n * Given a DOM node, removes it from the DOM.\n *\n * @param {Element} node Node to be removed.\n * @return {void}\n */\n\nexport function remove(node) {\n node.parentNode.removeChild(node);\n}\n/**\n * Given two DOM nodes, inserts the former in the DOM as the next sibling of\n * the latter.\n *\n * @param {Element} newNode Node to be inserted.\n * @param {Element} referenceNode Node after which to perform the insertion.\n * @return {void}\n */\n\nexport function insertAfter(newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);\n}\n/**\n * Unwrap the given node. This means any child nodes are moved to the parent.\n *\n * @param {Node} node The node to unwrap.\n *\n * @return {void}\n */\n\nexport function unwrap(node) {\n var parent = node.parentNode;\n\n while (node.firstChild) {\n parent.insertBefore(node.firstChild, node);\n }\n\n parent.removeChild(node);\n}\n/**\n * Replaces the given node with a new node with the given tag name.\n *\n * @param {Element} node The node to replace\n * @param {string} tagName The new tag name.\n *\n * @return {Element} The new node.\n */\n\nexport function replaceTag(node, tagName) {\n var newNode = node.ownerDocument.createElement(tagName);\n\n while (node.firstChild) {\n newNode.appendChild(node.firstChild);\n }\n\n node.parentNode.replaceChild(newNode, node);\n return newNode;\n}\n/**\n * Wraps the given node with a new node with the given tag name.\n *\n * @param {Element} newNode The node to insert.\n * @param {Element} referenceNode The node to wrap.\n */\n\nexport function wrap(newNode, referenceNode) {\n referenceNode.parentNode.insertBefore(newNode, referenceNode);\n newNode.appendChild(referenceNode);\n}\n/**\n * Removes any HTML tags from the provided string.\n *\n * @param {string} html The string containing html.\n *\n * @return {string} The text content with any html removed.\n */\n\nexport function __unstableStripHTML(html) {\n var document = new DOMParser().parseFromString(html, 'text/html');\n return document.body.textContent || '';\n}\n//# sourceMappingURL=dom.js.map","/**\n * References:\n *\n * Focusable:\n * - https://www.w3.org/TR/html5/editing.html#focus-management\n *\n * Sequential focus navigation:\n * - https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n *\n * Disabled elements:\n * - https://www.w3.org/TR/html5/disabled-elements.html#disabled-elements\n *\n * getClientRects algorithm (requiring layout box):\n * - https://www.w3.org/TR/cssom-view-1/#extension-to-the-element-interface\n *\n * AREA elements associated with an IMG:\n * - https://w3c.github.io/html/editing.html#data-model\n */\nvar SELECTOR = ['[tabindex]', 'a[href]', 'button:not([disabled])', 'input:not([type=\"hidden\"]):not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'iframe', 'object', 'embed', 'area[href]', '[contenteditable]:not([contenteditable=false])'].join(',');\n/**\n * Returns true if the specified element is visible (i.e. neither display: none\n * nor visibility: hidden).\n *\n * @param {Element} element DOM element to test.\n *\n * @return {boolean} Whether element is visible.\n */\n\nfunction isVisible(element) {\n return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n/**\n * Returns true if the specified area element is a valid focusable element, or\n * false otherwise. Area is only focusable if within a map where a named map\n * referenced by an image somewhere in the document.\n *\n * @param {Element} element DOM area element to test.\n *\n * @return {boolean} Whether area element is valid for focus.\n */\n\n\nfunction isValidFocusableArea(element) {\n var map = element.closest('map[name]');\n\n if (!map) {\n return false;\n }\n\n var img = document.querySelector('img[usemap=\"#' + map.name + '\"]');\n return !!img && isVisible(img);\n}\n/**\n * Returns all focusable elements within a given context.\n *\n * @param {Element} context Element in which to search.\n *\n * @return {Element[]} Focusable elements.\n */\n\n\nexport function find(context) {\n var elements = context.querySelectorAll(SELECTOR);\n return Array.from(elements).filter(function (element) {\n if (!isVisible(element)) {\n return false;\n }\n\n var nodeName = element.nodeName;\n\n if ('AREA' === nodeName) {\n return isValidFocusableArea(element);\n }\n\n return true;\n });\n}\n//# sourceMappingURL=focusable.js.map","/**\n * External dependencies\n */\nimport { without, first, last } from 'lodash';\n/**\n * Internal dependencies\n */\n\nimport { find as findFocusable } from './focusable';\n/**\n * Returns the tab index of the given element. In contrast with the tabIndex\n * property, this normalizes the default (0) to avoid browser inconsistencies,\n * operating under the assumption that this function is only ever called with a\n * focusable node.\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1190261\n *\n * @param {Element} element Element from which to retrieve.\n *\n * @return {?number} Tab index of element (default 0).\n */\n\nfunction getTabIndex(element) {\n var tabIndex = element.getAttribute('tabindex');\n return tabIndex === null ? 0 : parseInt(tabIndex, 10);\n}\n/**\n * Returns true if the specified element is tabbable, or false otherwise.\n *\n * @param {Element} element Element to test.\n *\n * @return {boolean} Whether element is tabbable.\n */\n\n\nexport function isTabbableIndex(element) {\n return getTabIndex(element) !== -1;\n}\n/**\n * Returns a stateful reducer function which constructs a filtered array of\n * tabbable elements, where at most one radio input is selected for a given\n * name, giving priority to checked input, falling back to the first\n * encountered.\n *\n * @return {Function} Radio group collapse reducer.\n */\n\nfunction createStatefulCollapseRadioGroup() {\n var CHOSEN_RADIO_BY_NAME = {};\n return function collapseRadioGroup(result, element) {\n var nodeName = element.nodeName,\n type = element.type,\n checked = element.checked,\n name = element.name; // For all non-radio tabbables, construct to array by concatenating.\n\n if (nodeName !== 'INPUT' || type !== 'radio' || !name) {\n return result.concat(element);\n }\n\n var hasChosen = CHOSEN_RADIO_BY_NAME.hasOwnProperty(name); // Omit by skipping concatenation if the radio element is not chosen.\n\n var isChosen = checked || !hasChosen;\n\n if (!isChosen) {\n return result;\n } // At this point, if there had been a chosen element, the current\n // element is checked and should take priority. Retroactively remove\n // the element which had previously been considered the chosen one.\n\n\n if (hasChosen) {\n var hadChosenElement = CHOSEN_RADIO_BY_NAME[name];\n result = without(result, hadChosenElement);\n }\n\n CHOSEN_RADIO_BY_NAME[name] = element;\n return result.concat(element);\n };\n}\n/**\n * An array map callback, returning an object with the element value and its\n * array index location as properties. This is used to emulate a proper stable\n * sort where equal tabIndex should be left in order of their occurrence in the\n * document.\n *\n * @param {Element} element Element.\n * @param {number} index Array index of element.\n *\n * @return {Object} Mapped object with element, index.\n */\n\n\nfunction mapElementToObjectTabbable(element, index) {\n return {\n element: element,\n index: index\n };\n}\n/**\n * An array map callback, returning an element of the given mapped object's\n * element value.\n *\n * @param {Object} object Mapped object with index.\n *\n * @return {Element} Mapped object element.\n */\n\n\nfunction mapObjectTabbableToElement(object) {\n return object.element;\n}\n/**\n * A sort comparator function used in comparing two objects of mapped elements.\n *\n * @see mapElementToObjectTabbable\n *\n * @param {Object} a First object to compare.\n * @param {Object} b Second object to compare.\n *\n * @return {number} Comparator result.\n */\n\n\nfunction compareObjectTabbables(a, b) {\n var aTabIndex = getTabIndex(a.element);\n var bTabIndex = getTabIndex(b.element);\n\n if (aTabIndex === bTabIndex) {\n return a.index - b.index;\n }\n\n return aTabIndex - bTabIndex;\n}\n/**\n * Givin focusable elements, filters out tabbable element.\n *\n * @param {Array} focusables Focusable elements to filter.\n *\n * @return {Array} Tabbable elements.\n */\n\n\nfunction filterTabbable(focusables) {\n return focusables.filter(isTabbableIndex).map(mapElementToObjectTabbable).sort(compareObjectTabbables).map(mapObjectTabbableToElement).reduce(createStatefulCollapseRadioGroup(), []);\n}\n\nexport function find(context) {\n return filterTabbable(findFocusable(context));\n}\n/**\n * Given a focusable element, find the preceding tabbable element.\n *\n * @param {Element} element The focusable element before which to look. Defaults\n * to the active element.\n */\n\nexport function findPrevious() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.activeElement;\n var focusables = findFocusable(document.body);\n var index = focusables.indexOf(element); // Remove all focusables after and including `element`.\n\n focusables.length = index;\n return last(filterTabbable(focusables));\n}\n/**\n * Given a focusable element, find the next tabbable element.\n *\n * @param {Element} element The focusable element after which to look. Defaults\n * to the active element.\n */\n\nexport function findNext() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.activeElement;\n var focusables = findFocusable(document.body);\n var index = focusables.indexOf(element); // Remove all focusables before and inside `element`.\n\n var remaining = focusables.slice(index + 1).filter(function (node) {\n return !element.contains(node);\n });\n return first(filterTabbable(remaining));\n}\n//# sourceMappingURL=tabbable.js.map","/**\n * Internal dependencies\n */\nimport * as focusable from './focusable';\nimport * as tabbable from './tabbable';\n/**\n * Object grouping `focusable` and `tabbable` utils\n * under the keys with the same name.\n */\n\nexport var focus = {\n focusable: focusable,\n tabbable: tabbable\n};\nexport * from './dom';\n//# sourceMappingURL=index.js.map","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\n/**\n * Runs a media query and returns its value when it changes.\n *\n * @param {string} [query] Media Query.\n * @return {boolean} return value of the media query.\n */\n\nexport default function useMediaQuery(query) {\n var _useState = useState(query && window.matchMedia(query).matches),\n _useState2 = _slicedToArray(_useState, 2),\n match = _useState2[0],\n setMatch = _useState2[1];\n\n useEffect(function () {\n if (!query) {\n return;\n }\n\n var updateMatch = function updateMatch() {\n return setMatch(window.matchMedia(query).matches);\n };\n\n updateMatch();\n var list = window.matchMedia(query);\n list.addListener(updateMatch);\n return function () {\n list.removeListener(updateMatch);\n };\n }, [query]);\n return query && match;\n}\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport useMediaQuery from '../use-media-query';\n/**\n * @typedef {\"huge\"|\"wide\"|\"large\"|\"medium\"|\"small\"|\"mobile\"} WPBreakpoint\n */\n\n/**\n * Hash of breakpoint names with pixel width at which it becomes effective.\n *\n * @see _breakpoints.scss\n *\n * @type {Object}\n */\n\nvar BREAKPOINTS = {\n huge: 1440,\n wide: 1280,\n large: 960,\n medium: 782,\n small: 600,\n mobile: 480\n};\n/**\n * @typedef {\">=\"|\"<\"} WPViewportOperator\n */\n\n/**\n * Object mapping media query operators to the condition to be used.\n *\n * @type {Object}\n */\n\nvar CONDITIONS = {\n '>=': 'min-width',\n '<': 'max-width'\n};\n/**\n * Object mapping media query operators to a function that given a breakpointValue and a width evaluates if the operator matches the values.\n *\n * @type {Object}\n */\n\nvar OPERATOR_EVALUATORS = {\n '>=': function _(breakpointValue, width) {\n return width >= breakpointValue;\n },\n '<': function _(breakpointValue, width) {\n return width < breakpointValue;\n }\n};\nvar ViewportMatchWidthContext = createContext(null);\n/**\n * Returns true if the viewport matches the given query, or false otherwise.\n *\n * @param {WPBreakpoint} breakpoint Breakpoint size name.\n * @param {WPViewportOperator} [operator=\">=\"] Viewport operator.\n *\n * @example\n *\n * ```js\n * useViewportMatch( 'huge', '<' );\n * useViewportMatch( 'medium' );\n * ```\n *\n * @return {boolean} Whether viewport matches query.\n */\n\nvar useViewportMatch = function useViewportMatch(breakpoint) {\n var operator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '>=';\n var simulatedWidth = useContext(ViewportMatchWidthContext);\n var mediaQuery = !simulatedWidth && \"(\".concat(CONDITIONS[operator], \": \").concat(BREAKPOINTS[breakpoint], \"px)\");\n var mediaQueryResult = useMediaQuery(mediaQuery);\n\n if (simulatedWidth) {\n return OPERATOR_EVALUATORS[operator](BREAKPOINTS[breakpoint], simulatedWidth);\n }\n\n return mediaQueryResult;\n};\n\nuseViewportMatch.__experimentalWidthProvider = ViewportMatchWidthContext.Provider;\nexport default useViewportMatch;\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nvar close = createElement(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n d: \"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z\"\n}));\nexport default close;\n//# sourceMappingURL=close.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { getScrollContainer } from '@wordpress/dom';\n/**\n * Module constants\n */\n\nvar HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space\n\n/**\n * Utility used to compute the popover position over the xAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} xAxis Desired xAxis.\n * @param {string} corner Desired corner.\n * @param {boolean} sticky Whether or not to stick the popover to the\n * scroll container edge when part of the anchor\n * leaves view.\n * @param {string} chosenYAxis yAxis to be used.\n * @param {Element} boundaryElement Boundary element.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\n\nexport function computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, chosenYAxis, boundaryElement) {\n var width = contentSize.width;\n var isRTL = document.documentElement.dir === 'rtl'; // Correct xAxis for RTL support\n\n if (xAxis === 'left' && isRTL) {\n xAxis = 'right';\n } else if (xAxis === 'right' && isRTL) {\n xAxis = 'left';\n }\n\n if (corner === 'left' && isRTL) {\n corner = 'right';\n } else if (corner === 'right' && isRTL) {\n corner = 'left';\n } // x axis alignment choices\n\n\n var anchorMidPoint = Math.round(anchorRect.left + anchorRect.width / 2);\n var centerAlignment = {\n popoverLeft: anchorMidPoint,\n contentWidth: (anchorMidPoint - width / 2 > 0 ? width / 2 : anchorMidPoint) + (anchorMidPoint + width / 2 > window.innerWidth ? window.innerWidth - anchorMidPoint : width / 2)\n };\n var leftAlignmentX = anchorRect.left;\n\n if (corner === 'right') {\n leftAlignmentX = anchorRect.right;\n } else if (chosenYAxis !== 'middle') {\n leftAlignmentX = anchorMidPoint;\n }\n\n var rightAlignmentX = anchorRect.right;\n\n if (corner === 'left') {\n rightAlignmentX = anchorRect.left;\n } else if (chosenYAxis !== 'middle') {\n rightAlignmentX = anchorMidPoint;\n }\n\n var leftAlignment = {\n popoverLeft: leftAlignmentX,\n contentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX\n };\n var rightAlignment = {\n popoverLeft: rightAlignmentX,\n contentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width\n }; // Choosing the x axis\n\n var chosenXAxis = xAxis;\n var contentWidth = null;\n\n if (!sticky) {\n if (xAxis === 'center' && centerAlignment.contentWidth === width) {\n chosenXAxis = 'center';\n } else if (xAxis === 'left' && leftAlignment.contentWidth === width) {\n chosenXAxis = 'left';\n } else if (xAxis === 'right' && rightAlignment.contentWidth === width) {\n chosenXAxis = 'right';\n } else {\n chosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';\n var chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;\n contentWidth = chosenWidth !== width ? chosenWidth : null;\n }\n }\n\n var popoverLeft;\n\n if (chosenXAxis === 'center') {\n popoverLeft = centerAlignment.popoverLeft;\n } else if (chosenXAxis === 'left') {\n popoverLeft = leftAlignment.popoverLeft;\n } else {\n popoverLeft = rightAlignment.popoverLeft;\n }\n\n if (boundaryElement) {\n var boundaryRect = boundaryElement.getBoundingClientRect();\n popoverLeft = Math.min(popoverLeft, boundaryRect.right - width);\n }\n\n return {\n xAxis: chosenXAxis,\n popoverLeft: popoverLeft,\n contentWidth: contentWidth\n };\n}\n/**\n * Utility used to compute the popover position over the yAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} yAxis Desired yAxis.\n * @param {string} corner Desired corner.\n * @param {boolean} sticky Whether or not to stick the popover to the\n * scroll container edge when part of the\n * anchor leaves view.\n * @param {Element} anchorRef The anchor element.\n * @param {Element} relativeOffsetTop If applicable, top offset of the relative\n * positioned parent container.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\n\nexport function computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop) {\n var height = contentSize.height;\n\n if (sticky) {\n var scrollContainerEl = getScrollContainer(anchorRef) || document.body;\n var scrollRect = scrollContainerEl.getBoundingClientRect();\n\n if (anchorRect.top - height <= scrollRect.top) {\n return {\n yAxis: yAxis,\n popoverTop: Math.min(anchorRect.bottom - relativeOffsetTop, scrollRect.top + height - relativeOffsetTop)\n };\n }\n } // y axis alignment choices\n\n\n var anchorMidPoint = anchorRect.top + anchorRect.height / 2;\n\n if (corner === 'bottom') {\n anchorMidPoint = anchorRect.bottom;\n } else if (corner === 'top') {\n anchorMidPoint = anchorRect.top;\n }\n\n var middleAlignment = {\n popoverTop: anchorMidPoint,\n contentHeight: (anchorMidPoint - height / 2 > 0 ? height / 2 : anchorMidPoint) + (anchorMidPoint + height / 2 > window.innerHeight ? window.innerHeight - anchorMidPoint : height / 2)\n };\n var topAlignment = {\n popoverTop: anchorRect.top,\n contentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET\n };\n var bottomAlignment = {\n popoverTop: anchorRect.bottom,\n contentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height\n }; // Choosing the y axis\n\n var chosenYAxis = yAxis;\n var contentHeight = null;\n\n if (!sticky) {\n if (yAxis === 'middle' && middleAlignment.contentHeight === height) {\n chosenYAxis = 'middle';\n } else if (yAxis === 'top' && topAlignment.contentHeight === height) {\n chosenYAxis = 'top';\n } else if (yAxis === 'bottom' && bottomAlignment.contentHeight === height) {\n chosenYAxis = 'bottom';\n } else {\n chosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';\n var chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;\n contentHeight = chosenHeight !== height ? chosenHeight : null;\n }\n }\n\n var popoverTop;\n\n if (chosenYAxis === 'middle') {\n popoverTop = middleAlignment.popoverTop;\n } else if (chosenYAxis === 'top') {\n popoverTop = topAlignment.popoverTop;\n } else {\n popoverTop = bottomAlignment.popoverTop;\n }\n\n return {\n yAxis: chosenYAxis,\n popoverTop: popoverTop,\n contentHeight: contentHeight\n };\n}\n/**\n * Utility used to compute the popover position and the content max width/height\n * for a popover given its anchor rect and its content size.\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} position Position.\n * @param {boolean} sticky Whether or not to stick the popover to the\n * scroll container edge when part of the\n * anchor leaves view.\n * @param {Element} anchorRef The anchor element.\n * @param {number} relativeOffsetTop If applicable, top offset of the relative\n * positioned parent container.\n * @param {Element} boundaryElement Boundary element.\n *\n * @return {Object} Popover position and constraints.\n */\n\nexport function computePopoverPosition(anchorRect, contentSize) {\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'top';\n var sticky = arguments.length > 3 ? arguments[3] : undefined;\n var anchorRef = arguments.length > 4 ? arguments[4] : undefined;\n var relativeOffsetTop = arguments.length > 5 ? arguments[5] : undefined;\n var boundaryElement = arguments.length > 6 ? arguments[6] : undefined;\n\n var _position$split = position.split(' '),\n _position$split2 = _slicedToArray(_position$split, 3),\n yAxis = _position$split2[0],\n _position$split2$ = _position$split2[1],\n xAxis = _position$split2$ === void 0 ? 'center' : _position$split2$,\n corner = _position$split2[2];\n\n var yAxisPosition = computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop);\n var xAxisPosition = computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, yAxisPosition.yAxis, boundaryElement);\n return _objectSpread({}, xAxisPosition, {}, yAxisPosition);\n}\n//# sourceMappingURL=utils.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { uniq } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component, createContext } from '@wordpress/element';\n\nvar _createContext = createContext({\n focusHistory: []\n}),\n Provider = _createContext.Provider,\n Consumer = _createContext.Consumer;\n\nProvider.displayName = 'FocusReturnProvider';\nConsumer.displayName = 'FocusReturnConsumer';\n/**\n * The maximum history length to capture for the focus stack. When exceeded,\n * items should be shifted from the stack for each consecutive push.\n *\n * @type {number}\n */\n\nvar MAX_STACK_LENGTH = 100;\n\nvar FocusReturnProvider = /*#__PURE__*/function (_Component) {\n _inherits(FocusReturnProvider, _Component);\n\n var _super = _createSuper(FocusReturnProvider);\n\n function FocusReturnProvider() {\n var _this;\n\n _classCallCheck(this, FocusReturnProvider);\n\n _this = _super.apply(this, arguments);\n _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_this));\n _this.state = {\n focusHistory: []\n };\n return _this;\n }\n\n _createClass(FocusReturnProvider, [{\n key: \"onFocus\",\n value: function onFocus(event) {\n var focusHistory = this.state.focusHistory; // Push the focused element to the history stack, keeping only unique\n // members but preferring the _last_ occurrence of any duplicates.\n // Lodash's `uniq` behavior favors the first occurrence, so the array\n // is temporarily reversed prior to it being called upon. Uniqueness\n // helps avoid situations where, such as in a constrained tabbing area,\n // the user changes focus enough within a transient element that the\n // stack may otherwise only consist of members pending destruction, at\n // which point focus might have been lost.\n\n var nextFocusHistory = uniq([].concat(_toConsumableArray(focusHistory), [event.target]).slice(-1 * MAX_STACK_LENGTH).reverse()).reverse();\n this.setState({\n focusHistory: nextFocusHistory\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className;\n return createElement(Provider, {\n value: this.state\n }, createElement(\"div\", {\n onFocus: this.onFocus,\n className: className\n }, children));\n }\n }]);\n\n return FocusReturnProvider;\n}(Component);\n\nexport default FocusReturnProvider;\nexport { Consumer };\n//# sourceMappingURL=context.js.map","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { stubTrue, without } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\n\nimport Provider, { Consumer } from './context';\n/**\n * Returns true if the given object is component-like. An object is component-\n * like if it is an instance of wp.element.Component, or is a function.\n *\n * @param {*} object Object to test.\n *\n * @return {boolean} Whether object is component-like.\n */\n\nfunction isComponentLike(object) {\n return object instanceof Component || typeof object === 'function';\n}\n/**\n * Higher Order Component used to be used to wrap disposable elements like\n * sidebars, modals, dropdowns. When mounting the wrapped component, we track a\n * reference to the current active element so we know where to restore focus\n * when the component is unmounted.\n *\n * @param {(WPComponent|Object)} options The component to be enhanced with\n * focus return behavior, or an object\n * describing the component and the\n * focus return characteristics.\n *\n * @return {WPComponent} Component with the focus restauration behaviour.\n */\n\n\nfunction withFocusReturn(options) {\n // Normalize as overloaded form `withFocusReturn( options )( Component )`\n // or as `withFocusReturn( Component )`.\n if (isComponentLike(options)) {\n var WrappedComponent = options;\n return withFocusReturn({})(WrappedComponent);\n }\n\n var _options$onFocusRetur = options.onFocusReturn,\n onFocusReturn = _options$onFocusRetur === void 0 ? stubTrue : _options$onFocusRetur;\n return function (WrappedComponent) {\n var FocusReturn = /*#__PURE__*/function (_Component) {\n _inherits(FocusReturn, _Component);\n\n var _super = _createSuper(FocusReturn);\n\n function FocusReturn() {\n var _this;\n\n _classCallCheck(this, FocusReturn);\n\n _this = _super.apply(this, arguments);\n _this.ownFocusedElements = new Set();\n _this.activeElementOnMount = document.activeElement;\n\n _this.setIsFocusedFalse = function () {\n return _this.isFocused = false;\n };\n\n _this.setIsFocusedTrue = function (event) {\n _this.ownFocusedElements.add(event.target);\n\n _this.isFocused = true;\n };\n\n return _this;\n }\n\n _createClass(FocusReturn, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var activeElementOnMount = this.activeElementOnMount,\n isFocused = this.isFocused,\n ownFocusedElements = this.ownFocusedElements;\n\n if (!isFocused) {\n return;\n } // Defer to the component's own explicit focus return behavior,\n // if specified. The function should return `false` to prevent\n // the default behavior otherwise occurring here. This allows\n // for support that the `onFocusReturn` decides to allow the\n // default behavior to occur under some conditions.\n\n\n if (onFocusReturn() === false) {\n return;\n }\n\n var stack = [].concat(_toConsumableArray(without.apply(void 0, [this.props.focus.focusHistory].concat(_toConsumableArray(ownFocusedElements)))), [activeElementOnMount]);\n var candidate;\n\n while (candidate = stack.pop()) {\n if (document.body.contains(candidate)) {\n candidate.focus();\n return;\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return createElement(\"div\", {\n onFocus: this.setIsFocusedTrue,\n onBlur: this.setIsFocusedFalse\n }, createElement(WrappedComponent, this.props.childProps));\n }\n }]);\n\n return FocusReturn;\n }(Component);\n\n return function (props) {\n return createElement(Consumer, null, function (context) {\n return createElement(FocusReturn, {\n childProps: props,\n focus: context\n });\n });\n };\n };\n}\n\nexport default createHigherOrderComponent(withFocusReturn, 'withFocusReturn');\nexport { Provider };\n//# sourceMappingURL=index.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { TAB } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nvar withConstrainedTabbing = createHigherOrderComponent(function (WrappedComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(_class, _Component);\n\n var _super = _createSuper(_class);\n\n function _class() {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _super.apply(this, arguments);\n _this.focusContainRef = createRef();\n _this.handleTabBehaviour = _this.handleTabBehaviour.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleTabBehaviour\",\n value: function handleTabBehaviour(event) {\n if (event.keyCode !== TAB) {\n return;\n }\n\n var tabbables = focus.tabbable.find(this.focusContainRef.current);\n\n if (!tabbables.length) {\n return;\n }\n\n var firstTabbable = tabbables[0];\n var lastTabbable = tabbables[tabbables.length - 1];\n\n if (event.shiftKey && event.target === firstTabbable) {\n event.preventDefault();\n lastTabbable.focus();\n } else if (!event.shiftKey && event.target === lastTabbable) {\n event.preventDefault();\n firstTabbable.focus();\n /*\n * When pressing Tab and none of the tabbables has focus, the keydown\n * event happens on the wrapper div: move focus on the first tabbable.\n */\n } else if (!tabbables.includes(event.target)) {\n event.preventDefault();\n firstTabbable.focus();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n // Disable reason: this component is non-interactive, but must capture\n // events from the wrapped component to determine when the Tab key is used.\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n return createElement(\"div\", {\n onKeyDown: this.handleTabBehaviour,\n ref: this.focusContainRef,\n tabIndex: \"-1\"\n }, createElement(WrappedComponent, this.props));\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n }\n }]);\n\n return _class;\n }(Component);\n}, 'withConstrainedTabbing');\nexport default withConstrainedTabbing;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n/**\n * Input types which are classified as button types, for use in considering\n * whether element is a (focus-normalized) button.\n *\n * @type {string[]}\n */\n\nvar INPUT_BUTTON_TYPES = ['button', 'submit'];\n/**\n * Returns true if the given element is a button element subject to focus\n * normalization, or false otherwise.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n *\n * @param {Element} element Element to test.\n *\n * @return {boolean} Whether element is a button.\n */\n\nfunction isFocusNormalizedButton(element) {\n switch (element.nodeName) {\n case 'A':\n case 'BUTTON':\n return true;\n\n case 'INPUT':\n return includes(INPUT_BUTTON_TYPES, element.type);\n }\n\n return false;\n}\n\nexport default createHigherOrderComponent(function (WrappedComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(_class, _Component);\n\n var _super = _createSuper(_class);\n\n function _class() {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _super.apply(this, arguments);\n _this.bindNode = _this.bindNode.bind(_assertThisInitialized(_this));\n _this.cancelBlurCheck = _this.cancelBlurCheck.bind(_assertThisInitialized(_this));\n _this.queueBlurCheck = _this.queueBlurCheck.bind(_assertThisInitialized(_this));\n _this.normalizeButtonFocus = _this.normalizeButtonFocus.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(_class, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelBlurCheck();\n }\n }, {\n key: \"bindNode\",\n value: function bindNode(node) {\n if (node) {\n this.node = node;\n } else {\n delete this.node;\n this.cancelBlurCheck();\n }\n }\n }, {\n key: \"queueBlurCheck\",\n value: function queueBlurCheck(event) {\n var _this2 = this;\n\n // React does not allow using an event reference asynchronously\n // due to recycling behavior, except when explicitly persisted.\n event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.\n\n if (this.preventBlurCheck) {\n return;\n }\n\n this.blurCheckTimeout = setTimeout(function () {\n // If document is not focused then focus should remain\n // inside the wrapped component and therefore we cancel\n // this blur event thereby leaving focus in place.\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.\n if (!document.hasFocus()) {\n event.preventDefault();\n return;\n }\n\n if ('function' === typeof _this2.node.handleFocusOutside) {\n _this2.node.handleFocusOutside(event);\n }\n }, 0);\n }\n }, {\n key: \"cancelBlurCheck\",\n value: function cancelBlurCheck() {\n clearTimeout(this.blurCheckTimeout);\n }\n /**\n * Handles a mousedown or mouseup event to respectively assign and\n * unassign a flag for preventing blur check on button elements. Some\n * browsers, namely Firefox and Safari, do not emit a focus event on\n * button elements when clicked, while others do. The logic here\n * intends to normalize this as treating click on buttons as focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n *\n * @param {MouseEvent} event Event for mousedown or mouseup.\n */\n\n }, {\n key: \"normalizeButtonFocus\",\n value: function normalizeButtonFocus(event) {\n var type = event.type,\n target = event.target;\n var isInteractionEnd = includes(['mouseup', 'touchend'], type);\n\n if (isInteractionEnd) {\n this.preventBlurCheck = false;\n } else if (isFocusNormalizedButton(target)) {\n this.preventBlurCheck = true;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n // Disable reason: See `normalizeButtonFocus` for browser-specific\n // focus event normalization.\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n return createElement(\"div\", {\n onFocus: this.cancelBlurCheck,\n onMouseDown: this.normalizeButtonFocus,\n onMouseUp: this.normalizeButtonFocus,\n onTouchStart: this.normalizeButtonFocus,\n onTouchEnd: this.normalizeButtonFocus,\n onBlur: this.queueBlurCheck\n }, createElement(WrappedComponent, _extends({\n ref: this.bindNode\n }, this.props)));\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n }\n }]);\n\n return _class;\n }(Component);\n}, 'withFocusOutside');\n//# sourceMappingURL=index.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport withFocusOutside from '../higher-order/with-focus-outside';\n\nvar PopoverDetectOutside = /*#__PURE__*/function (_Component) {\n _inherits(PopoverDetectOutside, _Component);\n\n var _super = _createSuper(PopoverDetectOutside);\n\n function PopoverDetectOutside() {\n _classCallCheck(this, PopoverDetectOutside);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PopoverDetectOutside, [{\n key: \"handleFocusOutside\",\n value: function handleFocusOutside(event) {\n this.props.onFocusOutside(event);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return PopoverDetectOutside;\n}(Component);\n\nexport default withFocusOutside(PopoverDetectOutside);\n//# sourceMappingURL=detect-outside.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n/**\n * Creates a ScrollLock component bound to the specified document.\n *\n * This function creates a ScrollLock component for the specified document\n * and is exposed so we can create an isolated component for unit testing.\n *\n * @param {Object} args Keyword args.\n * @param {HTMLDocument} args.htmlDocument The document to lock the scroll for.\n * @param {string} args.className The name of the class used to lock scrolling.\n * @return {WPComponent} The bound ScrollLock component.\n */\n\nexport function createScrollLockComponent() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$htmlDocument = _ref.htmlDocument,\n htmlDocument = _ref$htmlDocument === void 0 ? document : _ref$htmlDocument,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? 'lockscroll' : _ref$className;\n\n var lockCounter = 0;\n /*\n * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.\n * Save scroll top so we can restore it after locking scroll.\n *\n * NOTE: It would be cleaner and possibly safer to find a localized solution such\n * as preventing default on certain touchmove events.\n */\n\n var previousScrollTop = 0;\n /**\n * Locks and unlocks scroll depending on the boolean argument.\n *\n * @param {boolean} locked Whether or not scroll should be locked.\n */\n\n function setLocked(locked) {\n var scrollingElement = htmlDocument.scrollingElement || htmlDocument.body;\n\n if (locked) {\n previousScrollTop = scrollingElement.scrollTop;\n }\n\n var methodName = locked ? 'add' : 'remove';\n scrollingElement.classList[methodName](className); // Adding the class to the document element seems to be necessary in iOS.\n\n htmlDocument.documentElement.classList[methodName](className);\n\n if (!locked) {\n scrollingElement.scrollTop = previousScrollTop;\n }\n }\n /**\n * Requests scroll lock.\n *\n * This function tracks requests for scroll lock. It locks scroll on the first\n * request and counts each request so `releaseLock` can unlock scroll when\n * all requests have been released.\n */\n\n\n function requestLock() {\n if (lockCounter === 0) {\n setLocked(true);\n }\n\n ++lockCounter;\n }\n /**\n * Releases a request for scroll lock.\n *\n * This function tracks released requests for scroll lock. When all requests\n * have been released, it unlocks scroll.\n */\n\n\n function releaseLock() {\n if (lockCounter === 1) {\n setLocked(false);\n }\n\n --lockCounter;\n }\n\n return /*#__PURE__*/function (_Component) {\n _inherits(ScrollLock, _Component);\n\n var _super = _createSuper(ScrollLock);\n\n function ScrollLock() {\n _classCallCheck(this, ScrollLock);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ScrollLock, [{\n key: \"componentDidMount\",\n\n /**\n * Requests scroll lock on mount.\n */\n value: function componentDidMount() {\n requestLock();\n }\n /**\n * Releases scroll lock before unmount.\n */\n\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n releaseLock();\n }\n /**\n * Render nothing as this component is merely a way to declare scroll lock.\n *\n * @return {null} Render nothing by returning `null`.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return ScrollLock;\n }(Component);\n}\nexport default createScrollLockComponent();\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nexport default forwardRef(function (_ref, ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"children\"]);\n\n // Disable reason: this stops certain events from propagating outside of the component.\n // - onMouseDown is disabled as this can cause interactions with other DOM elements\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n return createElement(\"div\", _extends({}, props, {\n ref: ref,\n onMouseDown: stopPropagation\n }), children);\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n});\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\nvar SlotFillContext = createContext({\n slots: {},\n fills: {},\n registerSlot: function registerSlot() {},\n unregisterSlot: function unregisterSlot() {},\n registerFill: function registerFill() {},\n unregisterFill: function unregisterFill() {}\n});\nexport default SlotFillContext;\n//# sourceMappingURL=slot-fill-context.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useContext, useMemo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport SlotFillContext from './slot-fill-context';\nexport default function useSlot(name) {\n var registry = useContext(SlotFillContext);\n var slot = registry.slots[name] || {};\n var slotFills = registry.fills[name];\n var fills = useMemo(function () {\n return slotFills || [];\n }, [slotFills]);\n var updateSlot = useCallback(function (slotRef, slotFillProps) {\n registry.updateSlot(name, slotRef, slotFillProps);\n }, [name, registry.updateSlot]);\n var unregisterSlot = useCallback(function (slotRef) {\n registry.unregisterSlot(name, slotRef);\n }, [name, registry.unregisterSlot]);\n var registerFill = useCallback(function (fillRef) {\n registry.registerFill(name, fillRef);\n }, [name, registry.registerFill]);\n var unregisterFill = useCallback(function (fillRef) {\n registry.unregisterFill(name, fillRef);\n }, [name, registry.unregisterFill]);\n return _objectSpread({}, slot, {\n updateSlot: updateSlot,\n unregisterSlot: unregisterSlot,\n fills: fills,\n registerFill: registerFill,\n unregisterFill: unregisterFill\n });\n}\n//# sourceMappingURL=use-slot.js.map","/**\n * External dependencies\n */\nimport { isArray, isNumber, isString } from 'lodash';\n/**\n * Checks if the provided WP element is empty.\n *\n * @param {*} element WP element to check.\n * @return {boolean} True when an element is considered empty.\n */\n\nexport var isEmptyElement = function isEmptyElement(element) {\n if (isNumber(element)) {\n return false;\n }\n\n if (isString(element) || isArray(element)) {\n return !element.length;\n }\n\n return !element;\n};\n//# sourceMappingURL=utils.js.map","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback, useState } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport SlotFillContext from './slot-fill-context';\n\nfunction useSlotRegistry() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n slots = _useState2[0],\n setSlots = _useState2[1];\n\n var _useState3 = useState({}),\n _useState4 = _slicedToArray(_useState3, 2),\n fills = _useState4[0],\n setFills = _useState4[1];\n\n var registerSlot = useCallback(function (name, ref, fillProps) {\n setSlots(function (prevSlots) {\n var currentSlot = prevSlots[name] || {};\n return _objectSpread({}, prevSlots, _defineProperty({}, name, _objectSpread({}, currentSlot, {\n ref: ref || currentSlot.ref,\n fillProps: fillProps || currentSlot.fillProps || {}\n })));\n });\n }, []);\n var unregisterSlot = useCallback(function (name, ref) {\n setSlots(function (prevSlots) {\n var slot = prevSlots[name],\n nextSlots = _objectWithoutProperties(prevSlots, [name].map(_toPropertyKey)); // Make sure we're not unregistering a slot registered by another element\n // See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412\n\n\n if ((slot === null || slot === void 0 ? void 0 : slot.ref) === ref) {\n return nextSlots;\n }\n\n return prevSlots;\n });\n }, []);\n var registerFill = useCallback(function (name, ref) {\n setFills(function (prevFills) {\n return _objectSpread({}, prevFills, _defineProperty({}, name, [].concat(_toConsumableArray(prevFills[name] || []), [ref])));\n });\n }, []);\n var unregisterFill = useCallback(function (name, ref) {\n setFills(function (prevFills) {\n if (prevFills[name]) {\n return _objectSpread({}, prevFills, _defineProperty({}, name, prevFills[name].filter(function (fillRef) {\n return fillRef !== ref;\n })));\n }\n\n return prevFills;\n });\n }, []); // Memoizing the return value so it can be directly passed to Provider value\n\n var registry = useMemo(function () {\n return {\n slots: slots,\n fills: fills,\n registerSlot: registerSlot,\n // Just for readability\n updateSlot: registerSlot,\n unregisterSlot: unregisterSlot,\n registerFill: registerFill,\n unregisterFill: unregisterFill\n };\n }, [slots, fills, registerSlot, unregisterSlot, registerFill, unregisterFill]);\n return registry;\n}\n\nexport default function SlotFillProvider(_ref) {\n var children = _ref.children;\n var registry = useSlotRegistry();\n return createElement(SlotFillContext.Provider, {\n value: registry\n }, children);\n}\n//# sourceMappingURL=slot-fill-provider.js.map","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { sortBy, forEach, without } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component, createContext, useContext, useState, useEffect } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport SlotFillBubblesVirtuallyProvider from './bubbles-virtually/slot-fill-provider';\nvar SlotFillContext = createContext({\n registerSlot: function registerSlot() {},\n unregisterSlot: function unregisterSlot() {},\n registerFill: function registerFill() {},\n unregisterFill: function unregisterFill() {},\n getSlot: function getSlot() {},\n getFills: function getFills() {},\n subscribe: function subscribe() {}\n});\nvar Provider = SlotFillContext.Provider,\n Consumer = SlotFillContext.Consumer;\n\nvar SlotFillProvider = /*#__PURE__*/function (_Component) {\n _inherits(SlotFillProvider, _Component);\n\n var _super = _createSuper(SlotFillProvider);\n\n function SlotFillProvider() {\n var _this;\n\n _classCallCheck(this, SlotFillProvider);\n\n _this = _super.apply(this, arguments);\n _this.registerSlot = _this.registerSlot.bind(_assertThisInitialized(_this));\n _this.registerFill = _this.registerFill.bind(_assertThisInitialized(_this));\n _this.unregisterSlot = _this.unregisterSlot.bind(_assertThisInitialized(_this));\n _this.unregisterFill = _this.unregisterFill.bind(_assertThisInitialized(_this));\n _this.getSlot = _this.getSlot.bind(_assertThisInitialized(_this));\n _this.getFills = _this.getFills.bind(_assertThisInitialized(_this));\n _this.hasFills = _this.hasFills.bind(_assertThisInitialized(_this));\n _this.subscribe = _this.subscribe.bind(_assertThisInitialized(_this));\n _this.slots = {};\n _this.fills = {};\n _this.listeners = [];\n _this.contextValue = {\n registerSlot: _this.registerSlot,\n unregisterSlot: _this.unregisterSlot,\n registerFill: _this.registerFill,\n unregisterFill: _this.unregisterFill,\n getSlot: _this.getSlot,\n getFills: _this.getFills,\n hasFills: _this.hasFills,\n subscribe: _this.subscribe\n };\n return _this;\n }\n\n _createClass(SlotFillProvider, [{\n key: \"registerSlot\",\n value: function registerSlot(name, slot) {\n var previousSlot = this.slots[name];\n this.slots[name] = slot;\n this.triggerListeners(); // Sometimes the fills are registered after the initial render of slot\n // But before the registerSlot call, we need to rerender the slot\n\n this.forceUpdateSlot(name); // If a new instance of a slot is being mounted while another with the\n // same name exists, force its update _after_ the new slot has been\n // assigned into the instance, such that its own rendering of children\n // will be empty (the new Slot will subsume all fills for this name).\n\n if (previousSlot) {\n previousSlot.forceUpdate();\n }\n }\n }, {\n key: \"registerFill\",\n value: function registerFill(name, instance) {\n this.fills[name] = [].concat(_toConsumableArray(this.fills[name] || []), [instance]);\n this.forceUpdateSlot(name);\n }\n }, {\n key: \"unregisterSlot\",\n value: function unregisterSlot(name, instance) {\n // If a previous instance of a Slot by this name unmounts, do nothing,\n // as the slot and its fills should only be removed for the current\n // known instance.\n if (this.slots[name] !== instance) {\n return;\n }\n\n delete this.slots[name];\n this.triggerListeners();\n }\n }, {\n key: \"unregisterFill\",\n value: function unregisterFill(name, instance) {\n this.fills[name] = without(this.fills[name], instance);\n this.resetFillOccurrence(name);\n this.forceUpdateSlot(name);\n }\n }, {\n key: \"getSlot\",\n value: function getSlot(name) {\n return this.slots[name];\n }\n }, {\n key: \"getFills\",\n value: function getFills(name, slotInstance) {\n // Fills should only be returned for the current instance of the slot\n // in which they occupy.\n if (this.slots[name] !== slotInstance) {\n return [];\n }\n\n return sortBy(this.fills[name], 'occurrence');\n }\n }, {\n key: \"hasFills\",\n value: function hasFills(name) {\n return this.fills[name] && !!this.fills[name].length;\n }\n }, {\n key: \"resetFillOccurrence\",\n value: function resetFillOccurrence(name) {\n forEach(this.fills[name], function (instance) {\n instance.occurrence = undefined;\n });\n }\n }, {\n key: \"forceUpdateSlot\",\n value: function forceUpdateSlot(name) {\n var slot = this.getSlot(name);\n\n if (slot) {\n slot.forceUpdate();\n }\n }\n }, {\n key: \"triggerListeners\",\n value: function triggerListeners() {\n this.listeners.forEach(function (listener) {\n return listener();\n });\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(listener) {\n var _this2 = this;\n\n this.listeners.push(listener);\n return function () {\n _this2.listeners = without(_this2.listeners, listener);\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n return createElement(Provider, {\n value: this.contextValue\n }, createElement(SlotFillBubblesVirtuallyProvider, null, this.props.children));\n }\n }]);\n\n return SlotFillProvider;\n}(Component);\n/**\n * React hook returning the active slot given a name.\n *\n * @param {string} name Slot name.\n * @return {Object} Slot object.\n */\n\n\nexport var useSlot = function useSlot(name) {\n var _useContext = useContext(SlotFillContext),\n getSlot = _useContext.getSlot,\n subscribe = _useContext.subscribe;\n\n var _useState = useState(getSlot(name)),\n _useState2 = _slicedToArray(_useState, 2),\n slot = _useState2[0],\n setSlot = _useState2[1];\n\n useEffect(function () {\n setSlot(getSlot(name));\n var unsubscribe = subscribe(function () {\n setSlot(getSlot(name));\n });\n return unsubscribe;\n }, [name]);\n return slot;\n};\nexport default SlotFillProvider;\nexport { Consumer };\n//# sourceMappingURL=context.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement, Fragment } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { isFunction, isString, map, negate } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Children, Component, cloneElement, isEmptyElement } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport { Consumer } from './context';\n\nvar SlotComponent = /*#__PURE__*/function (_Component) {\n _inherits(SlotComponent, _Component);\n\n var _super = _createSuper(SlotComponent);\n\n function SlotComponent() {\n var _this;\n\n _classCallCheck(this, SlotComponent);\n\n _this = _super.apply(this, arguments);\n _this.bindNode = _this.bindNode.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(SlotComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var registerSlot = this.props.registerSlot;\n registerSlot(this.props.name, this);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var unregisterSlot = this.props.unregisterSlot;\n unregisterSlot(this.props.name, this);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n name = _this$props.name,\n unregisterSlot = _this$props.unregisterSlot,\n registerSlot = _this$props.registerSlot;\n\n if (prevProps.name !== name) {\n unregisterSlot(prevProps.name);\n registerSlot(name, this);\n }\n }\n }, {\n key: \"bindNode\",\n value: function bindNode(node) {\n this.node = node;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n children = _this$props2.children,\n name = _this$props2.name,\n _this$props2$fillProp = _this$props2.fillProps,\n fillProps = _this$props2$fillProp === void 0 ? {} : _this$props2$fillProp,\n getFills = _this$props2.getFills;\n var fills = map(getFills(name, this), function (fill) {\n var fillKey = fill.occurrence;\n var fillChildren = isFunction(fill.children) ? fill.children(fillProps) : fill.children;\n return Children.map(fillChildren, function (child, childIndex) {\n if (!child || isString(child)) {\n return child;\n }\n\n var childKey = \"\".concat(fillKey, \"---\").concat(child.key || childIndex);\n return cloneElement(child, {\n key: childKey\n });\n });\n }).filter( // In some cases fills are rendered only when some conditions apply.\n // This ensures that we only use non-empty fills when rendering, i.e.,\n // it allows us to render wrappers only when the fills are actually present.\n negate(isEmptyElement));\n return createElement(Fragment, null, isFunction(children) ? children(fills) : fills);\n }\n }]);\n\n return SlotComponent;\n}(Component);\n\nvar Slot = function Slot(props) {\n return createElement(Consumer, null, function (_ref) {\n var registerSlot = _ref.registerSlot,\n unregisterSlot = _ref.unregisterSlot,\n getFills = _ref.getFills;\n return createElement(SlotComponent, _extends({}, props, {\n registerSlot: registerSlot,\n unregisterSlot: unregisterSlot,\n getFills: getFills\n }));\n });\n};\n\nexport default Slot;\n//# sourceMappingURL=slot.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { createPortal, useLayoutEffect, useRef } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport { Consumer, useSlot } from './context';\nvar occurrences = 0;\n\nfunction FillComponent(_ref) {\n var name = _ref.name,\n children = _ref.children,\n registerFill = _ref.registerFill,\n unregisterFill = _ref.unregisterFill;\n var slot = useSlot(name);\n var ref = useRef({\n name: name,\n children: children\n });\n\n if (!ref.current.occurrence) {\n ref.current.occurrence = ++occurrences;\n }\n\n useLayoutEffect(function () {\n registerFill(name, ref.current);\n return function () {\n return unregisterFill(name, ref.current);\n };\n }, []);\n useLayoutEffect(function () {\n ref.current.children = children;\n\n if (slot) {\n slot.forceUpdate();\n }\n }, [children]);\n useLayoutEffect(function () {\n if (name === ref.current.name) {\n // ignore initial effect\n return;\n }\n\n unregisterFill(ref.current.name, ref.current);\n ref.current.name = name;\n registerFill(name, ref.current);\n }, [name]);\n\n if (!slot || !slot.node) {\n return null;\n } // If a function is passed as a child, provide it with the fillProps.\n\n\n if (isFunction(children)) {\n children = children(slot.props.fillProps);\n }\n\n return createPortal(children, slot.node);\n}\n\nvar Fill = function Fill(props) {\n return createElement(Consumer, null, function (_ref2) {\n var registerFill = _ref2.registerFill,\n unregisterFill = _ref2.unregisterFill;\n return createElement(FillComponent, _extends({}, props, {\n registerFill: registerFill,\n unregisterFill: unregisterFill\n }));\n });\n};\n\nexport default Fill;\n//# sourceMappingURL=fill.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useLayoutEffect, useContext } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n/**\n * Internal dependencies\n */\n\nimport SlotFillContext from './slot-fill-context';\nimport useSlot from './use-slot';\nexport default function Slot(_ref) {\n var name = _ref.name,\n _ref$fillProps = _ref.fillProps,\n fillProps = _ref$fillProps === void 0 ? {} : _ref$fillProps,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutProperties(_ref, [\"name\", \"fillProps\", \"as\"]);\n\n var registry = useContext(SlotFillContext);\n var ref = useRef();\n var slot = useSlot(name);\n useLayoutEffect(function () {\n registry.registerSlot(name, ref, fillProps);\n return function () {\n registry.unregisterSlot(name, ref);\n }; // We are not including fillProps in the deps because we don't want to\n // unregister and register the slot whenever fillProps change, which would\n // cause the fill to be re-mounted. We are only considering the initial value\n // of fillProps.\n }, [registry.registerSlot, registry.unregisterSlot, name]); // fillProps may be an update that interact with the layout, so\n // we useLayoutEffect\n\n useLayoutEffect(function () {\n if (slot.fillProps && !isShallowEqual(slot.fillProps, fillProps)) {\n registry.updateSlot(name, ref, fillProps);\n }\n });\n return createElement(Component, _extends({\n ref: ref\n }, props));\n}\n//# sourceMappingURL=slot.js.map","/**\n * WordPress dependencies\n */\nimport { useRef, useEffect, createPortal } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport useSlot from './use-slot';\nexport default function Fill(_ref) {\n var name = _ref.name,\n children = _ref.children;\n var slot = useSlot(name);\n var ref = useRef();\n useEffect(function () {\n // We register fills so we can keep track of their existance.\n // Some Slot implementations need to know if there're already fills\n // registered so they can choose to render themselves or not.\n slot.registerFill(ref);\n return function () {\n slot.unregisterFill(ref);\n };\n }, [slot.registerFill, slot.unregisterFill]);\n\n if (!slot.ref || !slot.ref.current) {\n return null;\n }\n\n if (typeof children === 'function') {\n children = children(slot.fillProps);\n }\n\n return createPortal(children, slot.ref.current);\n}\n//# sourceMappingURL=fill.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement, Fragment } from \"@wordpress/element\";\n\n/**\n * Internal dependencies\n */\nimport BaseSlot from './slot';\nimport BaseFill from './fill';\nimport Provider from './context';\nimport BubblesVirtuallySlot from './bubbles-virtually/slot';\nimport BubblesVirtuallyFill from './bubbles-virtually/fill';\nimport useSlot from './bubbles-virtually/use-slot';\nexport function Slot(_ref) {\n var bubblesVirtually = _ref.bubblesVirtually,\n props = _objectWithoutProperties(_ref, [\"bubblesVirtually\"]);\n\n if (bubblesVirtually) {\n return createElement(BubblesVirtuallySlot, props);\n }\n\n return createElement(BaseSlot, props);\n}\nexport function Fill(props) {\n // We're adding both Fills here so they can register themselves before\n // their respective slot has been registered. Only the Fill that has a slot\n // will render. The other one will return null.\n return createElement(Fragment, null, createElement(BaseFill, props), createElement(BubblesVirtuallyFill, props));\n}\nexport function createSlotFill(name) {\n var FillComponent = function FillComponent(props) {\n return createElement(Fill, _extends({\n name: name\n }, props));\n };\n\n FillComponent.displayName = name + 'Fill';\n\n var SlotComponent = function SlotComponent(props) {\n return createElement(Slot, _extends({\n name: name\n }, props));\n };\n\n SlotComponent.displayName = name + 'Slot';\n return {\n Fill: FillComponent,\n Slot: SlotComponent\n };\n}\nexport { useSlot, Provider };\n//# sourceMappingURL=index.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction Animate(_ref) {\n var type = _ref.type,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n children = _ref.children;\n\n if (type === 'appear') {\n var _classnames;\n\n var _options$origin = options.origin,\n origin = _options$origin === void 0 ? 'top' : _options$origin;\n\n var _origin$split = origin.split(' '),\n _origin$split2 = _slicedToArray(_origin$split, 2),\n yAxis = _origin$split2[0],\n _origin$split2$ = _origin$split2[1],\n xAxis = _origin$split2$ === void 0 ? 'center' : _origin$split2$;\n\n return children({\n className: classnames('components-animate__appear', (_classnames = {}, _defineProperty(_classnames, 'is-from-' + xAxis, xAxis !== 'center'), _defineProperty(_classnames, 'is-from-' + yAxis, yAxis !== 'middle'), _classnames))\n });\n }\n\n if (type === 'slide-in') {\n var _options$origin2 = options.origin,\n _origin = _options$origin2 === void 0 ? 'left' : _options$origin2;\n\n return children({\n className: classnames('components-animate__slide-in', 'is-from-' + _origin)\n });\n }\n\n if (type === 'loading') {\n return children({\n className: classnames('components-animate__loading')\n });\n }\n\n return children({});\n}\n\nexport default Animate;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus, getRectangleFromRange } from '@wordpress/dom';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport deprecated from '@wordpress/deprecated';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\n\nimport { computePopoverPosition } from './utils';\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\nimport PopoverDetectOutside from './detect-outside';\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport IsolatedEventContainer from '../isolated-event-container';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport Animate from '../animate';\nvar FocusManaged = withConstrainedTabbing(withFocusReturn(function (_ref) {\n var children = _ref.children;\n return children;\n}));\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\n\nvar SLOT_NAME = 'Popover';\n\nfunction computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {\n var anchorRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var shouldAnchorIncludePadding = arguments.length > 4 ? arguments[4] : undefined;\n\n if (anchorRect) {\n return anchorRect;\n }\n\n if (getAnchorRect) {\n if (!anchorRefFallback.current) {\n return;\n }\n\n return getAnchorRect(anchorRefFallback.current);\n }\n\n if (anchorRef !== false) {\n if (!anchorRef) {\n return;\n }\n\n if (anchorRef instanceof window.Range) {\n return getRectangleFromRange(anchorRef);\n }\n\n if (anchorRef instanceof window.Element) {\n var _rect2 = anchorRef.getBoundingClientRect();\n\n if (shouldAnchorIncludePadding) {\n return _rect2;\n }\n\n return withoutPadding(_rect2, anchorRef);\n }\n\n var top = anchorRef.top,\n bottom = anchorRef.bottom;\n var topRect = top.getBoundingClientRect();\n var bottomRect = bottom.getBoundingClientRect();\n\n var _rect = new window.DOMRect(topRect.left, topRect.top, topRect.width, bottomRect.bottom - topRect.top);\n\n if (shouldAnchorIncludePadding) {\n return _rect;\n }\n\n return withoutPadding(_rect, anchorRef);\n }\n\n if (!anchorRefFallback.current) {\n return;\n }\n\n var parentNode = anchorRefFallback.current.parentNode;\n var rect = parentNode.getBoundingClientRect();\n\n if (shouldAnchorIncludePadding) {\n return rect;\n }\n\n return withoutPadding(rect, parentNode);\n}\n\nfunction withoutPadding(rect, element) {\n var _window$getComputedSt = window.getComputedStyle(element),\n paddingTop = _window$getComputedSt.paddingTop,\n paddingBottom = _window$getComputedSt.paddingBottom,\n paddingLeft = _window$getComputedSt.paddingLeft,\n paddingRight = _window$getComputedSt.paddingRight;\n\n var top = paddingTop ? parseInt(paddingTop, 10) : 0;\n var bottom = paddingBottom ? parseInt(paddingBottom, 10) : 0;\n var left = paddingLeft ? parseInt(paddingLeft, 10) : 0;\n var right = paddingRight ? parseInt(paddingRight, 10) : 0;\n return {\n x: rect.left + left,\n y: rect.top + top,\n width: rect.width - left - right,\n height: rect.height - top - bottom,\n left: rect.left + left,\n right: rect.right - right,\n top: rect.top + top,\n bottom: rect.bottom - bottom\n };\n}\n/**\n * Hook used to focus the first tabbable element on mount.\n *\n * @param {boolean|string} focusOnMount Focus on mount mode.\n * @param {Object} contentRef Reference to the popover content element.\n */\n\n\nfunction useFocusContentOnMount(focusOnMount, contentRef) {\n // Focus handling\n useEffect(function () {\n /*\n * Without the setTimeout, the dom node is not being focused. Related:\n * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example\n *\n * TODO: Treat the cause, not the symptom.\n */\n var focusTimeout = setTimeout(function () {\n if (!focusOnMount || !contentRef.current) {\n return;\n }\n\n if (focusOnMount === 'firstElement') {\n // Find first tabbable node within content and shift focus, falling\n // back to the popover panel itself.\n var firstTabbable = focus.tabbable.find(contentRef.current)[0];\n\n if (firstTabbable) {\n firstTabbable.focus();\n } else {\n contentRef.current.focus();\n }\n\n return;\n }\n\n if (focusOnMount === 'container') {\n // Focus the popover panel itself so items in the popover are easily\n // accessed via keyboard navigation.\n contentRef.current.focus();\n }\n }, 0);\n return function () {\n return clearTimeout(focusTimeout);\n };\n }, []);\n}\n/**\n * Sets or removes an element attribute.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The attribute name to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * attribute.\n */\n\n\nfunction setAttribute(element, name, value) {\n if (!value) {\n if (element.hasAttribute(name)) {\n element.removeAttribute(name);\n }\n } else if (element.getAttribute(name) !== value) {\n element.setAttribute(name, value);\n }\n}\n/**\n * Sets or removes an element style property.\n *\n * @param {Element} element The element to modify.\n * @param {string} property The property to set or remove.\n * @param {?string} value The value to set. A falsy value will remove the\n * property.\n */\n\n\nfunction setStyle(element, property) {\n var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n if (element.style[property] !== value) {\n element.style[property] = value;\n }\n}\n/**\n * Sets or removes an element class.\n *\n * @param {Element} element The element to modify.\n * @param {string} name The class to set or remove.\n * @param {boolean} toggle True to set the class, false to remove.\n */\n\n\nfunction setClass(element, name, toggle) {\n if (toggle) {\n if (!element.classList.contains(name)) {\n element.classList.add(name);\n }\n } else if (element.classList.contains(name)) {\n element.classList.remove(name);\n }\n}\n\nvar Popover = function Popover(_ref2) {\n var headerTitle = _ref2.headerTitle,\n onClose = _ref2.onClose,\n onKeyDown = _ref2.onKeyDown,\n children = _ref2.children,\n className = _ref2.className,\n _ref2$noArrow = _ref2.noArrow,\n noArrow = _ref2$noArrow === void 0 ? true : _ref2$noArrow,\n isAlternate = _ref2.isAlternate,\n _ref2$position = _ref2.position,\n position = _ref2$position === void 0 ? 'bottom right' : _ref2$position,\n range = _ref2.range,\n _ref2$focusOnMount = _ref2.focusOnMount,\n focusOnMount = _ref2$focusOnMount === void 0 ? 'firstElement' : _ref2$focusOnMount,\n anchorRef = _ref2.anchorRef,\n shouldAnchorIncludePadding = _ref2.shouldAnchorIncludePadding,\n anchorRect = _ref2.anchorRect,\n getAnchorRect = _ref2.getAnchorRect,\n expandOnMobile = _ref2.expandOnMobile,\n _ref2$animate = _ref2.animate,\n animate = _ref2$animate === void 0 ? true : _ref2$animate,\n onClickOutside = _ref2.onClickOutside,\n onFocusOutside = _ref2.onFocusOutside,\n __unstableSticky = _ref2.__unstableSticky,\n _ref2$__unstableSlotN = _ref2.__unstableSlotName,\n __unstableSlotName = _ref2$__unstableSlotN === void 0 ? SLOT_NAME : _ref2$__unstableSlotN,\n __unstableAllowVerticalSubpixelPosition = _ref2.__unstableAllowVerticalSubpixelPosition,\n __unstableAllowHorizontalSubpixelPosition = _ref2.__unstableAllowHorizontalSubpixelPosition,\n _ref2$__unstableFixed = _ref2.__unstableFixedPosition,\n __unstableFixedPosition = _ref2$__unstableFixed === void 0 ? true : _ref2$__unstableFixed,\n __unstableBoundaryParent = _ref2.__unstableBoundaryParent,\n contentProps = _objectWithoutProperties(_ref2, [\"headerTitle\", \"onClose\", \"onKeyDown\", \"children\", \"className\", \"noArrow\", \"isAlternate\", \"position\", \"range\", \"focusOnMount\", \"anchorRef\", \"shouldAnchorIncludePadding\", \"anchorRect\", \"getAnchorRect\", \"expandOnMobile\", \"animate\", \"onClickOutside\", \"onFocusOutside\", \"__unstableSticky\", \"__unstableSlotName\", \"__unstableAllowVerticalSubpixelPosition\", \"__unstableAllowHorizontalSubpixelPosition\", \"__unstableFixedPosition\", \"__unstableBoundaryParent\"]);\n\n var anchorRefFallback = useRef(null);\n var contentRef = useRef(null);\n var containerRef = useRef();\n var contentRect = useRef();\n var isMobileViewport = useViewportMatch('medium', '<');\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n animateOrigin = _useState2[0],\n setAnimateOrigin = _useState2[1];\n\n var slot = useSlot(__unstableSlotName);\n var isExpanded = expandOnMobile && isMobileViewport;\n noArrow = isExpanded || noArrow;\n useEffect(function () {\n if (isExpanded) {\n setClass(containerRef.current, 'is-without-arrow', noArrow);\n setClass(containerRef.current, 'is-alternate', isAlternate);\n setAttribute(containerRef.current, 'data-x-axis');\n setAttribute(containerRef.current, 'data-y-axis');\n setStyle(containerRef.current, 'top');\n setStyle(containerRef.current, 'left');\n setStyle(contentRef.current, 'maxHeight');\n setStyle(contentRef.current, 'maxWidth');\n setStyle(containerRef.current, 'position');\n return;\n }\n\n var refresh = function refresh() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n subpixels = _ref3.subpixels;\n\n if (!containerRef.current || !contentRef.current) {\n return;\n }\n\n var anchor = computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding);\n\n if (!anchor) {\n return;\n }\n\n if (!contentRect.current) {\n contentRect.current = contentRef.current.getBoundingClientRect();\n }\n\n var relativeOffsetTop = 0; // If there is a positioned ancestor element that is not the body,\n // subtract the position from the anchor rect. If the position of\n // the popover is fixed, the offset parent is null or the body\n // element, in which case the position is relative to the viewport.\n // See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent\n\n if (!__unstableFixedPosition) {\n setStyle(containerRef.current, 'position', 'absolute');\n var offsetParent = containerRef.current.offsetParent;\n var offsetParentRect = offsetParent.getBoundingClientRect();\n relativeOffsetTop = offsetParentRect.top;\n anchor = new window.DOMRect(anchor.left - offsetParentRect.left, anchor.top - offsetParentRect.top, anchor.width, anchor.height);\n } else {\n setStyle(containerRef.current, 'position');\n }\n\n var boundaryElement;\n\n if (__unstableBoundaryParent) {\n var _containerRef$current;\n\n boundaryElement = (_containerRef$current = containerRef.current.closest('.popover-slot')) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.parentNode;\n }\n\n var _computePopoverPositi = computePopoverPosition(anchor, contentRect.current, position, __unstableSticky, containerRef.current, relativeOffsetTop, boundaryElement),\n popoverTop = _computePopoverPositi.popoverTop,\n popoverLeft = _computePopoverPositi.popoverLeft,\n xAxis = _computePopoverPositi.xAxis,\n yAxis = _computePopoverPositi.yAxis,\n contentHeight = _computePopoverPositi.contentHeight,\n contentWidth = _computePopoverPositi.contentWidth;\n\n if (typeof popoverTop === 'number' && typeof popoverLeft === 'number') {\n if (subpixels && __unstableAllowVerticalSubpixelPosition) {\n setStyle(containerRef.current, 'left', popoverLeft + 'px');\n setStyle(containerRef.current, 'top');\n setStyle(containerRef.current, 'transform', \"translateY(\".concat(popoverTop, \"px)\"));\n } else if (subpixels && __unstableAllowHorizontalSubpixelPosition) {\n setStyle(containerRef.current, 'top', popoverTop + 'px');\n setStyle(containerRef.current, 'left');\n setStyle(containerRef.current, 'transform', \"translate(\".concat(popoverLeft, \"px)\"));\n } else {\n setStyle(containerRef.current, 'top', popoverTop + 'px');\n setStyle(containerRef.current, 'left', popoverLeft + 'px');\n setStyle(containerRef.current, 'transform');\n }\n }\n\n setClass(containerRef.current, 'is-without-arrow', noArrow || xAxis === 'center' && yAxis === 'middle');\n setClass(containerRef.current, 'is-alternate', isAlternate);\n setAttribute(containerRef.current, 'data-x-axis', xAxis);\n setAttribute(containerRef.current, 'data-y-axis', yAxis);\n setStyle(contentRef.current, 'maxHeight', typeof contentHeight === 'number' ? contentHeight + 'px' : '');\n setStyle(contentRef.current, 'maxWidth', typeof contentWidth === 'number' ? contentWidth + 'px' : ''); // Compute the animation position\n\n var yAxisMapping = {\n top: 'bottom',\n bottom: 'top'\n };\n var xAxisMapping = {\n left: 'right',\n right: 'left'\n };\n var animateYAxis = yAxisMapping[yAxis] || 'middle';\n var animateXAxis = xAxisMapping[xAxis] || 'center';\n setAnimateOrigin(animateXAxis + ' ' + animateYAxis);\n }; // Height may still adjust between now and the next tick.\n\n\n var timeoutId = window.setTimeout(refresh);\n /*\n * There are sometimes we need to reposition or resize the popover that\n * are not handled by the resize/scroll window events (i.e. CSS changes\n * in the layout that changes the position of the anchor).\n *\n * For these situations, we refresh the popover every 0.5s\n */\n\n var intervalHandle = window.setInterval(refresh, 500);\n var rafId;\n\n var refreshOnAnimationFrame = function refreshOnAnimationFrame() {\n window.cancelAnimationFrame(rafId);\n rafId = window.requestAnimationFrame(refresh);\n }; // Sometimes a click trigger a layout change that affects the popover\n // position. This is an opportunity to immediately refresh rather than\n // at the interval.\n\n\n window.addEventListener('click', refreshOnAnimationFrame);\n window.addEventListener('resize', refresh);\n window.addEventListener('scroll', refresh, true);\n var observer;\n var observeElement = __unstableAllowVerticalSubpixelPosition || __unstableAllowHorizontalSubpixelPosition;\n\n if (observeElement) {\n observer = new window.MutationObserver(function () {\n return refresh({\n subpixels: true\n });\n });\n observer.observe(observeElement, {\n attributes: true\n });\n }\n\n return function () {\n window.clearTimeout(timeoutId);\n window.clearInterval(intervalHandle);\n window.removeEventListener('resize', refresh);\n window.removeEventListener('scroll', refresh, true);\n window.removeEventListener('click', refreshOnAnimationFrame);\n window.cancelAnimationFrame(rafId);\n\n if (observer) {\n observer.disconnect();\n }\n };\n }, [isExpanded, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding, position, __unstableSticky, __unstableAllowVerticalSubpixelPosition, __unstableAllowHorizontalSubpixelPosition, __unstableBoundaryParent]);\n useFocusContentOnMount(focusOnMount, contentRef); // Event handlers\n\n var maybeClose = function maybeClose(event) {\n // Close on escape\n if (event.keyCode === ESCAPE && onClose) {\n event.stopPropagation();\n onClose();\n } // Preserve original content prop behavior\n\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n /**\n * Shims an onFocusOutside callback to be compatible with a deprecated\n * onClickOutside prop function, if provided.\n *\n * @param {FocusEvent} event Focus event from onFocusOutside.\n */\n\n\n function handleOnFocusOutside(event) {\n // Defer to given `onFocusOutside` if specified. Call `onClose` only if\n // both `onFocusOutside` and `onClickOutside` are unspecified. Doing so\n // assures backwards-compatibility for prior `onClickOutside` default.\n if (onFocusOutside) {\n onFocusOutside(event);\n return;\n } else if (!onClickOutside) {\n if (onClose) {\n onClose();\n }\n\n return;\n } // Simulate MouseEvent using FocusEvent#relatedTarget as emulated click\n // target. MouseEvent constructor is unsupported in Internet Explorer.\n\n\n var clickEvent;\n\n try {\n clickEvent = new window.MouseEvent('click');\n } catch (error) {\n clickEvent = document.createEvent('MouseEvent');\n clickEvent.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n }\n\n Object.defineProperty(clickEvent, 'target', {\n get: function get() {\n return event.relatedTarget;\n }\n });\n deprecated('Popover onClickOutside prop', {\n alternative: 'onFocusOutside'\n });\n onClickOutside(clickEvent);\n } // Disable reason: We care to capture the _bubbled_ events from inputs\n // within popover as inferring close intent.\n\n\n var content = createElement(PopoverDetectOutside, {\n onFocusOutside: handleOnFocusOutside\n }, createElement(Animate, {\n type: animate && animateOrigin ? 'appear' : null,\n options: {\n origin: animateOrigin\n }\n }, function (_ref4) {\n var animateClassName = _ref4.className;\n return createElement(IsolatedEventContainer, _extends({\n className: classnames('components-popover', className, animateClassName, {\n 'is-expanded': isExpanded,\n 'is-without-arrow': noArrow,\n 'is-alternate': isAlternate\n })\n }, contentProps, {\n onKeyDown: maybeClose,\n ref: containerRef\n }), isExpanded && createElement(ScrollLock, null), isExpanded && createElement(\"div\", {\n className: \"components-popover__header\"\n }, createElement(\"span\", {\n className: \"components-popover__header-title\"\n }, headerTitle), createElement(Button, {\n className: \"components-popover__close\",\n icon: close,\n onClick: onClose\n })), createElement(\"div\", {\n ref: contentRef,\n className: \"components-popover__content\",\n tabIndex: \"-1\"\n }, children));\n })); // Apply focus to element as long as focusOnMount is truthy; false is\n // the only \"disabled\" value.\n\n if (focusOnMount) {\n content = createElement(FocusManaged, null, content);\n }\n\n if (slot.ref) {\n content = createElement(Fill, {\n name: __unstableSlotName\n }, content);\n }\n\n if (anchorRef || anchorRect) {\n return content;\n }\n\n return createElement(\"span\", {\n ref: anchorRefFallback\n }, content);\n};\n\nvar PopoverContainer = Popover;\n\nPopoverContainer.Slot = function (_ref5) {\n var _ref5$name = _ref5.name,\n name = _ref5$name === void 0 ? SLOT_NAME : _ref5$name;\n return createElement(Slot, {\n bubblesVirtually: true,\n name: name,\n className: \"popover-slot\"\n });\n};\n\nexport default PopoverContainer;\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport { isString, isObject } from 'lodash';\n\nfunction Shortcut(_ref) {\n var shortcut = _ref.shortcut,\n className = _ref.className;\n\n if (!shortcut) {\n return null;\n }\n\n var displayText;\n var ariaLabel;\n\n if (isString(shortcut)) {\n displayText = shortcut;\n }\n\n if (isObject(shortcut)) {\n displayText = shortcut.display;\n ariaLabel = shortcut.ariaLabel;\n }\n\n return createElement(\"span\", {\n className: className,\n \"aria-label\": ariaLabel\n }, displayText);\n}\n\nexport default Shortcut;\n//# sourceMappingURL=index.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { debounce, includes } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component, Children, cloneElement, concatChildren } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {number}\n */\n\nvar TOOLTIP_DELAY = 700;\n\nvar Tooltip = /*#__PURE__*/function (_Component) {\n _inherits(Tooltip, _Component);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip() {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n _this = _super.apply(this, arguments);\n _this.delayedSetIsOver = debounce(function (isOver) {\n return _this.setState({\n isOver: isOver\n });\n }, TOOLTIP_DELAY);\n /**\n * Prebound `isInMouseDown` handler, created as a constant reference to\n * assure ability to remove in component unmount.\n *\n * @type {Function}\n */\n\n _this.cancelIsMouseDown = _this.createSetIsMouseDown(false);\n /**\n * Whether a the mouse is currently pressed, used in determining whether\n * to handle a focus event as displaying the tooltip immediately.\n *\n * @type {boolean}\n */\n\n _this.isInMouseDown = false;\n _this.state = {\n isOver: false\n };\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.delayedSetIsOver.cancel();\n document.removeEventListener('mouseup', this.cancelIsMouseDown);\n }\n }, {\n key: \"emitToChild\",\n value: function emitToChild(eventName, event) {\n var children = this.props.children;\n\n if (Children.count(children) !== 1) {\n return;\n }\n\n var child = Children.only(children);\n\n if (typeof child.props[eventName] === 'function') {\n child.props[eventName](event);\n }\n }\n }, {\n key: \"createToggleIsOver\",\n value: function createToggleIsOver(eventName, isDelayed) {\n var _this2 = this;\n\n return function (event) {\n // Preserve original child callback behavior\n _this2.emitToChild(eventName, event); // Mouse events behave unreliably in React for disabled elements,\n // firing on mouseenter but not mouseleave. Further, the default\n // behavior for disabled elements in some browsers is to ignore\n // mouse events. Don't bother trying to to handle them.\n //\n // See: https://github.com/facebook/react/issues/4251\n\n\n if (event.currentTarget.disabled) {\n return;\n } // A focus event will occur as a result of a mouse click, but it\n // should be disambiguated between interacting with the button and\n // using an explicit focus shift as a cue to display the tooltip.\n\n\n if ('focus' === event.type && _this2.isInMouseDown) {\n return;\n } // Needed in case unsetting is over while delayed set pending, i.e.\n // quickly blur/mouseleave before delayedSetIsOver is called\n\n\n _this2.delayedSetIsOver.cancel();\n\n var isOver = includes(['focus', 'mouseenter'], event.type);\n\n if (isOver === _this2.state.isOver) {\n return;\n }\n\n if (isDelayed) {\n _this2.delayedSetIsOver(isOver);\n } else {\n _this2.setState({\n isOver: isOver\n });\n }\n };\n }\n /**\n * Creates an event callback to handle assignment of the `isInMouseDown`\n * instance property in response to a `mousedown` or `mouseup` event.\n *\n * @param {boolean} isMouseDown Whether handler is to be created for the\n * `mousedown` event, as opposed to `mouseup`.\n *\n * @return {Function} Event callback handler.\n */\n\n }, {\n key: \"createSetIsMouseDown\",\n value: function createSetIsMouseDown(isMouseDown) {\n var _this3 = this;\n\n return function (event) {\n // Preserve original child callback behavior\n _this3.emitToChild(isMouseDown ? 'onMouseDown' : 'onMouseUp', event); // On mouse down, the next `mouseup` should revert the value of the\n // instance property and remove its own event handler. The bind is\n // made on the document since the `mouseup` might not occur within\n // the bounds of the element.\n\n\n document[isMouseDown ? 'addEventListener' : 'removeEventListener']('mouseup', _this3.cancelIsMouseDown);\n _this3.isInMouseDown = isMouseDown;\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n position = _this$props.position,\n text = _this$props.text,\n shortcut = _this$props.shortcut;\n\n if (Children.count(children) !== 1) {\n if ('development' === process.env.NODE_ENV) {\n // eslint-disable-next-line no-console\n console.error('Tooltip should be called with only a single child element.');\n }\n\n return children;\n }\n\n var child = Children.only(children);\n var isOver = this.state.isOver;\n return cloneElement(child, {\n onMouseEnter: this.createToggleIsOver('onMouseEnter', true),\n onMouseLeave: this.createToggleIsOver('onMouseLeave'),\n onClick: this.createToggleIsOver('onClick'),\n onFocus: this.createToggleIsOver('onFocus'),\n onBlur: this.createToggleIsOver('onBlur'),\n onMouseDown: this.createSetIsMouseDown(true),\n children: concatChildren(child.props.children, isOver && createElement(Popover, {\n focusOnMount: false,\n position: position,\n className: \"components-tooltip\",\n \"aria-hidden\": \"true\",\n animate: false,\n noArrow: true\n }, text, createElement(Shortcut, {\n className: \"components-tooltip__shortcut\",\n shortcut: shortcut\n })))\n });\n }\n }]);\n\n return Tooltip;\n}(Component);\n\nexport default Tooltip;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/* !!!\nIF YOU ARE EDITING dashicon/index.jsx\nTHEN YOU ARE EDITING A FILE THAT GETS OUTPUT FROM THE DASHICONS REPO!\nDO NOT EDIT THAT FILE! EDIT index-header.jsx and index-footer.jsx instead\nOR if you're looking to change now SVGs get output, you'll need to edit strings in the Gruntfile :)\n!!! */\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Path, SVG } from '@wordpress/primitives';\n\nvar Dashicon = /*#__PURE__*/function (_Component) {\n _inherits(Dashicon, _Component);\n\n var _super = _createSuper(Dashicon);\n\n function Dashicon() {\n _classCallCheck(this, Dashicon);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dashicon, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n icon = _this$props.icon,\n _this$props$size = _this$props.size,\n size = _this$props$size === void 0 ? 20 : _this$props$size,\n className = _this$props.className,\n extraProps = _objectWithoutProperties(_this$props, [\"icon\", \"size\", \"className\"]);\n\n var path;\n\n switch (icon) {\n case 'admin-appearance':\n path = 'M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z';\n break;\n\n case 'admin-collapse':\n path = 'M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z';\n break;\n\n case 'admin-comments':\n path = 'M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z';\n break;\n\n case 'admin-customizer':\n path = 'M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z';\n break;\n\n case 'admin-generic':\n path = 'M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z';\n break;\n\n case 'admin-home':\n path = 'M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z';\n break;\n\n case 'admin-links':\n path = 'M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z';\n break;\n\n case 'admin-media':\n path = 'M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z';\n break;\n\n case 'admin-multisite':\n path = 'M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z';\n break;\n\n case 'admin-network':\n path = 'M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z';\n break;\n\n case 'admin-page':\n path = 'M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z';\n break;\n\n case 'admin-plugins':\n path = 'M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z';\n break;\n\n case 'admin-post':\n path = 'M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z';\n break;\n\n case 'admin-settings':\n path = 'M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z';\n break;\n\n case 'admin-site-alt':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z';\n break;\n\n case 'admin-site-alt2':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z';\n break;\n\n case 'admin-site-alt3':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z';\n break;\n\n case 'admin-site':\n path = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z';\n break;\n\n case 'admin-tools':\n path = 'M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z';\n break;\n\n case 'admin-users':\n path = 'M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z';\n break;\n\n case 'album':\n path = 'M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z';\n break;\n\n case 'align-center':\n path = 'M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z';\n break;\n\n case 'align-full-width':\n path = 'M17 13V3H3v10h14zM5 17h10v-2H5v2z';\n break;\n\n case 'align-left':\n path = 'M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z';\n break;\n\n case 'align-none':\n path = 'M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z';\n break;\n\n case 'align-pull-left':\n path = 'M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z';\n break;\n\n case 'align-pull-right':\n path = 'M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z';\n break;\n\n case 'align-right':\n path = 'M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z';\n break;\n\n case 'align-wide':\n path = 'M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z';\n break;\n\n case 'analytics':\n path = 'M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z';\n break;\n\n case 'archive':\n path = 'M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z';\n break;\n\n case 'arrow-down-alt':\n path = 'M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z';\n break;\n\n case 'arrow-down-alt2':\n path = 'M5 6l5 5 5-5 2 1-7 7-7-7z';\n break;\n\n case 'arrow-down':\n path = 'M15 8l-4.03 6L7 8h8z';\n break;\n\n case 'arrow-left-alt':\n path = 'M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z';\n break;\n\n case 'arrow-left-alt2':\n path = 'M14 5l-5 5 5 5-1 2-7-7 7-7z';\n break;\n\n case 'arrow-left':\n path = 'M13 14L7 9.97 13 6v8z';\n break;\n\n case 'arrow-right-alt':\n path = 'M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z';\n break;\n\n case 'arrow-right-alt2':\n path = 'M6 15l5-5-5-5 1-2 7 7-7 7z';\n break;\n\n case 'arrow-right':\n path = 'M8 6l6 4.03L8 14V6z';\n break;\n\n case 'arrow-up-alt':\n path = 'M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z';\n break;\n\n case 'arrow-up-alt2':\n path = 'M15 14l-5-5-5 5-2-1 7-7 7 7z';\n break;\n\n case 'arrow-up':\n path = 'M7 13l4.03-6L15 13H7z';\n break;\n\n case 'art':\n path = 'M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z';\n break;\n\n case 'awards':\n path = 'M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z';\n break;\n\n case 'backup':\n path = 'M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z';\n break;\n\n case 'block-default':\n path = 'M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z';\n break;\n\n case 'book-alt':\n path = 'M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z';\n break;\n\n case 'book':\n path = 'M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z';\n break;\n\n case 'buddicons-activity':\n path = 'M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z';\n break;\n\n case 'buddicons-bbpress-logo':\n path = 'M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z';\n break;\n\n case 'buddicons-buddypress-logo':\n path = 'M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z';\n break;\n\n case 'buddicons-community':\n path = 'M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z';\n break;\n\n case 'buddicons-forums':\n path = 'M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z';\n break;\n\n case 'buddicons-friends':\n path = 'M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z';\n break;\n\n case 'buddicons-groups':\n path = 'M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z';\n break;\n\n case 'buddicons-pm':\n path = 'M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z';\n break;\n\n case 'buddicons-replies':\n path = 'M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z';\n break;\n\n case 'buddicons-topics':\n path = 'M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z';\n break;\n\n case 'buddicons-tracking':\n path = 'M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z';\n break;\n\n case 'building':\n path = 'M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z';\n break;\n\n case 'businessman':\n path = 'M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z';\n break;\n\n case 'button':\n path = 'M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z';\n break;\n\n case 'calendar-alt':\n path = 'M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z';\n break;\n\n case 'calendar':\n path = 'M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z';\n break;\n\n case 'camera':\n path = 'M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z';\n break;\n\n case 'carrot':\n path = 'M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z';\n break;\n\n case 'cart':\n path = 'M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z';\n break;\n\n case 'category':\n path = 'M5 7h13v10H2V4h7l2 2H4v9h1V7z';\n break;\n\n case 'chart-area':\n path = 'M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n break;\n\n case 'chart-bar':\n path = 'M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z';\n break;\n\n case 'chart-line':\n path = 'M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z';\n break;\n\n case 'chart-pie':\n path = 'M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z';\n break;\n\n case 'clipboard':\n path = 'M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z';\n break;\n\n case 'clock':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z';\n break;\n\n case 'cloud-saved':\n path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z';\n break;\n\n case 'cloud-upload':\n path = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z';\n break;\n\n case 'cloud':\n path = 'M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z';\n break;\n\n case 'columns':\n path = 'M3 15h6V5H3v10zm8 0h6V5h-6v10z';\n break;\n\n case 'controls-back':\n path = 'M2 10l10-6v3.6L18 4v12l-6-3.6V16z';\n break;\n\n case 'controls-forward':\n path = 'M18 10L8 16v-3.6L2 16V4l6 3.6V4z';\n break;\n\n case 'controls-pause':\n path = 'M5 16V4h3v12H5zm7-12h3v12h-3V4z';\n break;\n\n case 'controls-play':\n path = 'M5 4l10 6-10 6V4z';\n break;\n\n case 'controls-repeat':\n path = 'M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z';\n break;\n\n case 'controls-skipback':\n path = 'M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z';\n break;\n\n case 'controls-skipforward':\n path = 'M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z';\n break;\n\n case 'controls-volumeoff':\n path = 'M2 7h4l5-4v14l-5-4H2V7z';\n break;\n\n case 'controls-volumeon':\n path = 'M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z';\n break;\n\n case 'cover-image':\n path = 'M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z';\n break;\n\n case 'dashboard':\n path = 'M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z';\n break;\n\n case 'desktop':\n path = 'M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z';\n break;\n\n case 'dismiss':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z';\n break;\n\n case 'download':\n path = 'M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z';\n break;\n\n case 'edit':\n path = 'M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z';\n break;\n\n case 'editor-aligncenter':\n path = 'M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z';\n break;\n\n case 'editor-alignleft':\n path = 'M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z';\n break;\n\n case 'editor-alignright':\n path = 'M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z';\n break;\n\n case 'editor-bold':\n path = 'M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z';\n break;\n\n case 'editor-break':\n path = 'M16 4h2v9H7v3l-5-4 5-4v3h9V4z';\n break;\n\n case 'editor-code':\n path = 'M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z';\n break;\n\n case 'editor-contract':\n path = 'M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z';\n break;\n\n case 'editor-customchar':\n path = 'M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z';\n break;\n\n case 'editor-expand':\n path = 'M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3';\n break;\n\n case 'editor-help':\n path = 'M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z';\n break;\n\n case 'editor-indent':\n path = 'M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z';\n break;\n\n case 'editor-insertmore':\n path = 'M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z';\n break;\n\n case 'editor-italic':\n path = 'M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z';\n break;\n\n case 'editor-justify':\n path = 'M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z';\n break;\n\n case 'editor-kitchensink':\n path = 'M19 2v6H1V2h18zm-1 5V3H2v4h16zM5 4v2H3V4h2zm3 0v2H6V4h2zm3 0v2H9V4h2zm3 0v2h-2V4h2zm3 0v2h-2V4h2zm2 5v9H1V9h18zm-1 8v-7H2v7h16zM5 11v2H3v-2h2zm3 0v2H6v-2h2zm3 0v2H9v-2h2zm6 0v2h-5v-2h5zm-6 3v2H3v-2h8zm3 0v2h-2v-2h2zm3 0v2h-2v-2h2z';\n break;\n\n case 'editor-ltr':\n path = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z';\n break;\n\n case 'editor-ol-rtl':\n path = 'M15.025 8.75a1.048 1.048 0 0 1 .45-.1.507.507 0 0 1 .35.11.455.455 0 0 1 .13.36.803.803 0 0 1-.06.3 1.448 1.448 0 0 1-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76v-.7h-1.72v-.04l.51-.48a7.276 7.276 0 0 0 .7-.71 1.75 1.75 0 0 0 .3-.49 1.254 1.254 0 0 0 .1-.51.968.968 0 0 0-.16-.56 1.007 1.007 0 0 0-.44-.37 1.512 1.512 0 0 0-.65-.14 1.98 1.98 0 0 0-.51.06 1.9 1.9 0 0 0-.42.15 3.67 3.67 0 0 0-.48.35l.45.54a2.505 2.505 0 0 1 .45-.3zM16.695 15.29a1.29 1.29 0 0 0-.74-.3v-.02a1.203 1.203 0 0 0 .65-.37.973.973 0 0 0 .23-.65.81.81 0 0 0-.37-.71 1.72 1.72 0 0 0-1-.26 2.185 2.185 0 0 0-1.33.4l.4.6a1.79 1.79 0 0 1 .46-.23 1.18 1.18 0 0 1 .41-.07c.38 0 .58.15.58.46a.447.447 0 0 1-.22.43 1.543 1.543 0 0 1-.7.12h-.31v.66h.31a1.764 1.764 0 0 1 .75.12.433.433 0 0 1 .23.41.55.55 0 0 1-.2.47 1.084 1.084 0 0 1-.63.15 2.24 2.24 0 0 1-.57-.08 2.671 2.671 0 0 1-.52-.2v.74a2.923 2.923 0 0 0 1.18.22 1.948 1.948 0 0 0 1.22-.33 1.077 1.077 0 0 0 .43-.92.836.836 0 0 0-.26-.64zM15.005 4.17c.06-.05.16-.14.3-.28l-.02.42V7h.84V3h-.69l-1.29 1.03.4.51zM4.02 5h9v1h-9zM4.02 10h9v1h-9zM4.02 15h9v1h-9z';\n break;\n\n case 'editor-ol':\n path = 'M6 7V3h-.69L4.02 4.03l.4.51.46-.37c.06-.05.16-.14.3-.28l-.02.42V7H6zm2-2h9v1H8V5zm-1.23 6.95v-.7H5.05v-.04l.51-.48c.33-.31.57-.54.7-.71.14-.17.24-.33.3-.49.07-.16.1-.33.1-.51 0-.21-.05-.4-.16-.56-.1-.16-.25-.28-.44-.37s-.41-.14-.65-.14c-.19 0-.36.02-.51.06-.15.03-.29.09-.42.15-.12.07-.29.19-.48.35l.45.54c.16-.13.31-.23.45-.3.15-.07.3-.1.45-.1.14 0 .26.03.35.11s.13.2.13.36c0 .1-.02.2-.06.3s-.1.21-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76zM8 10h9v1H8v-1zm-1.29 3.95c0-.3-.12-.54-.37-.71-.24-.17-.58-.26-1-.26-.52 0-.96.13-1.33.4l.4.6c.17-.11.32-.19.46-.23.14-.05.27-.07.41-.07.38 0 .58.15.58.46 0 .2-.07.35-.22.43s-.38.12-.7.12h-.31v.66h.31c.34 0 .59.04.75.12.15.08.23.22.23.41 0 .22-.07.37-.2.47-.14.1-.35.15-.63.15-.19 0-.38-.03-.57-.08s-.36-.12-.52-.2v.74c.34.15.74.22 1.18.22.53 0 .94-.11 1.22-.33.29-.22.43-.52.43-.92 0-.27-.09-.48-.26-.64s-.42-.26-.74-.3v-.02c.27-.06.49-.19.65-.37.15-.18.23-.39.23-.65zM8 15h9v1H8v-1z';\n break;\n\n case 'editor-outdent':\n path = 'M7 4V3H3v1h4zm10 1V3H8v2h9zM7 7H5V5L1 8.5 5 12v-2h2V7zm10 1V6H8v2h9zm-2 3V9H8v2h7zm2 3v-2H8v2h9zM7 14v-1H3v1h4zm4 3v-2H8v2h3z';\n break;\n\n case 'editor-paragraph':\n path = 'M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71C15.5 2.1 15.27 2 15 2z';\n break;\n\n case 'editor-paste-text':\n path = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.44 1-1 0-.55-.45-1-1-1s-1 .45-1 1c0 .56.45 1 1 1zm5.45-1H17c.55 0 1 .45 1 1v12c0 .56-.45 1-1 1H3c-.55 0-1-.44-1-1V5c0-.55.45-1 1-1h1.55L4 4.63V7h12V4.63zM14 11V9H6v2h3v5h2v-5h3z';\n break;\n\n case 'editor-paste-word':\n path = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 12V5c0-.55-.45-1-1-1h-1.54l.54.63V7H4V4.62L4.55 4H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-3-8l-2 7h-2l-1-5-1 5H6.92L5 9h2l1 5 1-5h2l1 5 1-5h2z';\n break;\n\n case 'editor-quote':\n path = 'M9.49 13.22c0-.74-.2-1.38-.61-1.9-.62-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L7.88 4c-2.73 1.3-5.42 4.28-4.96 8.05C3.21 14.43 4.59 16 6.54 16c.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03zm8.05 0c0-.74-.2-1.38-.61-1.9-.63-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L15.93 4c-2.73 1.3-5.41 4.28-4.95 8.05.29 2.38 1.66 3.95 3.61 3.95.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03z';\n break;\n\n case 'editor-removeformatting':\n path = 'M14.29 4.59l1.1 1.11c.41.4.61.94.61 1.47v2.12c0 .53-.2 1.07-.61 1.47l-6.63 6.63c-.4.41-.94.61-1.47.61s-1.07-.2-1.47-.61l-1.11-1.1-1.1-1.11c-.41-.4-.61-.94-.61-1.47v-2.12c0-.54.2-1.07.61-1.48l6.63-6.62c.4-.41.94-.61 1.47-.61s1.06.2 1.47.61zm-6.21 9.7l6.42-6.42c.39-.39.39-1.03 0-1.43L12.36 4.3c-.19-.19-.45-.29-.72-.29s-.52.1-.71.29l-6.42 6.42c-.39.4-.39 1.04 0 1.43l2.14 2.14c.38.38 1.04.38 1.43 0z';\n break;\n\n case 'editor-rtl':\n path = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM19 6l-5 4 5 4V6z';\n break;\n\n case 'editor-spellcheck':\n path = 'M15.84 2.76c.25 0 .49.04.71.11.23.07.44.16.64.25l.35-.81c-.52-.26-1.08-.39-1.69-.39-.58 0-1.09.13-1.52.37-.43.25-.76.61-.99 1.08C13.11 3.83 13 4.38 13 5c0 .99.23 1.75.7 2.28s1.15.79 2.02.79c.6 0 1.13-.09 1.6-.26v-.84c-.26.08-.51.14-.74.19-.24.05-.49.08-.74.08-.59 0-1.04-.19-1.34-.57-.32-.37-.47-.93-.47-1.66 0-.7.16-1.25.48-1.65.33-.4.77-.6 1.33-.6zM6.5 8h1.04L5.3 2H4.24L2 8h1.03l.58-1.66H5.9zM8 2v6h2.17c.67 0 1.19-.15 1.57-.46.38-.3.56-.72.56-1.26 0-.4-.1-.72-.3-.95-.19-.24-.5-.39-.93-.47v-.04c.35-.06.6-.21.78-.44.18-.24.28-.53.28-.88 0-.52-.19-.9-.56-1.14-.36-.24-.96-.36-1.79-.36H8zm.98 2.48V2.82h.85c.44 0 .77.06.97.19.21.12.31.33.31.61 0 .31-.1.53-.29.66-.18.13-.48.2-.89.2h-.95zM5.64 5.5H3.9l.54-1.56c.14-.4.25-.76.32-1.1l.15.52c.07.23.13.4.17.51zm3.34-.23h.99c.44 0 .76.08.98.23.21.15.32.38.32.69 0 .34-.11.59-.32.75s-.52.24-.93.24H8.98V5.27zM4 13l5 5 9-8-1-1-8 6-4-3z';\n break;\n\n case 'editor-strikethrough':\n path = 'M15.82 12.25c.26 0 .5-.02.74-.07.23-.05.48-.12.73-.2v.84c-.46.17-.99.26-1.58.26-.88 0-1.54-.26-2.01-.79-.39-.44-.62-1.04-.68-1.79h-.94c.12.21.18.48.18.79 0 .54-.18.95-.55 1.26-.38.3-.9.45-1.56.45H8v-2.5H6.59l.93 2.5H6.49l-.59-1.67H3.62L3.04 13H2l.93-2.5H2v-1h1.31l.93-2.49H5.3l.92 2.49H8V7h1.77c1 0 1.41.17 1.77.41.37.24.55.62.55 1.13 0 .35-.09.64-.27.87l-.08.09h1.29c.05-.4.15-.77.31-1.1.23-.46.55-.82.98-1.06.43-.25.93-.37 1.51-.37.61 0 1.17.12 1.69.38l-.35.81c-.2-.1-.42-.18-.64-.25s-.46-.11-.71-.11c-.55 0-.99.2-1.31.59-.23.29-.38.66-.44 1.11H17v1h-2.95c.06.5.2.9.44 1.19.3.37.75.56 1.33.56zM4.44 8.96l-.18.54H5.3l-.22-.61c-.04-.11-.09-.28-.17-.51-.07-.24-.12-.41-.14-.51-.08.33-.18.69-.33 1.09zm4.53-1.09V9.5h1.19c.28-.02.49-.09.64-.18.19-.13.28-.35.28-.66 0-.28-.1-.48-.3-.61-.2-.12-.53-.18-.97-.18h-.84zm-3.33 2.64v-.01H3.91v.01h1.73zm5.28.01l-.03-.02H8.97v1.68h1.04c.4 0 .71-.08.92-.23.21-.16.31-.4.31-.74 0-.31-.11-.54-.32-.69z';\n break;\n\n case 'editor-table':\n path = 'M18 17V3H2v14h16zM16 7H4V5h12v2zm-7 4H4V9h5v2zm7 0h-5V9h5v2zm-7 4H4v-2h5v2zm7 0h-5v-2h5v2z';\n break;\n\n case 'editor-textcolor':\n path = 'M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z';\n break;\n\n case 'editor-ul':\n path = 'M5.5 7C4.67 7 4 6.33 4 5.5 4 4.68 4.67 4 5.5 4 6.32 4 7 4.68 7 5.5 7 6.33 6.32 7 5.5 7zM8 5h9v1H8V5zm-2.5 7c-.83 0-1.5-.67-1.5-1.5C4 9.68 4.67 9 5.5 9c.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 10h9v1H8v-1zm-2.5 7c-.83 0-1.5-.67-1.5-1.5 0-.82.67-1.5 1.5-1.5.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 15h9v1H8v-1z';\n break;\n\n case 'editor-underline':\n path = 'M14 5h-2v5.71c0 1.99-1.12 2.98-2.45 2.98-1.32 0-2.55-1-2.55-2.96V5H5v5.87c0 1.91 1 4.54 4.48 4.54 3.49 0 4.52-2.58 4.52-4.5V5zm0 13v-2H5v2h9z';\n break;\n\n case 'editor-unlink':\n path = 'M17.74 2.26c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-.32.33-.69.58-1.08.77L13 10l1.69-1.64.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-.76.76L10 7l-.65-2.14c.19-.38.44-.75.77-1.07l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM2 4l8 6-6-8zm4-2l4 8-2-8H6zM2 6l8 4-8-2V6zm7.36 7.69L10 13l.74 2.35-1.38 1.39c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.39-1.38L7 10l-.69.64-1.52 1.53c-.85.84-.85 2.2 0 3.04.84.85 2.2.85 3.04 0zM18 16l-8-6 6 8zm-4 2l-4-8 2 8h2zm4-4l-8-4 8 2v2z';\n break;\n\n case 'editor-video':\n path = 'M16 2h-3v1H7V2H4v15h3v-1h6v1h3V2zM6 3v1H5V3h1zm9 0v1h-1V3h1zm-2 1v5H7V4h6zM6 5v1H5V5h1zm9 0v1h-1V5h1zM6 7v1H5V7h1zm9 0v1h-1V7h1zM6 9v1H5V9h1zm9 0v1h-1V9h1zm-2 1v5H7v-5h6zm-7 1v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1z';\n break;\n\n case 'ellipsis':\n path = 'M5 10c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm12-2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z';\n break;\n\n case 'email-alt':\n path = 'M19 14.5v-9c0-.83-.67-1.5-1.5-1.5H3.49c-.83 0-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5H17.5c.83 0 1.5-.67 1.5-1.5zm-1.31-9.11c.33.33.15.67-.03.84L13.6 9.95l3.9 4.06c.12.14.2.36.06.51-.13.16-.43.15-.56.05l-4.37-3.73-2.14 1.95-2.13-1.95-4.37 3.73c-.13.1-.43.11-.56-.05-.14-.15-.06-.37.06-.51l3.9-4.06-4.06-3.72c-.18-.17-.36-.51-.03-.84s.67-.17.95.07l6.24 5.04 6.25-5.04c.28-.24.62-.4.95-.07z';\n break;\n\n case 'email-alt2':\n path = 'M18.01 11.18V2.51c0-1.19-.9-1.81-2-1.37L4 5.91c-1.1.44-2 1.77-2 2.97v8.66c0 1.2.9 1.81 2 1.37l12.01-4.77c1.1-.44 2-1.76 2-2.96zm-1.43-7.46l-6.04 9.33-6.65-4.6c-.1-.07-.36-.32-.17-.64.21-.36.65-.21.65-.21l6.3 2.32s4.83-6.34 5.11-6.7c.13-.17.43-.34.73-.13.29.2.16.49.07.63z';\n break;\n\n case 'email':\n path = 'M3.87 4h13.25C18.37 4 19 4.59 19 5.79v8.42c0 1.19-.63 1.79-1.88 1.79H3.87c-1.25 0-1.88-.6-1.88-1.79V5.79c0-1.2.63-1.79 1.88-1.79zm6.62 8.6l6.74-5.53c.24-.2.43-.66.13-1.07-.29-.41-.82-.42-1.17-.17l-5.7 3.86L4.8 5.83c-.35-.25-.88-.24-1.17.17-.3.41-.11.87.13 1.07z';\n break;\n\n case 'embed-audio':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 3H7v4c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.4 0 .7.1 1 .3V5h4v2zm4 3.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'embed-generic':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3 6.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'embed-photo':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 8H3V6h7v6zm4-1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3zm-6-4V8.5L7.2 10 6 9.2 4 11h5zM4.6 8.6c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z';\n break;\n\n case 'embed-post':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.6 9l-.4.3c-.4.4-.5 1.1-.2 1.6l-.8.8-1.1-1.1-1.3 1.3c-.2.2-1.6 1.3-1.8 1.1-.2-.2.9-1.6 1.1-1.8l1.3-1.3-1.1-1.1.8-.8c.5.3 1.2.3 1.6-.2l.3-.3c.5-.5.5-1.2.2-1.7L8 5l3 2.9-.8.8c-.5-.2-1.2-.2-1.6.3zm5.4 1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'embed-video':\n path = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 6.5L8 9.1V11H3V6h5v1.8l2-1.3v4zm4 0L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n break;\n\n case 'excerpt-view':\n path = 'M19 18V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6V3h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6v-6h11z';\n break;\n\n case 'exit':\n path = 'M13 3v2h2v10h-2v2h4V3h-4zm0 8V9H5.4l4.3-4.3-1.4-1.4L1.6 10l6.7 6.7 1.4-1.4L5.4 11H13z';\n break;\n\n case 'external':\n path = 'M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z';\n break;\n\n case 'facebook-alt':\n path = 'M8.46 18h2.93v-7.3h2.45l.37-2.84h-2.82V6.04c0-.82.23-1.38 1.41-1.38h1.51V2.11c-.26-.03-1.15-.11-2.19-.11-2.18 0-3.66 1.33-3.66 3.76v2.1H6v2.84h2.46V18z';\n break;\n\n case 'facebook':\n path = 'M2.89 2h14.23c.49 0 .88.39.88.88v14.24c0 .48-.39.88-.88.88h-4.08v-6.2h2.08l.31-2.41h-2.39V7.85c0-.7.2-1.18 1.2-1.18h1.28V4.51c-.22-.03-.98-.09-1.86-.09-1.85 0-3.11 1.12-3.11 3.19v1.78H8.46v2.41h2.09V18H2.89c-.49 0-.89-.4-.89-.88V2.88c0-.49.4-.88.89-.88z';\n break;\n\n case 'feedback':\n path = 'M2 2h16c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm15 14V7H3v9h14zM4 8v1h3V8H4zm4 0v3h8V8H8zm-4 4v1h3v-1H4zm4 0v3h8v-3H8z';\n break;\n\n case 'filter':\n path = 'M3 4.5v-2s3.34-1 7-1 7 1 7 1v2l-5 7.03v6.97s-1.22-.09-2.25-.59S8 16.5 8 16.5v-4.97z';\n break;\n\n case 'flag':\n path = 'M5 18V3H3v15h2zm1-6V4c3-1 7 1 11 0v8c-3 1.27-8-1-11 0z';\n break;\n\n case 'format-aside':\n path = 'M1 1h18v12l-6 6H1V1zm3 3v1h12V4H4zm0 4v1h12V8H4zm6 5v-1H4v1h6zm2 4l5-5h-5v5z';\n break;\n\n case 'format-audio':\n path = 'M6.99 3.08l11.02-2c.55-.08.99.45.99 1V14.5c0 1.94-1.57 3.5-3.5 3.5S12 16.44 12 14.5c0-1.93 1.57-3.5 3.5-3.5.54 0 1.04.14 1.5.35V5.08l-9 2V16c-.24 1.7-1.74 3-3.5 3C2.57 19 1 17.44 1 15.5 1 13.57 2.57 12 4.5 12c.54 0 1.04.14 1.5.35V4.08c0-.55.44-.91.99-1z';\n break;\n\n case 'format-chat':\n path = 'M11 6h-.82C9.07 6 8 7.2 8 8.16V10l-3 3v-3H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v3zm0 1h6c1.1 0 2 .9 2 2v5c0 1.1-.9 2-2 2h-2v3l-3-3h-1c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2z';\n break;\n\n case 'format-gallery':\n path = 'M16 4h1.96c.57 0 1.04.47 1.04 1.04v12.92c0 .57-.47 1.04-1.04 1.04H5.04C4.47 19 4 18.53 4 17.96V16H2.04C1.47 16 1 15.53 1 14.96V2.04C1 1.47 1.47 1 2.04 1h12.92c.57 0 1.04.47 1.04 1.04V4zM3 14h11V3H3v11zm5-8.5C8 4.67 7.33 4 6.5 4S5 4.67 5 5.5 5.67 7 6.5 7 8 6.33 8 5.5zm2 4.5s1-5 3-5v8H4V7c2 0 2 3 2 3s.33-2 2-2 2 2 2 2zm7 7V6h-1v8.96c0 .57-.47 1.04-1.04 1.04H6v1h11z';\n break;\n\n case 'format-image':\n path = 'M2.25 1h15.5c.69 0 1.25.56 1.25 1.25v15.5c0 .69-.56 1.25-1.25 1.25H2.25C1.56 19 1 18.44 1 17.75V2.25C1 1.56 1.56 1 2.25 1zM17 17V3H3v14h14zM10 6c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm3 5s0-6 3-6v10c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V8c2 0 3 4 3 4s1-3 3-3 3 2 3 2z';\n break;\n\n case 'format-quote':\n path = 'M8.54 12.74c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45L6.65 1.94C3.45 3.46.31 6.96.85 11.37 1.19 14.16 2.8 16 5.08 16c1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38zm9.43 0c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45l-1.63-2.28c-3.2 1.52-6.34 5.02-5.8 9.43.34 2.79 1.95 4.63 4.23 4.63 1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38z';\n break;\n\n case 'format-status':\n path = 'M10 1c7 0 9 2.91 9 6.5S17 14 10 14s-9-2.91-9-6.5S3 1 10 1zM5.5 9C6.33 9 7 8.33 7 7.5S6.33 6 5.5 6 4 6.67 4 7.5 4.67 9 5.5 9zM10 9c.83 0 1.5-.67 1.5-1.5S10.83 6 10 6s-1.5.67-1.5 1.5S9.17 9 10 9zm4.5 0c.83 0 1.5-.67 1.5-1.5S15.33 6 14.5 6 13 6.67 13 7.5 13.67 9 14.5 9zM6 14.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm-3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n break;\n\n case 'format-video':\n path = 'M2 1h16c.55 0 1 .45 1 1v16l-18-.02V2c0-.55.45-1 1-1zm4 1L4 5h1l2-3H6zm4 0H9L7 5h1zm3 0h-1l-2 3h1zm3 0h-1l-2 3h1zm1 14V6H3v10h14zM8 7l6 4-6 4V7z';\n break;\n\n case 'forms':\n path = 'M2 2h7v7H2V2zm9 0v7h7V2h-7zM5.5 4.5L7 3H4zM12 8V3h5v5h-5zM4.5 5.5L3 4v3zM8 4L6.5 5.5 8 7V4zM5.5 6.5L4 8h3zM9 18v-7H2v7h7zm9 0h-7v-7h7v7zM8 12v5H3v-5h5zm6.5 1.5L16 12h-3zM12 16l1.5-1.5L12 13v3zm3.5-1.5L17 16v-3zm-1 1L13 17h3z';\n break;\n\n case 'googleplus':\n path = 'M6.73 10h5.4c.05.29.09.57.09.95 0 3.27-2.19 5.6-5.49 5.6-3.17 0-5.73-2.57-5.73-5.73 0-3.17 2.56-5.73 5.73-5.73 1.54 0 2.84.57 3.83 1.5l-1.55 1.5c-.43-.41-1.17-.89-2.28-.89-1.96 0-3.55 1.62-3.55 3.62 0 1.99 1.59 3.61 3.55 3.61 2.26 0 3.11-1.62 3.24-2.47H6.73V10zM19 10v1.64h-1.64v1.63h-1.63v-1.63h-1.64V10h1.64V8.36h1.63V10H19z';\n break;\n\n case 'grid-view':\n path = 'M2 1h16c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1zm7.01 7.99v-6H3v6h6.01zm8 0v-6h-6v6h6zm-8 8.01v-6H3v6h6.01zm8 0v-6h-6v6h6z';\n break;\n\n case 'groups':\n path = 'M8.03 4.46c-.29 1.28.55 3.46 1.97 3.46 1.41 0 2.25-2.18 1.96-3.46-.22-.98-1.08-1.63-1.96-1.63-.89 0-1.74.65-1.97 1.63zm-4.13.9c-.25 1.08.47 2.93 1.67 2.93s1.92-1.85 1.67-2.93c-.19-.83-.92-1.39-1.67-1.39s-1.48.56-1.67 1.39zm8.86 0c-.25 1.08.47 2.93 1.66 2.93 1.2 0 1.92-1.85 1.67-2.93-.19-.83-.92-1.39-1.67-1.39-.74 0-1.47.56-1.66 1.39zm-.59 11.43l1.25-4.3C14.2 10 12.71 8.47 10 8.47c-2.72 0-4.21 1.53-3.44 4.02l1.26 4.3C8.05 17.51 9 18 10 18c.98 0 1.94-.49 2.17-1.21zm-6.1-7.63c-.49.67-.96 1.83-.42 3.59l1.12 3.79c-.34.2-.77.31-1.2.31-.85 0-1.65-.41-1.85-1.03l-1.07-3.65c-.65-2.11.61-3.4 2.92-3.4.27 0 .54.02.79.06-.1.1-.2.22-.29.33zm8.35-.39c2.31 0 3.58 1.29 2.92 3.4l-1.07 3.65c-.2.62-1 1.03-1.85 1.03-.43 0-.86-.11-1.2-.31l1.11-3.77c.55-1.78.08-2.94-.42-3.61-.08-.11-.18-.23-.28-.33.25-.04.51-.06.79-.06z';\n break;\n\n case 'hammer':\n path = 'M17.7 6.32l1.41 1.42-3.47 3.41-1.42-1.42.84-.82c-.32-.76-.81-1.57-1.51-2.31l-4.61 6.59-5.26 4.7c-.39.39-1.02.39-1.42 0l-1.2-1.21c-.39-.39-.39-1.02 0-1.41l10.97-9.92c-1.37-.86-3.21-1.46-5.67-1.48 2.7-.82 4.95-.93 6.58-.3 1.7.66 2.82 2.2 3.91 3.58z';\n break;\n\n case 'heading':\n path = 'M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4';\n break;\n\n case 'heart':\n path = 'M10 17.12c3.33-1.4 5.74-3.79 7.04-6.21 1.28-2.41 1.46-4.81.32-6.25-1.03-1.29-2.37-1.78-3.73-1.74s-2.68.63-3.63 1.46c-.95-.83-2.27-1.42-3.63-1.46s-2.7.45-3.73 1.74c-1.14 1.44-.96 3.84.34 6.25 1.28 2.42 3.69 4.81 7.02 6.21z';\n break;\n\n case 'hidden':\n path = 'M17.2 3.3l.16.17c.39.39.39 1.02 0 1.41L4.55 17.7c-.39.39-1.03.39-1.41 0l-.17-.17c-.39-.39-.39-1.02 0-1.41l1.59-1.6c-1.57-1-2.76-2.3-3.56-3.93.81-1.65 2.03-2.98 3.64-3.99S8.04 5.09 10 5.09c1.2 0 2.33.21 3.4.6l2.38-2.39c.39-.39 1.03-.39 1.42 0zm-7.09 4.01c-.23.25-.34.54-.34.88 0 .31.12.58.31.81l1.8-1.79c-.13-.12-.28-.21-.45-.26-.11-.01-.28-.03-.49-.04-.33.03-.6.16-.83.4zM2.4 10.59c.69 1.23 1.71 2.25 3.05 3.05l1.28-1.28c-.51-.69-.77-1.47-.77-2.36 0-1.06.36-1.98 1.09-2.76-1.04.27-1.96.7-2.76 1.26-.8.58-1.43 1.27-1.89 2.09zm13.22-2.13l.96-.96c1.02.86 1.83 1.89 2.42 3.09-.81 1.65-2.03 2.98-3.64 3.99s-3.4 1.51-5.36 1.51c-.63 0-1.24-.07-1.83-.18l1.07-1.07c.25.02.5.05.76.05 1.63 0 3.13-.4 4.5-1.21s2.4-1.84 3.1-3.09c-.46-.82-1.09-1.51-1.89-2.09-.03-.01-.06-.03-.09-.04zm-5.58 5.58l4-4c-.01 1.1-.41 2.04-1.18 2.81-.78.78-1.72 1.18-2.82 1.19z';\n break;\n\n case 'html':\n path = 'M4 16v-2H2v2H1v-5h1v2h2v-2h1v5H4zM7 16v-4H5.6v-1h3.7v1H8v4H7zM10 16v-5h1l1.4 3.4h.1L14 11h1v5h-1v-3.1h-.1l-1.1 2.5h-.6l-1.1-2.5H11V16h-1zM19 16h-3v-5h1v4h2v1zM9.4 4.2L7.1 6.5l2.3 2.3-.6 1.2-3.5-3.5L8.8 3l.6 1.2zm1.2 4.6l2.3-2.3-2.3-2.3.6-1.2 3.5 3.5-3.5 3.5-.6-1.2z';\n break;\n\n case 'id-alt':\n path = 'M18 18H2V2h16v16zM8.05 7.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L8.95 6c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C8.23 4.1 7.95 4 7.6 4c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM16 5V4h-5v1h5zm0 2V6h-5v1h5zM7.62 8.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM16 9V8h-3v1h3zm0 2v-1h-3v1h3zm0 3v-1H4v1h12zm0 2v-1H4v1h12z';\n break;\n\n case 'id':\n path = 'M18 16H2V4h16v12zM7.05 8.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L7.95 7c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C7.23 5.1 6.95 5 6.6 5c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM17 9V5h-5v4h5zm-10.38.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM17 11v-1h-5v1h5zm0 2v-1h-5v1h5zm0 2v-1H3v1h14z';\n break;\n\n case 'image-crop':\n path = 'M19 12v3h-4v4h-3v-4H4V7H0V4h4V0h3v4h7l3-3 1 1-3 3v7h4zm-8-5H7v4zm-3 5h4V8z';\n break;\n\n case 'image-filter':\n path = 'M14 5.87c0-2.2-1.79-4-4-4s-4 1.8-4 4c0 2.21 1.79 4 4 4s4-1.79 4-4zM3.24 10.66c-1.92 1.1-2.57 3.55-1.47 5.46 1.11 1.92 3.55 2.57 5.47 1.47 1.91-1.11 2.57-3.55 1.46-5.47-1.1-1.91-3.55-2.56-5.46-1.46zm9.52 6.93c1.92 1.1 4.36.45 5.47-1.46 1.1-1.92.45-4.36-1.47-5.47-1.91-1.1-4.36-.45-5.46 1.46-1.11 1.92-.45 4.36 1.46 5.47z';\n break;\n\n case 'image-flip-horizontal':\n path = 'M19 3v14h-8v3H9v-3H1V3h8V0h2v3h8zm-8.5 14V3h-1v14h1zM7 6.5L3 10l4 3.5v-7zM17 10l-4-3.5v7z';\n break;\n\n case 'image-flip-vertical':\n path = 'M20 9v2h-3v8H3v-8H0V9h3V1h14v8h3zM6.5 7h7L10 3zM17 9.5H3v1h14v-1zM13.5 13h-7l3.5 4z';\n break;\n\n case 'image-rotate-left':\n path = 'M7 5H5.05c0-1.74.85-2.9 2.95-2.9V0C4.85 0 2.96 2.11 2.96 5H1.18L3.8 8.39zm13-4v14h-5v5H1V10h9V1h10zm-2 2h-6v7h3v3h3V3zm-5 9H3v6h10v-6z';\n break;\n\n case 'image-rotate-right':\n path = 'M15.95 5H14l3.2 3.39L19.82 5h-1.78c0-2.89-1.89-5-5.04-5v2.1c2.1 0 2.95 1.16 2.95 2.9zM1 1h10v9h9v10H6v-5H1V1zm2 2v10h3v-3h3V3H3zm5 9v6h10v-6H8z';\n break;\n\n case 'image-rotate':\n path = 'M10.25 1.02c5.1 0 8.75 4.04 8.75 9s-3.65 9-8.75 9c-3.2 0-6.02-1.59-7.68-3.99l2.59-1.52c1.1 1.5 2.86 2.51 4.84 2.51 3.3 0 6-2.79 6-6s-2.7-6-6-6c-1.97 0-3.72 1-4.82 2.49L7 8.02l-6 2v-7L2.89 4.6c1.69-2.17 4.36-3.58 7.36-3.58z';\n break;\n\n case 'images-alt':\n path = 'M4 15v-3H2V2h12v3h2v3h2v10H6v-3H4zm7-12c-1.1 0-2 .9-2 2h4c0-1.1-.89-2-2-2zm-7 8V6H3v5h1zm7-3h4c0-1.1-.89-2-2-2-1.1 0-2 .9-2 2zm-5 6V9H5v5h1zm9-1c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2s-2 .9-2 2c0 1.11.9 2 2 2zm2 4v-2c-5 0-5-3-10-3v5h10z';\n break;\n\n case 'images-alt2':\n path = 'M5 3h14v11h-2v2h-2v2H1V7h2V5h2V3zm13 10V4H6v9h12zm-3-4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm1 6v-1H5V6H4v9h12zM7 6l10 6H7V6zm7 11v-1H3V8H2v9h12z';\n break;\n\n case 'index-card':\n path = 'M1 3.17V18h18V4H8v-.83c0-.32-.12-.6-.35-.83S7.14 2 6.82 2H2.18c-.33 0-.6.11-.83.34-.24.23-.35.51-.35.83zM10 6v2H3V6h7zm7 0v10h-5V6h5zm-7 4v2H3v-2h7zm0 4v2H3v-2h7z';\n break;\n\n case 'info-outline':\n path = 'M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z';\n break;\n\n case 'info':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1 4c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zm0 9V9H9v6h2z';\n break;\n\n case 'insert-after':\n path = 'M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z';\n break;\n\n case 'insert-before':\n path = 'M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z';\n break;\n\n case 'insert':\n path = 'M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z';\n break;\n\n case 'instagram':\n path = 'M12.67 10A2.67 2.67 0 1 0 10 12.67 2.68 2.68 0 0 0 12.67 10zm1.43 0A4.1 4.1 0 1 1 10 5.9a4.09 4.09 0 0 1 4.1 4.1zm1.13-4.27a1 1 0 1 1-1-1 1 1 0 0 1 1 1zM10 3.44c-1.17 0-3.67-.1-4.72.32a2.67 2.67 0 0 0-1.52 1.52c-.42 1-.32 3.55-.32 4.72s-.1 3.67.32 4.72a2.74 2.74 0 0 0 1.52 1.52c1 .42 3.55.32 4.72.32s3.67.1 4.72-.32a2.83 2.83 0 0 0 1.52-1.52c.42-1.05.32-3.55.32-4.72s.1-3.67-.32-4.72a2.74 2.74 0 0 0-1.52-1.52c-1.05-.42-3.55-.32-4.72-.32zM18 10c0 1.1 0 2.2-.05 3.3a4.84 4.84 0 0 1-1.29 3.36A4.8 4.8 0 0 1 13.3 18H6.7a4.84 4.84 0 0 1-3.36-1.29 4.84 4.84 0 0 1-1.29-3.41C2 12.2 2 11.1 2 10V6.7a4.84 4.84 0 0 1 1.34-3.36A4.8 4.8 0 0 1 6.7 2.05C7.8 2 8.9 2 10 2h3.3a4.84 4.84 0 0 1 3.36 1.29A4.8 4.8 0 0 1 18 6.7V10z';\n break;\n\n case 'keyboard-hide':\n path = 'M18,0 L2,0 C0.9,0 0.01,0.9 0.01,2 L0,12 C0,13.1 0.9,14 2,14 L18,14 C19.1,14 20,13.1 20,12 L20,2 C20,0.9 19.1,0 18,0 Z M18,12 L2,12 L2,2 L18,2 L18,12 Z M9,3 L11,3 L11,5 L9,5 L9,3 Z M9,6 L11,6 L11,8 L9,8 L9,6 Z M6,3 L8,3 L8,5 L6,5 L6,3 Z M6,6 L8,6 L8,8 L6,8 L6,6 Z M3,6 L5,6 L5,8 L3,8 L3,6 Z M3,3 L5,3 L5,5 L3,5 L3,3 Z M6,9 L14,9 L14,11 L6,11 L6,9 Z M12,6 L14,6 L14,8 L12,8 L12,6 Z M12,3 L14,3 L14,5 L12,5 L12,3 Z M15,6 L17,6 L17,8 L15,8 L15,6 Z M15,3 L17,3 L17,5 L15,5 L15,3 Z M10,20 L14,16 L6,16 L10,20 Z';\n break;\n\n case 'laptop':\n path = 'M3 3h14c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1zm13 2H4v8h12V5zm-3 1H5v4zm6 11v-1H1v1c0 .6.5 1 1.1 1h15.8c.6 0 1.1-.4 1.1-1z';\n break;\n\n case 'layout':\n path = 'M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z';\n break;\n\n case 'leftright':\n path = 'M3 10.03L9 6v8zM11 6l6 4.03L11 14V6z';\n break;\n\n case 'lightbulb':\n path = 'M10 1c3.11 0 5.63 2.52 5.63 5.62 0 1.84-2.03 4.58-2.03 4.58-.33.44-.6 1.25-.6 1.8v1c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-1c0-.55-.27-1.36-.6-1.8 0 0-2.02-2.74-2.02-4.58C4.38 3.52 6.89 1 10 1zM7 16.87V16h6v.87c0 .62-.13 1.13-.75 1.13H12c0 .62-.4 1-1.02 1h-2c-.61 0-.98-.38-.98-1h-.25c-.62 0-.75-.51-.75-1.13z';\n break;\n\n case 'list-view':\n path = 'M2 19h16c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V3h11zM4 7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V7h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11zM4 15c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11z';\n break;\n\n case 'location-alt':\n path = 'M13 13.14l1.17-5.94c.79-.43 1.33-1.25 1.33-2.2 0-1.38-1.12-2.5-2.5-2.5S10.5 3.62 10.5 5c0 .95.54 1.77 1.33 2.2zm0-9.64c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm1.72 4.8L18 6.97v9L13.12 18 7 15.97l-5 2v-9l5-2 4.27 1.41 1.73 7.3z';\n break;\n\n case 'location':\n path = 'M10 2C6.69 2 4 4.69 4 8c0 2.02 1.17 3.71 2.53 4.89.43.37 1.18.96 1.85 1.83.74.97 1.41 2.01 1.62 2.71.21-.7.88-1.74 1.62-2.71.67-.87 1.42-1.46 1.85-1.83C14.83 11.71 16 10.02 16 8c0-3.31-2.69-6-6-6zm0 2.56c1.9 0 3.44 1.54 3.44 3.44S11.9 11.44 10 11.44 6.56 9.9 6.56 8 8.1 4.56 10 4.56z';\n break;\n\n case 'lock':\n path = 'M14 9h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h1V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3zm-2 0V6c0-1.1-.9-2-2-2s-2 .9-2 2v3h4zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n break;\n\n case 'marker':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z';\n break;\n\n case 'media-archive':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zM8 3.5v2l1.8-1zM11 5L9.2 6 11 7V5zM8 6.5v2l1.8-1zM11 8L9.2 9l1.8 1V8zM8 9.5v2l1.8-1zm3 1.5l-1.8 1 1.8 1v-2zm-1.5 6c.83 0 1.62-.72 1.5-1.63-.05-.38-.49-1.61-.49-1.61l-1.99-1.1s-.45 1.95-.52 2.71c-.07.77.67 1.63 1.5 1.63zm0-2.39c.42 0 .76.34.76.76 0 .43-.34.77-.76.77s-.76-.34-.76-.77c0-.42.34-.76.76-.76z';\n break;\n\n case 'media-audio':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm1 7.26V8.09c0-.11-.04-.21-.12-.29-.07-.08-.16-.11-.27-.1 0 0-3.97.71-4.25.78C8.07 8.54 8 8.8 8 9v3.37c-.2-.09-.42-.07-.6-.07-.38 0-.7.13-.96.39-.26.27-.4.58-.4.96 0 .37.14.69.4.95.26.27.58.4.96.4.34 0 .7-.04.96-.26.26-.23.64-.65.64-1.12V10.3l3-.6V12c-.67-.2-1.17.04-1.44.31-.26.26-.39.58-.39.95 0 .38.13.69.39.96.27.26.71.39 1.08.39.38 0 .7-.13.96-.39.26-.27.4-.58.4-.96z';\n break;\n\n case 'media-code':\n path = 'M12 2l4 4v12H4V2h8zM9 13l-2-2 2-2-1-1-3 3 3 3zm3 1l3-3-3-3-1 1 2 2-2 2z';\n break;\n\n case 'media-default':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3z';\n break;\n\n case 'media-document':\n path = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zM5 9v1h4V9H5zm10 3V9h-5v3h5zM5 11v1h4v-1H5zm10 3v-1H5v1h10zm-3 2v-1H5v1h7z';\n break;\n\n case 'media-interactive':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm2 8V8H6v6h3l-1 2h1l1-2 1 2h1l-1-2h3zm-6-3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-2v2h-3V9h3zm0 3v1H7v-1h6z';\n break;\n\n case 'media-spreadsheet':\n path = 'M12 2l4 4v12H4V2h8zm-1 4V3H5v3h6zM8 8V7H5v1h3zm3 0V7H9v1h2zm4 0V7h-3v1h3zm-7 2V9H5v1h3zm3 0V9H9v1h2zm4 0V9h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2z';\n break;\n\n case 'media-text':\n path = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zm0 2V9H5v1h10zm0 2v-1H5v1h10zm-4 2v-1H5v1h6z';\n break;\n\n case 'media-video':\n path = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm-1 8v-3c0-.27-.1-.51-.29-.71-.2-.19-.44-.29-.71-.29H7c-.27 0-.51.1-.71.29-.19.2-.29.44-.29.71v3c0 .27.1.51.29.71.2.19.44.29.71.29h3c.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71zm3 1v-5l-2 2v1z';\n break;\n\n case 'megaphone':\n path = 'M18.15 5.94c.46 1.62.38 3.22-.02 4.48-.42 1.28-1.26 2.18-2.3 2.48-.16.06-.26.06-.4.06-.06.02-.12.02-.18.02-.06.02-.14.02-.22.02h-6.8l2.22 5.5c.02.14-.06.26-.14.34-.08.1-.24.16-.34.16H6.95c-.1 0-.26-.06-.34-.16-.08-.08-.16-.2-.14-.34l-1-5.5H4.25l-.02-.02c-.5.06-1.08-.18-1.54-.62s-.88-1.08-1.06-1.88c-.24-.8-.2-1.56-.02-2.2.18-.62.58-1.08 1.06-1.3l.02-.02 9-5.4c.1-.06.18-.1.24-.16.06-.04.14-.08.24-.12.16-.08.28-.12.5-.18 1.04-.3 2.24.1 3.22.98s1.84 2.24 2.26 3.86zm-2.58 5.98h-.02c.4-.1.74-.34 1.04-.7.58-.7.86-1.76.86-3.04 0-.64-.1-1.3-.28-1.98-.34-1.36-1.02-2.5-1.78-3.24s-1.68-1.1-2.46-.88c-.82.22-1.4.96-1.7 2-.32 1.04-.28 2.36.06 3.72.38 1.36 1 2.5 1.8 3.24.78.74 1.62 1.1 2.48.88zm-2.54-7.08c.22-.04.42-.02.62.04.38.16.76.48 1.02 1s.42 1.2.42 1.78c0 .3-.04.56-.12.8-.18.48-.44.84-.86.94-.34.1-.8-.06-1.14-.4s-.64-.86-.78-1.5c-.18-.62-.12-1.24.02-1.72s.48-.84.82-.94z';\n break;\n\n case 'menu-alt':\n path = 'M3 4h14v2H3V4zm0 5h14v2H3V9zm0 5h14v2H3v-2z';\n break;\n\n case 'menu':\n path = 'M17 7V5H3v2h14zm0 4V9H3v2h14zm0 4v-2H3v2h14z';\n break;\n\n case 'microphone':\n path = 'M12 9V3c0-1.1-.89-2-2-2-1.12 0-2 .94-2 2v6c0 1.1.9 2 2 2 1.13 0 2-.94 2-2zm4 0c0 2.97-2.16 5.43-5 5.91V17h2c.56 0 1 .45 1 1s-.44 1-1 1H7c-.55 0-1-.45-1-1s.45-1 1-1h2v-2.09C6.17 14.43 4 11.97 4 9c0-.55.45-1 1-1 .56 0 1 .45 1 1 0 2.21 1.8 4 4 4 2.21 0 4-1.79 4-4 0-.55.45-1 1-1 .56 0 1 .45 1 1z';\n break;\n\n case 'migrate':\n path = 'M4 6h6V4H2v12.01h8V14H4V6zm2 2h6V5l6 5-6 5v-3H6V8z';\n break;\n\n case 'minus':\n path = 'M4 9h12v2H4V9z';\n break;\n\n case 'money':\n path = 'M0 3h20v12h-.75c0-1.79-1.46-3.25-3.25-3.25-1.31 0-2.42.79-2.94 1.91-.25-.1-.52-.16-.81-.16-.98 0-1.8.63-2.11 1.5H0V3zm8.37 3.11c-.06.15-.1.31-.11.47s-.01.33.01.5l.02.08c.01.06.02.14.05.23.02.1.06.2.1.31.03.11.09.22.15.33.07.12.15.22.23.31s.18.17.31.23c.12.06.25.09.4.09.14 0 .27-.03.39-.09s.22-.14.3-.22c.09-.09.16-.2.22-.32.07-.12.12-.23.16-.33s.07-.2.09-.31c.03-.11.04-.18.05-.22s.01-.07.01-.09c.05-.29.03-.56-.04-.82s-.21-.48-.41-.66c-.21-.18-.47-.27-.79-.27-.19 0-.36.03-.52.1-.15.07-.28.16-.38.28-.09.11-.17.25-.24.4zm4.48 6.04v-1.14c0-.33-.1-.66-.29-.98s-.45-.59-.77-.79c-.32-.21-.66-.31-1.02-.31l-1.24.84-1.28-.82c-.37 0-.72.1-1.04.3-.31.2-.56.46-.74.77-.18.32-.27.65-.27.99v1.14l.18.05c.12.04.29.08.51.14.23.05.47.1.74.15.26.05.57.09.91.13.34.03.67.05.99.05.3 0 .63-.02.98-.05.34-.04.64-.08.89-.13.25-.04.5-.1.76-.16l.5-.12c.08-.02.14-.04.19-.06zm3.15.1c1.52 0 2.75 1.23 2.75 2.75s-1.23 2.75-2.75 2.75c-.73 0-1.38-.3-1.87-.77.23-.35.37-.78.37-1.23 0-.77-.39-1.46-.99-1.86.43-.96 1.37-1.64 2.49-1.64zm-5.5 3.5c0-.96.79-1.75 1.75-1.75s1.75.79 1.75 1.75-.79 1.75-1.75 1.75-1.75-.79-1.75-1.75z';\n break;\n\n case 'move':\n path = 'M19 10l-4 4v-3h-4v4h3l-4 4-4-4h3v-4H5v3l-4-4 4-4v3h4V5H6l4-4 4 4h-3v4h4V6z';\n break;\n\n case 'nametag':\n path = 'M12 5V2c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-2-3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 13V7c0-1.1-.9-2-2-2h-3v.33C13 6.25 12.25 7 11.33 7H8.67C7.75 7 7 6.25 7 5.33V5H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-1-6v6H3V9h14zm-8 2c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm3 0c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm-5.96 1.21c.92.48 2.34.79 3.96.79s3.04-.31 3.96-.79c-.21 1-1.89 1.79-3.96 1.79s-3.75-.79-3.96-1.79z';\n break;\n\n case 'networking':\n path = 'M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z';\n break;\n\n case 'no-alt':\n path = 'M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z';\n break;\n\n case 'no':\n path = 'M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z';\n break;\n\n case 'palmtree':\n path = 'M8.58 2.39c.32 0 .59.05.81.14 1.25.55 1.69 2.24 1.7 3.97.59-.82 2.15-2.29 3.41-2.29s2.94.73 3.53 3.55c-1.13-.65-2.42-.94-3.65-.94-1.26 0-2.45.32-3.29.89.4-.11.86-.16 1.33-.16 1.39 0 2.9.45 3.4 1.31.68 1.16.47 3.38-.76 4.14-.14-2.1-1.69-4.12-3.47-4.12-.44 0-.88.12-1.33.38C8 10.62 7 14.56 7 19H2c0-5.53 4.21-9.65 7.68-10.79-.56-.09-1.17-.15-1.82-.15C6.1 8.06 4.05 8.5 2 10c.76-2.96 2.78-4.1 4.69-4.1 1.25 0 2.45.5 3.2 1.29-.66-2.24-2.49-2.86-4.08-2.86-.8 0-1.55.16-2.05.35.91-1.29 3.31-2.29 4.82-2.29zM13 11.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5 1.5-.67 1.5-1.5z';\n break;\n\n case 'paperclip':\n path = 'M17.05 2.7c1.93 1.94 1.93 5.13 0 7.07L10 16.84c-1.88 1.89-4.91 1.93-6.86.15-.06-.05-.13-.09-.19-.15-1.93-1.94-1.93-5.12 0-7.07l4.94-4.95c.91-.92 2.28-1.1 3.39-.58.3.15.59.33.83.58 1.17 1.17 1.17 3.07 0 4.24l-4.93 4.95c-.39.39-1.02.39-1.41 0s-.39-1.02 0-1.41l4.93-4.95c.39-.39.39-1.02 0-1.41-.38-.39-1.02-.39-1.4 0l-4.94 4.95c-.91.92-1.1 2.29-.57 3.4.14.3.32.59.57.84s.54.43.84.57c1.11.53 2.47.35 3.39-.57l7.05-7.07c1.16-1.17 1.16-3.08 0-4.25-.56-.55-1.28-.83-2-.86-.08.01-.16.01-.24 0-.22-.03-.43-.11-.6-.27-.39-.4-.38-1.05.02-1.45.16-.16.36-.24.56-.28.14-.02.27-.01.4.02 1.19.06 2.36.52 3.27 1.43z';\n break;\n\n case 'performance':\n path = 'M3.76 17.01h12.48C17.34 15.63 18 13.9 18 12c0-4.41-3.58-8-8-8s-8 3.59-8 8c0 1.9.66 3.63 1.76 5.01zM9 6c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zM4 8c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm4.52 3.4c.84-.83 6.51-3.5 6.51-3.5s-2.66 5.68-3.49 6.51c-.84.84-2.18.84-3.02 0-.83-.83-.83-2.18 0-3.01zM3 13c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1z';\n break;\n\n case 'phone':\n path = 'M12.06 6l-.21-.2c-.52-.54-.43-.79.08-1.3l2.72-2.75c.81-.82.96-1.21 1.73-.48l.21.2zm.53.45l4.4-4.4c.7.94 2.34 3.47 1.53 5.34-.73 1.67-1.09 1.75-2 3-1.85 2.11-4.18 4.37-6 6.07-1.26.91-1.31 1.33-3 2-1.8.71-4.4-.89-5.38-1.56l4.4-4.4 1.18 1.62c.34.46 1.2-.06 1.8-.66 1.04-1.05 3.18-3.18 4-4.07.59-.59 1.12-1.45.66-1.8zM1.57 16.5l-.21-.21c-.68-.74-.29-.9.52-1.7l2.74-2.72c.51-.49.75-.6 1.27-.11l.2.21z';\n break;\n\n case 'playlist-audio':\n path = 'M17 3V1H2v2h15zm0 4V5H2v2h15zm-7 4V9H2v2h8zm7.45-1.96l-6 1.12c-.16.02-.19.03-.29.13-.11.09-.16.22-.16.37v4.59c-.29-.13-.66-.14-.93-.14-.54 0-1 .19-1.38.57s-.56.84-.56 1.38c0 .53.18.99.56 1.37s.84.57 1.38.57c.49 0 .92-.16 1.29-.48s.59-.71.65-1.19v-4.95L17 11.27v3.48c-.29-.13-.56-.19-.83-.19-.54 0-1.11.19-1.49.57-.38.37-.57.83-.57 1.37s.19.99.57 1.37.84.57 1.38.57c.53 0 .99-.19 1.37-.57s.57-.83.57-1.37V9.6c0-.16-.05-.3-.16-.41-.11-.12-.24-.17-.39-.15zM8 15v-2H2v2h6zm-2 4v-2H2v2h4z';\n break;\n\n case 'playlist-video':\n path = 'M17 3V1H2v2h15zm0 4V5H2v2h15zM6 11V9H2v2h4zm2-2h9c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm3 7l3.33-2L11 12v4zm-5-1v-2H2v2h4zm0 4v-2H2v2h4z';\n break;\n\n case 'plus-alt':\n path = 'M15.8 4.2c3.2 3.21 3.2 8.39 0 11.6-3.21 3.2-8.39 3.2-11.6 0C1 12.59 1 7.41 4.2 4.2 7.41 1 12.59 1 15.8 4.2zm-4.3 11.3v-4h4v-3h-4v-4h-3v4h-4v3h4v4h3z';\n break;\n\n case 'plus-light':\n path = 'M17 9v2h-6v6H9v-6H3V9h6V3h2v6h6z';\n break;\n\n case 'plus':\n path = 'M17 7v3h-5v5H9v-5H4V7h5V2h3v5h5z';\n break;\n\n case 'portfolio':\n path = 'M4 5H.78c-.37 0-.74.32-.69.84l1.56 9.99S3.5 8.47 3.86 6.7c.11-.53.61-.7.98-.7H10s-.7-2.08-.77-2.31C9.11 3.25 8.89 3 8.45 3H5.14c-.36 0-.7.23-.8.64C4.25 4.04 4 5 4 5zm4.88 0h-4s.42-1 .87-1h2.13c.48 0 1 1 1 1zM2.67 16.25c-.31.47-.76.75-1.26.75h15.73c.54 0 .92-.31 1.03-.83.44-2.19 1.68-8.44 1.68-8.44.07-.5-.3-.73-.62-.73H16V5.53c0-.16-.26-.53-.66-.53h-3.76c-.52 0-.87.58-.87.58L10 7H5.59c-.32 0-.63.19-.69.5 0 0-1.59 6.7-1.72 7.33-.07.37-.22.99-.51 1.42zM15.38 7H11s.58-1 1.13-1h2.29c.71 0 .96 1 .96 1z';\n break;\n\n case 'post-status':\n path = 'M14 6c0 1.86-1.28 3.41-3 3.86V16c0 1-2 2-2 2V9.86c-1.72-.45-3-2-3-3.86 0-2.21 1.79-4 4-4s4 1.79 4 4zM8 5c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z';\n break;\n\n case 'pressthis':\n path = 'M14.76 1C16.55 1 18 2.46 18 4.25c0 1.78-1.45 3.24-3.24 3.24-.23 0-.47-.03-.7-.08L13 8.47V19H2V4h9.54c.13-2 1.52-3 3.22-3zm0 5.49C16 6.49 17 5.48 17 4.25 17 3.01 16 2 14.76 2s-2.24 1.01-2.24 2.25c0 .37.1.72.27 1.03L9.57 8.5c-.28.28-1.77 2.22-1.5 2.49.02.03.06.04.1.04.49 0 2.14-1.28 2.39-1.53l3.24-3.24c.29.14.61.23.96.23z';\n break;\n\n case 'products':\n path = 'M17 8h1v11H2V8h1V6c0-2.76 2.24-5 5-5 .71 0 1.39.15 2 .42.61-.27 1.29-.42 2-.42 2.76 0 5 2.24 5 5v2zM5 6v2h2V6c0-1.13.39-2.16 1.02-3H8C6.35 3 5 4.35 5 6zm10 2V6c0-1.65-1.35-3-3-3h-.02c.63.84 1.02 1.87 1.02 3v2h2zm-5-4.22C9.39 4.33 9 5.12 9 6v2h2V6c0-.88-.39-1.67-1-2.22z';\n break;\n\n case 'randomize':\n path = 'M18 6.01L14 9V7h-4l-5 8H2v-2h2l5-8h5V3zM2 5h3l1.15 2.17-1.12 1.8L4 7H2V5zm16 9.01L14 17v-2H9l-1.15-2.17 1.12-1.8L10 13h4v-2z';\n break;\n\n case 'redo':\n path = 'M8 5h5V2l6 4-6 4V7H8c-2.2 0-4 1.8-4 4s1.8 4 4 4h5v2H8c-3.3 0-6-2.7-6-6s2.7-6 6-6z';\n break;\n\n case 'rest-api':\n path = 'M3 4h2v12H3z';\n break;\n\n case 'rss':\n path = 'M14.92 18H18C18 9.32 10.82 2.25 2 2.25v3.02c7.12 0 12.92 5.71 12.92 12.73zm-5.44 0h3.08C12.56 12.27 7.82 7.6 2 7.6v3.02c2 0 3.87.77 5.29 2.16C8.7 14.17 9.48 16.03 9.48 18zm-5.35-.02c1.17 0 2.13-.93 2.13-2.09 0-1.15-.96-2.09-2.13-2.09-1.18 0-2.13.94-2.13 2.09 0 1.16.95 2.09 2.13 2.09z';\n break;\n\n case 'saved':\n path = 'M15.3 5.3l-6.8 6.8-2.8-2.8-1.4 1.4 4.2 4.2 8.2-8.2';\n break;\n\n case 'schedule':\n path = 'M2 2h16v4H2V2zm0 10V8h4v4H2zm6-2V8h4v2H8zm6 3V8h4v5h-4zm-6 5v-6h4v6H8zm-6 0v-4h4v4H2zm12 0v-3h4v3h-4z';\n break;\n\n case 'screenoptions':\n path = 'M9 9V3H3v6h6zm8 0V3h-6v6h6zm-8 8v-6H3v6h6zm8 0v-6h-6v6h6z';\n break;\n\n case 'search':\n path = 'M12.14 4.18c1.87 1.87 2.11 4.75.72 6.89.12.1.22.21.36.31.2.16.47.36.81.59.34.24.56.39.66.47.42.31.73.57.94.78.32.32.6.65.84 1 .25.35.44.69.59 1.04.14.35.21.68.18 1-.02.32-.14.59-.36.81s-.49.34-.81.36c-.31.02-.65-.04-.99-.19-.35-.14-.7-.34-1.04-.59-.35-.24-.68-.52-1-.84-.21-.21-.47-.52-.77-.93-.1-.13-.25-.35-.47-.66-.22-.32-.4-.57-.56-.78-.16-.2-.29-.35-.44-.5-2.07 1.09-4.69.76-6.44-.98-2.14-2.15-2.14-5.64 0-7.78 2.15-2.15 5.63-2.15 7.78 0zm-1.41 6.36c1.36-1.37 1.36-3.58 0-4.95-1.37-1.37-3.59-1.37-4.95 0-1.37 1.37-1.37 3.58 0 4.95 1.36 1.37 3.58 1.37 4.95 0z';\n break;\n\n case 'share-alt':\n path = 'M16.22 5.8c.47.69.29 1.62-.4 2.08-.69.47-1.62.29-2.08-.4-.16-.24-.35-.46-.55-.67-.21-.2-.43-.39-.67-.55s-.5-.3-.77-.41c-.27-.12-.55-.21-.84-.26-.59-.13-1.23-.13-1.82-.01-.29.06-.57.15-.84.27-.27.11-.53.25-.77.41s-.46.35-.66.55c-.21.21-.4.43-.56.67s-.3.5-.41.76c-.01.02-.01.03-.01.04-.1.24-.17.48-.23.72H1V6h2.66c.04-.07.07-.13.12-.2.27-.4.57-.77.91-1.11s.72-.65 1.11-.91c.4-.27.83-.51 1.28-.7s.93-.34 1.41-.43c.99-.21 2.03-.21 3.02 0 .48.09.96.24 1.41.43s.88.43 1.28.7c.39.26.77.57 1.11.91s.64.71.91 1.11zM12.5 10c0-1.38-1.12-2.5-2.5-2.5S7.5 8.62 7.5 10s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5zm-8.72 4.2c-.47-.69-.29-1.62.4-2.09.69-.46 1.62-.28 2.08.41.16.24.35.46.55.67.21.2.43.39.67.55s.5.3.77.41c.27.12.55.2.84.26.59.13 1.23.12 1.82 0 .29-.06.57-.14.84-.26.27-.11.53-.25.77-.41s.46-.35.66-.55c.21-.21.4-.44.56-.67.16-.25.3-.5.41-.76.01-.02.01-.03.01-.04.1-.24.17-.48.23-.72H19v3h-2.66c-.04.06-.07.13-.12.2-.27.4-.57.77-.91 1.11s-.72.65-1.11.91c-.4.27-.83.51-1.28.7s-.93.33-1.41.43c-.99.21-2.03.21-3.02 0-.48-.1-.96-.24-1.41-.43s-.88-.43-1.28-.7c-.39-.26-.77-.57-1.11-.91s-.64-.71-.91-1.11z';\n break;\n\n case 'share-alt2':\n path = 'M18 8l-5 4V9.01c-2.58.06-4.88.45-7 2.99.29-3.57 2.66-5.66 7-5.94V3zM4 14h11v-2l2-1.6V16H2V5h9.43c-1.83.32-3.31 1-4.41 2H4v7z';\n break;\n\n case 'share':\n path = 'M14.5 12c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.24.03-.46.09-.69l-4.38-2.3c-.55.61-1.33.99-2.21.99-1.66 0-3-1.34-3-3s1.34-3 3-3c.88 0 1.66.39 2.21.99l4.38-2.3c-.06-.23-.09-.45-.09-.69 0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-.88 0-1.66-.39-2.21-.99l-4.38 2.3c.06.23.09.45.09.69s-.03.46-.09.69l4.38 2.3c.55-.61 1.33-.99 2.21-.99z';\n break;\n\n case 'shield-alt':\n path = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2z';\n break;\n\n case 'shield':\n path = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2zm0 8h5s1-1 1-5c0 0-5-1-6-2v7H5c1 4 5 7 5 7v-7z';\n break;\n\n case 'shortcode':\n path = 'M6 14H4V6h2V4H2v12h4M7.1 17h2.1l3.7-14h-2.1M14 4v2h2v8h-2v2h4V4';\n break;\n\n case 'slides':\n path = 'M5 14V6h10v8H5zm-3-1V7h2v6H2zm4-6v6h8V7H6zm10 0h2v6h-2V7zm-3 2V8H7v1h6zm0 3v-2H7v2h6z';\n break;\n\n case 'smartphone':\n path = 'M6 2h8c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm7 12V4H7v10h6zM8 5h4l-4 5V5z';\n break;\n\n case 'smiley':\n path = 'M7 5.2c1.1 0 2 .89 2 2 0 .37-.11.71-.28 1C8.72 8.2 8 8 7 8s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.9-2 2-2zm6 0c1.11 0 2 .89 2 2 0 .37-.11.71-.28 1 0 0-.72-.2-1.72-.2s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.89-2 2-2zm-3 13.7c3.72 0 7.03-2.36 8.23-5.88l-1.32-.46C15.9 15.52 13.12 17.5 10 17.5s-5.9-1.98-6.91-4.94l-1.32.46c1.2 3.52 4.51 5.88 8.23 5.88z';\n break;\n\n case 'sort':\n path = 'M11 7H1l5 7zm-2 7h10l-5-7z';\n break;\n\n case 'sos':\n path = 'M18 10c0-4.42-3.58-8-8-8s-8 3.58-8 8 3.58 8 8 8 8-3.58 8-8zM7.23 3.57L8.72 7.3c-.62.29-1.13.8-1.42 1.42L3.57 7.23c.71-1.64 2.02-2.95 3.66-3.66zm9.2 3.66L12.7 8.72c-.29-.62-.8-1.13-1.42-1.42l1.49-3.73c1.64.71 2.95 2.02 3.66 3.66zM10 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm-6.43.77l3.73-1.49c.29.62.8 1.13 1.42 1.42l-1.49 3.73c-1.64-.71-2.95-2.02-3.66-3.66zm9.2 3.66l-1.49-3.73c.62-.29 1.13-.8 1.42-1.42l3.73 1.49c-.71 1.64-2.02 2.95-3.66 3.66z';\n break;\n\n case 'star-empty':\n path = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88l-4.68 2.34.87-5.15-3.18-3.56 4.65-.58z';\n break;\n\n case 'star-filled':\n path = 'M10 1l3 6 6 .75-4.12 4.62L16 19l-6-3-6 3 1.13-6.63L1 7.75 7 7z';\n break;\n\n case 'star-half':\n path = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88V3.24z';\n break;\n\n case 'sticky':\n path = 'M5 3.61V1.04l8.99-.01-.01 2.58c-1.22.26-2.16 1.35-2.16 2.67v.5c.01 1.31.93 2.4 2.17 2.66l-.01 2.58h-3.41l-.01 2.57c0 .6-.47 4.41-1.06 4.41-.6 0-1.08-3.81-1.08-4.41v-2.56L5 12.02l.01-2.58c1.23-.25 2.15-1.35 2.15-2.66v-.5c0-1.31-.92-2.41-2.16-2.67z';\n break;\n\n case 'store':\n path = 'M1 10c.41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.51.43.54 0 1.08-.14 1.49-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.63-.46 1-1.17 1-2V7l-3-7H4L0 7v1c0 .83.37 1.54 1 2zm2 8.99h5v-5h4v5h5v-7c-.37-.05-.72-.22-1-.43-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.49.44-.55 0-1.1-.14-1.51-.44-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.5.44-.54 0-1.09-.14-1.5-.44-.63-.45-1-.73-1-1.57 0 .84-.38 1.12-1 1.57-.29.21-.63.38-1 .44v6.99z';\n break;\n\n case 'table-col-after':\n path = 'M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z';\n break;\n\n case 'table-col-before':\n path = 'M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z';\n break;\n\n case 'table-col-delete':\n path = 'M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z';\n break;\n\n case 'table-row-after':\n path = 'M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z';\n break;\n\n case 'table-row-before':\n path = 'M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z';\n break;\n\n case 'table-row-delete':\n path = 'M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z';\n break;\n\n case 'tablet':\n path = 'M4 2h12c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H4c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm11 14V4H5v12h10zM6 5h6l-6 5V5z';\n break;\n\n case 'tag':\n path = 'M11 2h7v7L8 19l-7-7zm3 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z';\n break;\n\n case 'tagcloud':\n path = 'M11 3v4H1V3h10zm8 0v4h-7V3h7zM7 8v3H1V8h6zm12 0v3H8V8h11zM9 12v2H1v-2h8zm10 0v2h-9v-2h9zM6 15v1H1v-1h5zm5 0v1H7v-1h4zm3 0v1h-2v-1h2zm5 0v1h-4v-1h4z';\n break;\n\n case 'testimonial':\n path = 'M4 3h12c.55 0 1.02.2 1.41.59S18 4.45 18 5v7c0 .55-.2 1.02-.59 1.41S16.55 14 16 14h-1l-5 5v-5H4c-.55 0-1.02-.2-1.41-.59S2 12.55 2 12V5c0-.55.2-1.02.59-1.41S3.45 3 4 3zm11 2H4v1h11V5zm1 3H4v1h12V8zm-3 3H4v1h9v-1z';\n break;\n\n case 'text':\n path = 'M18 3v2H2V3h16zm-6 4v2H2V7h10zm6 0v2h-4V7h4zM8 11v2H2v-2h6zm10 0v2h-8v-2h8zm-4 4v2H2v-2h12z';\n break;\n\n case 'thumbs-down':\n path = 'M7.28 18c-.15.02-.26-.02-.41-.07-.56-.19-.83-.79-.66-1.35.17-.55 1-3.04 1-3.58 0-.53-.75-1-1.35-1h-3c-.6 0-1-.4-1-1s2-7 2-7c.17-.39.55-1 1-1H14v9h-2.14c-.41.41-3.3 4.71-3.58 5.27-.21.41-.6.68-1 .73zM18 12h-2V3h2v9z';\n break;\n\n case 'thumbs-up':\n path = 'M12.72 2c.15-.02.26.02.41.07.56.19.83.79.66 1.35-.17.55-1 3.04-1 3.58 0 .53.75 1 1.35 1h3c.6 0 1 .4 1 1s-2 7-2 7c-.17.39-.55 1-1 1H6V8h2.14c.41-.41 3.3-4.71 3.58-5.27.21-.41.6-.68 1-.73zM2 8h2v9H2V8z';\n break;\n\n case 'tickets-alt':\n path = 'M20 6.38L18.99 9.2v-.01c-.52-.19-1.03-.16-1.53.08s-.85.62-1.04 1.14-.16 1.03.07 1.53c.24.5.62.84 1.15 1.03v.01l-1.01 2.82-15.06-5.38.99-2.79c.52.19 1.03.16 1.53-.08.5-.23.84-.61 1.03-1.13s.16-1.03-.08-1.53c-.23-.49-.61-.83-1.13-1.02L4.93 1zm-4.97 5.69l1.37-3.76c.12-.31.1-.65-.04-.95s-.39-.53-.7-.65L8.14 3.98c-.64-.23-1.37.12-1.6.74L5.17 8.48c-.24.65.1 1.37.74 1.6l7.52 2.74c.14.05.28.08.43.08.52 0 1-.33 1.17-.83zM7.97 4.45l7.51 2.73c.19.07.34.21.43.39.08.18.09.38.02.57l-1.37 3.76c-.13.38-.58.59-.96.45L6.09 9.61c-.39-.14-.59-.57-.45-.96l1.37-3.76c.1-.29.39-.49.7-.49.09 0 .17.02.26.05zm6.82 12.14c.35.27.75.41 1.2.41H16v3H0v-2.96c.55 0 1.03-.2 1.41-.59.39-.38.59-.86.59-1.41s-.2-1.02-.59-1.41-.86-.59-1.41-.59V10h1.05l-.28.8 2.87 1.02c-.51.16-.89.62-.89 1.18v4c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25v-1.75l.83.3c.12.43.36.78.71 1.04zM3.25 17v-4c0-.41.34-.75.75-.75h.83l7.92 2.83V17c0 .41-.34.75-.75.75H4c-.41 0-.75-.34-.75-.75z';\n break;\n\n case 'tickets':\n path = 'M20 5.38L18.99 8.2v-.01c-1.04-.37-2.19.18-2.57 1.22-.37 1.04.17 2.19 1.22 2.56v.01l-1.01 2.82L1.57 9.42l.99-2.79c1.04.38 2.19-.17 2.56-1.21s-.17-2.18-1.21-2.55L4.93 0zm-5.45 3.37c.74-2.08-.34-4.37-2.42-5.12-2.08-.74-4.37.35-5.11 2.42-.74 2.08.34 4.38 2.42 5.12 2.07.74 4.37-.35 5.11-2.42zm-2.56-4.74c.89.32 1.57.94 1.97 1.71-.01-.01-.02-.01-.04-.02-.33-.12-.67.09-.78.4-.1.28-.03.57.05.91.04.27.09.62-.06 1.04-.1.29-.33.58-.65 1l-.74 1.01.08-4.08.4.11c.19.04.26-.24.08-.29 0 0-.57-.15-.92-.28-.34-.12-.88-.36-.88-.36-.18-.08-.3.19-.12.27 0 0 .16.08.34.16l.01 1.63L9.2 9.18l.08-4.11c.2.06.4.11.4.11.19.04.26-.23.07-.29 0 0-.56-.15-.91-.28-.07-.02-.14-.05-.22-.08.93-.7 2.19-.94 3.37-.52zM7.4 6.19c.17-.49.44-.92.78-1.27l.04 5c-.94-.95-1.3-2.39-.82-3.73zm4.04 4.75l2.1-2.63c.37-.41.57-.77.69-1.12.05-.12.08-.24.11-.35.09.57.04 1.18-.17 1.77-.45 1.25-1.51 2.1-2.73 2.33zm-.7-3.22l.02 3.22c0 .02 0 .04.01.06-.4 0-.8-.07-1.2-.21-.33-.12-.63-.28-.9-.48zm1.24 6.08l2.1.75c.24.84 1 1.45 1.91 1.45H16v3H0v-2.96c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2V9h1.05l-.28.8 4.28 1.52C4.4 12.03 4 12.97 4 14c0 2.21 1.79 4 4 4s4-1.79 4-4c0-.07-.02-.13-.02-.2zm-6.53-2.33l1.48.53c-.14.04-.15.27.03.28 0 0 .18.02.37.03l.56 1.54-.78 2.36-1.31-3.9c.21-.01.41-.03.41-.03.19-.02.17-.31-.02-.3 0 0-.59.05-.96.05-.07 0-.15 0-.23-.01.13-.2.28-.38.45-.55zM4.4 14c0-.52.12-1.02.32-1.46l1.71 4.7C5.23 16.65 4.4 15.42 4.4 14zm4.19-1.41l1.72.62c.07.17.12.37.12.61 0 .31-.12.66-.28 1.16l-.35 1.2zM11.6 14c0 1.33-.72 2.49-1.79 3.11l1.1-3.18c.06-.17.1-.31.14-.46l.52.19c.02.11.03.22.03.34zm-4.62 3.45l1.08-3.14 1.11 3.03c.01.02.01.04.02.05-.37.13-.77.21-1.19.21-.35 0-.69-.06-1.02-.15z';\n break;\n\n case 'tide':\n path = 'M17 7.2V3H3v7.1c2.6-.5 4.5-1.5 6.4-2.6.2-.2.4-.3.6-.5v3c-1.9 1.1-4 2.2-7 2.8V17h14V9.9c-2.6.5-4.4 1.5-6.2 2.6-.3.1-.5.3-.8.4V10c2-1.1 4-2.2 7-2.8z';\n break;\n\n case 'translation':\n path = 'M11 7H9.49c-.63 0-1.25.3-1.59.7L7 5H4.13l-2.39 7h1.69l.74-2H7v4H2c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h7c1.1 0 2 .9 2 2v2zM6.51 9H4.49l1-2.93zM10 8h7c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-7c-1.1 0-2-.9-2-2v-7c0-1.1.9-2 2-2zm7.25 5v-1.08h-3.17V9.75h-1.16v2.17H9.75V13h1.28c.11.85.56 1.85 1.28 2.62-.87.36-1.89.62-2.31.62-.01.02.22.97.2 1.46.84 0 2.21-.5 3.28-1.15 1.09.65 2.48 1.15 3.34 1.15-.02-.49.2-1.44.2-1.46-.43 0-1.49-.27-2.38-.63.7-.77 1.14-1.77 1.25-2.61h1.36zm-3.81 1.93c-.5-.46-.85-1.13-1.01-1.93h2.09c-.17.8-.51 1.47-1 1.93l-.04.03s-.03-.02-.04-.03z';\n break;\n\n case 'trash':\n path = 'M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z';\n break;\n\n case 'twitter':\n path = 'M18.94 4.46c-.49.73-1.11 1.38-1.83 1.9.01.15.01.31.01.47 0 4.85-3.69 10.44-10.43 10.44-2.07 0-4-.61-5.63-1.65.29.03.58.05.88.05 1.72 0 3.3-.59 4.55-1.57-1.6-.03-2.95-1.09-3.42-2.55.22.04.45.07.69.07.33 0 .66-.05.96-.13-1.67-.34-2.94-1.82-2.94-3.6v-.04c.5.27 1.06.44 1.66.46-.98-.66-1.63-1.78-1.63-3.06 0-.67.18-1.3.5-1.84 1.81 2.22 4.51 3.68 7.56 3.83-.06-.27-.1-.55-.1-.84 0-2.02 1.65-3.66 3.67-3.66 1.06 0 2.01.44 2.68 1.16.83-.17 1.62-.47 2.33-.89-.28.85-.86 1.57-1.62 2.02.75-.08 1.45-.28 2.11-.57z';\n break;\n\n case 'undo':\n path = 'M12 5H7V2L1 6l6 4V7h5c2.2 0 4 1.8 4 4s-1.8 4-4 4H7v2h5c3.3 0 6-2.7 6-6s-2.7-6-6-6z';\n break;\n\n case 'universal-access-alt':\n path = 'M19 10c0-4.97-4.03-9-9-9s-9 4.03-9 9 4.03 9 9 9 9-4.03 9-9zm-9-7.4c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n break;\n\n case 'universal-access':\n path = 'M10 2.6c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n break;\n\n case 'unlock':\n path = 'M12 9V6c0-1.1-.9-2-2-2s-2 .9-2 2H6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h7zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n break;\n\n case 'update':\n path = 'M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z';\n break;\n\n case 'upload':\n path = 'M8 14V8H5l5-6 5 6h-3v6H8zm-2 2v-6H4v8h12.01v-8H14v6H6z';\n break;\n\n case 'vault':\n path = 'M18 17V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-1 0H3V3h14v14zM4.75 4h10.5c.41 0 .75.34.75.75V6h-1v3h1v2h-1v3h1v1.25c0 .41-.34.75-.75.75H4.75c-.41 0-.75-.34-.75-.75V4.75c0-.41.34-.75.75-.75zM13 10c0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4 4-1.79 4-4zM9 7l.77 1.15C10.49 8.46 11 9.17 11 10c0 1.1-.9 2-2 2s-2-.9-2-2c0-.83.51-1.54 1.23-1.85z';\n break;\n\n case 'video-alt':\n path = 'M8 5c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1 0 .57.49 1 1 1h5c.55 0 1-.45 1-1zm6 5l4-4v10l-4-4v-2zm-1 4V8c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h8c.55 0 1-.45 1-1z';\n break;\n\n case 'video-alt2':\n path = 'M12 13V7c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2zm1-2.5l6 4.5V5l-6 4.5v1z';\n break;\n\n case 'video-alt3':\n path = 'M19 15V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2zM8 14V6l6 4z';\n break;\n\n case 'visibility':\n path = 'M19.7 9.4C17.7 6 14 3.9 10 3.9S2.3 6 .3 9.4L0 10l.3.6c2 3.4 5.7 5.5 9.7 5.5s7.7-2.1 9.7-5.5l.3-.6-.3-.6zM10 14.1c-3.1 0-6-1.6-7.7-4.1C3.6 8 5.7 6.6 8 6.1c-.9.6-1.5 1.7-1.5 2.9 0 1.9 1.6 3.5 3.5 3.5s3.5-1.6 3.5-3.5c0-1.2-.6-2.3-1.5-2.9 2.3.5 4.4 1.9 5.7 3.9-1.7 2.5-4.6 4.1-7.7 4.1z';\n break;\n\n case 'warning':\n path = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1.13 9.38l.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z';\n break;\n\n case 'welcome-add-page':\n path = 'M17 7V4h-2V2h-3v1H3v15h11V9h1V7h2zm-1-2v1h-2v2h-1V6h-2V5h2V3h1v2h2z';\n break;\n\n case 'welcome-comments':\n path = 'M5 2h10c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2zm8.5 8.5L11 8l2.5-2.5-1-1L10 7 7.5 4.5l-1 1L9 8l-2.5 2.5 1 1L10 9l2.5 2.5z';\n break;\n\n case 'welcome-learn-more':\n path = 'M10 10L2.54 7.02 3 18H1l.48-11.41L0 6l10-4 10 4zm0-5c-.55 0-1 .22-1 .5s.45.5 1 .5 1-.22 1-.5-.45-.5-1-.5zm0 6l5.57-2.23c.71.94 1.2 2.07 1.36 3.3-.3-.04-.61-.07-.93-.07-2.55 0-4.78 1.37-6 3.41C8.78 13.37 6.55 12 4 12c-.32 0-.63.03-.93.07.16-1.23.65-2.36 1.36-3.3z';\n break;\n\n case 'welcome-view-site':\n path = 'M18 14V4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-8-8c2.3 0 4.4 1.14 6 3-1.6 1.86-3.7 3-6 3s-4.4-1.14-6-3c1.6-1.86 3.7-3 6-3zm2 3c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm2 8h3v1H3v-1h3v-1h8v1z';\n break;\n\n case 'welcome-widgets-menus':\n path = 'M19 16V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v13c0 .55.45 1 1 1h15c.55 0 1-.45 1-1zM4 4h13v4H4V4zm1 1v2h3V5H5zm4 0v2h3V5H9zm4 0v2h3V5h-3zm-8.5 5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 10h4v1H6v-1zm6 0h5v5h-5v-5zm-7.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 12h4v1H6v-1zm7 0v2h3v-2h-3zm-8.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 14h4v1H6v-1z';\n break;\n\n case 'welcome-write-blog':\n path = 'M16.89 1.2l1.41 1.41c.39.39.39 1.02 0 1.41L14 8.33V18H3V3h10.67l1.8-1.8c.4-.39 1.03-.4 1.42 0zm-5.66 8.48l5.37-5.36-1.42-1.42-5.36 5.37-.71 2.12z';\n break;\n\n case 'wordpress-alt':\n path = 'M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z';\n break;\n\n case 'wordpress':\n path = 'M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z';\n break;\n\n case 'yes-alt':\n path = 'M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm-.615 12.66h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4 5.14-5.93 1.34.94-5.81 8.38z';\n break;\n\n case 'yes':\n path = 'M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z';\n break;\n }\n\n if (!path) {\n return null;\n }\n\n var iconClass = ['dashicon', 'dashicons-' + icon, className].filter(Boolean).join(' ');\n return createElement(SVG, _extends({\n \"aria-hidden\": true,\n role: \"img\",\n focusable: \"false\",\n className: iconClass,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: size,\n height: size,\n viewBox: \"0 0 20 20\"\n }, extraProps), createElement(Path, {\n d: path\n }));\n }\n }]);\n\n return Dashicon;\n}(Component);\n\nexport { Dashicon as default };\n//# sourceMappingURL=index.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, createElement, Component, isValidElement } from '@wordpress/element';\nimport { SVG } from '@wordpress/primitives';\n/**\n * Internal dependencies\n */\n\nimport Dashicon from '../dashicon';\n\nfunction Icon(_ref) {\n var _ref$icon = _ref.icon,\n icon = _ref$icon === void 0 ? null : _ref$icon,\n size = _ref.size,\n additionalProps = _objectWithoutProperties(_ref, [\"icon\", \"size\"]);\n\n // Dashicons should be 20x20 by default.\n var dashiconSize = size || 20;\n\n if ('string' === typeof icon) {\n return createElement(Dashicon, _extends({\n icon: icon,\n size: dashiconSize\n }, additionalProps));\n }\n\n if (icon && Dashicon === icon.type) {\n return cloneElement(icon, _objectSpread({\n size: dashiconSize\n }, additionalProps));\n } // Icons should be 24x24 by default.\n\n\n var iconSize = size || 24;\n\n if ('function' === typeof icon) {\n if (icon.prototype instanceof Component) {\n return createElement(icon, _objectSpread({\n size: iconSize\n }, additionalProps));\n }\n\n return icon(_objectSpread({\n size: iconSize\n }, additionalProps));\n }\n\n if (icon && (icon.type === 'svg' || icon.type === SVG)) {\n var appliedProps = _objectSpread({\n width: iconSize,\n height: iconSize\n }, icon.props, {}, additionalProps);\n\n return createElement(SVG, appliedProps);\n }\n\n if (isValidElement(icon)) {\n return cloneElement(icon, _objectSpread({\n size: iconSize\n }, additionalProps));\n }\n\n return icon;\n}\n\nexport default Icon;\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createForOfIteratorHelper(o) { if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\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(n); 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\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isArray } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\nvar disabledEventsOnDisabledButton = ['onMouseDown', 'onClick'];\nexport function Button(props, ref) {\n var href = props.href,\n target = props.target,\n isPrimary = props.isPrimary,\n isLarge = props.isLarge,\n isSmall = props.isSmall,\n isTertiary = props.isTertiary,\n isPressed = props.isPressed,\n isBusy = props.isBusy,\n isDefault = props.isDefault,\n isSecondary = props.isSecondary,\n isLink = props.isLink,\n isDestructive = props.isDestructive,\n className = props.className,\n disabled = props.disabled,\n icon = props.icon,\n iconSize = props.iconSize,\n showTooltip = props.showTooltip,\n tooltipPosition = props.tooltipPosition,\n shortcut = props.shortcut,\n label = props.label,\n children = props.children,\n isFocusable = props.__experimentalIsFocusable,\n additionalProps = _objectWithoutProperties(props, [\"href\", \"target\", \"isPrimary\", \"isLarge\", \"isSmall\", \"isTertiary\", \"isPressed\", \"isBusy\", \"isDefault\", \"isSecondary\", \"isLink\", \"isDestructive\", \"className\", \"disabled\", \"icon\", \"iconSize\", \"showTooltip\", \"tooltipPosition\", \"shortcut\", \"label\", \"children\", \"__experimentalIsFocusable\"]);\n\n if (isDefault) {\n deprecated('Button isDefault prop', {\n alternative: 'isSecondary'\n });\n }\n\n var classes = classnames('components-button', className, {\n 'is-secondary': isDefault || isSecondary,\n 'is-primary': isPrimary,\n 'is-large': isLarge,\n 'is-small': isSmall,\n 'is-tertiary': isTertiary,\n 'is-pressed': isPressed,\n 'is-busy': isBusy,\n 'is-link': isLink,\n 'is-destructive': isDestructive,\n 'has-text': !!icon && !!children,\n 'has-icon': !!icon\n });\n var trulyDisabled = disabled && !isFocusable;\n var Tag = href !== undefined && !trulyDisabled ? 'a' : 'button';\n var tagProps = Tag === 'a' ? {\n href: href,\n target: target\n } : {\n type: 'button',\n disabled: trulyDisabled,\n 'aria-pressed': isPressed\n };\n\n if (disabled && isFocusable) {\n // In this case, the button will be disabled, but still focusable and\n // perceivable by screen reader users.\n tagProps['aria-disabled'] = true;\n\n var _iterator = _createForOfIteratorHelper(disabledEventsOnDisabledButton),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var disabledEvent = _step.value;\n\n additionalProps[disabledEvent] = function (event) {\n event.stopPropagation();\n event.preventDefault();\n };\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } // Should show the tooltip if...\n\n\n var shouldShowTooltip = !trulyDisabled && ( // an explicit tooltip is passed or...\n showTooltip && label || // there's a shortcut or...\n shortcut || // there's a label and...\n !!label && ( // the children are empty and...\n !children || isArray(children) && !children.length) && // the tooltip is not explicitly disabled.\n false !== showTooltip);\n var element = createElement(Tag, _extends({}, tagProps, additionalProps, {\n className: classes,\n \"aria-label\": additionalProps['aria-label'] || label,\n ref: ref\n }), icon && createElement(Icon, {\n icon: icon,\n size: iconSize\n }), children);\n\n if (!shouldShowTooltip) {\n return element;\n }\n\n return createElement(Tooltip, {\n text: label,\n shortcut: shortcut,\n position: tooltipPosition\n }, element);\n}\nexport default forwardRef(Button);\n//# sourceMappingURL=index.js.map","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { createElement } from \"@wordpress/element\";\n\n/**\n * Utility Functions\n */\n\n/**\n * renderAsRenderProps is used to wrap a component and convert\n * the passed property \"as\" either a string or component, to the\n * rendered tag if a string, or component.\n *\n * See VisuallyHidden hidden for example.\n *\n * @param {string|WPComponent} as A tag or component to render.\n * @return {WPComponent} The rendered component.\n */\nfunction renderAsRenderProps(_ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutProperties(_ref, [\"as\"]);\n\n if (typeof props.children === 'function') {\n return props.children(props);\n }\n\n return createElement(Component, props);\n}\n\nexport { renderAsRenderProps };\n//# sourceMappingURL=utils.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * Internal dependencies\n */\n\nimport { renderAsRenderProps } from './utils';\n/**\n * VisuallyHidden component to render text out non-visually\n * for use in devices such as a screen reader.\n */\n\nfunction VisuallyHidden(_ref) {\n var _ref$as = _ref.as,\n as = _ref$as === void 0 ? 'div' : _ref$as,\n className = _ref.className,\n props = _objectWithoutProperties(_ref, [\"as\", \"className\"]);\n\n return renderAsRenderProps(_objectSpread({\n as: as,\n className: classnames('components-visually-hidden', className)\n }, props));\n}\n\nexport default VisuallyHidden;\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { closeCircleFilled } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\n\nimport Button from '../button';\nimport VisuallyHidden from '../visually-hidden';\nexport default function Token(_ref) {\n var value = _ref.value,\n status = _ref.status,\n title = _ref.title,\n displayTransform = _ref.displayTransform,\n _ref$isBorderless = _ref.isBorderless,\n isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$onClickRemove = _ref.onClickRemove,\n onClickRemove = _ref$onClickRemove === void 0 ? noop : _ref$onClickRemove,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n messages = _ref.messages,\n termPosition = _ref.termPosition,\n termsCount = _ref.termsCount;\n var instanceId = useInstanceId(Token);\n var tokenClasses = classnames('components-form-token-field__token', {\n 'is-error': 'error' === status,\n 'is-success': 'success' === status,\n 'is-validating': 'validating' === status,\n 'is-borderless': isBorderless,\n 'is-disabled': disabled\n });\n\n var onClick = function onClick() {\n return onClickRemove({\n value: value\n });\n };\n\n var transformedValue = displayTransform(value);\n var termPositionAndCount = sprintf(\n /* translators: 1: term name, 2: term position in a set of terms, 3: total term set count. */\n __('%1$s (%2$s of %3$s)'), transformedValue, termPosition, termsCount);\n return createElement(\"span\", {\n className: tokenClasses,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n title: title\n }, createElement(\"span\", {\n className: \"components-form-token-field__token-text\",\n id: \"components-form-token-field__token-text-\".concat(instanceId)\n }, createElement(VisuallyHidden, {\n as: \"span\"\n }, termPositionAndCount), createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, transformedValue)), createElement(Button, {\n className: \"components-form-token-field__remove-token\",\n icon: closeCircleFilled,\n onClick: !disabled && onClick,\n label: messages.remove,\n \"aria-describedby\": \"components-form-token-field__token-text-\".concat(instanceId)\n }));\n}\n//# sourceMappingURL=token.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nvar TokenInput = /*#__PURE__*/function (_Component) {\n _inherits(TokenInput, _Component);\n\n var _super = _createSuper(TokenInput);\n\n function TokenInput() {\n var _this;\n\n _classCallCheck(this, TokenInput);\n\n _this = _super.apply(this, arguments);\n _this.onChange = _this.onChange.bind(_assertThisInitialized(_this));\n _this.bindInput = _this.bindInput.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(TokenInput, [{\n key: \"focus\",\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: \"hasFocus\",\n value: function hasFocus() {\n return this.input === document.activeElement;\n }\n }, {\n key: \"bindInput\",\n value: function bindInput(ref) {\n this.input = ref;\n }\n }, {\n key: \"onChange\",\n value: function onChange(event) {\n this.props.onChange({\n value: event.target.value\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n value = _this$props.value,\n isExpanded = _this$props.isExpanded,\n instanceId = _this$props.instanceId,\n selectedSuggestionIndex = _this$props.selectedSuggestionIndex,\n props = _objectWithoutProperties(_this$props, [\"value\", \"isExpanded\", \"instanceId\", \"selectedSuggestionIndex\"]);\n\n var size = value.length + 1;\n return createElement(\"input\", _extends({\n ref: this.bindInput,\n id: \"components-form-token-input-\".concat(instanceId),\n type: \"text\"\n }, props, {\n value: value,\n onChange: this.onChange,\n size: size,\n className: \"components-form-token-field__input\",\n role: \"combobox\",\n \"aria-expanded\": isExpanded,\n \"aria-autocomplete\": \"list\",\n \"aria-owns\": isExpanded ? \"components-form-token-suggestions-\".concat(instanceId) : undefined,\n \"aria-activedescendant\": selectedSuggestionIndex !== -1 ? \"components-form-token-suggestions-\".concat(instanceId, \"-\").concat(selectedSuggestionIndex) : undefined,\n \"aria-describedby\": \"components-form-token-suggestions-howto-\".concat(instanceId)\n }));\n }\n }]);\n\n return TokenInput;\n}(Component);\n\nexport default TokenInput;\n//# sourceMappingURL=token-input.js.map","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { withSafeTimeout } from '@wordpress/compose';\n\nvar SuggestionsList = /*#__PURE__*/function (_Component) {\n _inherits(SuggestionsList, _Component);\n\n var _super = _createSuper(SuggestionsList);\n\n function SuggestionsList() {\n var _this;\n\n _classCallCheck(this, SuggestionsList);\n\n _this = _super.apply(this, arguments);\n _this.handleMouseDown = _this.handleMouseDown.bind(_assertThisInitialized(_this));\n _this.bindList = _this.bindList.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(SuggestionsList, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this2 = this;\n\n // only have to worry about scrolling selected suggestion into view\n // when already expanded\n if (this.props.selectedIndex > -1 && this.props.scrollIntoView) {\n this.scrollingIntoView = true;\n scrollIntoView(this.list.children[this.props.selectedIndex], this.list, {\n onlyScrollIfNeeded: true\n });\n this.props.setTimeout(function () {\n _this2.scrollingIntoView = false;\n }, 100);\n }\n }\n }, {\n key: \"bindList\",\n value: function bindList(ref) {\n this.list = ref;\n }\n }, {\n key: \"handleHover\",\n value: function handleHover(suggestion) {\n var _this3 = this;\n\n return function () {\n if (!_this3.scrollingIntoView) {\n _this3.props.onHover(suggestion);\n }\n };\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(suggestion) {\n var _this4 = this;\n\n return function () {\n _this4.props.onSelect(suggestion);\n };\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(e) {\n // By preventing default here, we will not lose focus of when clicking a suggestion\n e.preventDefault();\n }\n }, {\n key: \"computeSuggestionMatch\",\n value: function computeSuggestionMatch(suggestion) {\n var match = this.props.displayTransform(this.props.match || '').toLocaleLowerCase();\n\n if (match.length === 0) {\n return null;\n }\n\n suggestion = this.props.displayTransform(suggestion);\n var indexOfMatch = suggestion.toLocaleLowerCase().indexOf(match);\n return {\n suggestionBeforeMatch: suggestion.substring(0, indexOfMatch),\n suggestionMatch: suggestion.substring(indexOfMatch, indexOfMatch + match.length),\n suggestionAfterMatch: suggestion.substring(indexOfMatch + match.length)\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n // We set `tabIndex` here because otherwise Firefox sets focus on this\n // div when tabbing off of the input in `TokenField` -- not really sure\n // why, since usually a div isn't focusable by default\n // TODO does this still apply now that it's a
    and not a
    ?\n return createElement(\"ul\", {\n ref: this.bindList,\n className: \"components-form-token-field__suggestions-list\",\n id: \"components-form-token-suggestions-\".concat(this.props.instanceId),\n role: \"listbox\"\n }, map(this.props.suggestions, function (suggestion, index) {\n var match = _this5.computeSuggestionMatch(suggestion);\n\n var classeName = classnames('components-form-token-field__suggestion', {\n 'is-selected': index === _this5.props.selectedIndex\n });\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n\n return createElement(\"li\", {\n id: \"components-form-token-suggestions-\".concat(_this5.props.instanceId, \"-\").concat(index),\n role: \"option\",\n className: classeName,\n key: suggestion,\n onMouseDown: _this5.handleMouseDown,\n onClick: _this5.handleClick(suggestion),\n onMouseEnter: _this5.handleHover(suggestion),\n \"aria-selected\": index === _this5.props.selectedIndex\n }, match ? createElement(\"span\", {\n \"aria-label\": _this5.props.displayTransform(suggestion)\n }, match.suggestionBeforeMatch, createElement(\"strong\", {\n className: \"components-form-token-field__suggestion-match\"\n }, match.suggestionMatch), match.suggestionAfterMatch) : _this5.props.displayTransform(suggestion));\n /* eslint-enable jsx-a11y/click-events-have-key-events */\n }));\n }\n }]);\n\n return SuggestionsList;\n}(Component);\n\nSuggestionsList.defaultProps = {\n match: '',\n onHover: function onHover() {},\n onSelect: function onSelect() {},\n suggestions: Object.freeze([])\n};\nexport default withSafeTimeout(SuggestionsList);\n//# sourceMappingURL=suggestions-list.js.map","/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * Build the live regions markup.\n *\n * @param {string} [ariaLive] Value for the 'aria-live' attribute; default: 'polite'.\n *\n * @return {HTMLDivElement} The ARIA live region HTML element.\n */\nexport default function addContainer() {\n var ariaLive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'polite';\n var container = document.createElement('div');\n container.id = \"a11y-speak-\".concat(ariaLive);\n container.className = 'a11y-speak-region';\n container.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;');\n container.setAttribute('aria-live', ariaLive);\n container.setAttribute('aria-relevant', 'additions text');\n container.setAttribute('aria-atomic', 'true');\n var _document = document,\n body = _document.body;\n\n if (body) {\n body.appendChild(container);\n }\n\n return container;\n}\n//# sourceMappingURL=add-container.js.map","/**\n * Clear the a11y-speak-region elements.\n */\nexport default function clear() {\n var regions = document.getElementsByClassName('a11y-speak-region');\n\n for (var i = 0; i < regions.length; i++) {\n regions[i].textContent = '';\n }\n}\n//# sourceMappingURL=clear.js.map","var previousMessage = '';\n/**\n * Filter the message to be announced to the screenreader.\n *\n * @param {string} message The message to be announced.\n *\n * @return {string} The filtered message.\n */\n\nexport default function filterMessage(message) {\n /*\n * Strip HTML tags (if any) from the message string. Ideally, messages should\n * be simple strings, carefully crafted for specific use with A11ySpeak.\n * When re-using already existing strings this will ensure simple HTML to be\n * stripped out and replaced with a space. Browsers will collapse multiple\n * spaces natively.\n */\n message = message.replace(/<[^<>]+>/g, ' ');\n\n if (previousMessage === message) {\n message += \"\\xA0\";\n }\n\n previousMessage = message;\n return message;\n}\n//# sourceMappingURL=filter-message.js.map","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n/**\n * Internal dependencies\n */\n\nimport addContainer from './add-container';\nimport clear from './clear';\nimport filterMessage from './filter-message';\n/**\n * Create the live regions.\n */\n\nexport function setup() {\n var containerAssertive = document.getElementById('a11y-speak-assertive');\n var containerPolite = document.getElementById('a11y-speak-polite');\n\n if (containerAssertive === null) {\n addContainer('assertive');\n }\n\n if (containerPolite === null) {\n addContainer('polite');\n }\n}\n/**\n * Run setup on domReady.\n */\n\ndomReady(setup);\n/**\n * Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions.\n * This module is inspired by the `speak` function in `wp-a11y.js`.\n *\n * @param {string} message The message to be announced by assistive technologies.\n * @param {string} [ariaLive] The politeness level for aria-live; default: 'polite'.\n *\n * @example\n * ```js\n * import { speak } from '@wordpress/a11y';\n *\n * // For polite messages that shouldn't interrupt what screen readers are currently announcing.\n * speak( 'The message you want to send to the ARIA live region' );\n *\n * // For assertive messages that should interrupt what screen readers are currently announcing.\n * speak( 'The message you want to send to the ARIA live region', 'assertive' );\n * ```\n */\n\nexport function speak(message, ariaLive) {\n // Clear previous messages to allow repeated strings being read out.\n clear();\n message = filterMessage(message);\n var containerAssertive = document.getElementById('a11y-speak-assertive');\n var containerPolite = document.getElementById('a11y-speak-polite');\n\n if (containerAssertive && ariaLive === 'assertive') {\n containerAssertive.textContent = message;\n } else if (containerPolite) {\n containerPolite.textContent = message;\n }\n}\n//# sourceMappingURL=index.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\nimport { speak as _speak } from '@wordpress/a11y';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n/**\n * A Higher Order Component used to be provide a unique instance ID by\n * component.\n *\n * @param {WPComponent} WrappedComponent The wrapped component.\n *\n * @return {WPComponent} The component to be rendered.\n */\n\nexport default createHigherOrderComponent(function (WrappedComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(_class, _Component);\n\n var _super = _createSuper(_class);\n\n function _class() {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _super.apply(this, arguments);\n _this.debouncedSpeak = debounce(_this.speak.bind(_assertThisInitialized(_this)), 500);\n return _this;\n }\n\n _createClass(_class, [{\n key: \"speak\",\n value: function speak(message) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'polite';\n\n _speak(message, type);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.debouncedSpeak.cancel();\n }\n }, {\n key: \"render\",\n value: function render() {\n return createElement(WrappedComponent, _extends({}, this.props, {\n speak: this.speak,\n debouncedSpeak: this.debouncedSpeak\n }));\n }\n }]);\n\n return _class;\n }(Component);\n}, 'withSpokenMessages');\n//# sourceMappingURL=index.js.map","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { last, take, clone, uniq, map, difference, each, identity, some } from 'lodash';\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\n\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { BACKSPACE, ENTER, UP, DOWN, LEFT, RIGHT, SPACE, DELETE, ESCAPE } from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n/**\n * Internal dependencies\n */\n\nimport Token from './token';\nimport TokenInput from './token-input';\nimport SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\nvar initialState = {\n incompleteTokenValue: '',\n inputOffsetFromEnd: 0,\n isActive: false,\n isExpanded: false,\n selectedSuggestionIndex: -1,\n selectedSuggestionScroll: false\n};\n\nvar FormTokenField = /*#__PURE__*/function (_Component) {\n _inherits(FormTokenField, _Component);\n\n var _super = _createSuper(FormTokenField);\n\n function FormTokenField() {\n var _this;\n\n _classCallCheck(this, FormTokenField);\n\n _this = _super.apply(this, arguments);\n _this.state = initialState;\n _this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_this));\n _this.onKeyPress = _this.onKeyPress.bind(_assertThisInitialized(_this));\n _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_this));\n _this.onBlur = _this.onBlur.bind(_assertThisInitialized(_this));\n _this.deleteTokenBeforeInput = _this.deleteTokenBeforeInput.bind(_assertThisInitialized(_this));\n _this.deleteTokenAfterInput = _this.deleteTokenAfterInput.bind(_assertThisInitialized(_this));\n _this.addCurrentToken = _this.addCurrentToken.bind(_assertThisInitialized(_this));\n _this.onContainerTouched = _this.onContainerTouched.bind(_assertThisInitialized(_this));\n _this.renderToken = _this.renderToken.bind(_assertThisInitialized(_this));\n _this.onTokenClickRemove = _this.onTokenClickRemove.bind(_assertThisInitialized(_this));\n _this.onSuggestionHovered = _this.onSuggestionHovered.bind(_assertThisInitialized(_this));\n _this.onSuggestionSelected = _this.onSuggestionSelected.bind(_assertThisInitialized(_this));\n _this.onInputChange = _this.onInputChange.bind(_assertThisInitialized(_this));\n _this.bindInput = _this.bindInput.bind(_assertThisInitialized(_this));\n _this.bindTokensAndInput = _this.bindTokensAndInput.bind(_assertThisInitialized(_this));\n _this.updateSuggestions = _this.updateSuggestions.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(FormTokenField, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // Make sure to focus the input when the isActive state is true.\n if (this.state.isActive && !this.input.hasFocus()) {\n this.input.focus();\n }\n\n var _this$props = this.props,\n suggestions = _this$props.suggestions,\n value = _this$props.value;\n var suggestionsDidUpdate = !isShallowEqual(suggestions, prevProps.suggestions);\n\n if (suggestionsDidUpdate || value !== prevProps.value) {\n this.updateSuggestions(suggestionsDidUpdate);\n }\n }\n }, {\n key: \"bindInput\",\n value: function bindInput(ref) {\n this.input = ref;\n }\n }, {\n key: \"bindTokensAndInput\",\n value: function bindTokensAndInput(ref) {\n this.tokensAndInput = ref;\n }\n }, {\n key: \"onFocus\",\n value: function onFocus(event) {\n // If focus is on the input or on the container, set the isActive state to true.\n if (this.input.hasFocus() || event.target === this.tokensAndInput) {\n this.setState({\n isActive: true\n });\n } else {\n /*\n * Otherwise, focus is on one of the token \"remove\" buttons and we\n * set the isActive state to false to prevent the input to be\n * re-focused, see componentDidUpdate().\n */\n this.setState({\n isActive: false\n });\n }\n\n if ('function' === typeof this.props.onFocus) {\n this.props.onFocus(event);\n }\n }\n }, {\n key: \"onBlur\",\n value: function onBlur() {\n if (this.inputHasValidValue()) {\n this.setState({\n isActive: false\n });\n } else {\n this.setState(initialState);\n }\n }\n }, {\n key: \"onKeyDown\",\n value: function onKeyDown(event) {\n var preventDefault = false;\n\n switch (event.keyCode) {\n case BACKSPACE:\n preventDefault = this.handleDeleteKey(this.deleteTokenBeforeInput);\n break;\n\n case ENTER:\n preventDefault = this.addCurrentToken();\n break;\n\n case LEFT:\n preventDefault = this.handleLeftArrowKey();\n break;\n\n case UP:\n preventDefault = this.handleUpArrowKey();\n break;\n\n case RIGHT:\n preventDefault = this.handleRightArrowKey();\n break;\n\n case DOWN:\n preventDefault = this.handleDownArrowKey();\n break;\n\n case DELETE:\n preventDefault = this.handleDeleteKey(this.deleteTokenAfterInput);\n break;\n\n case SPACE:\n if (this.props.tokenizeOnSpace) {\n preventDefault = this.addCurrentToken();\n }\n\n break;\n\n case ESCAPE:\n preventDefault = this.handleEscapeKey(event);\n event.stopPropagation();\n break;\n\n default:\n break;\n }\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onKeyPress\",\n value: function onKeyPress(event) {\n var preventDefault = false;\n\n switch (event.charCode) {\n case 44:\n // comma\n preventDefault = this.handleCommaKey();\n break;\n\n default:\n break;\n }\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onContainerTouched\",\n value: function onContainerTouched(event) {\n // Prevent clicking/touching the tokensAndInput container from blurring\n // the input and adding the current token.\n if (event.target === this.tokensAndInput && this.state.isActive) {\n event.preventDefault();\n }\n }\n }, {\n key: \"onTokenClickRemove\",\n value: function onTokenClickRemove(event) {\n this.deleteToken(event.value);\n this.input.focus();\n }\n }, {\n key: \"onSuggestionHovered\",\n value: function onSuggestionHovered(suggestion) {\n var index = this.getMatchingSuggestions().indexOf(suggestion);\n\n if (index >= 0) {\n this.setState({\n selectedSuggestionIndex: index,\n selectedSuggestionScroll: false\n });\n }\n }\n }, {\n key: \"onSuggestionSelected\",\n value: function onSuggestionSelected(suggestion) {\n this.addNewToken(suggestion);\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(event) {\n var text = event.value;\n var separator = this.props.tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n var items = text.split(separator);\n var tokenValue = last(items) || '';\n\n if (items.length > 1) {\n this.addNewTokens(items.slice(0, -1));\n }\n\n this.setState({\n incompleteTokenValue: tokenValue\n }, this.updateSuggestions);\n this.props.onInputChange(tokenValue);\n }\n }, {\n key: \"handleDeleteKey\",\n value: function handleDeleteKey(deleteToken) {\n var preventDefault = false;\n\n if (this.input.hasFocus() && this.isInputEmpty()) {\n deleteToken();\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"handleLeftArrowKey\",\n value: function handleLeftArrowKey() {\n var preventDefault = false;\n\n if (this.isInputEmpty()) {\n this.moveInputBeforePreviousToken();\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"handleRightArrowKey\",\n value: function handleRightArrowKey() {\n var preventDefault = false;\n\n if (this.isInputEmpty()) {\n this.moveInputAfterNextToken();\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"handleUpArrowKey\",\n value: function handleUpArrowKey() {\n var _this2 = this;\n\n this.setState(function (state, props) {\n return {\n selectedSuggestionIndex: (state.selectedSuggestionIndex === 0 ? _this2.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length : state.selectedSuggestionIndex) - 1,\n selectedSuggestionScroll: true\n };\n });\n return true; // preventDefault\n }\n }, {\n key: \"handleDownArrowKey\",\n value: function handleDownArrowKey() {\n var _this3 = this;\n\n this.setState(function (state, props) {\n return {\n selectedSuggestionIndex: (state.selectedSuggestionIndex + 1) % _this3.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length,\n selectedSuggestionScroll: true\n };\n });\n return true; // preventDefault\n }\n }, {\n key: \"handleEscapeKey\",\n value: function handleEscapeKey(event) {\n this.setState({\n incompleteTokenValue: event.target.value,\n isExpanded: false,\n selectedSuggestionIndex: -1,\n selectedSuggestionScroll: false\n });\n return true; // preventDefault\n }\n }, {\n key: \"handleCommaKey\",\n value: function handleCommaKey() {\n if (this.inputHasValidValue()) {\n this.addNewToken(this.state.incompleteTokenValue);\n }\n\n return true; // preventDefault\n }\n }, {\n key: \"moveInputToIndex\",\n value: function moveInputToIndex(index) {\n this.setState(function (state, props) {\n return {\n inputOffsetFromEnd: props.value.length - Math.max(index, -1) - 1\n };\n });\n }\n }, {\n key: \"moveInputBeforePreviousToken\",\n value: function moveInputBeforePreviousToken() {\n this.setState(function (state, props) {\n return {\n inputOffsetFromEnd: Math.min(state.inputOffsetFromEnd + 1, props.value.length)\n };\n });\n }\n }, {\n key: \"moveInputAfterNextToken\",\n value: function moveInputAfterNextToken() {\n this.setState(function (state) {\n return {\n inputOffsetFromEnd: Math.max(state.inputOffsetFromEnd - 1, 0)\n };\n });\n }\n }, {\n key: \"deleteTokenBeforeInput\",\n value: function deleteTokenBeforeInput() {\n var index = this.getIndexOfInput() - 1;\n\n if (index > -1) {\n this.deleteToken(this.props.value[index]);\n }\n }\n }, {\n key: \"deleteTokenAfterInput\",\n value: function deleteTokenAfterInput() {\n var index = this.getIndexOfInput();\n\n if (index < this.props.value.length) {\n this.deleteToken(this.props.value[index]); // update input offset since it's the offset from the last token\n\n this.moveInputToIndex(index);\n }\n }\n }, {\n key: \"addCurrentToken\",\n value: function addCurrentToken() {\n var preventDefault = false;\n var selectedSuggestion = this.getSelectedSuggestion();\n\n if (selectedSuggestion) {\n this.addNewToken(selectedSuggestion);\n preventDefault = true;\n } else if (this.inputHasValidValue()) {\n this.addNewToken(this.state.incompleteTokenValue);\n preventDefault = true;\n }\n\n return preventDefault;\n }\n }, {\n key: \"addNewTokens\",\n value: function addNewTokens(tokens) {\n var _this4 = this;\n\n var tokensToAdd = uniq(tokens.map(this.props.saveTransform).filter(Boolean).filter(function (token) {\n return !_this4.valueContainsToken(token);\n }));\n\n if (tokensToAdd.length > 0) {\n var newValue = clone(this.props.value);\n newValue.splice.apply(newValue, [this.getIndexOfInput(), 0].concat(tokensToAdd));\n this.props.onChange(newValue);\n }\n }\n }, {\n key: \"addNewToken\",\n value: function addNewToken(token) {\n this.addNewTokens([token]);\n this.props.speak(this.props.messages.added, 'assertive');\n this.setState({\n incompleteTokenValue: '',\n selectedSuggestionIndex: -1,\n selectedSuggestionScroll: false,\n isExpanded: false\n });\n\n if (this.state.isActive) {\n this.input.focus();\n }\n }\n }, {\n key: \"deleteToken\",\n value: function deleteToken(token) {\n var _this5 = this;\n\n var newTokens = this.props.value.filter(function (item) {\n return _this5.getTokenValue(item) !== _this5.getTokenValue(token);\n });\n this.props.onChange(newTokens);\n this.props.speak(this.props.messages.removed, 'assertive');\n }\n }, {\n key: \"getTokenValue\",\n value: function getTokenValue(token) {\n if ('object' === _typeof(token)) {\n return token.value;\n }\n\n return token;\n }\n }, {\n key: \"getMatchingSuggestions\",\n value: function getMatchingSuggestions() {\n var searchValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.incompleteTokenValue;\n var suggestions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.suggestions;\n var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.value;\n var maxSuggestions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props.maxSuggestions;\n var saveTransform = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.props.saveTransform;\n var match = saveTransform(searchValue);\n var startsWithMatch = [];\n var containsMatch = [];\n\n if (match.length === 0) {\n suggestions = difference(suggestions, value);\n } else {\n match = match.toLocaleLowerCase();\n each(suggestions, function (suggestion) {\n var index = suggestion.toLocaleLowerCase().indexOf(match);\n\n if (value.indexOf(suggestion) === -1) {\n if (index === 0) {\n startsWithMatch.push(suggestion);\n } else if (index > 0) {\n containsMatch.push(suggestion);\n }\n }\n });\n suggestions = startsWithMatch.concat(containsMatch);\n }\n\n return take(suggestions, maxSuggestions);\n }\n }, {\n key: \"getSelectedSuggestion\",\n value: function getSelectedSuggestion() {\n if (this.state.selectedSuggestionIndex !== -1) {\n return this.getMatchingSuggestions()[this.state.selectedSuggestionIndex];\n }\n }\n }, {\n key: \"valueContainsToken\",\n value: function valueContainsToken(token) {\n var _this6 = this;\n\n return some(this.props.value, function (item) {\n return _this6.getTokenValue(token) === _this6.getTokenValue(item);\n });\n }\n }, {\n key: \"getIndexOfInput\",\n value: function getIndexOfInput() {\n return this.props.value.length - this.state.inputOffsetFromEnd;\n }\n }, {\n key: \"isInputEmpty\",\n value: function isInputEmpty() {\n return this.state.incompleteTokenValue.length === 0;\n }\n }, {\n key: \"inputHasValidValue\",\n value: function inputHasValidValue() {\n return this.props.saveTransform(this.state.incompleteTokenValue).length > 0;\n }\n }, {\n key: \"updateSuggestions\",\n value: function updateSuggestions() {\n var resetSelectedSuggestion = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var incompleteTokenValue = this.state.incompleteTokenValue;\n var inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n var matchingSuggestions = this.getMatchingSuggestions(incompleteTokenValue);\n var hasMatchingSuggestions = matchingSuggestions.length > 0;\n var newState = {\n isExpanded: inputHasMinimumChars && hasMatchingSuggestions\n };\n\n if (resetSelectedSuggestion) {\n newState.selectedSuggestionIndex = -1;\n newState.selectedSuggestionScroll = false;\n }\n\n this.setState(newState);\n\n if (inputHasMinimumChars) {\n var debouncedSpeak = this.props.debouncedSpeak;\n var message = hasMatchingSuggestions ? sprintf(\n /* translators: %d: number of results. */\n _n('%d result found, use up and down arrow keys to navigate.', '%d results found, use up and down arrow keys to navigate.', matchingSuggestions.length), matchingSuggestions.length) : __('No results.');\n debouncedSpeak(message, 'assertive');\n }\n }\n }, {\n key: \"renderTokensAndInput\",\n value: function renderTokensAndInput() {\n var components = map(this.props.value, this.renderToken);\n components.splice(this.getIndexOfInput(), 0, this.renderInput());\n return components;\n }\n }, {\n key: \"renderToken\",\n value: function renderToken(token, index, tokens) {\n var value = this.getTokenValue(token);\n var status = token.status ? token.status : undefined;\n var termPosition = index + 1;\n var termsCount = tokens.length;\n return createElement(Token, {\n key: 'token-' + value,\n value: value,\n status: status,\n title: token.title,\n displayTransform: this.props.displayTransform,\n onClickRemove: this.onTokenClickRemove,\n isBorderless: token.isBorderless || this.props.isBorderless,\n onMouseEnter: token.onMouseEnter,\n onMouseLeave: token.onMouseLeave,\n disabled: 'error' !== status && this.props.disabled,\n messages: this.props.messages,\n termsCount: termsCount,\n termPosition: termPosition\n });\n }\n }, {\n key: \"renderInput\",\n value: function renderInput() {\n var _this$props2 = this.props,\n autoCapitalize = _this$props2.autoCapitalize,\n autoComplete = _this$props2.autoComplete,\n maxLength = _this$props2.maxLength,\n value = _this$props2.value,\n instanceId = _this$props2.instanceId;\n var props = {\n instanceId: instanceId,\n autoCapitalize: autoCapitalize,\n autoComplete: autoComplete,\n ref: this.bindInput,\n key: 'input',\n disabled: this.props.disabled,\n value: this.state.incompleteTokenValue,\n onBlur: this.onBlur,\n isExpanded: this.state.isExpanded,\n selectedSuggestionIndex: this.state.selectedSuggestionIndex\n };\n\n if (!(maxLength && value.length >= maxLength)) {\n props = _objectSpread({}, props, {\n onChange: this.onInputChange\n });\n }\n\n return createElement(TokenInput, props);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n disabled = _this$props3.disabled,\n _this$props3$label = _this$props3.label,\n label = _this$props3$label === void 0 ? __('Add item') : _this$props3$label,\n instanceId = _this$props3.instanceId,\n className = _this$props3.className;\n var isExpanded = this.state.isExpanded;\n var classes = classnames(className, 'components-form-token-field__input-container', {\n 'is-active': this.state.isActive,\n 'is-disabled': disabled\n });\n var tokenFieldProps = {\n className: 'components-form-token-field',\n tabIndex: '-1'\n };\n var matchingSuggestions = this.getMatchingSuggestions();\n\n if (!disabled) {\n tokenFieldProps = Object.assign({}, tokenFieldProps, {\n onKeyDown: this.onKeyDown,\n onKeyPress: this.onKeyPress,\n onFocus: this.onFocus\n });\n } // Disable reason: There is no appropriate role which describes the\n // input container intended accessible usability.\n // TODO: Refactor click detection to use blur to stop propagation.\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n\n\n return createElement(\"div\", tokenFieldProps, createElement(\"label\", {\n htmlFor: \"components-form-token-input-\".concat(instanceId),\n className: \"components-form-token-field__label\"\n }, label), createElement(\"div\", {\n ref: this.bindTokensAndInput,\n className: classes,\n tabIndex: \"-1\",\n onMouseDown: this.onContainerTouched,\n onTouchStart: this.onContainerTouched\n }, this.renderTokensAndInput(), isExpanded && createElement(SuggestionsList, {\n instanceId: instanceId,\n match: this.props.saveTransform(this.state.incompleteTokenValue),\n displayTransform: this.props.displayTransform,\n suggestions: matchingSuggestions,\n selectedIndex: this.state.selectedSuggestionIndex,\n scrollIntoView: this.state.selectedSuggestionScroll,\n onHover: this.onSuggestionHovered,\n onSelect: this.onSuggestionSelected\n })), createElement(\"p\", {\n id: \"components-form-token-suggestions-howto-\".concat(instanceId),\n className: \"components-form-token-field__help\"\n }, this.props.tokenizeOnSpace ? __('Separate with commas, spaces, or the Enter key.') : __('Separate with commas or the Enter key.')));\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if (!props.disabled || !state.isActive) {\n return null;\n }\n\n return {\n isActive: false,\n incompleteTokenValue: ''\n };\n }\n }]);\n\n return FormTokenField;\n}(Component);\n\nFormTokenField.defaultProps = {\n suggestions: Object.freeze([]),\n maxSuggestions: 100,\n value: Object.freeze([]),\n displayTransform: identity,\n saveTransform: function saveTransform(token) {\n return token.trim();\n },\n onChange: function onChange() {},\n onInputChange: function onInputChange() {},\n isBorderless: false,\n disabled: false,\n tokenizeOnSpace: false,\n messages: {\n added: __('Item added.'),\n removed: __('Item removed.'),\n remove: __('Remove item')\n }\n};\nexport default withSpokenMessages(withInstanceId(FormTokenField));\n//# sourceMappingURL=index.js.map","import { createElement } from \"@wordpress/element\";\nexport default function Spinner() {\n return createElement(\"span\", {\n className: \"components-spinner\"\n });\n}\n//# sourceMappingURL=index.js.map","/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { FormTokenField, Spinner } from '@wordpress/components';\n\n/**\n * An multi-selecting, api-driven autocomplete input suitable for use in block attributes.\n */\nclass AutocompleteTokenField extends Component {\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tsuggestions: [],\n\t\t\tvalidValues: {},\n\t\t\tloading: this.isFetchingInfoOnLoad(),\n\t\t};\n\n\t\tthis.debouncedUpdateSuggestions = debounce( this.updateSuggestions, 500 );\n\t}\n\n\t/**\n\t * If the component has tokens passed in props, it should fetch info after it mounts.\n\t */\n\tisFetchingInfoOnLoad() {\n\t\tconst { tokens, fetchSavedInfo } = this.props;\n\t\treturn Boolean( tokens.length && fetchSavedInfo );\n\t};\n\n\t/**\n\t * When the component loads, fetch information about the tokens so we can populate\n\t * the tokens with the correct labels.\n\t */\n\tcomponentDidMount() {\n\t\tif ( this.isFetchingInfoOnLoad() ) {\n\t\t\tconst { tokens, fetchSavedInfo } = this.props;\n\n\t\t\tfetchSavedInfo( tokens ).then( results => {\n\t\t\t\tconst { validValues } = this.state;\n\n\t\t\t\tresults.forEach( suggestion => {\n\t\t\t\t\tvalidValues[ suggestion.value ] = suggestion.label;\n\t\t\t\t} );\n\n\t\t\t\tthis.setState( { validValues, loading: false } );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Clean up any unfinished autocomplete api call requests.\n\t */\n\tcomponentWillUnmount() {\n\t\tdelete this.suggestionsRequest;\n\t\tthis.debouncedUpdateSuggestions.cancel();\n\t}\n\n\t/**\n\t * Get a list of labels for input values.\n\t *\n\t * @param {Array} values Array of values (ids, etc.).\n\t * @return {Array} array of valid labels corresponding to the values.\n\t */\n\tgetLabelsForValues( values ) {\n\t\tconst { validValues } = this.state;\n\t\treturn values.reduce(\n\t\t\t( accumulator, value ) =>\n\t\t\t\tvalidValues[ value ] ? [ ...accumulator, validValues[ value ] ] : accumulator,\n\t\t\t[]\n\t\t);\n\t}\n\n\t/**\n\t * Get a list of values for input labels.\n\t *\n\t * @param {Array} labels Array of labels from the tokens.\n\t * @return {Array} Array of valid values corresponding to the labels.\n\t */\n\tgetValuesForLabels( labels ) {\n\t\tconst { validValues } = this.state;\n\t\treturn labels.map( label =>\n\t\t\tObject.keys( validValues ).find( key => validValues[ key ] === label )\n\t\t);\n\t}\n\n\t/**\n\t * Refresh the autocomplete dropdown.\n\t *\n\t * @param {string} input Input to fetch suggestions for\n\t */\n\tupdateSuggestions( input ) {\n\t\tconst { fetchSuggestions } = this.props;\n\t\tif ( ! fetchSuggestions ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( { loading: true }, () => {\n\t\t\tconst request = fetchSuggestions( input );\n\t\t\trequest\n\t\t\t.then( suggestions => {\n\t\t\t\t// A fetch Promise doesn't have an abort option. It's mimicked by\n\t\t\t\t// comparing the request reference in on the instance, which is\n\t\t\t\t// reset or deleted on subsequent requests or unmounting.\n\t\t\t\tif ( this.suggestionsRequest !== request ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { validValues } = this.state;\n\t\t\t\tconst currentSuggestions = [];\n\n\t\t\t\tsuggestions.forEach( suggestion => {\n\t\t\t\t\tcurrentSuggestions.push( suggestion.label );\n\t\t\t\t\tvalidValues[ suggestion.value ] = suggestion.label;\n\t\t\t\t} );\n\n\t\t\t\tthis.setState( { suggestions: currentSuggestions, validValues, loading: false } );\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.suggestionsRequest === request ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tloading: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthis.suggestionsRequest = request;\n\t\t} );\n\t}\n\n\t/**\n\t * When a token is selected, we need to convert the string label into a recognized value suitable for saving as an attribute.\n\t *\n\t * @param {Array} tokenStrings An array of token label strings.\n\t */\n\thandleOnChange( tokenStrings ) {\n\t\tconst { onChange } = this.props;\n\t\tonChange( this.getValuesForLabels( tokenStrings ) );\n\t}\n\n\t/**\n\t * To populate the tokens, we need to convert the values into a human-readable label.\n\t *\n\t * @return {Array} An array of token label strings.\n\t */\n\tgetTokens() {\n\t\tconst { tokens } = this.props;\n\t\treturn this.getLabelsForValues( tokens );\n\t}\n\n\t/**\n\t * Render.\n\t */\n\trender() {\n\t\tconst { help, label = '' } = this.props;\n\t\tconst { suggestions, loading } = this.state;\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t this.handleOnChange( tokens ) }\n\t\t\t\t\tonInputChange={ input => this.debouncedUpdateSuggestions( input ) }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t/>\n\t\t\t\t{ loading && }\n\t\t\t\t{ help &&

    { help }

    }\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default AutocompleteTokenField;\n","import AutocompleteTokenField from \"../autocomplete-tokenfield\";\n\nconst apiFetch = wp.apiFetch;\nconst { addQueryArgs } = wp.url;\nconst { decodeEntities } = wp.htmlEntities;\nconst { __ } = wp.i18n;\n\nconst fetchPostSuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/search', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,title',\n\t\t\ttype: 'post',\n\t\t} ),\n\t} ).then( function( posts ) {\n\t\tconst result = posts.map( post => ( {\n\t\t\tvalue: post.id,\n\t\t\tlabel: decodeEntities( post.title ) || __( '(no title)' ),\n\t\t} ) );\n\t\treturn result;\n\t} );\n}\n\nconst fetchSavedPosts = ( postIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/posts', {\n\t\t\tper_page: 100,\n\t\t\tinclude: postIDs.join( ',' ),\n\t\t\t_fields: 'id,title',\n\t\t} ),\n\t} ).then( function( posts ) {\n\t\treturn posts.map( post => ( {\n\t\t\tvalue: post.id,\n\t\t\tlabel: decodeEntities( post.title.rendered ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n};\n\nconst ManualControls = ( props ) => {\n\n\tconst {\n\t\tloadingMode,\n\t\tspecificPosts,\n\t\tonSpecificPostsChange,\n\t} = props;\n\n\tif ( 'manual' !== loadingMode ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t)\n}\n\nexport default ManualControls;\n","const { QueryControls } = wp.components;\nconst apiFetch = wp.apiFetch;\nconst { addQueryArgs } = wp.url;\nconst { decodeEntities } = wp.htmlEntities;\n\nconst { __ } = wp.i18n;\nimport AutocompleteTokenField from \"../autocomplete-tokenfield\";\n\nconst fetchAuthorSuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/users', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,name',\n\t\t} ),\n\t} ).then( function( users ) {\n\t\treturn users.map( user => ( {\n\t\t\tvalue: user.id,\n\t\t\tlabel: decodeEntities( user.name ) || __( '(no name)' ),\n\t\t} ) );\n\t} );\n};\n\nconst fetchSavedAuthors = ( userIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/users', {\n\t\t\tper_page: 100,\n\t\t\tinclude: userIDs.join( ',' ),\n\t\t\t_fields: 'id,name',\n\t\t} ),\n\t} ).then( function( users ) {\n\t\treturn users.map( user => ( {\n\t\t\tvalue: user.id,\n\t\t\tlabel: decodeEntities( user.name ) || __( '(no name)' ),\n\t\t} ) );\n\t} );\n};\n\nconst fetchCategorySuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/categories', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,name',\n\t\t\torderby: 'count',\n\t\t\torder: 'desc',\n\t\t} ),\n\t} ).then( function( categories ) {\n\t\treturn categories.map( category => ( {\n\t\t\tvalue: category.id,\n\t\t\tlabel: decodeEntities( category.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst fetchSavedCategories = ( categoryIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/categories', {\n\t\t\tper_page: 100,\n\t\t\t_fields: 'id,name',\n\t\t\tinclude: categoryIDs.join( ',' ),\n\t\t} ),\n\t} ).then( function( categories ) {\n\t\treturn categories.map( category => ( {\n\t\t\tvalue: category.id,\n\t\t\tlabel: decodeEntities( category.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst fetchTagSuggestions = ( search ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/tags', {\n\t\t\tsearch,\n\t\t\tper_page: 20,\n\t\t\t_fields: 'id,name',\n\t\t\torderby: 'count',\n\t\t\torder: 'desc',\n\t\t} ),\n\t} ).then( function( tags ) {\n\t\treturn tags.map( tag => ( {\n\t\t\tvalue: tag.id,\n\t\t\tlabel: decodeEntities( tag.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst fetchSavedTags = ( tagIDs ) => {\n\treturn apiFetch( {\n\t\tpath: addQueryArgs( '/wp/v2/tags', {\n\t\t\tper_page: 100,\n\t\t\t_fields: 'id,name',\n\t\t\tinclude: tagIDs.join( ',' ),\n\t\t} ),\n\t} ).then( function( tags ) {\n\t\treturn tags.map( tag => ( {\n\t\t\tvalue: tag.id,\n\t\t\tlabel: decodeEntities( tag.name ) || __( '(no title)' ),\n\t\t} ) );\n\t} );\n}\n\nconst AutomatedControls = ( props ) => {\n\n\tconst {\n\t\tauthors,\n\t\tonAuthorsChange,\n\t\tcategories,\n\t\tonCategoriesChange,\n\t\ttags,\n\t\tonTagsChange,\n\t\tloadingMode,\n\t} = props;\n\n\tif ( 'automated' !== loadingMode ) {\n\t\treturn null;\n\t}\n\n\treturn [\n\t\t,\n\t\tonAuthorsChange && (\n\t\t\t\n\t\t),\n\t\tonCategoriesChange && (\n\t\t\t\n\t\t),\n\t\tonTagsChange && (\n\t\t\t\n\t\t),\n\t]\n}\n\nexport default AutomatedControls;\n","/**\n * WordPress dependencies\n */\n\n\nconst { __ } = wp.i18n;\nconst { RadioControl } = wp.components;\n\nimport ManualControls from \"./manual-controls\";\nimport AutomatedControls from \"./automated-controls\";\n\nconst QueryControls = ( props ) => {\n\n\tconst {\n\t\tloadingMode,\n\t\tonLoadingModeChange,\n\t\tenableSpecific,\n\t} = props;\n\n\treturn [\n\t\tenableSpecific && (\n\t\t\t\n\t\t),\n\t\t,\n\t\t\n\t];\n}\n\nexport default QueryControls;\n","/**\n * External dependencies\n */\nimport { isUndefined, pickBy } from 'lodash';\n\n/**\n * Checks whether the specific post mode is active.\n *\n * @param {Object} attributes block attributes\n * @return {boolean} specific mode active flag\n */\nexport const isSpecificPostModeActive = ( { loadingMode, specificPosts } ) =>\n\t'manual' === loadingMode && specificPosts && specificPosts.length;\n\n/**\n * Builds query criteria from given attributes.\n *\n * @param {Object} attributes block attributes\n * @return {Object} criteria\n */\nexport const queryCriteriaFromAttributes = attributes => {\n\tconst { postsToShow, authors, categories, tags, specificPosts, tagExclusions } = attributes;\n\tconst criteria = pickBy(\n\t\tisSpecificPostModeActive( attributes )\n\t\t\t? {\n\t\t\t\tinclude: specificPosts,\n\t\t\t\torderby: 'include',\n\t\t\t\tper_page: specificPosts.length,\n\t\t\t}\n\t\t\t: {\n\t\t\t\tper_page: postsToShow,\n\t\t\t\tcategories,\n\t\t\t\tauthor: authors,\n\t\t\t\ttags,\n\t\t\t\ttags_exclude: tagExclusions,\n\t\t\t},\n\t\tvalue => ! isUndefined( value )\n\t);\n\treturn criteria;\n};\n","/**\n * External dependencies\n */\nimport { uniq } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tregisterStore,\n\tselect,\n\tsubscribe,\n\tdispatch\n} = wp.data;\n\n/**\n * Internal dependencies\n */\nexport const STORE_NAME = 'posts-collection';\n\nconst initialState = {\n\tqueryBlocks: [], // list of Query blocks in the order they are on the page\n\tpostsByBlock: {}, // map of returned posts to block clientId\n\tspecificPostsByBlock: {}, // posts displayed by specific-mode, which always return in the selector\n};\n\nconst UPDATE_BLOCKS = 'UPDATE_BLOCKS';\nconst MARK_POSTS_DISPLAYED = 'MARK_POSTS_DISPLAYED';\nconst MARK_SPECIFIC_POSTS_DISPLAYED = 'MARK_SPECIFIC_POSTS_DISPLAYED';\n\nconst actions = {\n\tupdateBlocks( blocks ) {\n\t\treturn {\n\t\t\ttype: UPDATE_BLOCKS,\n\t\t\tblocks,\n\t\t};\n\t},\n\tmarkPostsAsDisplayed( clientId, posts ) {\n\t\treturn {\n\t\t\ttype: MARK_POSTS_DISPLAYED,\n\t\t\tclientId,\n\t\t\tposts,\n\t\t};\n\t},\n\tmarkSpecificPostsAsDisplayed( clientId, posts ) {\n\t\treturn {\n\t\t\ttype: MARK_SPECIFIC_POSTS_DISPLAYED,\n\t\t\tclientId,\n\t\t\tposts,\n\t\t};\n\t},\n};\n\n/**\n * @typedef Block A Gutenberg editor block\n * @type {object}\n * @typedef uuid Unique id\n * @type {string}\n */\n\n/**\n * Returns the Query blocks that appear before the current one on the page\n *\n * @param {Block[]} orderedBlocks Ordered Blocks\n * @param {uuid} clientId client id\n * @returns {Block[]} blocks\n */\nconst blocksBefore = ( orderedBlocks, clientId ) => {\n\tconst ourBlockIdx = orderedBlocks.findIndex( b => b.clientId === clientId );\n\treturn orderedBlocks.slice( 0, ourBlockIdx );\n};\n\nconst selectors = {\n\tpreviousPostIds( state, _clientId ) {\n\t\tconst { queryBlocks, specificPostsByBlock, postsByBlock } = state;\n\n\t\tconst postIdsFromSpecificMode = queryBlocks\n\t\t.filter( ( { clientId } ) => specificPostsByBlock[ clientId ] )\n\t\t.flatMap( ( { clientId } ) => specificPostsByBlock[ clientId ].map( p => p.id ) );\n\n\t\tconst previousPostIds = blocksBefore( queryBlocks, _clientId )\n\t\t.filter( ( { clientId } ) => postsByBlock[ clientId ] )\n\t\t.flatMap( ( { clientId } ) => postsByBlock[ clientId ].map( p => p.id ) );\n\n\t\treturn uniq( postIdsFromSpecificMode.concat( previousPostIds ) ).sort();\n\t},\n};\n\nexport const registerQueryStore = blockName => {\n\t/**\n\t * Returns an array of all query blocks in the order they are on\n\t * the page. This is needed to be able to show the editor blocks in the order\n\t * that PHP will render them.\n\t *\n\t * @param {Block[]} blocks any blocks\n\t * @returns {Block[]} ordered query blocks\n\t */\n\tconst getQueryBlocksInOrder = blocks =>\n\t\tblocks.flatMap( block => {\n\t\t\tconst queryBlocks = [];\n\t\t\tif ( block.name === blockName ) {\n\t\t\t\tqueryBlocks.push( block );\n\t\t\t}\n\t\t\treturn queryBlocks.concat( getQueryBlocksInOrder( block.innerBlocks ) );\n\t\t} );\n\n\tconst reducer = ( state = initialState, action ) => {\n\t\tswitch ( action.type ) {\n\t\t\tcase UPDATE_BLOCKS:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tqueryBlocks: getQueryBlocksInOrder( action.blocks ),\n\t\t\t\t};\n\t\t\tcase MARK_POSTS_DISPLAYED:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tpostsByBlock: {\n\t\t\t\t\t\t...state.postsByBlock,\n\t\t\t\t\t\t[ action.clientId ]: action.posts,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tcase MARK_SPECIFIC_POSTS_DISPLAYED:\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tspecificPostsByBlock: {\n\t\t\t\t\t\t...state.specificPostsByBlock,\n\t\t\t\t\t\t[ action.clientId ]: action.posts,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t\treturn state;\n\t};\n\tregisterStore( STORE_NAME, {\n\t\treducer,\n\t\tactions,\n\t\tselectors,\n\t\tinitialState,\n\t} );\n\n\tconst { getClientIdsWithDescendants, getBlocks } = select( 'core/block-editor' );\n\tconst { updateBlocks } = dispatch( STORE_NAME );\n\n\tlet currentBlocksIds;\n\tsubscribe( () => {\n\t\tconst newBlocksIds = getClientIdsWithDescendants();\n\t\t// I don't know why != works but it does, I guess getClientIdsWithDescendants is memoized?\n\t\tconst blocksChanged = newBlocksIds !== currentBlocksIds;\n\t\tcurrentBlocksIds = newBlocksIds;\n\n\t\tif ( blocksChanged ) {\n\t\t\tupdateBlocks( getBlocks() );\n\t\t}\n\t} );\n};\n","import { isUndefined, pickBy } from \"lodash\";\n\nimport QueryControls from '../../components/query-controls';\n\nimport {\n\tisSpecificPostModeActive,\n\tqueryCriteriaFromAttributes\n} from \"./utils\";\n\nimport { STORE_NAME, registerQueryStore } from \"./store\";\nimport {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\nregisterQueryStore( `novablocks/${ STORE_NAME }` );\n\nconst { __ } = wp.i18n;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\nconst { InspectorControls } = wp.blockEditor;\nconst { PanelBody } = wp.components;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\twithSelect,\n\twithDispatch,\n} = wp.data;\n\nconst enablePostsQueryControlsOnBlocks = [ 'novablocks/posts-collection' ];\n\nconst withPostsQueryControls = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! enablePostsQueryControlsOnBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\tconst {\n\t\t\tattributes,\n\t\t\tsetAttributes,\n\t\t} = props;\n\n\t\tconst {\n\t\t\tpostsToShow,\n\t\t\tloadingMode,\n\t\t\tspecificPosts,\n\t\t\tauthors,\n\t\t\tcategories,\n\t\t\ttags,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsetAttributes( { postsToShow: _postsToShow } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tloadingMode={ loadingMode }\n\t\t\t\t\t\t\tonLoadingModeChange={ _loadingMode =>\n\t\t\t\t\t\t\t\tsetAttributes( { loadingMode: _loadingMode } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tspecificPosts={ specificPosts }\n\t\t\t\t\t\t\tonSpecificPostsChange={ _specificPosts =>\n\t\t\t\t\t\t\t\tsetAttributes( { specificPosts: _specificPosts } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tauthors={ authors }\n\t\t\t\t\t\t\tonAuthorsChange={\n\t\t\t\t\t\t\t\t_authors => setAttributes( { authors: _authors } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\t\tonCategoriesChange={\n\t\t\t\t\t\t\t\t_categories => setAttributes( { categories: _categories } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttags={ tags }\n\t\t\t\t\t\t\tonTagsChange={ _tags => {\n\t\t\t\t\t\t\t\tsetAttributes( { tags: _tags } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n} );\n\nfunction withPostsQueryAttributes( block ) {\n\n\tif ( ! enablePostsQueryControlsOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes === 'undefined' ) {\n\t\tblock.attributes = {};\n\t}\n\n\tblock.attributes = Object.assign( block.attributes, {\n\t\tpostsToShow: {\n\t\t\ttype: \"integer\",\n\t\t\tdefault: 3\n\t\t},\n\t\tloadingMode: {\n\t\t\ttype: \"string\",\n\t\t\tdefault: \"automated\"\n\t\t},\n\t\tspecificPosts: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t\tauthors: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t\tcategories: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t\ttags: {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: \"integer\"\n\t\t\t}\n\t\t},\n\t});\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/with-posts-query-attributes', withPostsQueryAttributes );\n\nconst withLatestPosts = compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, clientId } = props;\n\n\t\tconst latestPostsQuery = queryCriteriaFromAttributes( attributes );\n\n\t\tif ( ! isSpecificPostModeActive( attributes ) ) {\n\t\t\tconst postIdsToExclude = select( STORE_NAME ).previousPostIds( clientId );\n\t\t\tlatestPostsQuery.exclude = postIdsToExclude.join( ',' );\n\t\t}\n\n\t\treturn {\n\t\t\tposts: select( 'core' ).getEntityRecords( 'postType', 'post', latestPostsQuery )\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, props ) => {\n\t\tconst { attributes } = props;\n\t\tconst markPostsAsDisplayed = isSpecificPostModeActive( attributes )\n\t\t\t? dispatch( STORE_NAME ).markSpecificPostsAsDisplayed\n\t\t\t: dispatch( STORE_NAME ).markPostsAsDisplayed;\n\n\t\treturn {\n\t\t\tmarkPostsAsDisplayed,\n\t\t};\n\t} ),\n\twithPostsQueryControls\n] );\naddFilter( 'editor.BlockEdit', 'novablocks/with-latest-posts', withLatestPosts );\n\n","import advancedGalleryAttributes from '../../components/advanced-gallery/attributes';\n\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component, Fragment } = wp.element;\n\nconst enableAdvancedMediaAttributeOnBlocks = [\n\t'novablocks/media',\n\t'novablocks/advanced-gallery',\n];\n\nfunction addAdvancedGalleryAttributes( block ) {\n\n\tif ( ! enableAdvancedMediaAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, advancedGalleryAttributes );\n\t}\n\n\treturn block;\n}\n\naddFilter( 'blocks.registerBlockType', 'novablocks/add-advanced-gallery-attributes', addAdvancedGalleryAttributes );\n","import dopplerAttributes from '../../components/scrolling-effect-controls/attributes';\n\nconst { addFilter } = wp.hooks;\n\nconst enableDopplerAttributeOnBlocks = [\n\t'novablocks/hero',\n\t'novablocks/google-map',\n\t'novablocks/slideshow',\n];\n\nfunction addDopplerAttributes( block ) {\n\n\tif ( ! enableDopplerAttributeOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, dopplerAttributes );\n\t}\n\n\treturn block;\n}\n\naddFilter( 'blocks.registerBlockType', 'novablocks/add-advanced-gallery-attributes', addDopplerAttributes );\n","import overlayColorAttributes from '../../components/color-controls/attributes';\n\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Component, Fragment } = wp.element;\n\nconst enableOverlayColorAttributesOnBlocks = [\n\t'novablocks/hero',\n\t'novablocks/slideshow',\n];\n\nfunction addOverlayColorAttributes( block ) {\n\n\tif ( ! enableOverlayColorAttributesOnBlocks.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, overlayColorAttributes );\n\t}\n\n\treturn block;\n}\n\naddFilter( 'blocks.registerBlockType', 'novablocks/add-overlay-color-attributes', addOverlayColorAttributes );\n","import { ControlsSections } from \"../../components/control-sections\";\n\nconst { InspectorControls } = wp.blockEditor;\nconst { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\n\nconst withControlsSections = createHigherOrderComponent(OriginalComponent => {\n\n\treturn ( props ) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n});\naddFilter( 'editor.BlockEdit', 'novablocks/with-controls-sections', withControlsSections );\n","import attributes from './attributes';\n\nimport { getControlsClasses, getRandomBetween, getRandomArrayFromArray } from \"../../utils\";\nimport { withSettings } from '../../components';\n\nimport {\n\tBlockVerticalAlignmentToolbar,\n\tControlsGroup,\n\tControlsSection,\n\tControlsTab,\n\tPresetControl,\n} from \"../../components\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelRow,\n\tRangeControl,\n\tToggleControl,\n} = wp.components;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\taddFilter\n} = wp.hooks;\n\nconst ALLOWED_BLOCKS = [\n\t'novablocks/media',\n\t'novablocks/cards-collection',\n\t'novablocks/posts-collection',\n];\n\nconst ALLOWED_BLOCKS_ADVANCED = [\n\t'novablocks/media',\n];\n\nconst getEmphasisAttributes = ( { emphasisBySpace, enableOverlapping, verticalAlignment } ) => {\n\n\tconst actualEmphasis = ! enableOverlapping ? emphasisBySpace : -1 * emphasisBySpace;\n\n\treturn {\n\t\temphasisBySpace: emphasisBySpace,\n\t\tenableOverlapping: enableOverlapping,\n\t\tblockTopSpacing: \t\t( actualEmphasis < 0 && ['center', 'bottom'].includes( verticalAlignment ) ) \t? actualEmphasis : 0,\n\t\tblockBottomSpacing: \t( actualEmphasis < 0 && ['center', 'top'].includes( verticalAlignment ) ) \t\t? actualEmphasis : 0,\n\t\temphasisTopSpacing: \t( verticalAlignment !== 'top' ) \t? actualEmphasis : 1,\n\t\temphasisBottomSpacing: \t( verticalAlignment !== 'bottom' ) \t? actualEmphasis : \t1,\n\t\tverticalAlignment: verticalAlignment,\n\t};\n};\n\nconst getRandomAttributes = () => {\n\tconst getRandomSign = () => { return getRandomArrayFromArray( [ -1, 0, 1 ], 1 )[0] };\n\tconst block = getRandomBetween( 0, 3 );\n\tconst emphasis = getRandomBetween( 0, 3 );\n\tconst blockTopSign = getRandomSign();\n\tconst blockBottomSign = getRandomSign();\n\tconst emphasisTopSign = getRandomSign();\n\tconst emphasisBottomSign = getRandomSign();\n\tconst verticalAlignment = getRandomArrayFromArray( [ 'top', 'center', 'bottom' ], 1 )[0];\n\tconst enableOverlapping = getRandomArrayFromArray( [ true, false ], 1 )[0];\n\n\treturn {\n\t\tblockTopSpacing: block * blockTopSign,\n\t\tblockBottomSpacing: block * blockBottomSign,\n\t\temphasisTopSpacing: emphasis * emphasisTopSign,\n\t\temphasisBottomSpacing: emphasis * emphasisBottomSign,\n\t\tenableOverlapping,\n\t\tverticalAlignment,\n\t};\n};\n\nconst withSpaceAndSizingControlsAdvanced = createHigherOrderComponent( OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! ALLOWED_BLOCKS_ADVANCED.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\tconst presetOptions = props?.settings?.media?.spaceAndSizing?.presetOptions;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\t!! presetOptions &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n});\n\nconst componentWithSettings = compose( [\n\twithSettings,\n\twithSpaceAndSizingControlsAdvanced\n] );\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-space-and-sizing-advanced', componentWithSettings );\n\nconst withSpaceAndSizingControls = createHigherOrderComponent( OriginalComponent => {\n\n\treturn ( props ) => {\n\n\t\tif ( ! ALLOWED_BLOCKS.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\tconst {\n\t\t\tattributes,\n\t\t\tsetAttributes,\n\t\t} = props;\n\n\t\tconst {\n\t\t\tblockTopSpacing,\n\t\t\tblockBottomSpacing,\n\t\t\temphasisTopSpacing,\n\t\t\temphasisBottomSpacing,\n\t\t\temphasisBySpace,\n\t\t\tenableOverlapping,\n\t\t} = attributes;\n\n\t\tconst verticalAlignment = attributes.verticalAlignment || 'center';\n\n\t\tconst SPACING_MIN_VALUE = ALLOWED_BLOCKS_ADVANCED.includes( props.name ) ? -3 : 0;\n\t\tconst SPACING_MAX_VALUE = 3;\n\n\t\tconst cssVars = {\n\t\t\t'--novablocks-emphasis-top-spacing': verticalAlignment === 'top' ? Math.abs(emphasisTopSpacing) : emphasisTopSpacing,\n\t\t\t'--novablocks-emphasis-bottom-spacing': verticalAlignment === 'bottom' ? Math.abs(emphasisBottomSpacing) : emphasisBottomSpacing,\n\t\t\t'--novablocks-block-top-spacing': blockTopSpacing,\n\t\t\t'--novablocks-block-bottom-spacing': blockBottomSpacing,\n\t\t\t'--novablocks-block-zindex': Math.max( 0, -1 * ( blockTopSpacing + blockBottomSpacing ) )\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst newAttributes = getEmphasisAttributes( { ...attributes, emphasisBySpace } );\n\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Emphasis by Space' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tmax={ 3 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst newAttributes = getEmphasisAttributes( { ...attributes, enableOverlapping } );\n\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'Vertical Anchoring', '__plugin_txtd' ) }\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tconst newAttributes = getEmphasisAttributes( { ...attributes, verticalAlignment } );\n\t\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ __( 'Vertical Anchoring', '__plugin_txtd' ) }\n\t\t\t\t\t\t\t\t\t setAttributes( { verticalAlignment: nextVerticalAlignment } ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t setAttributes( { blockTopSpacing } ) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Top' ) }\n\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t setAttributes( { blockBottomSpacing } ) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Bottom' ) }\n\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t setAttributes( { emphasisTopSpacing } ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Top' ) }\n\t\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t setAttributes( { emphasisBottomSpacing } ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Bottom' ) }\n\t\t\t\t\t\t\t\t\t\tmin={ SPACING_MIN_VALUE }\n\t\t\t\t\t\t\t\t\t\tmax={ SPACING_MAX_VALUE }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t};\n});\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-space-and-sizing', withSpaceAndSizingControls );\n\nfunction addSpaceAndSizingAttributes( block ) {\n\n\tif ( ! ALLOWED_BLOCKS.includes( block.name ) ) {\n\t\treturn block;\n\t}\n\n\tif ( typeof block.attributes !== 'undefined' ) {\n\t\tObject.assign( block.attributes, attributes );\n\t}\n\n\treturn block;\n}\naddFilter( 'blocks.registerBlockType', 'novablocks/add-space-and-sizing-attributes', addSpaceAndSizingAttributes );\n","const { createHigherOrderComponent } = wp.compose;\nconst { addFilter } = wp.hooks;\nconst { Fragment } = wp.element;\n\nconst { withSelect } = wp.data;\n\nconst enableInnerBlocks = [\n\t'novablocks/menu-food',\n\t'novablocks/menu-food-section',\n\t'novablocks/cards-collection'\n];\n\nconst withInnerBlocks = withSelect( ( select, props ) => {\n\tconst { clientId } = props;\n\tconst { getBlock } = select( 'core/block-editor' );\n\tconst parentBlock = getBlock( clientId );\n\tconst innerBlocks = parentBlock.innerBlocks;\n\n\treturn {\n\t\tinnerBlocks,\n\t\t...props\n\t}\n} );\n\nconst withInnerBlocksComponent = createHigherOrderComponent( OriginalComponent => {\n\n\tconst BetterComponent = withInnerBlocks(OriginalComponent);\n\n\treturn ( props ) => {\n\n\t\tif ( ! enableInnerBlocks.includes( props.name ) ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn ;\n\t};\n});\n\naddFilter( 'editor.BlockEdit', 'novablocks/with-inner-blocks-component', withInnerBlocksComponent );\n","// Copyright 2014 Foursquare Labs Inc. All Rights Reserved.\n\nvar fourSq = fourSq || {};\nfourSq.util = fourSq.util || {}\n\nfourSq.util.Hours = {\n /**\n * Pads times to be HHMM\n * @param {string} text\n * @return {string}\n */\n padTimes: function(text) {\n // Add leading/trailing zeros to times so it's always 4 digits, like 0800\n // Have to run each twice because they're pivoting around the separator\n // i.e. x10-12x first matches \"x10-\" and doesn't match the rest\n text = text.replace(/([^0-9]|^)([0-9]{3})([^0-9]|$)/g, '$10$2$3');\n text = text.replace(/([^0-9]|^)([0-9]{3})([^0-9]|$)/g, '$10$2$3');\n text = text.replace(/([^0-9]|^)([0-9]{2})([^0-9]|$)/g, '$1$200$3');\n text = text.replace(/([^0-9]|^)([0-9]{2})([^0-9]|$)/g, '$1$200$3');\n text = text.replace(/([^0-9]|^)([0-9])([^0-9]|$)/g, '$10$200$3');\n text = text.replace(/([^0-9]|^)([0-9])([^0-9]|$)/g, '$10$200$3');\n return text;\n },\n\n /**\n * @param {Array.} days\n * @param {number} startMinutes\n * @param {number} endMinutes\n */\n toTimeframe: function(days, startMinutes, endMinutes) {\n // If we've day wrapped and end before 4am, push the ending value up 24 hours.\n if (startMinutes >= endMinutes && endMinutes <= 240) {\n endMinutes += 1440;\n }\n var startFormatted = fourSq.util.Hours.formatMinutes(startMinutes);\n var endFormatted = fourSq.util.Hours.formatMinutes(endMinutes);\n\n return /** @type {fourSq.api.models.hours.MachineTimeframe} */ (({\n days: days,\n open: [(/** @type {fourSq.api.models.hours.MachineSegment} */({\n start: startFormatted,\n end: endFormatted\n }))]\n }));\n },\n\n /**\n * @param {number} minutes after minute\n * @return {string} the hhmm format that API takes for the input hours\n */\n formatMinutes: function(minutes) {\n var hh = Math.floor(minutes / 60);\n var mm = minutes % 60;\n var intoNextDay = ((hh % 24) !== hh);\n hh = (hh % 24);\n if (hh % 10 === hh) {\n hh = '0' + hh;\n }\n if (intoNextDay) {\n hh = '+' + hh;\n }\n if (mm % 10 === mm) {\n mm = '0' + mm;\n }\n return hh + '' + mm;\n },\n\n /**\n * @param {string} hoursText\n * @param {(string|undefined)} minutesText\n * @param {(string|undefined)} meridiem\n * @return {number}\n */\n minutesAfterMidnight: function(hoursText, minutesText, meridiem) {\n var hours = parseInt(hoursText, 10);\n var minutes = (minutesText !== undefined) ? parseInt(minutesText, 10) : 0;\n if (hours === 12 && meridiem) {\n hours -= 12;\n }\n if (meridiem && meridiem[0] === 'p') {\n hours += 12;\n }\n\n return (hours * 60) + minutes;\n }\n}\n\nfourSq.util.HoursParser = {\n\n /**\n * @return {fourSq.api.models.hours.MachineHours}\n */\n parse: function(text) {\n text = text.toLowerCase();\n\n // Normalize new lines to ';'\n text = text.replace(/\\n/g, ' ; ');\n\n // Massage times\n // TODO(ss): translate and do weekend/weekday subs\n text = text.replace(/(12|12:00)?midnight/g, '1200a');\n text = text.replace(/(12|12:00)?noon/g, '1200p');\n text = text.replace(/(open)?\\s*24\\s*hours?/g, '1200a-1200a');\n\n // Standardize conjunctions to '&'\n text = text.replace(/\\s*(and|,|\\+|&)\\s*/g, '&');\n\n // Standardize range tokens to '-'\n text = text.replace(/\\s*(-|to|thru|through|till?|'till?|until)\\s*/g, '-');\n\n // Standardize am/pm\n text = text.replace(/\\s*a\\.?m?\\.?/g, 'a');\n text = text.replace(/\\s*p\\.?m?\\.?/g, 'p');\n\n // Not sure this happens, but add trailing zeros to things like 5:3pm\n text = text.replace(/([0-9])(h|:|\\.)([0-9])([^0-9]|$)/g, '$1$2$30$4');\n\n // Remove separators from times (e.g. ':')...\n // if they both have separators\n text = text.replace(/([0-9]+)\\s*[^0-9]\\s*([0-9]{2})([^0-9]+?)([0-9]+)\\s*[^0-9]\\s*([0-9]{2})/g, '$1$2$3$4$5');\n // if only the start time has a separator\n text = text.replace(/([0-9]+)\\s*(h|:|\\.)\\s*([0-9]{2})/g, '$1$3');\n // if only the end time has a separator\n //text = text.replace(/([0-9]+)([^0-9ap]+?)([0-9]+)\\s*(h|:|\\.)\\s*([0-9]{2})/g, '$1$2$3$5');\n\n text = fourSq.util.Hours.padTimes(text);\n\n // Massage days\n var dayCanonicals = _.map(_.range(1, 8), function(dayI) {\n var allNames = fourSq.util.HoursParser.dayAliases(dayI);\n var canonical = _.head(allNames); // Shortest is at the front\n var aliases = _.tail(allNames);\n aliases.reverse(); // Need to have the largest alias first for replacing\n if (canonical && aliases) {\n _.each(aliases, function(alias) {\n text = text.replace(new RegExp(alias, 'g'), canonical);\n });\n }\n return canonical;\n });\n\n var dayPattern = '(' + dayCanonicals.join('|') + ')';\n var timePattern = '([0-9][0-9])([0-9][0-9])\\\\s*([ap])?';\n var globTimePattern = '[0-9]{4}\\\\s*[ap]?';\n var globTimeRangePattern = '(' + globTimePattern + '[^0-9]+' + globTimePattern + ')';\n\n // Need to establish whether days come before times (forward) or not (backward)\n var forwardTimeframePattern = dayPattern + '.*?' + globTimeRangePattern;\n var backwardTimeframePattern = globTimeRangePattern + '.*?' + dayPattern;\n\n var forwardPosition = text.search(new RegExp(forwardTimeframePattern));\n var backwardPosition = text.search(new RegExp(backwardTimeframePattern));\n\n // If a forward pattern is found first, consider it a forward facing text\n var isForward = (forwardPosition !== -1 && forwardPosition <= backwardPosition) || backwardPosition === -1;\n // TODO(ss): may be better to normalize the string to be forward facing at this point\n // so the rest of the method would be easier to grok\n\n // Separate out something like Mon-Thu, Sat, Sun\n if (isForward) {\n var ungroupedPattern = dayPattern + '&' + dayPattern + '[^&]*?' + globTimeRangePattern;\n var ungroupedRegex = new RegExp(ungroupedPattern, 'g');\n for (var i = 0; i < dayCanonicals.length; ++i) {\n text = text.replace(ungroupedRegex, '$1 $3; $2 $3; ');\n }\n } else {\n var ungroupedPattern = globTimeRangePattern + '([^0-9]*?)' + dayPattern + '&' + dayPattern;\n var ungroupedRegex = new RegExp(ungroupedPattern, 'g');\n for (var i = 0; i < dayCanonicals.length; ++i) {\n text = text.replace(ungroupedRegex, '$1 $2 $3; $1 $4; ');\n }\n }\n\n var dayRangePattern = dayPattern + '[^a-z0-9]*' + dayPattern + '?';\n var timeRangePattern = timePattern + '[^0-9]*' + timePattern;\n var timeframePattern = isForward ? (\n dayRangePattern + '.*?' + timeRangePattern\n ) : (\n timeRangePattern + '.*?' + dayRangePattern\n );\n var dayTimeMatcher = new RegExp(timeframePattern, 'g');\n\n var matches = [];\n do {\n var dayTimeMatch = dayTimeMatcher.exec(text);\n if (dayTimeMatch) {\n matches.push(dayTimeMatch);\n }\n } while (dayTimeMatch)\n\n if (matches.length <= 0) {\n // Try to find just a time range, and then we'll assume it's all days later on.\n // First two groups are strings that won't match, to get undefined values\n // in those slots in the regex match array.\n var timeRangeMatcher = new RegExp('(@!ZfW#)?(@!ZfW#)?' + timeRangePattern);\n var timeRangeMatch = timeRangeMatcher.exec(text);\n if (timeRangeMatch) {\n matches.push(timeRangeMatch);\n }\n }\n\n var timeframes = _.map(matches, function(match) {\n // day slots in the regex match array\n var day1 = isForward ? match[1] : match[7];\n var day2 = isForward ? match[2] : match[8];\n var startDay = (day1 !== undefined) ? dayCanonicals.indexOf(day1) : 0;\n\n var endDay = null;\n if (day2 !== undefined) {\n if (day1 === undefined) {\n startDay = dayCanonicals.indexOf(day2);\n } else {\n endDay = dayCanonicals.indexOf(day2);\n }\n } else if (day1 === undefined) {\n // If start and end days were undefined, assume 7 days a week\n endDay = 7;\n }\n if (endDay === null) {\n endDay = startDay;\n }\n\n if (endDay < startDay) {\n // For case where: Sun-Tue (we start on Monday)\n endDay += 7;\n }\n var days = _.map(_.range(startDay, endDay + 1), function(day) {\n // Days start at 1 for Monday\n return (day % 7) + 1;\n });\n\n // time slots in the regex match array\n var startHour = isForward ? match[3] : match[1];\n var startMinute = isForward ? match[4] : match[2];\n var startMeridiem = isForward ? match[5] : match[3];\n var endHour = isForward ? match[6] : match[4];\n var endMinute = isForward ? match[7] : match[5];\n var endMeridiem = isForward ? match[8] : match[6];\n // TODO(ss): hint the meridiem based on endHour < startHour and > 4\n var startTime = fourSq.util.Hours.minutesAfterMidnight(startHour, startMinute, startMeridiem);\n var endTime = fourSq.util.Hours.minutesAfterMidnight(endHour, endMinute, endMeridiem);\n return fourSq.util.Hours.toTimeframe(days, startTime, endTime);\n });\n\n if (timeframes.length) {\n return /** @type {fourSq.api.models.hours.MachineHours} */ (({\n timeframes: timeframes\n }));\n } else {\n return null;\n }\n },\n\n /**\n * @param {number} day starting at 1 for monday\n * @return {Array.} all aliases of the day, sorted by length\n */\n dayAliases: function(day) {\n var text = '';\n var aliases = '';\n switch(day) {\n case 1: aliases = ['mondays','monday','monda','mond','mon','mo','m']; break;\n case 2: aliases = ['tuesdays','tuesday','tuesd','tues','tue','tu']; break;\n case 3: aliases = ['wednesdays','wednesday','wednes','wedne','wedn','wed','we','w']; break;\n case 4: aliases = ['thursdays','thursday','thurs','thur','thu','th']; break;\n case 5: aliases = ['fridays','friday','frida','frid','fri','fr','f']; break;\n case 6: aliases = ['saturdays','saturday','satur','satu','sat','sa']; break;\n case 7: aliases = ['sundays','sunday','sunda','sund','sun','su']; break;\n default: return [];\n }\n return _.sortBy(aliases, function(alias) {\n return alias.length;\n });\n }\n}\n\n// Remove the days in which the business is closed. The parser doesn't need those days anyways.\nfunction removeClosedDays( schedule ) {\n var hoursString ='';\n var lines = schedule.split('\\n');\n for (var i=0; i< lines.length; i++) {\n if (lines[i].includes('closed') || lines[i].includes('Closed') || !lines[i].match(/\\d+/g)) {\n // don't add it to the list\n } else {\n hoursString += lines[i] + '\\n';\n }\n }\n\n return hoursString;\n}\n\nexport const parseContent = function( currentValue ) {\n currentValue = removeClosedDays(currentValue);\n var hours = fourSq.util.HoursParser.parse(currentValue);\n return JSON.stringify(hours);\n};\n","import classnames from 'classnames';\n\nexport const addSeparatorFilters = ( settings ) => {\n\n\tconst Separator = ( props ) => {\n\t\tconst className = classnames(\n\t\t\t'wp-block-separator',\n\t\t\tprops.className\n\t\t);\n\n\t\treturn (\n\t\t\t
    \n\t\t\t
    \n\t\t);\n\t};\n\n\tconst replaceSeparatorEdit = wp.compose.createHigherOrderComponent( ( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tif ( 'core/separator' === props.name ) {\n\t\t\t\treturn ;\n\t\t\t} else {\n\t\t\t\treturn ;\n\t\t\t}\n\t\t}\n\t}, \"replaceSeparatorEdit\" );\n\n\tconst replaceSeparatorSave = ( element, blockType, attributes ) => {\n\t\tif ( 'core/separator' !== blockType.name ) {\n\t\t\treturn element;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\twp.hooks.addFilter( 'editor.BlockEdit', 'nova-theme/separator', replaceSeparatorEdit );\n\twp.hooks.addFilter( 'blocks.getSaveElement', 'nova-theme/separator', replaceSeparatorSave );\n}\n","const ITEM_SIZE = 20;\n\nexport class GridItemCollection {\n\n\tconstructor( images, attributes ) {\n\t\tconst placementVariation = attributes.placementVariation / 25 - 1;\n\n\t\tthis.gridItems = images.map( ( image, index ) => {\n\t\t\tconst groupStart = Math.floor( index / 4 ) * 4;\n\t\t\tconst groupEnd = Math.min( groupStart + 4, images.length );\n\t\t\tconst isGroupOfThree = groupEnd - groupStart === 3;\n\n\t\t\treturn new GridItem( image, index, attributes, isGroupOfThree );\n\t\t} );\n\n\t\tthis.removeExtra();\n\n\t\tif ( placementVariation === 1 || placementVariation === 2 ) {\n\t\t\tthis.flipX();\n\t\t}\n\n\t\tif ( placementVariation === 2 || placementVariation === 3 ) {\n\t\t\tthis.flipY();\n\t\t}\n\t}\n\n\tremoveExtra() {\n\t\tconst extraLeft = this.getExtraLeft();\n\t\tconst extraTop = this.getExtraTop();\n\t\tconst extraBetween = this.getExtraBetween();\n\n\t\tthis.gridItems = this.gridItems.map( ( gridItem, index ) => {\n\t\t\tconst groupIndex = Math.floor( index / 4 );\n\n\t\t\tgridItem.x = gridItem.x - extraLeft;\n\t\t\tgridItem.y = gridItem.y - extraTop - groupIndex * extraBetween;\n\n\t\t\treturn gridItem;\n\t\t} );\n\t}\n\n\tflipX() {\n\t\tconst maxX = Math.max( ...this.gridItems.map( gridItem => gridItem.x + gridItem.width ) );\n\n\t\tthis.gridItems = this.gridItems.map( ( gridItem, index ) => {\n\t\t\tgridItem.x = maxX - gridItem.x - gridItem.width + 1;\n\t\t\treturn gridItem;\n\t\t} );\n\t}\n\n\tflipY() {\n\t\tconst maxY = Math.max( ...this.gridItems.map( gridItem => gridItem.y + gridItem.height ) );\n\n\t\tthis.gridItems = this.gridItems.map( ( gridItem, index ) => {\n\t\t\tgridItem.y = maxY - gridItem.y - gridItem.height + 1;\n\t\t\treturn gridItem;\n\t\t} );\n\t}\n\n\tgetExtraLeft() {\n\t\treturn Math.min( ...this.gridItems.map( gridItem => gridItem.x ) ) - 1;\n\t}\n\n\tgetExtraTop() {\n\t\treturn Math.min( ...this.gridItems.map( gridItem => gridItem.y ) ) - 1;\n\t}\n\n\tgetExtraBetween() {\n\t\tconst firstGroup = this.gridItems.slice( 0, 4 );\n\t\tconst maxBottom = Math.max( ...firstGroup.map( gridItem => gridItem.y + gridItem.height ) );\n\n\t\treturn ITEM_SIZE * 2 - maxBottom + 1;\n\t}\n}\n\nexport default class GridItem {\n\n\tconstructor( image, index, attributes, isGroupOfThree ) {\n\n\t\tthis.sizeContrast = attributes.sizeContrast / 20;\n\t\tthis.positionShift = attributes.positionShift / 5;\n\t\tthis.objectPosition = attributes.objectPosition;\n\t\tthis.imageResizing = attributes.imageResizing;\n\t\tthis.imageRotation = attributes.imageRotation;\n\n\t\tthis.image = image;\n\t\tthis.index = index;\n\n\t\tthis.idx = this.getIndex( index );\n\t\tthis.col = this.idx % 2;\n\t\tthis.row = Math.floor( index / 2 );\n\n\t\tif ( !! isGroupOfThree ) {\n\n\t\t\tif ( index === 0 ) {\n\t\t\t\tthis.positionShift = Math.min( this.positionShift, 10 );\n\t\t\t}\n\n\t\t\tif ( index === 2 ) {\n\t\t\t\tthis.positionShift = Math.max( this.positionShift, 10 );\n\t\t\t}\n\n\t\t}\n\n\t\tlet { offsetX, offsetY } = this.getOffsets();\n\t\tconst size = ITEM_SIZE - this.sizeContrast * ( index % 4 );\n\n\t\tthis.x = ITEM_SIZE * this.col + 1 + offsetX;\n\t\tthis.y = ITEM_SIZE * this.row + 1 + offsetY;\n\n\t\tthis.width = size;\n\t\tthis.height = size;\n\t}\n\n\tgetOffsets() {\n\t\tconst { row, col, index, sizeContrast, positionShift } = this;\n\n\t\t// offset for positioning\n\t\tlet offsetX = ( 1 - col % 2 ) * ( index % 4 ) * sizeContrast;\n\t\tlet offsetY = ( 1 - row % 2 ) * ( index % 4 ) * sizeContrast;\n\n\t\t// offset from offset\n\t\t// move 1st to right\n\t\toffsetX += ( 1 - col % 2 ) * ( 1 - row % 2 ) * positionShift;\n\t\t// move 3rd to left\n\t\toffsetX -= ( col % 2 ) * ( row % 2 ) * positionShift;\n\t\t// move 2nd down\n\t\toffsetY -= ( 1 - col % 2 ) * ( row % 2 ) * positionShift;\n\t\t// move 4th up\n\t\toffsetY += ( col % 2 ) * ( 1 - row % 2 ) * positionShift;\n\n\t\treturn {\n\t\t\toffsetX,\n\t\t\toffsetY,\n\t\t}\n\t}\n\n\t// reoder to display items clockwise\n\tgetIndex( index ) {\n\t\tif ( index % 4 === 3 ) return index - 1;\n\t\tif ( index % 4 === 2 ) return index + 1;\n\n\t\treturn index;\n\t}\n\n\tgetStyle() {\n\t\tconst { index, x, y, width, height, imageRotation } = this;\n\t\tconst rotation = `rotate(${ ( index % 2 - 0.5 ) * imageRotation / 10 }deg)`;\n\n\t\treturn {\n\t\t\tgridColumnStart: x + '',\n\t\t\tgridColumnEnd: `span ${ width }`,\n\t\t\tgridRowStart: y + '',\n\t\t\tgridRowEnd: `span ${ height }`,\n\t\t\ttransform: rotation,\n\t\t};\n\t}\n\n\tgetImageStyle() {\n\t\tconst { idx, row, col, objectPosition, imageResizing } = this;\n\t\tconst positionY = row % 2 === 0 ? 100 - objectPosition : objectPosition;\n\t\tconst positionX = col % 2 === 0 ? 100 - objectPosition : objectPosition;\n\t\tconst objPos = imageResizing === 'original' ? `${ positionX }% ${ positionY }%` : '';\n\n\t\treturn {\n\t\t\tobjectFit: imageResizing === 'cropped' ? 'cover' : 'scale-down',\n\t\t\tobjectPosition: `${ positionX }% ${ positionY }%`,\n\t\t}\n\t}\n}\n","import $ from 'jquery';\nimport { debounce, isSafari, getRandomBetween } from \"../../utils\";\n\nexport const getRandomAttributes = () => {\n\treturn {\n\t\tsizeContrast: getRandomBetween(0, 5) * 20,\n\t\tpositionShift: getRandomBetween(0, 20) * 5,\n\t\telementsDistance: getRandomBetween(0, 5) * 20,\n\t\tplacementVariation: getRandomBetween(1, 4) * 25,\n\t\tstylePreset: 'just-my-style',\n\t};\n};\n\nexport const getGalleryStyle = ( attributes ) => {\n\tlet containerHeight = attributes.containerHeight / 50 - 1;\n\tlet numerator = 1;\n\tlet denominator = 1;\n\n\tcontainerHeight = Math.min( Math.max( -1, containerHeight ), 1 );\n\n\tif ( containerHeight > 0 ) {\n\t\tnumerator = 1 + containerHeight;\n\t}\n\n\tif ( containerHeight < 0 ) {\n\t\tdenominator = 1 + Math.abs( containerHeight );\n\t}\n\n\treturn {\n\t\tpaddingTop: `${ numerator * 100 / denominator }%`,\n\t}\n};\n\nexport const getGridStyle = ( attributes ) => {\n\tconst { elementsDistance } = attributes;\n\n\treturn {\n\t\t'--novablocks-advanced-gallery-grid-gap': `${ elementsDistance }px`\n\t}\n};\n\nexport const safariHeightFix = ( grid ) => {\n\n\tif ( ! isSafari ) {\n\t\treturn;\n\t}\n\n\tconst parent = grid.parentNode;\n\tconst $grid = $( grid );\n\tconst $parent = $( parent );\n\n\tconst resetHeight = () => {\n\t\tconst newHeight = $parent.outerHeight();\n\n\t\t$grid.css( 'height', newHeight );\n\t};\n\n\tconst debouncedResetHeight = debounce( resetHeight, 30 );\n\n\tresetHeight();\n\n\tif ( typeof window.ResizeObserver !== \"undefined\" ) {\n\t\tconst observer = new ResizeObserver( entries => {\n\t\t\tdebouncedResetHeight();\n\t\t} );\n\n\t\tobserver.observe( parent );\n\t} else {\n\t\t$( window ).on( 'resize', function() {\n\t\t\tdebouncedResetHeight();\n\t\t} );\n\t}\n};\n","import { isSafari } from \"../../utils\";\n\nimport { GridItemCollection } from \"./grid-item\";\nimport { getGalleryStyle, getGridStyle } from \"./util\";\nimport AdvancedGallery from \"./index\";\n\nconst { useState, useEffect, useRef } = wp.element;\n\nconst AdvancedGalleryPreview = ( props ) => {\n\n\tconst { attributes } = props;\n\tconst gallery = ( attributes.gallery && attributes.gallery.length ) ? attributes.gallery : attributes.images;\n\n\tconst [ height, setHeight ] = useState(0);\n\tconst ref = useRef( null );\n\n\tuseEffect(() => {\n\t\tsetHeight( !! ref.current ? ref.current.clientHeight : 0 );\n\t});\n\n\tif ( ! gallery || ! gallery.length ) {\n\t\treturn null;\n\t}\n\n\tconst gridItemsCollection = new GridItemCollection( gallery, attributes );\n\tconst gridStyle = getGridStyle( attributes );\n\n\tif ( !! isSafari ) {\n\t\tObject.assign( gridStyle, { height } );\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t{ gridItemsCollection.gridItems.map( ( item, index ) => (\n\t\t\t\t\t\n\t\t\t\t) ) }\n\t\t\t
    \n\t\t
    \n\t);\n}\n\nconst AdvancedGalleryItem = ( { gridItem } ) => {\n\t// @todo standardize those damn images\n\treturn (\n\t\t
    \n\t\t\t\n\t\t
    \n\t);\n}\n\nexport default AdvancedGalleryPreview;\n","const {\n\tMediaPlaceholder,\n\tBlockIcon,\n} = wp.blockEditor;\n\nconst AdvancedGalleryPlaceholder = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst gallery = ( attributes.gallery && attributes.gallery.length ) ? attributes.gallery : attributes.images;\n\n\tif ( !! gallery && !! gallery.length ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t }\n\t\t\tonSelect={ images => {\n\t\t\t\tsetAttributes( { images } );\n\t\t\t} }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\tmultiple\n\t\t/>\n\t)\n}\n\nexport default AdvancedGalleryPlaceholder;\n","import { PresetControl, Notice, Tab, Tabs } from '../../components';\n\nimport {\n\tControlsSection,\n\tControlsTab,\n} from \"../control-sections\";\n\nimport ControlsGroup from \"../controls-group\";\n\nimport { getRandomBetween } from \"../../utils\";\nimport { getRandomAttributes } from \"./util\";\n\nconst { __ } = wp.i18n;\nconst { Fragment } = wp.element;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tButton,\n\tPanelBody,\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst AdvancedGalleryInspectorControls = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t\tattributes: {\n\t\t\t// gallery preset\n\t\t\tstylePreset,\n\n\t\t\t// composition settings\n\t\t\tsizeContrast,\n\t\t\tpositionShift,\n\t\t\telementsDistance,\n\t\t\tplacementVariation,\n\n\t\t\t// elements settings\n\t\t\timageResizing,\n\t\t\tobjectPosition,\n\t\t\tcontainerHeight,\n\t\t\timageRotation,\n\t\t},\n\t\tsettings: {\n\t\t\tadvancedGalleryPresetOptions\n\t\t}\n\t} = props;\n\n\treturn (\n\t\t\n\n\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tQuick start: Set up your gallery layout using the presets list below and use the Customize tab to fine-tune the details

    }\n\t\t\t\t\t\tdismissLabel={ '✔ Ok, I got it!' }\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( { imageResizing: cropStyle === 2 ? 'cropped' : 'original' } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ 2 }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { sizeContrast } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 20 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { positionShift } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { elementsDistance } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 20 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { placementVariation } ) }\n\t\t\t\t\t\t\tmin={ 25 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 25 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { imageRotation } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { containerHeight } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { imageResizing } ) }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: 'Stretch to fill the container', value: 'cropped' },\n\t\t\t\t\t\t\t\t{ label: 'Shrink to fit (no crop)', value: 'original' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { objectPosition } ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t
    \n\t\t
    \n\t);\n}\n\nexport default AdvancedGalleryInspectorControls;\n","import { swap, alignCenter } from \"../../icons\";\n\nconst { __ } = wp.i18n;\nconst apiFetch = wp.apiFetch;\n\nconst {\n\tBlockControls,\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst {\n\tButton,\n\tToolbar,\n} = wp.components;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst AdvancedGalleryChangeMediaToolbar = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t} = props;\n\n\tconst gallery = ( attributes.gallery && attributes.gallery.length ) ? attributes.gallery : attributes.images;\n\n\tif ( ! gallery || ! gallery.length ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\t\n\t\t\t image.id ) }\n\t\t\t\tonSelect={ ( images ) => {\n\t\t\t\t\tsetAttributes( { images: normalize( images ) } );\n\t\t\t\t} }\n\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t/>\n\t\t\n\t);\n}\n\n// @todo use apiFetch to get large image size\n// and normalize title, caption and description structure\nconst normalize = ( images ) => {\n\tconst promises = images.map( image => {\n\n\t} );\n\treturn images;\n}\n\nconst AdvancedGalleryBlockControls = ( props ) => {\n\n\tconst {\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default AdvancedGalleryBlockControls;\n","import withSettings from \"../with-settings\";\nimport AdvancedGalleryPreview from './preview';\nimport AdvancedGalleryPlaceholder from './placeholder';\nimport AdvancedGalleryInspectorControls from './inspector-controls';\nimport AdvancedGalleryBlockControls from './block-controls';\n\nconst {\n\tFragment\n} = wp.element;\n\nconst AdvancedGallery = ( props ) => {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default withSettings( AdvancedGallery );\n","import AdvancedGallery from '../../components/advanced-gallery';\n\nconst Edit = ( props ) => {\n\n\tconst {\n\t\tattributes: {\n\t\t\tclassName\n\t\t}\n\t} = props;\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t
    \n\t);\n\n};\n\nexport default Edit;\n","import galleryAttributes from \"../../components/advanced-gallery/attributes\";\nimport blockAttributes from \"./attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\nconst { images, ...attributesWithoutImages } = attributes;\n\nconst oldGalleryAttributes = {\n\t...attributesWithoutImages,\n\tgallery: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t},\n\t\tdefault: [],\n\t}\n};\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes: oldGalleryAttributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.images && typeof \"undefined\" !== attributes.gallery;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\tconst { gallery, ...newAttributes } = attributes;\n\n\t\treturn {\n\t\t\t...newAttributes,\n\t\t\timages: gallery\n\t\t};\n\t},\n\tsave() {\n\t\treturn false;\n\t},\n});\n\ndeprecated.push({\n\tattributes: oldGalleryAttributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave() {\n\t\treturn false;\n\t},\n});\n\nexport default deprecated;\n","const { createBlock } = wp.blocks;\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/advanced-gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t}\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['novablocks/media'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/media', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t],\n}\n","const {\n\tdispatch,\n\tselect,\n\tsubscribe,\n} = wp.data;\n\nexport default ( blockType, getNewDefaults ) => {\n\tconst { getBlocksByClientId, getClientIdsWithDescendants } = select( 'core/block-editor' );\n\tconst { isEditedPostEmpty } = select( 'core/editor' );\n\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\n\tlet blocks = getClientIdsWithDescendants();\n\tlet loadedSavedBlocks = false;\n\n\treturn subscribe( () => {\n\t\tconst newBlocks = getClientIdsWithDescendants();\n\n\t\tlet addedBlocks = newBlocks.filter( newBlock => ! blocks.includes( newBlock ) );\n\n\t\tif ( newBlocks === blocks || ! addedBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// if this is the first set of added blocks\n\t\tif ( ! loadedSavedBlocks ) {\n\t\t\tloadedSavedBlocks = true;\n\t\t\treturn;\n\t\t}\n\n\t\tblocks = newBlocks;\n\n\t\tgetBlocksByClientId( addedBlocks ).map( block => {\n\t\t\tif ( block.name === blockType && ! block.attributes.defaultsGenerated && typeof getNewDefaults === \"function\" ) {\n\t\t\t\tgetNewDefaults().then( defaults => {\n\t\t\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\t\t\t...defaults,\n\t\t\t\t\t\tdefaultsGenerated: true\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n}\n","import * as icons from '../../icons';\nimport edit from './edit';\nimport deprecated from './deprecated';\nimport transforms from './transforms';\nimport { getPlaceholderImages, getRandomArrayFromArray, getRandomBetween } from \"../../utils\";\nimport { getRandomAttributes } from \"../../components/advanced-gallery/util\";\nimport generateDefaults from \"../../components/generate-defaults\";\n\nimport blockAttributes from './attributes';\nimport galleryAttributes from \"../../components/advanced-gallery/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst numberOfImages = getRandomBetween( 2, 4 );\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst randomImages = getRandomArrayFromArray( placeholderImages, numberOfImages );\n\tconst randomAttributes = getRandomAttributes();\n\n\trandomImages.forEach( image => {\n\t\tif ( typeof image?.download === \"function\" ) {\n\t\t\timage.download();\n\t\t}\n\t} );\n\n\treturn {\n\t\t...randomAttributes,\n\t\timages: randomImages\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/advanced-gallery', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/advanced-gallery', {\n\t\ttitle: __( 'Gallery of the Stars', '__plugin_txtd' ),\n\t\tdescription: __( 'Display galleries of images in unique and creative compositions.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.gallery,\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t},\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'image with text', '__plugin_txtd' ), __( 'columns', '__plugin_txtd' ), __( 'side text', '__plugin_txtd' ) ],\n\t\tedit,\n\t\tsave() {\n\t\t\treturn false;\n\t\t},\n\t\tattributes,\n\t\tdeprecated,\n\t\ttransforms,\n\t} )\n}\n\nexport default init;\n","const { omit } = lodash;\nconst { createBlock } = wp.blocks;\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'full'\n\t},\n\turl: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\topensInNewTab: {\n\t\ttype: 'boolean',\n\t\tdefault: false\n\t},\n};\n\nconst deprecated = [\n\t{\n\t\tisEligible: ( attributes, innerBlocks ) => {\n\t\t\treturn typeof attributes.content !== 'undefined' && ! innerBlocks.length;\n\t\t},\n\t\tattributes: {\n\t\t\tcontent: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'Find me on Instagram! New photos and interesting facts every day.',\n\t\t\t},\n\t\t\t...blockAttributes\n\t\t},\n\n\t\tmigrate( attributes, innerBlocks ) {\n\t\t\treturn [\n\t\t\t\tomit( attributes, 'content' ),\n\t\t\t\t[\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent: attributes.content\n\t\t\t\t\t} ),\n\t\t\t\t\t...innerBlocks\n\t\t\t\t]\n\t\t\t]\n\t\t},\n\n\t\tsave: function() {},\n\t}\n];\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport classnames from \"classnames\";\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType, } = wp.blocks;\nconst { Fragment } = wp.element;\n\nconst {\n\tBaseControl,\n\tToggleControl\n} = wp.components;\n\nconst {\n\tURLInput,\n\tInnerBlocks\n} = wp.blockEditor;\n\nconst ALLOWED_BLOCKS = [ 'novablocks/openhours', 'core/paragraph' ];\nconst ANNOUNCEMENT_BAR_TEMPLATE = [ [ 'novablocks/openhours', { openHoursStyle: 'status', } ] ];\n\nfunction init() {\n\n\tregisterBlockType( 'novablocks/announcement-bar', {\n\t\ttitle: __( 'Announcement Bar', '__plugin_txtd' ),\n\t\tdescription: __( 'Display a featured message through a banner across the top of your site.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.announcement,\n\t\tkeywords: [ __( 'Promo Bar', '__plugin_txtd' ), __( 'Welcome Header Bar', '__plugin_txtd' ), __( 'Top Bar', '__plugin_txtd' ) ],\n\t\tstyles: [ {\n\t\t\tname: 'accent',\n\t\t\tlabel: __( 'Accent', '__plugin_txtd' ),\n\t\t\tisDefault: true\n\t\t}, {\n\t\t\tname: 'alternative',\n\t\t\tlabel: __( 'Alternative', '__plugin_txtd' )\n\t\t}, {\n\t\t\tname: 'alert',\n\t\t\tlabel: __( 'Alert', '__plugin_txtd' )\n\t\t} ],\n\t\tattributes: {\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'full'\n\t\t\t},\n\t\t\turl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: ''\n\t\t\t},\n\t\t\topensInNewTab: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'Find me on Instagram! New photos and interesting facts every day.',\n\t\t\t}\n\t\t},\n\t\tsave() {\n\t\t\treturn ;\n\t\t},\n\t\tedit: function( props ) {\n\n\t\t\tconst {\n\t\t\t\tclassName,\n\t\t\t\tattributes: {\n\t\t\t\t\turl,\n\t\t\t\t\topensInNewTab,\n\t\t\t\t\tcontent\n\t\t\t\t},\n\t\t\t\tsetAttributes,\n\t\t\t\tisSelected,\n\t\t\t} = props;\n\n\n\t\t\tconst classNames = classnames(\n\t\t\t\tclassName,\n\t\t\t\t'novablocks-announcement-bar',\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t
    \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t setAttributes( { url: value } ) }\n\t\t\t\t\t\t\t\t disableSuggestions={ ! isSelected }\n\t\t\t\t\t\t\t\t isFullWidth\n\t\t\t\t\t\t\t\t hasBorder\n\t\t\t\t\t\t\t />\n\t\t\t\t\t\t \n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t setAttributes( { opensInNewTab } );\n\t\t\t\t\t\t\t } }\n\t\t\t\t\t\t\t label={ __( 'Open in new tab', '__plugin_txtd' ) }\n\t\t\t\t\t\t />\n\t\t\t\t\t
    }\n\n\t\t\t\t
    \n\t\t\t)\n\t\t},\n\t\tgetEditWrapperProps( attributes ) {\n\t\t\treturn { 'data-align': 'full' };\n\t\t},\n\t\tdeprecated\n\t} );\n}\n\nexport default init;\n","import * as icons from \"../../icons\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tButton,\n\tPlaceholder,\n\tTextControl,\n} = wp.components;\n\nconst { ENTER } = wp.keycodes;\n\nclass MapPlaceholder extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tapiKey: this.props.apiKey\n\t\t}\n\t}\n\n\thandleKeyDown( keyCode ) {\n\t\tif ( keyCode === ENTER ) {\n\t\t\tthis.props.saveApiKey( this.state.apiKey );\n\t\t}\n\t}\n\n\trender() {\n\n\t\tconst { apiKeyInstructions } = this.props;\n\t\tconst icon =
    { icons.map }
    \n\n\t\treturn (\n\t\t\t\n\t\t\t\t{ apiKeyInstructions &&
    \n\t\t\t\t\t{ apiKeyInstructions }\n\t\t\t\t
    }\n\t\t\t\t { this.setState( { apiKey } ) } }\n\t\t\t\t\tonKeyDown={ ( { keyCode } ) => { this.handleKeyDown( keyCode ) } }\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default MapPlaceholder;\n","export default `\n\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\n`;\n","const defaultMapCenter = {\n\tlat: 47.1665264,\n\tlng: 27.58285479999995\n};\n\nexport default defaultMapCenter;\n","export default [\n\t{\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#f5f5f5\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"elementType\": \"labels.icon\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"saturation\": -100\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 60\n\t\t\t},\n\t\t]\n\t},\n\t{\n\t\t\"elementType\": \"labels.text.stroke\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#f5f5f5\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#eeeeee\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"poi\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#757575\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.arterial\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"%ACCENT_COLOR%\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 90\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.arterial\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#757575\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#dadada\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.highway\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#616161\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.local\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"%ACCENT_COLOR%\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"saturation\": -25\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 70\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"road.local\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"lightness\": 30\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"transit.line\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#e5e5e5\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"#c9c9c9\"\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"geometry.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"color\": \"%ACCENT_COLOR%\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"lightness\": 60\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\t\"featureType\": \"water\",\n\t\t\"elementType\": \"labels.text.fill\",\n\t\t\"stylers\": [\n\t\t\t{\n\t\t\t\t\"saturation\": -100\n\t\t\t}\n\t\t]\n\t}\n]\n","import customized from './customized';\n\nconst styles = [\n\t{ slug: 'customized', label: 'Customized', styles: customized },\n\t{ slug: 'original', label: 'Original', styles: [] },\n];\n\nexport default styles;\n","import defaultMapCenter from \"./default-map-center\";\nimport styles from \"./styles\";\n\nexport const addVisibilityToStyles = function( styles, showLabels, showIcons ) {\n\n\tif ( ! showLabels ) {\n\t\tstyles.unshift( {\n\t\t\t\"elementType\": \"labels.text\",\n\t\t\t\"stylers\": [ { \"visibility\": \"off\" } ]\n\t\t} )\n\t}\n\n\tif ( ! showIcons ) {\n\t\tstyles.unshift( {\n\t\t\t\"elementType\": \"labels.icon\",\n\t\t\t\"stylers\": [ { \"visibility\": \"off\" } ]\n\t\t} )\n\t}\n\n\treturn styles;\n}\n\nexport const compileStyles = function( styleData ) {\n\tconst {\n\t\tattributes: {\n\t\t\tshowLabels,\n\t\t\tshowIcons,\n\t\t\tstyleSlug,\n\t\t}\n\t} = this.props;\n\n\tconst accentColor = getMapAccentColor.call( this );\n\tconst styleDataString = JSON.stringify( styleData ).replace( /%ACCENT_COLOR%/g, accentColor );\n\treturn JSON.parse( styleDataString );\n}\n\nexport const getMapStyles = function() {\n\tconst { attributes } = this.props;\n\tconst { styleData, styleSlug } = attributes;\n\tconst shouldHaveCustomStyles = styleSlug !== 'original' && styleData.length === 0;\n\tconst selectedStyles = styles.find( style => style.slug === styleSlug );\n\tconst styleDataBySlug = selectedStyles ? selectedStyles.styles : {};\n\tconst mapStyles = shouldHaveCustomStyles && styleDataBySlug || styleData;\n\treturn compileStyles.call( this, mapStyles );\n}\n\nexport const getMapAccentColor = function() {\n\tconst { settings } = this.props;\n\tconst { colors } = settings;\n\tconst fallbackColor = '#222222';\n\n\tif ( colors && colors.length ) {\n\n\t\tconst primary = colors.find( color => color.slug === 'sm-color-primary' );\n\t\tconst secondary = colors.find( color => color.slug === 'sm-color-secondary' );\n\t\tconst tertiary = colors.find( color => color.slug === 'sm-color-tertiary' );\n\n\t\tif ( primary ) {\n\t\t\treturn primary.color;\n\t\t}\n\n\t\tif ( secondary ) {\n\t\t\treturn secondary.color;\n\t\t}\n\n\t\tif ( tertiary ) {\n\t\t\treturn tertiary.color;\n\t\t}\n\n\t\treturn colors[0].color;\n\t}\n\n\treturn fallbackColor;\n}\n\nexport const getCenterFromMarkers = function( markers ) {\n\n\tif ( typeof google === \"undefined\" || typeof google.maps === \"undefined\" ) {\n\t\treturn defaultMapCenter;\n\t}\n\n\tconst bounds = new google.maps.LatLngBounds();\n\n\t// when there is only one marker bounds aren't accurate at great zoom levels\n\tif ( markers.length === 1 ) {\n\t\tconst center = JSON.parse( markers[0] );\n\t\treturn new google.maps.LatLng( center.geometry.location );\n\t}\n\n\tmarkers.forEach( markerString => {\n\t\tconst marker = JSON.parse( markerString );\n\n\t\tif ( ! marker.geometry ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( marker.geometry.viewport ) {\n\t\t\tbounds.union( marker.geometry.viewport );\n\t\t} else {\n\t\t\tbounds.extend( marker.geometry.location );\n\t\t}\n\t} );\n\n\treturn bounds.getCenter();\n}\n\nexport const getMarkersCenter = function() {\n\treturn getCenterFromMarkers( this.props.attributes.markers );\n}\n","import pin from './pin';\nimport { getMapStyles, getMarkersCenter, getMapAccentColor, addVisibilityToStyles } from './utils';\nimport defaultMapCenter from './default-map-center';\nimport { withParallax } from \"../../components\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tPlaceholder\n} = wp.components\n\nclass Map extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.map = null;\n\t\tthis.searchBox = null;\n\t\tthis.markers = [];\n\n\t\tthis.getMapStyles = getMapStyles.bind( this );\n\t}\n\n\tclearMarkers() {\n\t\tthis.markers.forEach( marker => { marker.setMap( null ) } );\n\t\tthis.markers = [];\n\t}\n\n\tonPlacesChanged() {\n\n\t\tif ( ! this.searchBox ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.props.onChange( this.searchBox.getPlaces().map( place => {\n\t\t\tconst keepProps = [ 'name', 'geometry' ];\n\t\t\tconst filtered = Object.keys( place )\n\t\t\t .filter( key => keepProps.includes( key ) )\n\t\t\t .reduce( ( obj, key ) => {\n\t\t\t\t obj[ key ] = place[ key ];\n\t\t\t\t return obj;\n\t\t\t }, {} );\n\n\t\t\treturn JSON.stringify( filtered );\n\t\t} ) );\n\t}\n\n\tcreateMarkers() {\n\t\tconst { attributes } = this.props;\n\t\tconst { markers, styleSlug } = attributes;\n\n\t\tconst accentColor = styleSlug === 'customized' ? getMapAccentColor.call( this ) : '#222222';\n\t\tconst pinMarkup = pin.replace( '%ACCENT_COLOR%', accentColor );\n\n\t\tmarkers.forEach( markerString => {\n\t\t\tconst marker = JSON.parse( markerString );\n\n\t\t\tif ( ! marker.geometry ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.markers.push( new google.maps.Marker( {\n\t\t\t\tmap: this.map,\n\t\t\t\ticon: { url: 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent( pinMarkup ) },\n\t\t\t\ttitle: marker.name,\n\t\t\t\tposition: marker.geometry.location\n\t\t\t} ) );\n\t\t} );\n\n\t\tif ( this.markers.length ) {\n\t\t\tthis.map.setCenter( getMarkersCenter.call( this ) );\n\t\t}\n\t}\n\n\n\n\tinitializeMap() {\n\t\tconst { attributes } = this.props;\n\t\tconst { showControls, showLabels, showIcons, zoom } = attributes;\n\n\t\tthis.map = new google.maps.Map( document.getElementById( `novablocks-google-map-${ this.props.clientId }` ), {\n\t\t\tmapTypeId: 'roadmap',\n\t\t\tcenter: defaultMapCenter,\n\t\t\tzoom: zoom,\n\t\t\tstyles: addVisibilityToStyles( this.getMapStyles(), showLabels, showIcons ),\n\n\t\t\tclickableIcons: false,\n\t\t\tdisableDefaultUI: ! showControls,\n\t\t\tdisableDoubleClickZoom: true,\n\t\t\tdraggable: false,\n\t\t\tgestureHandling: 'none',\n\t\t\tkeyboardShortcuts: false,\n\t\t\tscrollwheel: false,\n\t\t} );\n\t}\n\n\tinitializeSearchBox() {\n\t\t// Create the search box and link it to the UI element.\n\t\tconst input = document.getElementById( `novablocks-google-map-search-input-${ this.props.clientId }` );\n\t\tthis.searchBox = new google.maps.places.SearchBox( input );\n\n\t\t// Bias the SearchBox results towards current map's viewport.\n\t\tthis.map.addListener( 'bounds_changed', () => {\n\t\t\tthis.searchBox.setBounds( this.map.getBounds() );\n\t\t} );\n\n\t\t// Listen for the event fired when the user selects a prediction and retrieve\n\t\t// more details for that place.\n\t\tthis.searchBox.addListener( 'places_changed', this.onPlacesChanged.bind( this ) );\n\t}\n\n\tupdateMapOptions() {\n\n\t\tif ( this.map === null ) {\n\t\t\treturn\n\t\t}\n\n\t\tconst options = {};\n\t\tconst { attributes } = this.props;\n\t\tconst { showControls, showLabels, showIcons, zoom } = attributes;\n\n\t\toptions.zoom = zoom;\n\t\toptions.disableDefaultUI = ! showControls;\n\t\toptions.styles = addVisibilityToStyles( this.getMapStyles(), showLabels, showIcons );\n\n\t\tthis.map.setOptions( options );\n\t}\n\n\tupdateMapMarkers() {\n\t\tthis.clearMarkers();\n\t\tthis.createMarkers();\n\t}\n\n\tcomponentDidMount() {\n\n\t\tif ( this.map === null ) {\n\t\t\tthis.initializeMap();\n\t\t\tthis.initializeSearchBox();\n\t\t\tthis.createMarkers();\n\t\t\treturn;\n\t\t}\n\n\t\tgoogle.maps.event.trigger( this.map, 'resize' );\n\t}\n\n\tshouldComponentUpdate( nextProps ) {\n\t\tlet shouldUpdate = false;\n\t\tObject.entries( this.props ).forEach( ( [ key, val ] ) => {\n\t\t\tif ( nextProps[ key ] !== val ) {\n\t\t\t\tshouldUpdate = true;\n\t\t\t}\n\t\t} );\n\n\t\treturn shouldUpdate;\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tthis.updateMapOptions();\n\n\t\tif ( prevProps.attributes.markers !== this.props.attributes.markers ||\n\t\t prevProps.attributes.styleSlug !== this.props.attributes.styleSlug ) {\n\t\t\tthis.updateMapMarkers();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn
    ;\n\t}\n}\n\nconst MapWrapper = ( Map ) => {\n\n\treturn ( props ) => {\n\n\t\tconst { parallax, ...otherProps } = props;\n\t\tconst searchBoxStyles = {};\n\n\t\tif ( ! props.isSelected ) {\n\t\t\tsearchBoxStyles.display = 'none';\n\t\t}\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default MapWrapper( Map );\n","const { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tTextControl,\n\tPanelBody,\n} = wp.components;\n\nconst {\n\tComponent,\n\tFragment\n} = wp.element;\n\nclass ApiKeyPanelBody extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tapiKey,\n\t\t\tapiKeyInstructions,\n\t\t\tsavedApiKey,\n\t\t\tonChangeApiKey,\n\t\t\tonSaveApiKey,\n\t\t} = this.props;\n\n\t\tif ( savedApiKey === '' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default ApiKeyPanelBody;\n","import classnames from 'classnames';\nimport { compileStyles, getMarkersCenter } from \"./utils\";\nimport defaultMapCenter from './default-map-center';\n\nconst {\n\tComponent\n} = wp.element;\n\nclass MapStyleSelect extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tactive: this.props.value\n\t\t};\n\n\t\tthis.compileStyles = compileStyles.bind( this );\n\t}\n\n\tgetStaticStyle( styles ) {\n\t\tvar result = [];\n\t\tstyles.forEach( function( v, i, a ) {\n\t\t\tvar style = '';\n\t\t\tif ( v.stylers ) {\n\t\t\t\tif ( v.stylers.length > 0 ) {\n\t\t\t\t\tstyle += ( v.hasOwnProperty( 'featureType' ) ? 'feature:' + v.featureType : 'feature:all' ) + '|';\n\t\t\t\t\tstyle += ( v.hasOwnProperty( 'elementType' ) ? 'element:' + v.elementType : 'element:all' ) + '|';\n\t\t\t\t\tv.stylers.forEach( function( val, i, a ) {\n\t\t\t\t\t\tvar prop = Object.keys( val )[0];\n\t\t\t\t\t\tvar propertyval = val[ prop ].toString().replace( '#', '0x' );\n\t\t\t\t\t\tstyle += prop + ':' + propertyval + '|';\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t\tresult.push( 'style=' + encodeURIComponent( style ) );\n\t\t} );\n\t\treturn result.join( '&' );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\toptions,\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\tapiKey,\n\t\t} = this.props;\n\n\t\tconst { markers, zoom } = attributes;\n\n\t\tconst center = markers.length ? getMarkersCenter.call( this ) : new google.maps.LatLng( defaultMapCenter );\n\t\tconst latitude = center.lat();\n\t\tconst longitude = center.lng();\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{ options.map( option => {\n\t\t\t\t\t\tconst style = this.getStaticStyle( this.compileStyles( option.styles ) );\n\t\t\t\t\t\tconst size = '200x200';\n\t\t\t\t\t\tconst mapType = 'roadmap';\n\t\t\t\t\t\tconst url = 'https://maps.googleapis.com/maps/api/staticmap';\n\t\t\t\t\t\tconst src = `${url}?center=${latitude},${longitude}&zoom=${zoom}&size=${size}&maptype=${mapType}&${style}&key=${apiKey}`;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tthis.setState( { active: option.slug } )\n\t\t\t\t\t\t\t\t\tonChange( option.slug );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\taria-label={ option.label }>\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)\n\t\t\t\t\t} ) }\n\t\t\t\t
    \n\t\t\t
    \n\t\t)\n\t}\n}\n\nexport default MapStyleSelect;\n","import ApiKeyPanelBody from './api-key-panel-body';\nimport MapStyleSelectControl from './map-style-select';\nimport { compileStyles, getMapAccentColor } from './utils';\n\nimport styles from './styles';\nimport {ControlsSection, ControlsTab} from \"../../components/control-sections\";\nimport {Fragment} from \"react\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tPanelBody,\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n} = wp.components;\n\nconst {\n\tComponent,\n} = wp.element;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nclass ButtonInspectorControls extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.compileStyles = compileStyles.bind( this );\n\t}\n\n\trender() {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tstyleSlug,\n\t\t\t\tzoom,\n\t\t\t\tshowLabels,\n\t\t\t\tshowControls,\n\t\t\t\tshowIcons,\n\t\t\t},\n\t\t\tsavedApiKey,\n\t\t\tsetAttributes,\n\t\t} = this.props;\n\n\t\tif ( ! savedApiKey ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tconst mapStyles = styles.find( style => style.slug === newStyleSlug ).styles;\n\t\t\t\t\t\t\t\tconst newStyles = this.compileStyles( mapStyles );\n\t\t\t\t\t\t\t\tconst newPinColor = newStyleSlug === 'customized' ? getMapAccentColor.call( this ) : '#222222';\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tstyleSlug: newStyleSlug,\n\t\t\t\t\t\t\t\t\tstyleData: newStyles,\n\t\t\t\t\t\t\t\t\tpinColor: newPinColor,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { showIcons: ! showIcons } ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { showLabels: ! showLabels } ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { showControls: ! showControls } ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { zoom: newZoom } ) }\n\t\t\t\t\t\t\tmin={ 5 }\n\t\t\t\t\t\t\tmax={ 20 }\n\t\t\t\t\t\t\tlabel={ __( 'Zoom Level', '__plugin_txtd' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}\n\nexport default ButtonInspectorControls;\n","import MapPlaceholder from './placeholder';\nimport Map from './map';\nimport InspectorControls from './inspector-controls';\n\nimport { withSettings, withParallax } from '../../components';\n\nconst { __ } = wp.i18n;\n\nconst API_KEY_SETTING_ID = 'novablocks_google_maps_api_key';\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tSpinner,\n\tTextControl,\n} = wp.components;\n\nconst {\n\tBlockAlignmentToolbar,\n\tBlockControls,\n} = wp.blockEditor;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nconst {\n\tSettings\n} = wp.api.models;\n\n// This is a GLOBAL function that, when present, gets called by the Google Maps script on authentication errors.\nwindow.gm_authFailure = function() {\n\twindow.googlemaps_authfailure = true;\n\twindow.dispatchEvent( new Event('novablock.googlemaps_authfailure') );\n}\n\nclass Edit extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tfetchedScript: false,\n\t\t\tfetchedApiKey: false,\n\t\t\tsavedApiKey: '',\n\t\t\tapiKey: '',\n\t\t\tgmAuthFailure: ( typeof window.googlemaps_authfailure === 'undefined' ) ? false : !!window.googlemaps_authfailure,\n\t\t}\n\n\t\tthis.onChangeMarkers = this.onChangeMarkers.bind( this );\n\t\tthis.onGoogleMapsAuthFailure = this.onGoogleMapsAuthFailure.bind( this );\n\t\tthis.settings = null;\n\t}\n\n\tonGoogleMapsAuthFailure(event) {\n\t\tthis.setState( {\n\t\t\tgmAuthFailure: true,\n\t\t} );\n\t}\n\n\tonChangeMarkers( markers ) {\n\t\tthis.props.setAttributes( { markers } );\n\t}\n\n\tcomponentDidMount() {\n\n\t\twindow.addEventListener('novablock.googlemaps_authfailure', this.onGoogleMapsAuthFailure);\n\n\t\twp.api.loadPromise.done( () => {\n\t\t\tthis.settings = new wp.api.models.Settings();\n\n\t\t\tthis.settings.on( `change:${ API_KEY_SETTING_ID }`, model => {\n\t\t\t\tconst apiKey = model.get( API_KEY_SETTING_ID );\n\n\t\t\t\tthis.setState( {\n\t\t\t\t\tfetchedApiKey: true,\n\t\t\t\t\tsavedApiKey: apiKey,\n\t\t\t\t\tapiKey,\n\t\t\t\t} );\n\n\t\t\t\tif ( !!apiKey ) {\n\t\t\t\t\tthis.loadGoogleMapsScript();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthis.settings.fetch();\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('novablock.googlemaps_authfailure', this.onGoogleMapsAuthFailure);\n\t}\n\n\tloadGoogleMapsScript() {\n\t\tconst { savedApiKey } = this.state;\n\t\tconst keyParam = savedApiKey !== '' ? `key=${savedApiKey}&` : '';\n\t\tconst scriptSrc = `//maps.googleapis.com/maps/api/js?${keyParam}libraries=places`;\n\t\tconst scripts = document.querySelectorAll('script[src*=\"maps.googleapis.com\"]' );\n\n\t\tif ( scripts.length ) {\n\t\t\tthis.setState( { fetchedScript: true } );\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tconst promise = new Promise( ( resolve, reject ) => {\n\t\t\tconst script = document.createElement( 'script' );\n\t\t\tscript.onload = resolve;\n\t\t\tscript.onerror = reject;\n\t\t\tscript.async = true;\n\t\t\tscript.src = scriptSrc;\n\t\t\tdocument.body.appendChild( script );\n\t\t} );\n\n\t\treturn promise.then( () => {\n\t\t\tthis.setState( { fetchedScript: true } );\n\t\t} );\n\t}\n\n\tsaveApiKey( apiKey ) {\n\t\tconst key = new wp.api.models.Settings( { [ API_KEY_SETTING_ID ]: apiKey } );\n\n\t\tkey.save().then(() => {\n\t\t\tthis.setState( { gmAuthFailure: false } );\n\t\t\tthis.settings.fetch();\n\t\t} );\n\t}\n\n\trenderPreview() {\n\n\t\tconst { fetchedApiKey, fetchedScript, savedApiKey, gmAuthFailure } = this.state;\n\n\t\tif ( ! fetchedApiKey ) {\n\t\t\treturn \n\t\t}\n\n\t\tif ( ! fetchedScript || ! savedApiKey || gmAuthFailure ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n\n\tgetInstructions() {\n\t\tconst { gmAuthFailure } = this.state;\n\t\tconst url = '//developers.google.com/maps/documentation/javascript/get-api-key';\n\t\tconst hyperlink = { __( 'register a Google Maps API Key', '__plugin_txtd' ) };\n\n\t\tif ( gmAuthFailure ) {\n\t\t\treturn (\n\t\t\t\t{ __( 'It seems that your Google Maps API key is INVALID. Please REFRESH the page, double check that you pasted it correctly, and that it is a valid API key. More information about how to', '__plugin_txtd' ) } { hyperlink }\n\t\t\t)\n\t\t}\n\n\t\treturn (\n\t\t\t{ __( 'To display the map, you need to', '__plugin_txtd' ) } { hyperlink } { __( 'and include it bellow.', '__plugin_txtd' ) }\n\t\t)\n\t}\n\n\trender() {\n\t\tconst { fetchedApiKey, fetchedScript, savedApiKey, gmAuthFailure } = this.state;\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { align, styleData } = attributes;\n\t\tconst newProps = Object.assign( this.props );\n\n\t\tif ( typeof styleData === \"string\" ) {\n\t\t\tnewProps.attributes.styleData = JSON.parse( styleData );\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { align } ) }\n\t\t\t\t\t\tcontrols={ [ 'center', 'full' ] }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t{ !!fetchedApiKey && !!fetchedScript && !!savedApiKey && !gmAuthFailure && {\n\t\t\t\t\t\tthis.setState( { apiKey } );\n\t\t\t\t\t} }\n\t\t\t\t\tonSaveApiKey={ this.saveApiKey.bind( this ) }\n\t\t\t\t\tapiKeyInstructions={ this.getInstructions() }\n\t\t\t\t/> }\n\t\t\t\t{ this.renderPreview() }\n\t\t\t\n )\n\t}\n}\n\nexport default createHigherOrderComponent(compose([\n\twithSettings,\n\twithParallax,\n]))( Edit );\n","/**\n * Internal dependencies\n */\nimport * as icons from \"../../icons\";\nimport edit from \"./edit\";\n\nimport { parallaxAttributes } from '../../components/with-parallax';\nimport styles from \"./styles\";\n\nimport blockAttributes from \"./attributes\"\nimport dopplerAttributes from \"../../components/scrolling-effect-controls/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, dopplerAttributes );\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\n\tregisterBlockType( 'novablocks/google-map', {\n\t\ttitle: __( 'Map of the World', '__plugin_txtd' ),\n\t\tdescription: __( 'Display an interactive map to show the location of your venue.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.map,\n\t\tkeywords: [\n\t\t\t__( 'google', '__plugin_txtd' ),\n\t\t\t__( 'maps', '__plugin_txtd' ),\n\t\t\t__( 'google maps', '__plugin_txtd' ),\n\t\t\t__( 'location', '__plugin_txtd' )\n\t\t],\n\t\tgetEditWrapperProps( attributes ) {\n\t\t\tconst { align } = attributes;\n\t\t\tif ( 'center' === align || 'full' === align ) {\n\t\t\t\treturn { 'data-align': align };\n\t\t\t}\n\t\t},\n\t\tattributes,\n\t\tedit,\n\t\tsave: function() {}\n\t} )\n}\n\nexport default init;\n","const { SVG, Path } = wp.components;\n\nexport const logoLeft = \n\t\n\t\t\n\t\t\n\t\t\n\t\n;\n\nexport const logoRight = \n\t\n\t\t\n\t\t\n\t\t\n\t\n;\n\nexport const logoCenter = \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n;","import * as icons from './icons';\n\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport map from \"lodash/map\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment\n} = wp.element;\n\nconst { InnerBlocks, __experimentalBlockVariationPicker } = wp.blockEditor;\n\nconst { createBlock, registerBlockVariation } = wp.blocks;\n\nconst {\n\tcompose\n} = wp.compose;\n\nconst {\n\twithSelect,\n\twithDispatch\n} = wp.data;\n\nconst TEMPLATE_OPTIONS = [\n\t{\n\t\ttitle: __( 'Logo on the left side and one navigation menu', '__plugin_txtd' ),\n\t\tname: 'logo-left',\n\t\ticon: icons.logoLeft,\n\t\ttemplate: [\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t},\n\t{\n\t\ttitle: __( 'Logo centered and one navigation menu on each side', '__plugin_txtd' ),\n\t\tname: 'logo-center',\n\t\ticon: icons.logoCenter,\n\t\ttemplate: [\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--secondary\",\n\t\t\t\tslug: \"secondary\"\n\t\t\t} ],\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t}\n];\n\nclass Edit extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t}\n\n\tsetTemplate( layout ) {\n\t\tthis.setState( { template: layout } );\n\t}\n\n\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate ) {\n\t\treturn map( innerBlocksTemplate, ( [ name, attributes, innerBlocks = [] ] ) => createBlock( name, attributes, this.createBlocksFromInnerBlocksTemplate( innerBlocks ) ) );\n\t}\n\n\tsupportsInnerBlocksPicker() {\n\t\treturn typeof InnerBlocks.prototype!=='undefined';\n\t}\n\n\tsupportsBlockVariationPicker() {\n\t\treturn !!registerBlockVariation;\n\t}\n\n\tblockVariationPicker() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { hasInnerBlocks, innerBlocks, defaultVariation } = this.props;\n\t\tif ( hasInnerBlocks ) {\n\t\t\tthis.setState( { template: innerBlocks } );\n\t\t}\n\n\t\tif ( !this.supportsInnerBlocksPicker() && !this.supportsBlockVariationPicker() && hasInnerBlocks === false ) {\n\t\t\tthis.setTemplate( defaultVariation );\n\t\t}\n\t}\n\n\tinnerBlocksPicker() {\n\t\tconst { hasInnerBlocks } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tif ( chosenTemplate === undefined ) {\n\t\t\t\t\t\t\tchosenTemplate = TEMPLATE_OPTIONS[ 0 ].template;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setTemplate( chosenTemplate );\n\t\t\t\t\t} }\n\t\t\t\t\t__experimentalAllowTemplateOptionSkip\n\t\t\t\t\ttemplate={ this.supportsInnerBlocksPicker() ? this.state.template : TEMPLATE_OPTIONS[ 0 ].template }\n\t\t\t\t\ttemplateInsertUpdatesSelection={ false }\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tlayout\n\t\t\t},\n\t\t\tblockType,\n\t\t\tdefaultVariation,\n\t\t\treplaceInnerBlocks,\n\t\t\thasInnerBlocks,\n\t\t\tvariations,\n\t\t\tclassName,\n\t\t\tsetAttributes\n\t\t} = this.props;\n\n\t\tconst classNames = classnames(\n\t\t\tclassName,\n\t\t\t`site-header`,\n\t\t\t`site-header-${layout}`\n\t\t);\n\n\n\t\tif ( hasInnerBlocks || !this.supportsBlockVariationPicker() ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{ this.supportsBlockVariationPicker() ? this.blockVariationPicker() : this.innerBlocksPicker() }\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\tconst blockVariationPickerOnSelect = ( nextVariation = defaultVariation ) => {\n\n\t\t\tconst nextVariationName = nextVariation.name;\n\t\t\tsetAttributes( { layout: nextVariationName } );\n\n\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\tthis.props.setAttributes( nextVariation.attributes );\n\t\t\t}\n\n\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\tthis.props.clientId,\n\t\t\t\t\tthis.createBlocksFromInnerBlocksTemplate( nextVariation.innerBlocks )\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\t\tinstructions={ __( 'Select a variation to start with.', '__plugin_txtd' ) }\n\t\t\t\t\tvariations={ variations }\n\t\t\t\t\tallowSkip\n\t\t\t\t\tonSelect={ ( nextVariation ) => blockVariationPickerOnSelect( nextVariation ) }\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t}\n}\n\n\nconst applyWithSelect = withSelect( ( select, props ) => {\n\tconst { getBlocks } = select( 'core/block-editor' );\n\tconst { getBlocksByClientId } = select( 'core/editor' );\n\tconst { getBlockType, getBlockVariations, getDefaultBlockVariation } = select( 'core/blocks' );\n\tconst innerBlocks = getBlocks( props.clientId );\n\n\treturn {\n\t\tblockType: getBlockType( props.name ),\n\t\tdefaultVariation: typeof getDefaultBlockVariation === 'undefined' ? null : getDefaultBlockVariation( props.name ),\n\t\tgetBlocksByClientId,\n\t\thasInnerBlocks: select( 'core/block-editor' ).getBlocks( props.clientId ).length > 0,\n\t\tinnerBlocks,\n\t\tvariations: typeof getBlockVariations === 'undefined' ? null : getBlockVariations( props.name ),\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst {\n\t\tinsertBlock,\n\t\treplaceInnerBlocks,\n\t} = dispatch( 'core/block-editor' );\n\n\tconst {\n\t\tupdateBlockAttributes,\n\t} = dispatch( 'core/editor' );\n\n\treturn {\n\t\tinsertBlock,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t};\n} );\n\nexport default compose( [ applyWithSelect, applyWithDispatch ] )( Edit );\n\n\n\n","import * as icons from './icons';\nconst {__} = wp.i18n;\n\nconst variations = [\n\t{\n\t\tname: 'logo-left',\n\t\ttitle: __( 'Logo on the left side and one navigation menu', '__plugin_txtd' ),\n\t\ticon: icons.logoLeft,\n\t\tisDefault: true,\n\t\tinnerBlocks: [\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t},\n\t{\n\t\tname: 'logo-center',\n\t\ttitle: __( 'Logo centered and one navigation menu on each side', '__plugin_txtd' ),\n\t\ticon: icons.logoCenter,\n\t\tinnerBlocks: [\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--secondary\",\n\t\t\t\tslug: \"secondary\"\n\t\t\t} ],\n\t\t\t[ 'novablocks/logo' ],\n\t\t\t[ 'novablocks/navigation', {\n\t\t\t\tclassName: \"site-header__menu site-header__menu--primary\",\n\t\t\t\tslug: \"primary\"\n\t\t\t} ],\n\t\t],\n\t\tscope: [ 'block' ],\n\t}\n];\n\nexport default variations;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport variations from './variations';\n\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { InnerBlocks } = wp.blockEditor;\n\nfunction init() {\n\n\tregisterBlockType( 'novablocks/header', {\n\t\ttitle: __( 'Header', '__plugin_txtd' ),\n\t\tdescription: __( 'Outputs custom header markup.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.header,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'logo', '__plugin_txtd' ), __( 'menu', '__plugin_txtd' ) ],\n\t\tsupports: { align: [\"wide\", \"full\"], default: \"full\" },\n\t\tvariations,\n\t\tedit,\n\t\tsave: function() {\n\t\t\treturn \n\t\t}\n\t} )\n}\n\nexport default init;\n","import classnames from 'classnames';\nimport HeadingToolbar from '../../components/heading-toolbar';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\tPanelBody,\n} = wp.components;\n\nconst {\n\tRichText,\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n} = wp.blockEditor;\n\nexport default function HeadlineEdit( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tprimary,\n\t\tsecondary,\n\t\tlevel\n\t} = attributes;\n\n\tconst TagName = `h${level}`;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setAttributes( { level: newLevel } ) } />\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( { align: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

    { __( 'Level', '__plugin_txtd' ) }

    \n\t\t\t\t\t setAttributes( { level: newLevel } ) } />\n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t\n\n\t\t\t\t setAttributes( { secondary: value } ) }\n\t\t\t\t\tplaceholder={ __( 'Subtitle…', '__plugin_txtd' ) }\n\t\t\t\t\tkeepPlaceholderOnFocus = {true}\n\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t/>\n\t\t\t\t setAttributes( { primary: value } ) }\n\t\t\t\t\tplaceholder={ __( 'Write title…', '__plugin_txtd' ) }\n\t\t\t\t\tkeepPlaceholderOnFocus = {true}\n\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t/>\n\n\t\t\t\n\t\t
    \n\t)\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tRichText\n} = wp.blockEditor;\n\nexport default function save( props ) {\n\n\tconst {\n\t\tattributes,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tprimary,\n\t\tsecondary,\n\t\tlevel,\n\t} = attributes;\n\n\tconst TagName = `h${level}`;\n\n\tconst className = classnames( 'c-headline', {\n\t\t[ `has-text-align-${ align }` ]: align,\n\t} );\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{ ` ` }\n\t\t\t\n\t\t\n\t);\n}\n","const { createBlock } = wp.blocks;\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/heading'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/headline', {\n\t\t\t\t\tprimary: attributes.content,\n\t\t\t\t\tsecondary: '',\n\t\t\t\t\tlevel: attributes.level,\n\t\t\t\t\tfontSize: attributes.fontSize,\n\t\t\t\t\tclassName: attributes.className,\n\t\t\t\t\talign: attributes.align,\n\t\t\t\t} )\n\t\t\t},\n\t\t}\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/heading'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tcontent: attributes.secondary + ' ' + attributes.primary,\n\t\t\t\t\tlevel: attributes.level,\n\t\t\t\t\tfontSize: attributes.fontSize,\n\t\t\t\t\tclassName: attributes.className,\n\t\t\t\t\talign: attributes.align,\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t],\n}\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\n\nimport { STORE_NAME } from '../../store';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/headline', {\n\t\ttitle: __( 'Headline', '__plugin_txtd' ),\n\t\tdescription: __( 'Advanced heading block with a fancier display.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.headline,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'heading', '__plugin_txtd' ), __( 'title', '__plugin_txtd' ), __( 'cta', '__plugin_txtd' ), __( 'call to action', '__plugin_txtd' ) ],\n\t\tattributes: {\n\t\t\talign: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: \"center\"\n\t\t\t},\n\t\t\tprimary: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: __( \"Our Story\", '__plugin_txtd' )\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: __( \"Discover\", '__plugin_txtd' )\n\t\t\t},\n\t\t\tlevel: {\n\t\t\t\ttype: \"number\",\n\t\t\t\tdefault: 2\n\t\t\t},\n\t\t},\n\t\tsave,\n\t\tedit,\n\t\ttransforms,\n\t} )\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nimport { withParallaxContext } from '../../components/with-parallax';\n\nconst HeroBackground = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\toverlayFilterStyle,\n\t\t\toverlayFilterStrength,\n\t\t\tmedia,\n\t\t\tcontentColor\n\t\t}\n\t} = props;\n\n\tconst styles = {\n\t\t...props.parallax.style,\n\t\topacity: 1,\n\t};\n\n\tif ( overlayFilterStyle !== 'none' ) {\n\t\tstyles.opacity = 1 - ( overlayFilterStrength / 100 );\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t{ !! media && media.type === 'image' && typeof media.sizes !== 'undefined' &&\n\t\t\t\t\t{ }\n\t\t\t\t{ !! media && media.type === 'video' &&\n\t\t\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HeroBackground;\n","/**\n * Internal dependencies\n */\nimport HeroBackground from './background';\n\n/**\n * WordPress dependencies\n */\nconst { InnerBlocks } = wp.blockEditor;\n\nconst {\n\tselect,\n} = wp.data;\n\nconst HeroPreview = function( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tsettings,\n\t} = props;\n\n\tconst {\n\t\t// layout\n\t\tcontentPadding,\n\t\tcontentPaddingCustom,\n\t\tcontentWidth,\n\t\tcontentWidthCustom,\n\t\t// alignment\n\t\tverticalAlignment,\n\t\thorizontalAlignment,\n\t\t// height\n\t\tminHeightFallback,\n\t\t// indicators\n\t\tscrollIndicatorBlock,\n\t\t// colors\n\t\tcontentColor,\n\t\toverlayFilterStyle,\n\n\t\tscrollingEffect,\n\t} = attributes;\n\n\tconst classes = [\n\t\tclassName,\n\t\t'novablocks-hero',\n\t\t`novablocks-u-valign-${ verticalAlignment }`,\n\t\t`novablocks-u-halign-${ horizontalAlignment }`,\n\t\t`novablocks-u-spacing-${ contentPadding }`,\n\t\t`novablocks-u-content-width-${ contentWidth }`,\n\t\t`novablocks-u-background`,\n\t\t`novablocks-u-background-${ overlayFilterStyle }`,\n\t];\n\n\tconst styles = {\n\t\thero: {\n\t\t\t'--novablocks-hero-text-color': contentColor,\n\t\t},\n\t\tforeground: {},\n\t\tcontent: {},\n\t};\n\n\tif ( contentColor !== '#FFF' ) {\n\t\tstyles.hero['--theme-dark-primary'] = '#FFF'\n\t}\n\n\tconst heroBlocks = select( 'core/block-editor' ).getBlocks().filter( ( block ) => {\n\t\treturn block.name === 'novablocks/hero';\n\t} );\n\n\tlet heroHeight = minHeightFallback;\n\tlet contentHeight = heroHeight;\n\n\tif ( scrollingEffect === 'doppler' ) {\n\t\theroHeight = minHeightFallback * 2;\n\t\tcontentHeight = 100;\n\t\tstyles.hero.alignItems = 'flex-start';\n\t}\n\n\tstyles.hero.minHeight = heroHeight + 'vh';\n\tstyles.foreground.minHeight = contentHeight + 'vh';\n\n\tif ( contentPadding === 'custom' ) {\n\t\tstyles.foreground.paddingTop = `${ contentPaddingCustom }%`;\n\t\tstyles.foreground.paddingBottom = `${ contentPaddingCustom }%`;\n\t}\n\n\tif ( contentWidth === 'custom' ) {\n\t\tstyles.content.maxWidth = `${ contentWidthCustom }%`;\n\t}\n\n\tconst index = heroBlocks.findIndex( ( block ) => block.clientId === clientId );\n\tconst scrollIndicatorFallback = index === 0 && heroHeight >= 100;\n\tconst scrollIndicator = settings.usePostMetaAttributes ? scrollIndicatorBlock : scrollIndicatorFallback;\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t{ scrollIndicator &&
    }\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default HeroPreview;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport { AlignmentToolbar, ColorToolbar } from '../../components';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tBlockControls,\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst {\n\tButton,\n\tToolbar,\n} = wp.components;\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nconst HeroBlockControls = function( props ) {\n\tconst {\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t setAttributes( { media } ) }\n\t\t\t\t\trender={ ( { open } ) => {\n\t\t\t\t\t\treturn ;\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport default HeroBlockControls;\n","/**\n * Internal dependencies\n */\nimport {\n\tLayoutPanel,\n\tScrollIndicatorPanel,\n\tPositionIndicatorsPanel,\n\tAdvancedScrollAnimationControls,\n\twithParallax,\n\twithSettings,\n} from '../../components';\n\nimport heroAttributes from './attributes';\n\nimport { ControlsTab, ControlsSection } from \"../../components/control-sections\";\n\nimport { withFirstBlockConditions } from '../../utils';\n\nimport HeroPreview from './preview';\nimport BlockControls from './block-controls';\n\nconst { __ } = wp.i18n;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tPanelBody,\n\tRadioControl,\n} = wp.components;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nconst {\n\tselect\n} = wp.data;\n\nconst FirstBlockControls = withFirstBlockConditions( function( props ) {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n} );\n\nconst BlockHeightControls = function( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tsettings,\n\t} = props;\n\n\tconst { minHeightFallback } = attributes;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeightFallback: parseFloat( minHeightFallback )\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ settings.minimumHeightOptions }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nclass HeroEdit extends Component {\n\n\tgetDefaults( attributes ) {\n\t\tconst { settings } = this.props;\n\t\tconst { scrollIndicator } = attributes;\n\t\tconst defaults = {};\n\n\t\tif ( settings.usePostMetaAttributes ) {\n\t\t\tif ( ! scrollIndicator ) {\n\t\t\t\tdefaults.scrollIndicator = heroAttributes.scrollIndicator.default;\n\t\t\t}\n\t\t}\n\n\t\treturn defaults;\n\t}\n\n\tgetNewAttributes( attributes ) {\n\t\tconst { scrollIndicator } = attributes;\n\n\t\tconst index = select( 'core/block-editor' ).getBlocks().filter( ( block ) => {\n\t\t\treturn block.name === 'novablocks/hero';\n\t\t} ).findIndex( block => {\n\t\t\treturn block.clientId === this.props.clientId\n\t\t} );\n\n\t\tconst newScrollIndicatorBlock = index === 0 && scrollIndicator;\n\n\t\treturn {\n\t\t\tscrollIndicator: scrollIndicator,\n\t\t\tscrollIndicatorBlock: newScrollIndicatorBlock,\n\t\t};\n\t}\n\n\tupdateAttributes( newAttributes = {} ) {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst defaults = this.getDefaults( attributes );\n\t\tconst computedAttributes = this.getNewAttributes( { ...attributes, ...defaults, ...newAttributes } );\n\t\tsetAttributes( computedAttributes );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateAttributes();\n\t}\n\n\trender() {\n\t\tconst { settings } = this.props;\n\t\tconst { usePostMetaAttributes } = settings;\n\t\tconst updateAttributes = this.updateAttributes.bind( this );\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ usePostMetaAttributes && }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n};\n\nexport default createHigherOrderComponent(compose([\n\twithSettings,\n\twithParallax,\n]))( HeroEdit );\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","import save from \"./save\";\n\nimport blockAttributes from \"./attributes\";\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\nimport { getPlaceholderImages, getRandomBetween } from \"../../utils\";\n\nimport blockAttributes from \"./attributes\"\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\nimport generateDefaults from \"../../components/generate-defaults\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { select } = wp.data;\n\nasync function getNewDefaults() {\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst index = getRandomBetween( 0, placeholderImages.length - 1 );\n\tconst image = placeholderImages[index];\n\n\tif ( typeof image?.download === \"function\" ) {\n\t\timage.download();\n\t}\n\n\treturn {\n\t\tmedia: {\n\t\t\t...image,\n\t\t\ttype: 'image',\n\t\t}\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/hero', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/hero', {\n\t\ttitle: __( 'Hero of the Galaxy', '__plugin_txtd' ),\n\t\tdescription: __( 'A great way to get your visitors acquainted with your content.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.hero,\n\t\t// Additional search terms\n\t\tkeywords: [\n\t\t\t__( 'cover', '__plugin_txtd' ),\n\t\t\t__( 'full width', '__plugin_txtd' ),\n\t\t\t__( 'hero image', '__plugin_txtd' ),\n\t\t\t__( 'cover section', '__plugin_txtd' )\n\t\t],\n\t\texample: {},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t},\n\t\tdeprecated,\n\t\tattributes,\n\t\tedit,\n\t\tsave,\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} );\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType, } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/logo', {\n\t\ttitle: __( 'Logo', '__plugin_txtd' ),\n\t\tdescription: __( 'Outputs custom logo markup.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.logo,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'branding', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/header'],\n\t\tsave: function() {},\n\t\tedit: function( props ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t)\n\t\t},\n\t} )\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport { AlignmentToolbar } from '../../components/alignment-controls';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tMediaUpload,\n\tBlockControls,\n} = wp.blockEditor;\n\nconst {\n\tToolbar,\n} = wp.components;\n\nconst MEDIA_ALIGNMENTS_CONTROLS = {\n\tleft: {\n\t\ticon: 'align-pull-left',\n\t\ttitle: __( 'Show Media on Left Side', '__plugin_txtd' ),\n\t},\n\tright: {\n\t\ticon: 'align-pull-right',\n\t\ttitle: __( 'Show Media on Right Side', '__plugin_txtd' ),\n\t},\n};\n\nconst MediaBlockControls = function( props ) {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\tmediaPosition,\n\t} = attributes;\n\n\treturn (\n\t\t\n\n\t\t\t {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...MEDIA_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tsetAttributes( { mediaPosition: control } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisActive: mediaPosition === control,\n\t\t\t\t\t};\n\t\t\t\t} ) }\n\t\t\t/>\n\n\t\t\t\n\n\t\t\n\t);\n};\n\nexport default MediaBlockControls;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nimport AdvancedGallery from '../../components/advanced-gallery';\n\n/**\n * WordPress dependencies\n */\nconst {\n\tInnerBlocks,\n} = wp.blockEditor;\n\nconst MediaPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tcontentStyle,\n\t\t\tblockStyle,\n\t\t\tmediaPosition,\n\t\t\timages,\n\t\t\t// alignment\n\t\t\tverticalAlignment,\n\t\t\temphasisArea,\n\n\t\t\tcontentAreaWidth,\n\t\t\tlayoutGutter,\n\t\t},\n\t\tclassName,\n\t\tsettings,\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`novablocks-media`,\n\t\t`has-image-on-the-${ mediaPosition }`,\n\t\t`novablocks-u-valign-${ verticalAlignment }`,\n\t);\n\n\tconst passedProps = props;\n\n\tif ( \"undefined\" !== typeof images && images.length && typeof images[0] === 'string' ) {\n\t\tpassedProps.attributes.images = images.map( image => JSON.parse( image ) );\n\t}\n\n\tconst cssVars = {\n\t\t'--emphasis-area': emphasisArea,\n\t\t'--novablocks-media-content-width': `${contentAreaWidth}%`,\n\t\t'--novablocks-media-gutter': `calc( ${layoutGutter} * var(--novablocks-spacing) * 5 / 100 )`,\n\t};\n\n\tconst blockClassNames = classnames(\n\t\t`novablocks-block`,\n\t\t`block-is-${ blockStyle }`,\n\t\t`content-is-${ contentStyle }`,\n\t);\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default MediaPreview;\n","import classnames from 'classnames';\n\nimport ControlsGroup from \"../../components/controls-group\";\n\nimport {\n\tControlsTab,\n\tControlsSection,\n} from \"../../components/control-sections\";\n\nimport {\n\tEmphasisBlockAreaControls\n} from \"../../components/emphasis-level-controls\"\n\nimport {\n\tgetControlsClasses,\n} from \"../../utils\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst {\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst CONTENT_AREA_MAX_WIDTH = 70;\nconst CONTENT_AREA_MIN_WIDTH = 30;\nconst CONTENT_AREA_MID_VALUE = ( CONTENT_AREA_MIN_WIDTH + CONTENT_AREA_MAX_WIDTH ) * 0.5;\n\nconst MediaInspectorControls = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst {\n\t\temphasisArea,\n\n\t\tcontentAreaWidth,\n\t\tlayoutGutter,\n\t\tblockStyle,\n\n\t\t// customize tab attributes\n\t\tbalanceEmphasis,\n\t\tbalanceFocalPoint,\n\t} = attributes;\n\n\tconst getBalanceAttributes = ( { balanceEmphasis, balanceFocalPoint } ) => {\n\t\tconst width = balanceEmphasis * ( CONTENT_AREA_MAX_WIDTH - CONTENT_AREA_MID_VALUE ) / 100 + CONTENT_AREA_MID_VALUE;\n\t\tconst contentAreaWidth = 'content' === balanceFocalPoint ? width : 100 - width;\n\n\t\treturn {\n\t\t\tbalanceEmphasis,\n\t\t\tbalanceFocalPoint,\n\t\t\tcontentAreaWidth,\n\t\t}\n\t};\n\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t{\n\t\t\t\t\tblockStyle !== 'basic' &&\n\t\t\t\t\t setAttributes( { emphasisArea } ) }\n\t\t\t\t\t\tlabel={ __( 'Emphasis Area' ) }\n\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( getBalanceAttributes( { ...attributes, balanceEmphasis } ) );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Emphasis by Balance' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 25 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetAttributes( getBalanceAttributes( { ...attributes, balanceFocalPoint } ) );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Content Area' ), value: 'content' },\n\t\t\t\t\t\t\t\t{ label: __( 'Media / Gallery' ), value: 'media' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t
    \n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setAttributes( { contentAreaWidth } ) }\n\t\t\t\t\t\t\tlabel={ __( 'Content Area Width' ) }\n\t\t\t\t\t\t\tmin={ CONTENT_AREA_MIN_WIDTH }\n\t\t\t\t\t\t\tmax={ CONTENT_AREA_MAX_WIDTH }\n\t\t\t\t\t\t\tstep={ 5 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t setAttributes( { layoutGutter } ) }\n\t\t\t\t\t\t\tlabel={ __( 'Layout Gutter' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t
    \n\n\t\t
    \n\t);\n};\n\nexport default MediaInspectorControls;\n","/**\n * Internal dependencies\n */\nimport withSettings from '../../components/with-settings';\nimport BlockControls from './block-controls';\nimport MediaPreview from './preview';\nimport InspectorControls from './inspector-controls';\n\n/**\n * WordPress dependencies\n */\nconst { Fragment } = wp.element;\n\nconst MediaEdit = function( props ) {\n\tfunction updateImages( media ) {\n\t\tprops.setAttributes( {\n\t\t\timages: media.map( ( image ) => JSON.stringify( { id: image.id, url: image.url, alt: image.alt } ) ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default withSettings( MediaEdit );\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","const { createBlock } = wp.blocks;\n\nexport default {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/media', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t}\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['novablocks/advanced-gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'novablocks/advanced-gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: ['core/gallery'],\n\t\t\ttransform: function( attributes ) {\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: attributes.images\n\t\t\t\t} )\n\t\t\t},\n\t\t},\n\t],\n}\n","import save from \"./save\";\n\nimport blockAttributes from \"./attributes\"\nimport galleryAttributes from \"../../components/advanced-gallery/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\nconst { images, ...attributesWithoutImages } = attributes;\n\nconst oldAttributes = {\n\t...attributesWithoutImages,\n\tgallery: {\n\t\ttype: 'array',\n\t\titems: {\n\t\t\ttype: 'object',\n\t\t},\n\t\tdefault: [],\n\t}\n};\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes: oldAttributes,\n\tisEligible( attributes ) {\n\t\treturn \"undefined\" === typeof attributes.images && typeof \"undefined\" !== attributes.gallery;\n\t},\n\tmigrate( attributes ) {\n\t\tconst { gallery, ...newAttributes } = attributes;\n\n\t\treturn {\n\t\t\t...newAttributes,\n\t\t\timages: gallery\n\t\t};\n\t},\n\tsave,\n});\n\ndeprecated.push({\n\tattributes: oldAttributes,\n\tisEligible( attributes ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes ) {\n\t\tconst { contentStyle } = attributes;\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontentStyle: contentStyle === 'basic' ? 'moderate' : contentStyle,\n\t\t\tupgradedToModerate: true,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport deprecated from './deprecated';\n\nimport { getPlaceholderImages, getRandomArrayFromArray, getRandomBetween } from \"../../utils\";\nimport { getRandomAttributes } from \"../../components/advanced-gallery/util\";\nimport generateDefaults from \"../../components/generate-defaults\";\n\nimport blockAttributes from './attributes';\nimport galleryAttributes from \"../../components/advanced-gallery/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, galleryAttributes );\n\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst numberOfImages = getRandomBetween( 2, 4 );\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst randomImages = getRandomArrayFromArray( placeholderImages, numberOfImages );\n\tconst randomAttributes = getRandomAttributes();\n\n\trandomImages.forEach( image => {\n\t\tif ( typeof image?.download === \"function\" ) {\n\t\t\timage.download();\n\t\t}\n\t} );\n\n\treturn {\n\t\t...randomAttributes,\n\t\tverticalAlignment: \"center\",\n\t\timages: randomImages\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/media', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/media', {\n\t\ttitle: __( 'Media Card Constellation', '__plugin_txtd' ),\n\t\tdescription: __( 'Display media objects alongside short pieces of content.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.media,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'image with text', '__plugin_txtd' ), __( 'columns', '__plugin_txtd' ), __( 'side text', '__plugin_txtd' ) ],\n\t\tattributes,\n\t\tedit,\n\t\tsave,\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t\tdeprecated,\n\t\ttransforms\n\t} )\n}\n\nexport default init;\n","/**\n * Internal dependencies\n */\nconst SlideshowBackground = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\toverlayFilterStyle,\n\t\t\toverlayFilterStrength,\n\t\t},\n\t\tpreviewImage\n\t} = props;\n\n\tconst focalPoint = previewImage.focalPoint || { x: 0.5, y: 0.5 };\n\n\tconst styles = {\n\t\t...props.parallax.style,\n\t\topacity: 1,\n\t\tobjectPosition: focalPoint.x * 100 + '% ' + focalPoint.y * 100 + '%',\n\t};\n\n\tif ( overlayFilterStyle !== 'none' ) {\n\t\tstyles.opacity = 1 - ( overlayFilterStrength / 100 );\n\t}\n\n\tconst imageURL = previewImage?.sizes?.novablocks_large?.url || previewImage?.sizes?.novablocks_huge?.url;\n\tconst videoURL = previewImage?.url;\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t{ previewImage.type !== 'video' && \"\" }\n\t\t\t\t{ previewImage.type === 'video' &&
    \n\t\t
    \n\t);\n};\n\nexport default SlideshowBackground;\n","/**\n * Internal dependencies\n */\nimport SlideshowBackground from './background';\nimport { GalleryPlaceholder } from '../../components';\nimport { getMediaTitle, getMediaCaption } from \"../../utils\";\n\n/**\n * WordPress dependencies\n */\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst SlideshowPreview = class extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\twindowWidth: window.innerWidth,\n\t\t\twindowHeight: window.innerHeight,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.updateDimensions.bind( this ) );\n\t\tthis.updateDimensions();\n\t}\n\n\tupdateDimensions() {\n\t\tif ( !this.container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tdimensions: {\n\t\t\t\twidth: this.container.offsetWidth,\n\t\t\t\theight: this.container.offsetHeight,\n\t\t\t},\n\t\t} );\n\t}\n\n\trenderContent() {\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\t// layout\n\t\t\t\tcontentPadding,\n\t\t\t\tcontentPaddingCustom,\n\t\t\t\tcontentWidth,\n\t\t\t\tcontentWidthCustom,\n\t\t\t\tminHeight,\n\t\t\t\t// alignment\n\t\t\t\tverticalAlignment,\n\t\t\t\thorizontalAlignment,\n\t\t\t\t// colors\n\t\t\t\tcontentColor,\n\t\t\t\toverlayFilterStyle,\n\t\t\t\t// media\n\t\t\t\tgalleryImages,\n\t\t\t},\n\t\t\tpreviewImage,\n\t\t\tclassName,\n\t\t} = this.props;\n\n\t\tconst classes = [\n\t\t\tclassName,\n\t\t\t'novablocks-slideshow is-ready',\n\t\t\t`novablocks-u-valign-${ verticalAlignment }`,\n\t\t\t`novablocks-u-halign-${ horizontalAlignment }`,\n\t\t\t`novablocks-u-spacing-${ contentPadding }`,\n\t\t\t`novablocks-u-content-width-${ contentWidth }`,\n\t\t\t`novablocks-u-background`,\n\t\t\t`novablocks-u-background-${ overlayFilterStyle }`,\n\t\t];\n\n\t\tconst styles = {\n\t\t\tslideshow: {\n\t\t\t\t'--novablocks-slideshow-text-color': contentColor,\n\t\t\t},\n\t\t\tcontent: {},\n\t\t\tforeground: {},\n\t\t};\n\n\t\tif ( contentPadding === 'custom' ) {\n\t\t\tstyles.foreground.paddingTop = `${ contentPaddingCustom }%`;\n\t\t\tstyles.foreground.paddingBottom = `${ contentPaddingCustom }%`;\n\t\t}\n\n\t\tif ( contentWidth === 'custom' ) {\n\t\t\tstyles.content.maxWidth = `${ contentWidthCustom }%`;\n\t\t}\n\n\t\tlet maxAspectRatio = 0;\n\t\tlet mediaMinHeight = 0;\n\n\t\tgalleryImages.map( ( image ) => {\n\t\t\tif ( !! image.sizes && !! image.sizes.full && !! image.width && !! image.height ) {\n\t\t\t\tconst aspectRatio = image.width / image.height;\n\t\t\t\tmaxAspectRatio = aspectRatio > maxAspectRatio ? aspectRatio : maxAspectRatio;\n\t\t\t\tmediaMinHeight = this.state.dimensions.width / maxAspectRatio;\n\t\t\t}\n\t\t\treturn true;\n\t\t} );\n\n\t\tlet attributesHeight = this.props.parallax.state.scrollContainerHeight * minHeight / 100;\n\n\t\tstyles.slideshow.minHeight = Math.max( attributesHeight, mediaMinHeight, maxAspectRatio ) + 'px';\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{ !! galleryImages.length &&
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{ previewImage && \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t${ previewImage.title }` || '' ) +\n\t\t\t\t\t\t\t\t\t\t\t\t( typeof previewImage.caption === 'string' && previewImage.caption || '' )\n\t\t\t\t\t\t\t\t\t\t} }>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t{ galleryImages.length > 1 &&
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    }\n\t\t\t\t
}\n\t\t\t\t{ ! galleryImages.length && }\n\t\t\t\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { dimensions } = this.state;\n\t\treturn (\n\t\t\t
( this.container = el ) }>\n\t\t\t\t{ dimensions && this.renderContent() }\n\t\t\t
\n\t\t);\n\t}\n};\n\nexport default SlideshowPreview;\n","/**\n * Internal dependencies\n */\nimport {\n\tLayoutPanel,\n\tGalleryPreview,\n} from '../../components';\n\nimport {getSnapClassname, maybeSnapFocalPoint} from \"../../utils\";\nimport {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFocalPointPicker,\n\tPanelBody,\n\tRadioControl,\n\tRangeControl,\n} = wp.components;\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tFragment,\n} = wp.element;\n\nconst SlideshowInspectorControls = function( props ) {\n\n\tconst {\n\t\tattributes: {\n\t\t\tgalleryImages,\n\t\t\tminHeight,\n\t\t\tslideshowType,\n\t\t},\n\t\tselectedIndex,\n\t\tsetIndex,\n\t\tsetAttributes,\n\t\tsettings: {\n\t\t\tslideshow: {\n\t\t\t\tminHeightOptions,\n\t\t\t},\n\t\t},\n\t} = props;\n\n\tconst selectedImage = galleryImages[ selectedIndex ];\n\n\tlet focalPointPickerClassNames = [ 'novablocks-focal-point-picker' ];\n\n\tif ( selectedImage ) {\n\t\tlet selectedImageFocalPoint = selectedImage.focalPoint || { x: 0.5, y: 0.5 };\n\t\tfocalPointPickerClassNames.push( getSnapClassname( selectedImageFocalPoint ) )\n\t}\n\n\tfocalPointPickerClassNames = focalPointPickerClassNames.join( ' ' );\n\n\tlet thumbnail,\n\t\twidth,\n\t\theight;\n\n\tif ( 'video' === selectedImage?.type ) {\n\t\tthumbnail = '//cloud.pixelgrade.com/wp-content/uploads/2020/01/Screenshot-2020-01-09-at-15.59.37.png';\n\t\twidth = 218;\n\t\theight = 170;\n\t} else {\n\t\tthumbnail = selectedImage?.sizes?.novablocks_tiny?.url || selectedImage?.sizes?.novablocks_large?.url || selectedImage?.sizes?.novablocks_huge?.url\n\t\twidth = selectedImage?.width;\n\t\theight = selectedImage?.height;\n\t}\n\n\treturn (\n\t\t\n\n\t\t\t{\n\t\t\t\t!! galleryImages.length &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tselectedImage &&\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst newGalleryImages = galleryImages;\n\t\t\t\t\t\t\t\t\tnewGalleryImages[ selectedIndex ].focalPoint = maybeSnapFocalPoint( focalPoint );\n\t\t\t\t\t\t\t\t\tsetAttributes( { galleryImages: newGalleryImages } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\n\t\t\t{\n\t\t\t\t'gallery' === slideshowType &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetAttributes( { minHeight: parseInt( nextMinHeight, 10 ) } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\toptions={ minHeightOptions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default SlideshowInspectorControls;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport { AlignmentToolbar } from '../../components/alignment-controls';\nimport { ColorToolbar } from '../../components/color-controls';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tButton,\n\tToolbar,\n} = wp.components;\n\nconst {\n\tBlockControls\n} = wp.blockEditor;\n\nconst {\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nconst SlideshowBlockControls = function( props ) {\n\n\tconst {\n\t\tattributes: {\n\t\t\tgalleryImages,\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tconst onChangeGallery = function( items ) {\n\t\tconst promises = items.map( ( item, index ) => {\n\t\t\treturn wp.apiRequest( { path: '/wp/v2/media/' + item.id } ).then( data => {\n\t\t\t\titems[ index ] = { ...data, ...item };\n\t\t\t} );\n\t\t} );\n\n\t\tPromise.all( promises ).then( () => {\n\t\t\tsetAttributes( { galleryImages: items } );\n\t\t} );\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t image.id ) }\n\t\t\t\t\tonSelect={ onChangeGallery }\n\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SlideshowBlockControls;\n","/**\n * Internal dependencies\n */\nimport { shuffleArray } from '../../utils';\n\nimport SlideshowPreview from './preview';\nimport InspectorControls from './inspector-controls';\nimport BlockControls from './block-controls';\n\nimport { withSettings, withParallax } from '../../components';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tComponent,\n\tFragment,\n} = wp.element;\n\nconst {\n\tcompose,\n\tcreateHigherOrderComponent,\n} = wp.compose;\n\nclass Edit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tselectedIndex: 0,\n\t\t};\n\t}\n\n\tonPrevArrowClick() {\n\t\tconst { attributes: { galleryImages } } = this.props;\n\t\tconst { selectedIndex } = this.state;\n\t\tconst newIndex = ( selectedIndex + galleryImages.length - 1 ) % galleryImages.length;\n\t\tthis.setState( { selectedIndex: newIndex } );\n\t}\n\n\tonNextArrowClick() {\n\t\tconst { attributes: { galleryImages } } = this.props;\n\t\tconst { selectedIndex } = this.state;\n\t\tconst newIndex = ( selectedIndex + 1 ) % galleryImages.length;\n\t\tthis.setState( { selectedIndex: newIndex } );\n\t}\n\n\tsetIndex( selectedIndex ) {\n\t\tthis.setState( { selectedIndex } );\n\t}\n\n\trender() {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tgalleryImages,\n\t\t\t},\n\t\t} = this.props;\n\n\t\tconst setIndex = this.setIndex.bind( this );\n\n\t\tlet { selectedIndex } = this.state;\n\n\t\tif ( selectedIndex >= galleryImages.length ) {\n\t\t\tselectedIndex = galleryImages.length - 1;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default createHigherOrderComponent(compose([\n\twithSettings,\n\twithParallax,\n]))( Edit );\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","import save from \"./save\";\n\nimport blockAttributes from \"./attributes\"\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nimport { STORE_NAME } from \"../../store\";\nimport { getPlaceholderImages, getRandomArrayFromArray, getRandomBetween } from \"../../utils\";\nimport generateDefaults from \"../../components/generate-defaults\";\n\nimport blockAttributes from \"./attributes\"\nimport alignmentAttributes from \"../../components/alignment-controls/attributes\";\nimport colorAttributes from \"../../components/color-controls/attributes\";\nimport scrollingAttributes from \"../../components/scrolling-effect-controls/attributes\";\nimport layoutAttributes from \"../../components/layout-panel/attributes\";\n\nconst attributes = Object.assign( {}, blockAttributes, alignmentAttributes, colorAttributes, layoutAttributes, scrollingAttributes );\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst count = getRandomBetween( 2, 4 );\n\tconst images = getRandomArrayFromArray( placeholderImages, count );\n\n\timages.forEach( image => {\n\t\tif ( typeof image?.download === \"function\" ) {\n\t\t\timage.download();\n\t\t}\n\t} );\n\n\treturn {\n\t\tgalleryImages: images,\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/slideshow', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/slideshow', {\n\t\ttitle: __( 'Slideshow Me the Way', '__plugin_txtd' ),\n\t\tdescription: __( 'Display more than one piece of content in a single, coveted space.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.slideshow,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'slider', '__plugin_txtd' ), __( 'carousel', '__plugin_txtd' ), __( 'images', '__plugin_txtd' ), __( 'cover', '__plugin_txtd' ) ],\n\t\tattributes,\n\t\tedit,\n\t\tsave,\n\t\tdeprecated,\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} );\n}\n\nexport default init;\n","const { __ } = wp.i18n;\n\nconst {\n\tComponent,\n} = wp.element;\n\nexport default class Edit extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tslug\n\t\t\t}\n\t\t} = this.props;\n\n\t\treturn [\n\t\t\t\n\t\t]\n\t}\n}\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType, } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/navigation', {\n\t\ttitle: __( 'Space Navigation', '__plugin_txtd' ),\n\t\tdescription: __( 'Outputs chosen navigaiton menu markup.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.navigation,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'menu', '__plugin_txtd' ), __( 'site menu', '__plugin_txtd' ), __( 'primary', '__plugin_txtd' ), __( 'secondary', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/header'],\n\t\tsave: function() {},\n\t\tedit,\n\t} )\n}\n\nexport default init;\n","import { ControlsTab, ControlsSection } from \"../../components/control-sections\";\n\nconst { __ } = wp.i18n;\nconst { ToggleControl } = wp.components;\n\nconst FoodMenuInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableTwoColumns,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setAttributes( {enableTwoColumns: !enableTwoColumns} )}\n\t\t\t\t/>\n\n\t\t\t\t setAttributes( {showPrices: !showPrices} )}\n\t\t\t\t/>\n\n\t\t\t\t setAttributes( {showDescription: !showDescription} )}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuInspectorControls;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst {__} = wp.i18n;\nconst {InnerBlocks} = wp.blockEditor;\nconst {createBlock} = wp.blocks;\n\nconst {Button} = wp.components;\n\nconst ALLOWED_BLOCKS = ['novablocks/menu-food-section'];\nconst TEMPLATE = [\n\t['novablocks/menu-food-section', {sectionTitle: 'Starters'},\n\t\t[\n\t\t\t['novablocks/menu-food-item', {title: 'Pea & Mint Soup', description: 'Server with focaccia bread', price: '$8.00', showPrices: true, showDescription: true, enableSalePrice: true, salePrice: '$5.00'}],\n\t\t\t['novablocks/menu-food-item', {title: 'Beef Meatballs', description: 'In a spicy tomato sauce', price: '$10.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Hummus & Baba Ganoush Dip', description: 'Olive & grilled flatbread', price: '$12.00', showPrices: true, showDescription: true}],\n\t\t]\n\t],\n\n\t['novablocks/menu-food-section', {sectionTitle: 'Desserts'},\n\t\t[\n\t\t\t['novablocks/menu-food-item', {title: 'Dark Chocolate & Brownie Delice', description: 'Fudge bits & salted caramel ice cream', price: '$6.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Berry Cheesecake Trifle', description: 'Fresh raspberries & strawberries, sable cookie', price: '$6.50', showPrices: true, showDescription: true, enableHighlightFoodItem: true, highlightLabel: 'New'}],\n\t\t\t['novablocks/menu-food-item', {title: 'Caramelised Lemon Tart', description: 'Meringue crisps, gin & tonic ice cream', price: '$6.50', showPrices: true, showDescription: true}],\n\t\t]\n\t],\n\n\t['novablocks/menu-food-section', {sectionTitle: 'Main Course'},\n\t\t[\n\t\t\t['novablocks/menu-food-item', {title: 'The Classic Burger', description: 'Chargrilled, with or without bacon, on a brioche bun & fries', price: '$15.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Roast Salmon', description: 'Hollandaise sauce, green beans & potato galette', price: '$19.50', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Tagliatelle Pesto Chicken', description: 'Roasted Mediterranean vegetables, tomato and herb sauce', price: '$15.00', showPrices: true, showDescription: true, enableHighlightFoodItem: true, highlightLabel: 'Chef Selection'}],\n\t\t\t['novablocks/menu-food-item', {title: 'Confit de Canard ', description: 'Duck confit, white bean & ham cassoulet, wilted spinach', price: '$12.15', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Roasted Steak Roulade', description: 'Mint parsley with apple cider vinegar, salt, sugar & spices', price: '$14.95', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Cornish-mackerel', description: 'Marinated tomatoes, fragrant curry, tamarillo', price: '$10.45', showPrices: true, showDescription: true}],\n\t\t\t['novablocks/menu-food-item', {title: 'Lobster & Cucumber Soup', description: 'Lobster salad, smoked onion, rock samphire & sorrel', price: '$24.95', showPrices: true, showDescription: true}],\n\t\t]\n\t],\n];\n\nconst FoodMenuPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableTwoColumns,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tclientId,\n\t\tclassName,\n\t} = props;\n\n\tconst addFoodMenuSection = () => {\n\t\tconst block = createBlock( 'novablocks/menu-food-section' );\n\t\tconst index = wp.data.select( 'core/block-editor' ).getBlocksByClientId( clientId )[0].innerBlocks.length;\n\t\twp.data.dispatch( 'core/block-editor' ).insertBlock( block, index, clientId );\n\t};\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu`,\n\t\t{\n\t\t\t'nova-food-menu--layout' : enableTwoColumns === true,\n\t\t\t'price--is-hidden' : showPrices === false\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\t{ __( 'Add Menu Section', '__plugin_txtd' ) }\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default FoodMenuPreview;\n","/**\n * WordPress dependencies\n */\nconst {\n\tFragment\n} = wp.element;\n\nconst {\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst {\n\tselect,\n\tdispatch,\n} = wp.data;\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from \"./inspector-controls\";\nimport FoodMenuPreview from \"./preview\";\n\nconst FoodMenuEdit = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst withMenuVisibilityAttributes = createHigherOrderComponent( ( BlockListBlock ) => {\n\treturn ( props ) => {\n\t\tif ( 'novablocks/menu-food' === props.name ) {\n\t\t\tconst { clientId, attributes } = props;\n\t\t\tconst { getBlock } = select( 'core/block-editor' );\n\t\t\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\t\t\tconst menu = getBlock( clientId );\n\t\t\tconst sections = menu?.innerBlocks;\n\t\t\tconst newAttributes = (\n\t\t\t\t( { showPrices, showDescription } ) => (\n\t\t\t\t\t{ showPrices, showDescription }\n\t\t\t\t)\n\t\t\t)( attributes );\n\n\t\t\tif ( Array.isArray( sections ) ) {\n\t\t\t\tsections.forEach( block => {\n\t\t\t\t\tif ( Array.isArray( block.innerBlocks ) ) {\n\t\t\t\t\t\tblock.innerBlocks.forEach( innerBlock => {\n\t\t\t\t\t\t\tupdateBlockAttributes( innerBlock.clientId, newAttributes );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t\treturn \n\t};\n}, 'withCollectionVisibilityAttributes' );\n\nwp.hooks.addFilter( 'editor.BlockListBlock', 'novablocks/with-menu-visibility-attributes', withMenuVisibilityAttributes );\n\nexport default FoodMenuEdit;\n","import classnames from \"classnames\";\n\n/**\n * External dependencies\n */\n\nconst {__} = wp.i18n;\nconst {InnerBlocks} = wp.blockEditor;\n\nconst FoodMenuSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableTwoColumns,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tclassName,\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu`,\n\t\t{\n\t\t\t'nova-food-menu--layout' : enableTwoColumns === true,\n\t\t\t'price--is-hidden' : showPrices === false\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n};\n\nexport default FoodMenuSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nconst { select } = wp.data;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/menu-food', {\n\t\ttitle: __( 'Food Menu', '__plugin_txtd' ),\n\t\tdescription: __( 'Display a list of food or drink items available at your venue.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.foodmenu,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'food menu', '__plugin_txtd' ), __( 'restaurant menu', '__plugin_txtd' ), __( 'dishes', '__plugin_txtd' ), __( 'eats', '__plugin_txtd' ), __( 'menu list', '__plugin_txtd' ) ],\n\t\tattributes: {\n\t\t\tenableTwoColumns : {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'wide'\n\t\t\t},\n\t\t\tshowPrices: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\tshowDescription: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tattributes: {\n\t\t\t\tenableTwoColumns: false\n\t\t\t},\n\t\t\tinnerBlocks: [\n\t\t\t\t{\n\t\t\t\t\tname: 'novablocks/menu-food-section',\n\t\t\t\t\tinnerBlocks: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'novablocks/menu-food-item',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'novablocks/menu-food-item',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tstyles: [\n\t\t\t{\n\t\t\t\tname: 'classic',\n\t\t\t\tlabel: __( 'Classic', '__plugin_txtd' ),\n\t\t\t\tisDefault: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'basic',\n\t\t\t\tlabel: __( 'Basic', '__plugin_txtd' )\n\t\t\t},\n\t\t],\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'wide' } : {};\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","/**\n * WordPress dependencies\n */\nimport classnames from 'classnames';\n\nconst {__} = wp.i18n;\nconst {InnerBlocks, RichText} = wp.blockEditor;\nconst {createBlock} = wp.blocks;\nconst {Button} = wp.components;\n\n/**\n * Internal dependencies.\n */\nconst ALLOWED_BLOCKS = ['novablocks/menu-food-item'];\nconst TEMPLATE = [\n\t['novablocks/menu-food-item'],\n];\n\nconst FoodMenuSectionPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tsectionTitle,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tsetAttributes,\n\t\tclientId,\n\t\tclassName,\n\t} = props;\n\n\tconst addFoodMenuItem = () => {\n\t\tconst block = createBlock( 'novablocks/menu-food-item' );\n\t\tconst index = wp.data.select( 'core/block-editor' ).getBlocksByClientId( clientId )[0].innerBlocks.length;\n\t\twp.data.dispatch( 'core/block-editor' ).insertBlock( block, index, clientId );\n\t};\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu__section`\n\t);\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t setAttributes( {sectionTitle} )}\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t\t{ __( 'Add Menu Item', '__plugin_txtd' ) }\n\t\t\t\n\n\t\t
\n\n\t);\n};\n\nexport default FoodMenuSectionPreview;\n","/**\n * WordPress dependencies\n */\n\nconst {Fragment} = wp.element;\n\n/**\n * Internal dependencies\n */\nimport FoodMenuSectionPreview from \"./preview\";\n\nconst FoodMenuSectionEdit = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuSectionEdit;\n","import classnames from \"classnames\";\n\n/**\n * WordPress dependencies\n */\n\nconst {__} = wp.i18n;\nconst {InnerBlocks, RichText} = wp.blockEditor;\n\n\nconst FoodMenuSectionSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tsectionTitle\n\t\t},\n\t\tsetAttributes,\n\t\tclassName,\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu__section`\n\t);\n\n\treturn (\n\t\t
\n\n\t\t\t
\n\t\t\t\t setAttributes( {sectionTitle} )}\n\t\t\t\t\titemprop=\"name\"\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t
\n\t)\n};\n\nexport default FoodMenuSectionSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/menu-food-section', {\n\t\ttitle: __( 'Food Menu Section', '__plugin_txtd' ),\n\t\tdescription: __( 'A subgrouping of the Menu.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.foodmenu,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'menu section', '__plugin_txtd' ), __( 'food section', '__plugin_txtd' ), __( 'list section', '__plugin_txtd' ), __( 'dishes section', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/menu-food'],\n\t\tattributes: {\n\t\t\tsectionTitle: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Drinks', '__plugin_txtd' )\n\t\t\t}\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nconst {RichText} = wp.blockEditor;\n\nconst {__} = wp.i18n;\n\n\nconst FoodMenuItemPreview = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableHighlightFoodItem,\n\t\t\thighlightLabel,\n\t\t\tenableSalePrice,\n\t\t\tshowDescription,\n\t\t\tshowPrices,\n\t\t\tsalePrice,\n\t\t\tprice,\n\t\t\tdescription,\n\t\t\ttitle\n\t\t},\n\t\tsetAttributes,\n\t\tclassName\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu-item`,\n\t\t{\n\t\t\t'nova-food-menu-item--highlighted': enableHighlightFoodItem === true,\n\t\t\t'has-sale-price': enableSalePrice === true\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\n\t\t\t{enableHighlightFoodItem &&\n\t\t\t
\n\t\t\t\t setAttributes( {highlightLabel} )}\n\t\t\t\t\t allowedFormats={ [] }\n\t\t\t\t />\n\t\t\t
\n\t\t\t}\n\n\t\t\t
\n\t\t\t\t setAttributes( {title} )}\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t{showPrices &&
\n\t\t\t\t setAttributes( {price} )}\n\t\t\t\t/>\n\n\t\t\t\t{enableSalePrice &&\n\t\t\t\t
\n\t\t\t\t\t setAttributes( {salePrice} )}\n\t\t\t\t\t\t allowedFormats={ [] }\n\t\t\t\t\t />\n\t\t\t\t
\n\t\t\t\t }\n\t\t\t
}\n\n\t\t\t{ showDescription &&
\n\t\t\t\t setAttributes( {description} )}\n\t\t\t\t/>\n\t\t\t
}\n\n\t\t
\n\t);\n};\n\nexport default FoodMenuItemPreview;\n","import { ControlsTab, ControlsSection } from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { ToggleControl } = wp.components;\n\nconst FoodMenuItemInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableHighlightFoodItem,\n\t\t\tenableSalePrice,\n\t\t\tshowPrices,\n\t\t\tshowDescription\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setAttributes( {enableHighlightFoodItem: ! enableHighlightFoodItem} )}\n\t\t\t\t/>\n\n\t\t\t\t{ showPrices && setAttributes( {enableSalePrice: ! enableSalePrice} )}\n\t\t\t\t/> }\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuItemInspectorControls;\n","/**\n * Internal dependencies\n */\nimport FoodMenuItemPreview from './preview';\nimport InspectorControls from \"./inspector-controls\";\n\n/**\n * WordPress dependencies\n */\nconst {\n\tFragment\n} = wp.element;\n\nconst FoodMenuItem = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FoodMenuItem;\n","import classnames from \"classnames\";\n\n/**\n * WordPress dependencies.\n */\nconst {__} = wp.i18n;\nconst {RichText} = wp.blockEditor;\n\nconst FoodMenuItemSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\tenableHighlightFoodItem,\n\t\t\thighlightLabel,\n\t\t\tenableSalePrice,\n\t\t\tshowDescription,\n\t\t\tshowPrices,\n\t\t\tsalePrice,\n\t\t\tprice,\n\t\t\tdescription,\n\t\t\ttitle\n\t\t},\n\t\tsetAttributes,\n\t\tclassName\n\t} = props;\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`nova-food-menu-item`,\n\t\t{\n\t\t\t'nova-food-menu-item--highlighted': enableHighlightFoodItem === true,\n\t\t\t'has-sale-price': enableSalePrice === true\n\t\t}\n\t);\n\n\treturn (\n\t\t
\n\n\t\t\t{enableHighlightFoodItem &&\n\t\t\t
\n\t\t\t
{highlightLabel}
\n\t\t\t
\n\t\t\t}\n\n\t\t\t
\n\t\t\t\t setAttributes( {title} )}\n\t\t\t\t\titemprop=\"name\"\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t{ showPrices &&
\n\t\t\t\t setAttributes( {price} )}\n\t\t\t\t\titemprop=\"price\"\n\t\t\t\t/>\n\n\t\t\t\t{enableSalePrice &&\n\t\t\t\t
\n\t\t\t\t {salePrice} \n\t\t\t\t
\n\t\t\t\t }\n\t\t\t
}\n\n\t\t\t{ showDescription &&
\n\t\t\t\t setAttributes( {description} )}\n\t\t\t\t\titemprop=\"description\"\n\t\t\t\t/>\n\t\t\t
}\n\n\t\t
\n\t);\n};\n\nexport default FoodMenuItemSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/menu-food-item', {\n\t\ttitle: __( 'Menu Item', '__plugin_txtd' ),\n\t\tdescription: __( 'A food or drink item contained in a menu or menu section.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.foodmenu,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'menu item', '__plugin_txtd' ), __( 'food item', '__plugin_txtd' ), __( 'dish', '__plugin_txtd' ), __( 'list item', '__plugin_txtd' ) ],\n\t\tparent: ['novablocks/menu-food-section'],\n\t\tattributes: {\n\t\t\ttitle: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Sweet Shrimp Salad', '__plugin_txtd' )\n\t\t\t},\n\t\t\tdescription: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Tomatillo, Baja Crema, Cabbage, Fried Okra', '__plugin_txtd' )\n\t\t\t},\n\t\t\tprice: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '$7.95'\n\t\t\t},\n\t\t\tsalePrice: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '$9.50'\n\t\t\t},\n\t\t\thighlightLabel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: __( 'Our top pick', '__plugin_txtd' )\n\t\t\t},\n\t\t\tenableHighlightFoodItem: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tenableSalePrice: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tshowPrices: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\tshowDescription: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","import classnames from \"classnames\";\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n\n/**\n * WordPress dependencies\n */\n\nconst {__} = wp.i18n;\nconst {Component} = wp.element;\nconst {SandBox} = wp.components;\n\n\nclass OpenTablePreview extends Component {\n\n\tshouldComponentUpdate( prevProps ) {\n\t\treturn ! isShallowEqual( prevProps.attributes, this.props.attributes );\n\t}\n\n\trender() {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\trestaurantId,\n\t\t\t\tlanguage,\n\t\t\t\tlayoutForm,\n\t\t\t\tshowOpenTableLogo\n\t\t\t},\n\t\t\tclassName,\n\t\t} = this.props;\n\n\t\tconst classNames = classnames(\n\t\t\tclassName,\n\t\t\t`novablocks-opentable`,\n\t\t\t`novablocks-opentable__${layoutForm}`,\n\n\t\t\t{\n\t\t\t\t'has-opentable-logo': showOpenTableLogo === true\n\t\t\t}\n\t\t);\n\n\t\tconst OpenTable = ( props ) => {\n\t\t\treturn \n\t\t};\n\n\t\tconst html = `
` +\n\t\t `` +\n\t\t `` +\n\t\t `` +\n\t\t '
';\n\n\t\treturn (\n\t\t\t\n\t\t);\n\n\t}\n}\n\n\nexport default OpenTablePreview;\n","import {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst {__} = wp.i18n;\nconst {Fragment} = wp.element;\nconst {InspectorControls} = wp.blockEditor;\nconst {PanelBody, TextControl, ToggleControl, RadioControl, SelectControl} = wp.components;\n\nconst OpenTableInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\trestaurantId,\n\t\t\tlanguage,\n\t\t\tlayoutForm,\n\t\t\tshowOpenTableLogo\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { restaurantId: restaurantId } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t setAttributes( { language: nextLanguage } ) }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { layoutForm: nextLayout } ) }\n\t\t\t\t\t/>\n\t\t\t\t\t setAttributes( { showOpenTableLogo: ! showOpenTableLogo } ) }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t)\n};\n\nexport default OpenTableInspectorControls;\n","import OpenTablePreview from \"./preview\";\nimport InspectorControls from \"./inspector-controls\";\n\n/**\n * WordPress dependencies\n */\nconst {Fragment} = wp.element;\n\nconst OpenTable = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OpenTable;\n","import classnames from \"classnames\";\n\n/**\n * WordPress dependencies.\n */\nconst {__} = wp.i18n;\n\nconst OpenTableSave = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\trestaurantId,\n\t\t\tlanguage,\n\t\t\tshowOpenTableLogo,\n\t\t\tlayoutForm\n\t\t},\n\t\tclassName\n\t} = props;\n\n\tconst formSrc = `//www.opentable.com/widget/reservation/loader?rid=${restaurantId}&domain=com&type=standard&theme=${layoutForm}&iframe=false&overlay=false&domain=com&lang=${language}`\n\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t`novablocks-opentable`,\n\t\t`novablocks-opentable__${ layoutForm }`,\n\n\t\t{\n\t\t\t'has-opentable-logo': showOpenTableLogo === true\n\t\t}\n\n\t);\n\n\treturn (\n\n\t\t
\n\t\t\t\n\t\t
\n\n\t);\n};\n\nexport default OpenTableSave;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\n\nfunction init() {\n\tregisterBlockType( 'novablocks/opentable', {\n\t\ttitle: __( 'OpenTable Reservation', '__plugin_txtd' ),\n\t\tdescription: __( 'Add OpenTable online reservation booking to your site.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.opentable,\n\t\t// Additional search terms\n\t\tkeywords: [ __( 'reservations', '__plugin_txtd' ), __( 'bookings', '__plugin_txtd' ) ],\n\t\tattributes: {\n\t\t\trestaurantId: {\n\t\t\t\ttype: 'number',\n\t\t\t\tdefault: 1\n\t\t\t},\n\t\t\tlanguage: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'en-US'\n\t\t\t},\n\t\t\tshowOpenTableLogo: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true\n\t\t\t},\n\t\t\tlayoutForm: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'wide'\n\t\t\t}\n\t\t},\n\t\tedit,\n\t\tsave\n\t} )\n}\n\nexport default init;\n","const OpenHoursPreview = function(props) {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\ttext,\n\t\t\t\tparsedText,\n\t\t\t\topenHoursStyle,\n\t\t\t\ttimeFormat,\n\t\t\t\topenNote,\n\t\t\t\tclosedNote,\n\t\t\t\tclosedLabel,\n\t\t\t\tcompressOpeningHours,\n\t\t\t\thideClosedDays,\n\t\t\t\tuseShortName\n\t\t\t},\n\t\t} = props;\n\n\n\t\treturn (\n\t\t\t\n\t\t)\n};\n\nexport default OpenHoursPreview;\n","import {ControlsSection, ControlsTab} from \"../../components/control-sections\";\n\n/**\n * WordPress dependencies\n */\nconst {Fragment, useState} = wp.element;\nconst {__} = wp.i18n;\n\nimport { parseContent } from \"./hoursparser\";\n\nconst {\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst {\n\tPanelBody,\n\tRadioControl,\n\tTextControl,\n\tTextareaControl,\n\tToggleControl,\n\tModal,\n\tButton,\n\tExternalLink\n} = wp.components;\n\nconst OpenHoursInspectorControls = function( props ) {\n\tconst {\n\t\tattributes: {\n\t\t\topenHoursStyle,\n\t\t\ttext,\n\t\t\tparsedText,\n\t\t\ttimeFormat,\n\t\t\topenNote,\n\t\t\tclosedNote,\n\t\t\tclosedLabel,\n\t\t\tcompressOpeningHours,\n\t\t\thideClosedDays,\n\t\t\tuseShortName\n\t\t},\n\t\tsetAttributes,\n\t} = props;\n\n\tconst timeFormattingUrl = 'https://wordpress.org/support/article/formatting-date-and-time/';\n\n\tconst AvailableTagsModal = () => {\n\t\tconst [ isOpen, setOpen ] = useState( false );\n\t\tconst openModal = () => setOpen( true );\n\t\tconst closeModal = () => setOpen( false );\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t{ isOpen && (\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\n\t\t)\n\t};\n\n\tconst timeFormattingInstructions = (\n\t\t\n\t\t\t\n\t\t\t\t{ __( 'Learn more about time formatting', '__plugin_txtd' ) }\n\t\t\t\n\t\t\n\t);\n\n\treturn (\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( {\n\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\tparsedText: parseContent( text )\n\t\t\t\t\t\t} )}\n\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\t\t{ __( 'Monday 10am - 3pm\\n' +\n\t\t\t\t\t\t 'Tuesday to Friday 9 - 17\\n' +\n\t\t\t\t\t\t 'Sat noon - 2am', '__plugin_txtd' ) }\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { openHoursStyle: nextOpenHoursStyle } ) }\n\t\t\t\t\t/>\n\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\tWrite the \"Open\" and \"Closed\" messages using the tags displayed below.\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' && }\n\n\t\t\t\t\t{ openHoursStyle === 'status' && setAttributes( {openNote} )}\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( 'It\\'s {time} and we\\'re Open until {today-closing-time}.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( '{time} - It\\'s today, we\\'re Open.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' && setAttributes( {closedNote} )}\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( 'We\\'re closed until {next-opening-day} at {next-opening-time}.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\t\t\t\t\t{ openHoursStyle === 'status' &&
\n\t\t\t\t\t\t{ __( '{time} - it\\'s closed now.', '__plugin_txtd' ) }\n\t\t\t\t\t
}\n\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( {closedLabel} )}\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( { compressOpeningHours: ! compressOpeningHours } ) }\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( { hideClosedDays: ! hideClosedDays } ) }\n\t\t\t\t\t/> }\n\n\t\t\t\t\t{ openHoursStyle === 'overview' && setAttributes( { useShortName: ! useShortName } ) }\n\t\t\t\t\t/> }\n\n\t\t\t\t\t setAttributes( {timeFormat} )}\n\t\t\t\t\t/>\n\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n};\n\nexport default OpenHoursInspectorControls;\n","import OpenHoursPreview from \"./preview\";\nimport InspectorControls from \"./inspector-controls\";\n\n/**\n * WordPress dependencies\n */\nconst {Fragment} = wp.element;\n\nconst OpenHours = function( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OpenHours;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nfunction init() {\n\tregisterBlockType('novablocks/openhours', {\n\t\ttitle: __('OpenHours', '__plugin_txtd'),\n\t\tdescription: __('Display Opening Hours for any kind of venue.', '__plugin_txtd'),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.openhours,\n\t\tsave: function() {},\n\t\tedit,\n\t})\n}\n\nexport default init;\n","/**\n * WordPress dependencies\n */\n\nimport EditableText from '../../components/editable-text';\nimport * as icons from \"../../icons\";\n\nconst { __ } = wp.i18n;\n\nconst {\n\tInnerBlocks,\n\tMediaUpload,\n} = wp.blockEditor;\n\nconst CardEdit = ( props ) => {\n\n\tconst blockClassName = 'novablocks-card';\n\n\tconst {\n\t\tattributes: {\n\t\t\tlevel,\n\t\t\ttitle,\n\t\t\tsubtitle,\n\t\t\tdescription,\n\t\t\tmedia,\n\t\t\tmeta,\n\n\t\t\tcontentAlign,\n\t\t\tshowMedia,\n\t\t\tshowTitle,\n\t\t\tshowSubtitle,\n\t\t\tshowDescription,\n\t\t\tshowButtons,\n\t\t\tshowMeta,\n\t\t},\n\t\tclassName,\n\t\tsetAttributes,\n\t} = props;\n\n\tconst CardMedia = ( props ) => {\n\n\t\tconst {\n\t\t\tattributes: {\n\t\t\t\tmedia\n\t\t\t},\n\t\t\topen,\n\t\t} = props;\n\n\t\tconst mediaURL = media?.sizes?.novablocks_medium?.url || media?.sizes?.novablocks_large?.url || media?.url;\n\n\t\tif ( !! mediaURL ) {\n\t\t\treturn \n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{ icons.placeholder }\n\t\t\t
\n\t\t);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tshowMedia &&\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{ __( 'Change Media', '__plugin_txtd' ) }\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t setAttributes( { media } ) }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowMeta &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {meta} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowTitle &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {title} )\n\t\t\t\t\t\t}} />\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowSubtitle &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {subtitle} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowDescription &&\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetAttributes( {description} )\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tshowButtons &&\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default CardEdit;\n","const { InnerBlocks } = wp.blockEditor;\n\nexport default () => {\n\treturn ;\n};\n","import save from \"./save\";\n\nimport attributes from \"./attributes\";\n\nconst deprecated = [];\n\ndeprecated.push({\n\tattributes,\n\tisEligible( attributes, innerBlocks ) {\n\t\treturn \"undefined\" === typeof attributes.defaultsGenerated;\n\t},\n\tmigrate( attributes, innerBlocks ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tdefaultsGenerated: true\n\t\t};\n\t},\n\tsave,\n});\n\nexport default deprecated;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\nimport { getPlaceholderImages, getRandomArrayFromArray } from \"../../utils\";\nimport generateDefaults from \"../../components/generate-defaults\";\nimport attributes from \"./attributes\";\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\n\nasync function getNewDefaults() {\n\tconst placeholderImages = await getPlaceholderImages();\n\tconst randomImage = getRandomArrayFromArray( placeholderImages, 1 )[0];\n\n\tif ( typeof randomImage?.download === \"function\" ) {\n\t\trandomImage.download();\n\t}\n\n\treturn {\n\t\tmedia: randomImage\n\t};\n}\n\nfunction init() {\n\n\tgenerateDefaults( 'novablocks/card', getNewDefaults );\n\n\tregisterBlockType( 'novablocks/card', {\n\t\ttitle: __( 'Card', '__plugin_txtd' ),\n\t\tdescription: __( 'Display related pieces of information in a flexible container visually resembling a playing card.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\tparent: [ 'novablocks/cards-collection' ],\n\t\ticon: icons.card,\n\t\tkeywords: [ __( 'image with text', '__plugin_txtd' ) ],\n\t\tattributes,\n\t\tdeprecated,\n\t\tedit,\n\t\tsave,\n\t} )\n}\n\nexport default init;\n","import { Collection } from \"../../components\";\n\n/**\n * WordPress dependencies\n */\nconst {\n\tComponent,\n\tFragment\n} = wp.element;\n\nconst {\n\tcreateHigherOrderComponent\n} = wp.compose;\n\nconst { __ } = wp.i18n;\n\nconst {\n\tInnerBlocks,\n} = wp.blockEditor;\n\nconst {\n\tselect,\n\tdispatch,\n\twithSelect,\n} = wp.data;\n\nconst ALLOWED_BLOCKS = [ 'novablocks/card' ];\nconst CARDS_COLLECTION_TEMPLATE = [\n\t[ 'novablocks/card' ],\n\t[ 'novablocks/card' ],\n\t[ 'novablocks/card' ],\n];\n\nconst CardsCollectionEdit = ( props ) => {\n\n\tconst {\n\t\tinnerBlocks\n\t} = props;\n\n\tconst hasAppender = !! innerBlocks && innerBlocks.length < 4;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst withCollectionVisibilityAttributes = createHigherOrderComponent( ( BlockListBlock ) => {\n\treturn ( props ) => {\n\t\tif ( 'novablocks/cards-collection' === props.name ) {\n\t\t\tconst { clientId, attributes } = props;\n\t\t\tconst { getBlock } = select( 'core/block-editor' );\n\t\t\tconst { updateBlockAttributes } = dispatch( 'core/block-editor' );\n\t\t\tconst collection = getBlock( clientId );\n\t\t\tconst cards = collection.innerBlocks;\n\n\t\t\tconst newAttributes = (\n\t\t\t\t( { level, contentAlign, showMedia, showTitle, showSubtitle, showDescription, showButtons, showMeta } ) => (\n\t\t\t\t\t{ level, contentAlign, showMedia, showTitle, showSubtitle, showDescription, showButtons, showMeta }\n\t\t\t\t)\n\t\t\t)( attributes );\n\n\t\t\tcards.forEach( block => {\n\t\t\t\tupdateBlockAttributes( block.clientId, newAttributes );\n\n\t\t\t\tif ( Array.isArray( block.innerBlocks ) ) {\n\t\t\t\t\tblock.innerBlocks.forEach( innerBlock => {\n\t\t\t\t\t\tupdateBlockAttributes( innerBlock.clientId, {\n\t\t\t\t\t\t\talign: newAttributes.contentAlign\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\treturn \n\t};\n}, 'withCollectionVisibilityAttributes' );\n\nwp.hooks.addFilter( 'editor.BlockListBlock', 'novablocks/with-collection-visibility-attributes', withCollectionVisibilityAttributes );\n\nexport default CardsCollectionEdit;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { InnerBlocks } = wp.blockEditor;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/cards-collection', {\n\t\ttitle: __( 'Cards Collection', '__plugin_txtd' ),\n\t\tdescription: __( 'Display a list of related items placed within a coherent layout.', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.card,\n\t\tkeywords: [ __( 'grid', '__plugin_txtd' ), __( 'columns', '__plugin_txtd' ), __( 'collection', '__plugin_txtd' ), __( 'group', '__plugin_txtd' ) ],\n\t\tedit,\n\t\tsave() {\n\t\t\treturn ;\n\t\t},\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} )\n}\n\nexport default init;\n","import * as icons from \"../../icons\";\n\nconst {\n\twithSelect,\n} = wp.data;\n\nconst CardMedia = ( { post } ) => {\n\tconst { featured_media_url } = post;\n\n\tif ( !! featured_media_url ) {\n\t\treturn \n\t}\n\n\treturn
{ icons.placeholder }
\n}\n\nexport default withSelect( ( select, ownProps ) => {\n\tconst { getMedia } = select( 'core' );\n\tconst { post } = ownProps;\n\n\tif ( ! post.featured_media ) {\n\t\treturn {};\n\t}\n\n\tconst featured_media_obj = getMedia( post.featured_media );\n\tconst featured_media_url = featured_media_obj ? featured_media_obj.source_url : null;\n\n\treturn {\n\t\tpost: {\n\t\t\t...post,\n\t\t\tfeatured_media_url\n\t\t}\n\t}\n} )( CardMedia );\n","import classnames from 'classnames';\nimport { some, pickBy, isUndefined } from \"lodash\";\nimport { Collection } from '../../components';\nimport CardMedia from './media';\nimport { ControlsSection, ControlsTab } from \"../../components/control-sections\";\n\nconst { apiFetch } = wp;\n\nconst {\n\tcompose\n} = wp.compose;\n\nconst {\n\tBlockIcon,\n\tRichText,\n\tInspectorControls,\n} = wp.blockEditor;\n\nconst { __ } = wp.i18n;\n\nconst {\n\t__experimentalGetSettings,\n\tdateI18n,\n\tformat\n} = wp.date;\n\nconst {\n\tPanelBody,\n\tPlaceholder,\n\tRangeControl,\n\tSpinner\n} = wp.components;\n\nconst {\n\tComponent,\n\tFragment,\n\tRawHTML\n} = wp.element;\n\nclass Category extends Component {\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\tname: null\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { id } = this.props;\n\n\t\tthis.isStillMounted = true;\n\t\tthis.fetchRequest = apiFetch( {\n\t\t\tpath: `/wp/v2/categories/${id}`,\n\t\t} )\n\t\t.then( ( category ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { name: category.name } )\n\t\t\t\t}\n\t\t\t}\n\t\t).catch( () => {} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\trender() {\n\t\treturn this.state.name;\n\t}\n}\n\nconst PostsEdit = ( props ) => {\n\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tposts,\n\t\tclientId,\n\t\tmarkPostsAsDisplayed,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\tlevel,\n\t\tshowButtons,\n\t\tshowDescription,\n\t\tshowMedia,\n\t\tshowMeta,\n\t\tshowTitle,\n\t\tshowSubtitle,\n\t} = attributes;\n\n\tconst hasPosts = Array.isArray( posts ) && posts.length;\n\tconst TitleTagName = `h${ level + 1 }`;\n\tconst SubtitleTagName = `h${ level + 2 }`;\n\tconst dateFormat = __experimentalGetSettings().formats.date;\n\n\tmarkPostsAsDisplayed( clientId, posts );\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAttributes( { columns } ) }\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={ 4 }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t!! posts && posts.map( ( post, idx ) => {\n\n\t\t\t\t\t\t\t\tconst style = {\n\t\t\t\t\t\t\t\t\t'--columns': columns,\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowMedia &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowMeta &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowTitle &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{ post.title.raw }\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowSubtitle &&\n\t\t\t\t\t\t\t\t\t\t\tpost.categories.length &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowDescription &&\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{ post.excerpt.rendered }\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tshowButtons &&\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Read More
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default PostsEdit;\n","/**\n * Internal dependencies\n */\nimport * as icons from '../../icons';\nimport edit from './edit';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { InnerBlocks } = wp.blockEditor;\n\nfunction init() {\n\tregisterBlockType( 'novablocks/posts-collection', {\n\t\ttitle: __( 'Posts Collection', '__plugin_txtd' ),\n\t\tdescription: __( 'Show Latest Posts', '__plugin_txtd' ),\n\t\tcategory: 'nova-blocks',\n\t\ticon: icons.card,\n\t\tedit,\n\t\tsave() {\n\t\t\treturn ;\n\t\t},\n\t\tgetEditWrapperProps() {\n\t\t\tconst settings = wp.data.select( 'core/block-editor' ).getSettings();\n\t\t\treturn settings.alignWide ? { 'data-align': 'full' } : {};\n\t\t},\n\t} );\n}\n\nexport default init;\n","import \"./filters/with-block-id\";\nimport \"./filters/with-block-index\";\nimport \"./filters/with-font-size-picker\";\nimport \"./filters/with-emphasis-level\";\nimport \"./filters/with-cards-manager\";\nimport \"./filters/with-latest-posts\";\n\nimport \"./filters/with-advanced-gallery-attributes\";\nimport \"./filters/with-doppler-attributes\";\nimport \"./filters/with-overlay-color-attributes\";\n\nimport \"./filters/with-controls-sections\";\nimport \"./filters/with-space-and-sizing-controls\";\nimport \"./filters/with-inner-blocks\";\n\nimport \"./blocks/openhours/hoursparser\";\nimport \"./blocks/core/separator\";\n\nimport advancedGalleryInit from \"./blocks/advanced-gallery\";\nimport announcementBarBlockInit from \"./blocks/announcement-bar\";\nimport googleMapBlockInit from \"./blocks/google-map\";\nimport headerBlockInit from \"./blocks/header\";\nimport headlineInit from \"./blocks/headline\";\nimport heroInit from \"./blocks/hero\";\nimport logoInit from \"./blocks/logo\";\nimport mediaInit from \"./blocks/media\";\nimport slideshowInit from \"./blocks/slideshow\";\nimport navigationInit from \"./blocks/navigation\";\nimport menuFoodInit from \"./blocks/menu-food\";\nimport menuFoodSectionInit from \"./blocks/menu-food-section\";\nimport menuFoodItemInit from \"./blocks/menu-food-item\";\nimport opentableInit from \"./blocks/opentable\";\nimport openHoursInit from \"./blocks/openhours\";\nimport cardInit from \"./blocks/card\";\nimport cardsCollectionInit from \"./blocks/cards-collection\";\nimport postsCollectionInit from \"./blocks/posts-collection\"\n\nimport { STORE_NAME } from './store';\n\nimport { nova } from './icons';\n\nimport { addSeparatorFilters } from \"./blocks/core/separator\";\n\nconst {\n\tdispatch,\n} = wp.data;\n\nconst {\n\tupdateCategory\n} = wp.blocks;\n\nclass novaBlocks {\n\n\tinitialize( settings ) {\n\t\taddSeparatorFilters( settings );\n\t\tdispatch( STORE_NAME ).updateSettings( settings );\n\t\tupdateCategory( 'nova-blocks', {\n\t\t\ticon: nova\n\t\t} );\n\n\t\tconst supports = ( typeof settings[ 'theme_support' ] === 'object' ) ? Object.values( settings[ 'theme_support' ] ) : settings[ 'theme_support' ];\n\n\t\tif ( supports.indexOf('announcement-bar') > -1 ) {\n\t\t\tannouncementBarBlockInit();\n\t\t}\n\n\t\tif ( supports.indexOf('google-map') > -1 ) {\n\t\t\tgoogleMapBlockInit();\n\t\t}\n\n\t\tif ( supports.indexOf('header') > -1 ) {\n\t\t\theaderBlockInit();\n\t\t\tlogoInit();\n\t\t}\n\n\t\tif ( supports.indexOf('headline') > -1 ) {\n\t\t\theadlineInit();\n\t\t}\n\n\t\tif ( supports.indexOf('navigation') > -1 ) {\n\t\t\tnavigationInit();\n\t\t}\n\n\t\tif ( supports.indexOf('menu-food') > -1 ) {\n\t\t\tmenuFoodInit();\n\t\t\tmenuFoodSectionInit();\n\t\t\tmenuFoodItemInit();\n\t\t}\n\n\t\tif ( supports.indexOf('opentable') > -1 ) {\n\t\t\topentableInit();\n\t\t}\n\n\t\tif ( supports.indexOf('cards-collection') > -1 ) {\n\t\t\tcardInit();\n\t\t\tcardsCollectionInit();\n\t\t}\n\n\t\tif ( supports.indexOf( 'openhours' ) > -1 ) {\n\t\t\topenHoursInit();\n\t\t}\n\n\t\tif ( supports.indexOf( 'advanced-gallery' ) > -1 ) {\n\t\t\tadvancedGalleryInit();\n\t\t}\n\n\t\theroInit();\n\t\tmediaInit();\n\t\tslideshowInit();\n\t\tpostsCollectionInit();\n\t}\n}\n\nwp.novaBlocks = new novaBlocks();\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport { createElement } from \"@wordpress/element\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * External dependencies\n */\nimport { without } from 'lodash';\n/**\n * WordPress dependencies\n */\n\nimport { Component } from '@wordpress/element';\n/**\n * Internal dependencies\n */\n\nimport createHigherOrderComponent from '../../utils/create-higher-order-component';\n/**\n * A higher-order component used to provide and manage delayed function calls\n * that ought to be bound to a component's lifecycle.\n *\n * @param {WPComponent} OriginalComponent Component requiring setTimeout\n *\n * @return {WPComponent} Wrapped component.\n */\n\nvar withSafeTimeout = createHigherOrderComponent(function (OriginalComponent) {\n return /*#__PURE__*/function (_Component) {\n _inherits(WrappedComponent, _Component);\n\n var _super = _createSuper(WrappedComponent);\n\n function WrappedComponent() {\n var _this;\n\n _classCallCheck(this, WrappedComponent);\n\n _this = _super.apply(this, arguments);\n _this.timeouts = [];\n _this.setTimeout = _this.setTimeout.bind(_assertThisInitialized(_this));\n _this.clearTimeout = _this.clearTimeout.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(WrappedComponent, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.timeouts.forEach(clearTimeout);\n }\n }, {\n key: \"setTimeout\",\n value: function (_setTimeout) {\n function setTimeout(_x, _x2) {\n return _setTimeout.apply(this, arguments);\n }\n\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n\n return setTimeout;\n }(function (fn, delay) {\n var _this2 = this;\n\n var id = setTimeout(function () {\n fn();\n\n _this2.clearTimeout(id);\n }, delay);\n this.timeouts.push(id);\n return id;\n })\n }, {\n key: \"clearTimeout\",\n value: function (_clearTimeout) {\n function clearTimeout(_x3) {\n return _clearTimeout.apply(this, arguments);\n }\n\n clearTimeout.toString = function () {\n return _clearTimeout.toString();\n };\n\n return clearTimeout;\n }(function (id) {\n clearTimeout(id);\n this.timeouts = without(this.timeouts, id);\n })\n }, {\n key: \"render\",\n value: function render() {\n return createElement(OriginalComponent, _extends({}, this.props, {\n setTimeout: this.setTimeout,\n clearTimeout: this.clearTimeout\n }));\n }\n }]);\n\n return WrappedComponent;\n }(Component);\n}, 'withSafeTimeout');\nexport default withSafeTimeout;\n//# sourceMappingURL=index.js.map"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/editor.min.js b/dist/js/editor.min.js index 7f6bdc997..e0f2ced34 100644 --- a/dist/js/editor.min.js +++ b/dist/js/editor.min.js @@ -1,3 +1,3 @@ /*! For license information please see editor.min.js.LICENSE.txt */ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=260)}([function(e,t){e.exports=React},function(e,t){e.exports=lodash},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t1?t-1:0),r=1;r":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},u=["(","?"],f={")":["("],":":["?","?:"]},p=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var h={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,n){if(e)throw t;return n}};function m(e){var t=function(e){for(var t,n,r,o,a=[],i=[];t=e.match(p);){for(n=t[0],(r=e.substr(0,t.index).trim())&&a.push(r);o=i.pop();){if(f[n]){if(f[n][0]===o){n=f[n][1]||n;break}}else if(u.indexOf(o)>=0||s[o]1&&void 0!==arguments[1]?arguments[1]:"default";O.data[t]=y({},x,{},O.data[t],{},e),O.data[t][""]=y({},x[""],{},O.data[t][""])},j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return O.data[e]||_(void 0,e),O.dcnpgettext(e,t,n,r,o)},E=function(e,t,n){return j(n,t,e)},k&&_(k,w),{setLocaleData:_,__:function(e,t){return j(t,void 0,e)},_x:E,_n:function(e,t,n,r){return j(r,void 0,e,t,n)},_nx:function(e,t,n,r,o){return j(o,r,e,t,n)},isRTL:function(){return"rtl"===E("ltr","text direction")}}),C=(z.setLocaleData.bind(z),z.__.bind(z)),S=(z._x.bind(z),z._n.bind(z));z._nx.bind(z),z.isRTL.bind(z)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(49);var o=n(62);function a(e){return function(e){if(Array.isArray(e))return Object(r.a)(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(o.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"i",(function(){return s})),n.d(t,"d",(function(){return u})),n.d(t,"e",(function(){return f})),n.d(t,"h",(function(){return p})),n.d(t,"f",(function(){return d})),n.d(t,"j",(function(){return h})),n.d(t,"g",(function(){return m})),n.d(t,"c",(function(){return v})),n.d(t,"b",(function(){return b}));var r=n(13),o=n(22),a=n(1),i=n(21);function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window,t=e.navigator.platform;return-1!==t.indexOf("Mac")||Object(a.includes)(["iPad","iPhone"],t)}var l=8,s=9,u=13,f=27,p=32,d=37,h=38,m=39,v=40,b=46,g="alt",y="ctrl",k="meta",w="shift",O={primary:function(e){return e()?[k]:[y]},primaryShift:function(e){return e()?[w,k]:[y,w]},primaryAlt:function(e){return e()?[g,k]:[y,g]},secondary:function(e){return e()?[w,g,k]:[y,w,g]},access:function(e){return e()?[y,g]:[w,g]},ctrl:function(){return[y]},alt:function(){return[g]},ctrlShift:function(){return[y,w]},shift:function(){return[w]},shiftAlt:function(){return[w,g]}},_=(Object(a.mapValues)(O,(function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c;return[].concat(Object(o.a)(e(n)),[t.toLowerCase()]).join("+")}})),Object(a.mapValues)(O,(function(e){return function(t){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c,l=i(),s=(n={},Object(r.a)(n,g,l?"⌥":"Alt"),Object(r.a)(n,y,l?"^":"Ctrl"),Object(r.a)(n,k,"⌘"),Object(r.a)(n,w,l?"⇧":"Shift"),n),u=e(i).reduce((function(e,t){var n=Object(a.get)(s,t,t);return[].concat(Object(o.a)(e),l?[n]:[n,"+"])}),[]),f=Object(a.capitalize)(t);return[].concat(Object(o.a)(u),[f])}})));Object(a.mapValues)(_,(function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c;return e(t,n).join("")}})),Object(a.mapValues)(O,(function(e){return function(t){var n,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c,s=l(),u=(n={},Object(r.a)(n,w,"Shift"),Object(r.a)(n,k,s?"Command":"Control"),Object(r.a)(n,y,"Control"),Object(r.a)(n,g,s?"Option":"Alt"),Object(r.a)(n,",",Object(i.a)("Comma")),Object(r.a)(n,".",Object(i.a)("Period")),Object(r.a)(n,"`",Object(i.a)("Backtick")),n);return[].concat(Object(o.a)(e(l)),[t]).map((function(e){return Object(a.capitalize)(Object(a.get)(u,e,e))})).join(s?" ":" + ")}}));function j(e){return[g,y,k,w].filter((function(t){return e["".concat(t,"Key")]}))}Object(a.mapValues)(O,(function(e){return function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c,o=e(r),i=j(t);return!Object(a.xor)(o,i).length&&(n?t.key===n:Object(a.includes)(o,t.key.toLowerCase()))}}))},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t){function n(e,t,n,r,o,a,i){try{var c=e[a](i),l=c.value}catch(e){return void n(e)}c.done?t(l):Promise.resolve(l).then(r,o)}e.exports=function(e){return function(){var t=this,r=arguments;return new Promise((function(o,a){var i=e.apply(t,r);function c(e){n(i,o,a,c,l,"next",e)}function l(e){n(i,o,a,c,l,"throw",e)}c(void 0)}))}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(62);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,a=void 0;try{for(var i,c=e[Symbol.iterator]();!(r=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}return n}}(e,t)||Object(r.a)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e){e.exports=JSON.parse('{"focalPoint":{"type":"object","default":{"x":0.5,"y":0.5}},"finalFocalPoint":{"type":"object","default":{"x":0.5,"y":0.5}},"initialBackgroundScale":{"type":"number","default":1},"finalBackgroundScale":{"type":"number","default":1},"scrollIndicatorBlock":{"type":"boolean","default":false},"scrollingEffect":{"type":"string","default":"parallax"},"motionPreset":{"type":"string","default":"standard-dynamic"},"followThroughStart":{"type":"boolean","default":true},"followThroughEnd":{"type":"boolean","default":true}}')},function(e,t,n){var r=n(212),o=n(213),a=n(214);e.exports=function(e){return r(e)||o(e)||a()}},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(85),o="object"==typeof self&&self&&self.Object===Object&&self,a=r||o||Function("return this")();e.exports=a},function(e){e.exports=JSON.parse('{"images":{"type":"array","default":[],"items":"object"},"stylePreset":{"type":"string","default":"the-cloud-atlas"},"sizeContrast":{"type":"number","default":0},"positionShift":{"type":"number","default":0},"elementsDistance":{"type":"number","default":20},"placementVariation":{"type":"number","default":25},"imageRotation":{"type":"number","default":0},"imageResizing":{"type":"string","default":"cropped"},"containerHeight":{"type":"number","default":50},"objectPosition":{"type":"number","default":50},"defaultsGenerated":{"type":"boolean","default":false}}')},function(e){e.exports=JSON.parse('{"contentColor":{"type":"string","default":"#FFF"},"overlayFilterStyle":{"type":"string","default":"dark"},"overlayFilterStrength":{"type":"number","default":30}}')},function(e,t,n){var r=n(234);e.exports=function(e,t){if(null==e)return{};var n,o,a=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t){e.exports=jQuery},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e){e.exports=JSON.parse('{"horizontalAlignment":{"type":"string","default":"center"},"verticalAlignment":{"type":"string","default":"center"}}')},function(e){e.exports=JSON.parse('{"contentPadding":{"type":"string","default":"medium"},"contentPaddingCustom":{"type":"number","default":20},"contentWidth":{"type":"string","default":"large"},"contentWidthCustom":{"type":"number","default":100}}')},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}n.d(t,"a",(function(){return r}))},,function(e,t,n){var r=n(134),o=n(139);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=r=function(e){return n(e)}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},r(t)}e.exports=r},function(e){e.exports=JSON.parse('{"align":{"type":"string","default":"full"},"anchor":{"type":"string","default":null},"media":{"type":"object","default":null},"minHeightFallback":{"type":"number","default":100},"scrollIndicator":{"type":"boolean","source":"meta","meta":"novablocks_hero_scroll_indicator","default":false},"positionIndicators":{"type":"boolean","source":"meta","meta":"novablocks_hero_position_indicators","default":true},"defaultsGenerated":{"boolean":true,"default":false}}')},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(129)},function(e,t,n){var r=n(50),o=n(135),a=n(136),i=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?o(e):a(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r=n(84),o=n(72);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},function(e,t,n){var r=n(44),o=n(45);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(47);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1&&e%1==0&&e3&&void 0!==arguments[3]?arguments[3]:10;if(o(t)&&r(n))if("function"==typeof a)if("number"==typeof i){var c={callback:a,priority:i,namespace:n};if(e[t]){var l,s=e[t].handlers;for(l=s.length;l>0&&!(i>=s[l-1].priority);l--);l===s.length?s[l]=c:s.splice(l,0,c),(e.__current||[]).forEach((function(e){e.name===t&&e.currentIndex>=l&&e.currentIndex++}))}else e[t]={handlers:[c],runs:0};"hookAdded"!==t&&d("hookAdded",t,n,a,i)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}};var i=function(e,t){return function(n,a){if(o(n)&&(t||r(a))){if(!e[n])return 0;var i=0;if(t)i=e[n].handlers.length,e[n]={runs:e[n].runs,handlers:[]};else for(var c=e[n].handlers,l=function(t){c[t].namespace===a&&(c.splice(t,1),i++,(e.__current||[]).forEach((function(e){e.name===n&&e.currentIndex>=t&&e.currentIndex--})))},s=c.length-1;s>=0;s--)l(s);return"hookRemoved"!==n&&d("hookRemoved",n,a),i}}};var c=function(e){return function(t,n){return void 0!==n?t in e&&e[t].handlers.some((function(e){return e.namespace===n})):t in e}};n(22);var l=function(e,t){return function(n){e[n]||(e[n]={handlers:[],runs:0}),e[n].runs++;var r=e[n].handlers;for(var o=arguments.length,a=new Array(o>1?o-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{},n=t.version,r=t.alternative,o=t.plugin,a=t.link,i=t.hint,c=o?" from ".concat(o):"",l=n?" and will be removed".concat(c," in version ").concat(n):"",s=r?" Please use ".concat(r," instead."):"",u=a?" See: ".concat(a):"",f=i?" Note: ".concat(i):"",p="".concat(e," is deprecated").concat(l,".").concat(s).concat(u).concat(f);p in h||(d("deprecated",e,t,p),console.warn(p),h[p]=!0)}},,function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(88),o=n(151),a=n(46);e.exports=function(e){return a(e)?r(e):o(e)}},function(e,t){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(40)(n(30),"Map");e.exports=r},function(e,t,n){var r=n(166),o=n(173),a=n(175),i=n(176),c=n(177);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=0),c.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,c.width?parseInt(c.width):0);break;case"e":n=c.precision?parseFloat(n).toExponential(c.precision):parseFloat(n).toExponential();break;case"f":n=c.precision?parseFloat(n).toFixed(c.precision):parseFloat(n);break;case"g":n=c.precision?String(Number(n.toPrecision(c.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=c.precision?n.substring(0,c.precision):n;break;case"t":n=String(!!n),n=c.precision?n.substring(0,c.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=c.precision?n.substring(0,c.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=c.precision?n.substring(0,c.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(c.type)?m+=n:(!o.number.test(c.type)||f&&!c.sign?p="":(p=f?"+":"-",n=n.toString().replace(o.sign,"")),s=c.pad_char?"0"===c.pad_char?"0":c.pad_char.charAt(1):" ",u=c.width-(p+n).length,l=c.width&&u>0?s.repeat(u):"",m+=c.align?p+n+l:"0"===s?p+l+n:l+p+n)}return m}var l=Object.create(null);function s(e){if(l[e])return l[e];for(var t,n=e,r=[],a=0;n;){if(null!==(t=o.text.exec(n)))r.push(t[0]);else if(null!==(t=o.modulo.exec(n)))r.push("%");else{if(null===(t=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){a|=1;var i=[],c=t[2],s=[];if(null===(s=o.key.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(i.push(s[1]);""!==(c=c.substring(s[0].length));)if(null!==(s=o.key_access.exec(c)))i.push(s[1]);else{if(null===(s=o.index_access.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");i.push(s[1])}t[2]=i}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return l[e]=r}t.sprintf=a,t.vsprintf=i,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=i,void 0===(r=function(){return{sprintf:a,vsprintf:i}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){var r=n(133);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t,n){var r=n(44),o=n(35);e.exports=function(e){if(!o(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(70))},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var r=n(143),o=n(153)(r);e.exports=o},function(e,t,n){var r=n(146),o=n(89),a=n(29),i=n(90),c=n(51),l=n(92),s=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=a(e),u=!n&&o(e),f=!n&&!u&&i(e),p=!n&&!u&&!f&&l(e),d=n||u||f||p,h=d?r(e.length,String):[],m=h.length;for(var v in e)!t&&!s.call(e,v)||d&&("length"==v||f&&("offset"==v||"parent"==v)||p&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||c(v,m))||h.push(v);return h}},function(e,t,n){var r=n(147),o=n(45),a=Object.prototype,i=a.hasOwnProperty,c=a.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return o(e)&&i.call(e,"callee")&&!c.call(e,"callee")};e.exports=l},function(e,t,n){(function(e){var r=n(30),o=n(148),a=t&&!t.nodeType&&t,i=a&&"object"==typeof e&&e&&!e.nodeType&&e,c=i&&i.exports===a?r.Buffer:void 0,l=(c?c.isBuffer:void 0)||o;e.exports=l}).call(this,n(91)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(149),o=n(93),a=n(150),i=a&&a.isTypedArray,c=i?o(i):r;e.exports=c},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(53),o=n(161),a=n(162),i=n(163),c=n(164),l=n(165);function s(e){var t=this.__data__=new r(e);this.size=t.size}s.prototype.clear=o,s.prototype.delete=a,s.prototype.get=i,s.prototype.has=c,s.prototype.set=l,e.exports=s},function(e,t,n){var r=n(178),o=n(45);e.exports=function e(t,n,a,i,c){return t===n||(null==t||null==n||!o(t)&&!o(n)?t!=t&&n!=n:r(t,n,a,i,e,c))}},function(e,t,n){var r=n(99),o=n(181),a=n(100);e.exports=function(e,t,n,i,c,l){var s=1&n,u=e.length,f=t.length;if(u!=f&&!(s&&f>u))return!1;var p=l.get(e);if(p&&l.get(t))return p==t;var d=-1,h=!0,m=2&n?new r:void 0;for(l.set(e,t),l.set(t,e);++d=t||n<0||v&&e-h>=u}function w(){var e=o();if(k(e))return O(e);p=setTimeout(w,function(e){var n=t-(e-d);return v?c(n,u-(e-h)):n}(e))}function O(e){return p=void 0,b&&l?g(e):(l=s=void 0,f)}function _(){var e=o(),n=k(e);if(l=arguments,s=this,d=e,n){if(void 0===p)return y(d);if(v)return clearTimeout(p),p=setTimeout(w,t),g(d)}return void 0===p&&(p=setTimeout(w,t)),f}return t=a(t)||0,r(n)&&(m=!!n.leading,u=(v="maxWait"in n)?i(a(n.maxWait)||0,t):u,b="trailing"in n?!!n.trailing:b),_.cancel=function(){void 0!==p&&clearTimeout(p),h=0,l=d=s=p=void 0},_.flush=function(){return void 0===p?f:O(o())},_}},function(e,t,n){e.exports=function(e,t){var n,r,o=0;function a(){var a,i,c=n,l=arguments.length;e:for(;c;){if(c.args.length===arguments.length){for(i=0;i